Tester (kiểm thử) đang là một nghề siêu hot trong thời gian gần đây, đồng nghĩa với việc hành trình chạy đua đến những công việc “ngon nghẻ” cũng cạnh tranh hơn rất nhiều. Vậy làm gì để bạn trở thành một ứng viên nổi bật? Một Tester giỏi thì cần những kỹ năng gì?
Got It đã tổng hợp những điểm quan trọng về Tech (kỹ thuật) và Non-Tech (phi kỹ thuật) để bạn có thể hoàn thiện bản thân một cách toàn diện nhất. Hãy bỏ túi những kỹ năng sau đây để tự tin giành lấy công việc trong mơ trong nghề kiểm thử nhé!
Technical Skills
Mục lục
- 1. Systems Development Life Cycle
- 2. Testing Process
- 3. Testing Tools and Technologies
- 4. Kiến thức cơ bản về Database/SQL
- 5. Kiến thức cơ bản về lập trình (không bắt buộc)
- 1. Analytical skills (Kỹ năng phân tích)
- 2. Communication skills (Kỹ năng giao tiếp)
- 3. Time Management & Organization Skills (Kỹ năng quản lí thời gian)
- 4. Be Proactive At Work (Làm việc chủ động)
- Gia nhập Team QA của Got It:
1. Systems Development Life Cycle
Systems Development Life Cycle (SDLC — Vòng đời phát triển hệ thống) là một chuỗi các pha (phases) trong chu trình phát triển một dự án phần mềm. Về cơ bản, một SDLC thường bao gồm 6 pha:
- Pha 1: Planning (Pha kế hoạch)
- Pha 2: Analysis (Pha phân tích)
- Pha 3: Design (Pha thiết kế)
- Pha 4: Development (Pha lập trình)
- Pha 5: Testing (Pha kiểm thử)
- Pha 6: Maintenance (Pha triển khai & bảo trì)
Là một tester, việc nắm rõ SDLC không chỉ cho phép bạn hiểu sâu về quá trình phát triển sản phẩm, mà còn giúp bạn xây dựng kế hoạch kiểm thử dễ dàng hơn, dự đoán sớm những vấn đề phức tạp để có phương án đo lường, dự phòng từ trước.
Waterfall, Scrum, Lean và Kanban là những phương pháp phổ biến được các công ty áp dụng để xây dựng SDLC. Hãy đảm bảo rằng bạn đã có khái niệm cơ bản về các phương pháp trên và đào sâu hơn vào phương pháp phù hợp nhất với yêu cầu công việc nhé.
2. Testing Process
Có 2 cách để thực hiện Testing Process (Quy trình kiểm thử), bao gồm: Manual Testing (kiểm thử thủ công) và Automation Testing (kiểm thử tự động).
Manual Testing:Giống như cái tên “Kiểm thử thủ công”, tester sẽ kiểm tra ứng dụng bằng cách đóng vai một người dùng cuối (end-user) để tìm ra bugs. Việc của bạn là thực hiện tất cả các test cases một cách thủ công mà không sử dụng công cụ kiểm thử tự động nào.
Automation Testing: “Kiểm thử tự động” sử dụng các công cụ để tự động hoá quy trình kiểm thử. Ví dụ thay vì phải nhập từng email và password bằng tay khi test chức năng login, bạn sẽ chạy code để máy tự động nhập các dữ liệu này. Test Automation Engineer tại Got It đã ví đây như một “cuộc cách mạng công nghiệp” khi tester có thể tối đa hiệu suất bằng các công cụ hiện đại, giúp giảm đáng kể thời gian và công sức bỏ ra.
Automation Testing không thể thay thế hoàn toàn Manual Testing. Tuy nhiên, nếu bạn muốn mở rộng lộ trình nghề nghiệp thì đây là một phương án rất đáng cân nhắc đấy nhé.
>>> Test Automation — Con đường không dễ dàng với bất kỳ ai
>>> Vị trí Test Automation Engineer tại Got It:bit.ly/gotit-testautomation
3. Testing Tools and Technologies
Hiểu biết về các công cụ và công nghệ kiểm thử là những kỹ năng sống còn đối với mọi tester. Nó giống như việc bạn sẽ không thể đi cày mà không có trâu hay máy cày vậy!
Got It đã tổng hợp những công cụ kiểm thử phổ biến nhất trong thời gian qua. Tuy nhiên, bạn không cần phải “master” tất cả những thứ được nêu tên, mà hãy chọn những gì phù hợp với nhu cầu của mình đã nhé.
- Test Management Tools (Công cụ quản lí kiểm thử): Thường được dùng để quản lí các dự án, tài nguyên kiểm thử, lưu trữ kết quả kiểm thử, tạo báo cáo (reports), v.v.. Các công cụ quản lí kiểm thử thông dụng bao gồm TestRail, TestLink, Asana, Zephyr, và QMetry.
- Agile Testing Tools (Công cụ kiểm thử Agile): Nếu bạn đang/muốn làm trong một công ty áp dụng Agile/Scrum, bạn nên có hiểu biết hoặc kinh nghiệm làm việc với JIRA hay SoapUI.
- Load Testing Tools (Công cụ kiểm thử chịu tải): Apache JMeter và Tsung là hai công cụ thường được các tester sử dụng khi thực hiện load tests và stress tests.
- Defect Tracking Tools (Công cụ quản lí lỗi): Để mọi thành viên (tester, developer, PM, v.v.) đều nắm được các lỗi và trạng thái của chúng trong một dự án phần mềm, ta thường sử dụng các công cụ như QC, Bugzilla hay JIRA.
- Automation Testing Tools (Công cụ kiểm thử tự động): Những công cụ này cho phép bạn kiểm tra các chức năng của phần mềm một cách tự động, từ đó chạy được nhiều tests hơn trong thời gian ngắn một cách hiệu quả. Những công cụ kiểm thử tự động thông dụng bao gồm Selenium, Watir và Ranorex. Tuy nhiên, chỉ biết lý thuyết về chúng là chưa đủ. Bạn cần có kinh nghiệm thực tế (qua dự án tại công ty, bài tập nhóm, hackathon, dự án cá nhân, v.v.) thì mới có thể thực sự biết cách sử dụng các công cụ này.
4. Kiến thức cơ bản về Database/SQL
Mỗi hệ thống phần mềm đều có một lượng lớn dữ liệu. Chúng có thể được lưu trữ trong nhiều kho dữ liệu khác nhau như Oracle, MySQL/NoSQL (Redis, MongoDB)/SQL Server (Query DB), v.v. ở phần backend. Bởi vậy, tester cần có kiến thức cơ bản về các kho dữ liệu, cũng như cách sử dụng những câu truy vấn cần thiết để có thể truy cập vào database, tạo dữ liệu test mà không cần phải nhờ đến sự giúp đỡ từ các developers.
5. Kiến thức cơ bản về lập trình (không bắt buộc)
Bạn không bắt buộc phải biết code để ứng tuyển vào vị trí tester. Tuy nhiên, có kiến thức cơ bản về lập trình sẽ giúp bạn hiểu được cách các lập trình viên tạo ra sản phẩm, hiểu được các chức năng cũng như các lỗi thường gặp. Từ đó, việc tạo ra các test cases phù hợp cũng sẽ dễ dàng hơn rất nhiều.
Non-Technical Skills
1. Analytical skills (Kỹ năng phân tích)
Một tester giỏi cần có kỹ năng phân tích sắc bén. Bạn cần có khả năng bẻ nhỏ các vấn đề phức tạp của hệ thống phần mềm thành những phần nhỏ hơn để tạo test cases cho chúng. Bạn chưa chắc về kỹ năng phân tích của mình? Hãy thử bài test này — nếu có thể giải được ít nhất 1 câu thì kỹ năng phân tích của bạn đã rất đỉnh rồi đấy!
2. Communication skills (Kỹ năng giao tiếp)
Nhiều bạn nghĩ rằng tester là một vị trí thiên về kỹ thuật nên không cần quá nhiều khả năng giao tiếp. Tuy nhiên, thực tế đã chứng minh ngược lại.
Tester thường làm việc với rất nhiều bên trong một dự án, ví dụ như cập nhật tình hình cho khách hàng, trao đổi các vấn đề (issues) với developers, biến các tài liệu về requirements thành test cases và báo cáo kết quả cho quản lý, v.v.. Trong bất cứ trường hợp nào, bất kể người đang nói chuyện với bạn là ai, mọi thông tin đều phải được truyền đạt một cách vô cùng chính xác và súc tích, đặc biệt là với những vấn đề phức tạp và có liên quan đến nhiều bên.
Những kỹ năng cụ thể bao gồm:
- Kỹ năng đặt câu hỏi. Với bất cứ điều gì chưa rõ, hãy luôn đặt câu hỏi. Đây là một trong những kỹ năng quan trọng nhất bạn cần có khi trở thành một tester. Học cách hỏi đúng câu, đúng lúc là điều mà bạn sẽ luôn phải trau dồi trong suốt quá trình làm việc của mình.
- Kỹ năng lắng nghe. Hãy lắng nghe một cách chủ động và có trách nhiệm. Điều này không chỉ giúp bạn hiểu rõ tình hình công việc hiện tại, mà còn giúp bạn nảy ra những ý tưởng để cải thiện nó.
- Kỹ năng thuyết trình. Chỉ lắng nghe thôi là chưa đủ. Bạn cần biết cách trình bày ý kiến của mình một cách rõ ràng, mạch lạc với các bên liên quan. Hãy luôn đảm bảo mọi người đã biết đến các lỗi mà bạn tìm ra để sửa chúng kịp thời nhé.
3. Time Management & Organization Skills (Kỹ năng quản lí thời gian)
Tester lúc nào cũng rất bận rộn, đặc biệt là những khi sắp release. Bởi vậy, nếu không quản lí được thời gian của mình, rất có thể bạn sẽ “ngập lụt” trong công việc và rơi vào cái vòng OT luẩn quẩn không hồi kết. Hãy học cách đặt ra thứ tự ưu tiên cho các đầu việc, thậm chí tạm thời nói “không” với những việc không quan trọng.
4. Be Proactive At Work (Làm việc chủ động)
Công nghệ phần mềm thay đổi từng giờ, từng phút. Là một tester, bạn rất dễ tụt hậu nếu không liên tục những kiến thức và công nghệ mới. Bởi vậy, trước tiên hãy chủ động tìm kiếm và học hỏi những kiến thức liên quan đến kiểm thử và phát triển phần mềm, như các hướng tiếp cận mới, cách tăng hiệu suất công việc.
Thứ hai, hãy chủ động trong việc áp dụng kiến thức vào thực tế. Như đã nói ở trên, bạn không thể nói mình thành thạo Test Automation nếu chưa thực sự dùng nó trong một dự án cụ thể. Việc chủ động áp dụng kỹ thuật, công nghệ mới sẽ giúp bạn dày dặn kinh nghiệm và có chỗ đứng tốt hơn trong công việc.
Cuối cùng, hãy chủ động trong toàn bộ quá trình làm việc. Bạn sẽ không thể trở thành Senior hay Manager nếu lúc nào cũng phải chờ người khác giao việc hay chỉ dẫn. Hãy chủ động học hỏi và đề xuất ý tưởng để cải thiện chất lượng sản phẩm. Và đừng quên hỏi nếu còn bất cứ điều gì chưa rõ nhé.
Nguồn tham khảo: https://www.guru99.com/software-testing-career-complete-guide.html#:~:text=Communication%20skill%3A%20A%20good%20software,easy%20to%20read%20and%20comprehend. https://www.testing-whiz.com/blog/15-skills-every-software-tester-should-master-in-2017 https://medium.com/@dsvgroup/7-effective-software-tester-skills-you-need-to-know-fe1bc2b7930d https://medium.com/@designveloper.com/5-effective-software-tester-skills-you-should-know-977feb16c66
Gia nhập Team QA của Got It:
📥 QA Engineer: bit.ly/gotit-qa
📥 Test Automation Engineer: bit.ly/gotit-testautomation
[…] kỹ năng cần thiếhttps://vn.got-it.ai/blog/9-ky-nang-de-tro-thanh-tester-chuyen-nghiep/t để thành công trong ngành kiểm thử phần […]