Phỏng vấn hàng trăm ứng viên QA/Tester, Got It nhận thấy có rất nhiều bạn trẻ, đặc biệt là sinh viên mới ra trường và các bạn đi làm trái ngành thường khá mông lung về nghề QA/Tester (kiểm thử). Nhiều bạn coi đây như một công việc tạm thời, hoặc chỉ thử vì thấy nghề hot, lại làm trong ngành IT mà không cần nhiều kỹ năng lập trình.
> QA tester là gì? Kỹ năng cần có và lộ trình sự nghiệp của QA tester
Thế nhưng, có lẽ bạn chưa biết: Software testing là một con đường rất tiềm năng và nhiều ngã rẽ. Nếu có cái nhìn tổng quan về lộ trình sự nghiệp, bạn hoàn toàn có thể vạch ra con đường phát triển lâu dài, hoạch định tương lai cho riêng mình khi theo đuổi nó.
Lưu ý: Những phân chia cấp bậc dưới đây chỉ là tương đối và có thể thay đổi tuỳ theo công ty, vị trí công việc cụ thể.
Mục lục
- Các vị trí cơ bản
- 1.Junior Tester / Junior QA Engineer
- 2.Senior Tester / Senior QA Engineer
- Định hướng phát triển lâu dài
- 1.Hướng quản lý — Test Manager/Test Lead
- 2.Hướng kỹ thuật — Test Automation Engineer
- 3.Hướng quản lí sản phẩm — Business Analyst, PM
- 4.Một số hướng đi khác
- Performance testing (kiểm thử hiệu năng)
- Security testing (kiểm thử bảo mật)
- BrSE (kỹ sư cầu nối)
- Gia nhập Team QA của Got It:
Các vị trí cơ bản
1.Junior Tester / Junior QA Engineer
Junior Tester thường dùng để chỉ những nhân viên từ mới tốt nghiệp, chưa có kinh nghiệm đến khoảng dưới 2 năm kinh nghiệm. Tuy nhiên, cách chia này chỉ là tương đối, và không phải cứ sau 2 năm bạn sẽ trở thành senior hay mid-senior. Việc phân định junior hay senior phụ thuộc chủ yếu vào năng lực, kinh nghiệm của bạn, cũng như cách tính của từng công ty. Ngoài ra, bạn có thể là Senior ở công ty này, nhưng chỉ là Junior ở công ty khác bởi mỗi công ty sẽ có những yêu cầu khác nhau.
Yêu cầu:
Hiện nay, nhiều công ty nhận cả các bạn học trái ngành và đào tạo để trở thành manual QA. Tuy nhiên, cũng có những công ty chỉ nhận sinh viên đã tốt nghiệp chuyên ngành CNTT, biết lập trình cơ bản để có thể đào tạo theo hướng kiểm thử tự động (test automation). Nhìn chung, để ứng tuyển Fresher Tester, bạn cần nắm được:
- những khái niệm cơ bản về kiểm thử phần mềm (thế nào là một phần mềm chất lượng, vai trò của kiểm thử là gì, quy trình phát triển và quy trình kiểm thử phần mềm, v.v.)
- tư duy và các kỹ thuật kiểm thử phần mềm
- vòng đời dự án, vòng đời kiểm thử
- khả năng phân tích yêu cầu và đọc hiểu sâu tài liệu
- kỹ thuật thiết kế test case
- cách viết test report
- kỹ năng phân tích yêu cầu và đặt câu hỏi liên quan.
Công việc:
Công việc của Junior Tester thường bao gồm:
- Đọc hiểu tài liệu mô tả hệ thống, tìm hiểu hệ thống và phân tích yêu cầu từ khách hàng/PM/BA
- Chuẩn bị các thiết lập như môi trường test, thiết bị test, dữ liệu test, v.v.
- Hiểu và thực hiện kiểm thử theo các test cases có sẵn
- Phân tích, thiết kế các test cases đơn giản
- Thực hiện kiểm thử
- Báo cáo lỗi (bugs) hoặc khiếm khuyến (defects) của phần mềm
- Hỗ trợ các hoạt động đảm bảo chất lượng khác…
Các bạn chưa có kinh nghiệm thường chỉ thực hiện kiểm thử theo các test cases có sẵn hoặc làm theo chỉ dẫn từ những người đi trước trong công ty. Tuy nhiên, khi đã bắt đầu nắm vững hơn, bạn cần phải tự viết test cases để phục vụ công việc, cũng như trau dồi kỹ năng cho bản thân.
Hãy luôn coi việc hiểu rõ sản phẩm, hiểu rõ dự án là vấn đề sống còn nếu bạn muốn trở thành một Tester thực thụ. Đừng ngần ngại đào sâu, trao đổi, đặt câu hỏi với các team lead, PM, BA hoặc thậm chí là khách hàng để biết họ cần gì, hệ thống làm việc như thế nào và yêu cầu kiểm thử cụ thể ra sao.
2.Senior Tester / Senior QA Engineer
Senior Tester là những người đã có kinh nghiệm trong kiểm thử ở một (hoặc vài) lĩnh vực cụ thể. Thường cần khoảng 5 năm trở lên để bạn trở thành một Senior Tester. Tuy nhiên, việc này còn phụ thuộc vào cách nhìn nhận của từng công ty, cũng như kỹ năng của bạn. Nếu bạn giậm chân tại chỗ trong 5 năm đó thì chưa chắc đã được coi là Senior đâu nhé.
Yêu cầu:
Bên cạnh những kiến thức, kỹ năng cơ bản của một Junior Tester, Senior Tester cần có kiến thức đủ sâu về một lĩnh vực cụ thể (ví dụ như kiểm thử ứng dụng trong ngành kế toán, tài chính, y tế, ngân hàng, thương mai điện tử hoặc trong lĩnh vực web application testing, game testing, v.v. nói chung). Mức độ Senior đòi hỏi ở bạn khả năng thích nghi cao với nhiều tình huống lắt léo, khả năng làm rõ và xử lý các vấn đề với sự chủ động cao mà không cần nhiều sự chỉ dẫn. Thậm chí, một Senior Tester có thể là mentor hoặc trainer cho các Junior Tester, cũng như trợ thủ cho Team Leader trong các nhiệm vụ phức tạp.
Công việc:
Công việc của Senior Tester bao gồm:
- Đọc hiểu tài liệu mô tả hệ thống, tìm hiểu hệ thống và phân tích yêu cầu từ khách hàng/PM/BA
- Chuẩn bị các thiết lập như môi trường test, thiết bị test, dữ liệu test, v.v.
- Hiểu và thực hiện kiểm thử theo các test cases có sẵn
- Thiết kế các test cases hoàn chỉnh, phức tạp hơn
- Thực hiện kiểm thử
- Báo cáo lỗi (bugs) hoặc khiếm khuyến (defects) của phần mềm
- Tham gia và đóng vài trò quan trọng trong các hoạt động đảm bảo chất lượng khác…
Định hướng phát triển lâu dài
1.Hướng quản lý — Test Manager/Test Lead
Khi đã dày dặn kinh nghiệm, Senior Tester có thể được đề bạt để trở thành Test Manager/Test Lead. Tuỳ vào trình độ và yêu cầu công việc, bạn có thể quản lý việc kiểm thử trên một hoặc nhiều ứng dụng khác nhau.
Khi đó, bên cạnh những công việc của một Tester, bạn sẽ có trách nhiệm của một nhà quản lý như:
- Lên kế hoạch kiểm thử phần mềm tối ưu nhất
- Quản lý và phân bổ nguồn lực cho từng dự án
- Quản lý tiến độ và đánh giá chất lượng công việc của các thành viên trong nhóm
- Báo cáo tình trạng của cả team cho các bên liên quan
- Làm việc với các nhóm, phòng ban khác nhau xoay quanh dự án
- Tổ chức và thực hiện training/mentorship cho các thành viên
- Xây dựng và review các tài liệu, test cases được sử dụng.
Là một Test Lead/Test Manager, công việc của bạn không chỉ đòi hỏi một nền tảng chuyên môn vững chắc mà còn yêu cầu nhiều kỹ năng mềm như quản lý nhân sự, quản lý dự án, cũng như khả năng làm việc với nhiều người, nhiều team khác nhau.
2.Hướng kỹ thuật — Test Automation Engineer
Nếu bạn vừa thích test, lại vừa có hứng thú với lập trình? Hay đơn giản là bạn muốn thử một hướng đi mới trong nghề kiểm thử? Hãy trở thành một Test Automation Engineer. Nhiều công ty hiện nay đã áp dụng Test Automation để đẩy nhanh hiệu suất kiểm thử, vậy nên việc trở thành Test Automation Engineer cũng giúp bạn có thêm nhiều lựa chọn khi tìm kiếm công việc.
>>> Got It Test Automation đã nâng cao hiệu suất kiểm thử như thế nào?
Để trở thành một kỹ sư kiểm thử tự động, hiển nhiên bạn cần có kỹ năng lập trình. Việc tốt nghiệp ngành CNTT sẽ là lợi thế, hoặc bạn cũng có thể tự học các ngôn ngữ lập trình thông dụng như C/C++, Python, Java, v.. Ngoài ra, bạn cũng nên trang bị các kiến thức khác như Test Design, SQL, Database, Performance Testing, Agile, Continuous Delivery, các công cụ, framework thường dùng như Selenium, Jmeter, v.v. để có lợi thế hơn trong quá trình tìm việc.
Test Automation Engineer hiện đang là một vị trí hot và khá “hiếm có khó tìm”, bởi nó vừa đòi hỏi tư duy của một Tester, vừa cần kỹ năng code của một Developer. Vậy nên ở nhiều công ty, Test Automation Engineer có thể có mức lương gần như ngang bằng với một Software Engineer.
>>> 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.Hướng quản lí sản phẩm — Business Analyst, PM
Từ Tester sang BA (Business Analyst) là một lộ trình được nhiều bạn trẻ lựa chọn. Tuy nhiên, quan niệm “không làm dev được thì làm test, không làm được test thì chuyển sang BA, PM” là hoàn toàn sai lầm, bởi không phải dev nào cũng có thể làm test, và không phải mọi Tester đều có thể trở thành BA. BA (hay nhân viên phân tích nghiệp vụ) không chỉ yêu cầu kỹ năng ngoại ngữ (tiếng Anh, tiếng Nhật, v.v.) mà còn đòi hỏi ở bạn:
- khả năng giao tiếp tốt để hiểu được khách hàng muốn gì
- hiểu biết sâu về lĩnh vực của hệ thống, lĩnh vực mà sản phẩm đang phục vụ (ví dụ như giáo dục, kế toán, ngân hàng, v.v.) để tư vấn và đàm phán với khách hàng về các yêu cầu (requests)
- kiến thức về IT để phân tích, cùng team thiết kế các module hệ thống
- kỹ năng tổng hợp, phân tích, truyền đạt thông tin để làm việc với team kỹ thuật
Vậy nên, không phải mọi Tester với kỹ năng ngoại ngữ tốt đều có thể trở thành BA. Tuy nhiên, với xuất phát điểm là một Tester, bạn sẽ có lợi thế về khả năng nhìn nhận vấn đề một cách tỉ mỉ trên nhiều phương diện, tư duy “end-to-end” giúp cho việc phân tích nghiệp vụ trở nên dễ dàng hơn.
4.Một số hướng đi khác
Performance testing (kiểm thử hiệu năng)
Performance testing có thể được hiểu theo nhiều nghĩa, tuỳ vào từng trường hợp cụ thể. Tựu chung, đây là là kỹ thuật kiểm thử nhằm xác định hiệu năng, năng suất của một hệ thống, một ứng dụng (ví dụ khả năng chịu tải, lượt tải tối đa có thể xử lý, khả năng đáp ứng các yêu cầu, v.v.). Nếu muốn tìm hiểu sâu hơn, bên cạnh Performance Testing, bạn có thể tìm kiếm thêm các từ khoá như Load testing (kiểm thử tải), Stress testing (kiểm thử áp lực), Volume testing, Endurance/Soak testing, Spike testing, Scalability Testing.
Đây là một loại test phức tạp, dễ gây nhầm lẫn, từ đó ảnh hưởng đến kết luận về sản phẩm. Bởi vậy, các công ty thường có một bộ phận QA riêng với kiến thức sâu rộng và có thâm niên về mảng này. Nếu muốn theo đuổi hướng làm Performance Tester, bạn cần dành nhiều thời gian để học và thực hành, thay vì chỉ tham khảo một vài tài liệu đơn lẻ về hướng dẫn sử dụng Jmeter.
Security testing (kiểm thử bảo mật)
Cũng giống như kiểm thử hiệu năng, kiểm thử bảo mật là một mảng khá “khó nhằn” trong giới Tester. Dù chỉ một sự cố bảo mật cũng có thể đánh sập toàn bộ danh tiếng của công ty, thì liệu có công ty nào dám lơ là? Do đó, có thể nói Security Testing là một trong những công đoạn quan trọng nhất đối với bất kỳ sản phẩm công nghệ nào.
Nhiệm vụ của Security Tester là xác định, kiểm tra mọi mối đe doạ cho hệ thống và tính toán các rủi ro về bảo mật. Bạn có thể tìm hiểu thêm về Security Testing tại đây.
BrSE (kỹ sư cầu nối)
Trở thành Kỹ sư cầu nối có lẽ là con đường không nhiều Tester nghĩ đến, nhưng đây là một phương án hoàn toàn khả thi và đáng được cân nhắc. Khác với Comtor — “cầu nối” đơn thuần về mặt ngôn ngữ, BrSE (kỹ sư cầu nối) cần có kiến thức về IT để có thể truyền tải chính xác những thuật ngữ chuyên ngành, thậm chí tham gia vào quá trình làm việc, quản lý tiến độ của team kỹ thuật. Tuỳ thuộc vào từng công ty mà công việc của BrSE có thể có những tương đồng với vị trí Comtor, BA, PM, hoặc chỉ là một BrSE đơn thuần.
Đón đọc bài viết tiếp theo để xem một Tester cần những kỹ năng gì để trở nên nổi bật trong công việc nhé:
>>> Những kỹ năng cần thiết để thành công trong ngành kiểm thử phần mềm
Gia nhập Team QA của Got It:
📥 QA Engineer: bit.ly/gotit-qa
📥 Test Automation Engineer: bit.ly/gotit-testautomation
[…] > Đón đọc bài viết tiếp theo: Career Path của Software Tester […]
[…] > Bạn có thể tìm hiểu thêm về một số hướng kỹ thuật khác như Performance Testing, Security Testing tại bài viết này. […]
[…] bạn vẫn còn đang mông lung không biết một QA Engineer hay Software Tester cần tu luyện những kiến thức và kỹ năng gì để vượt vòng phỏng vấn hóc […]