Tác giả

Đọc một tin tuyển dụng ghi "QA Engineer". Phần mô tả công việc: viết test case, thực hiện kiểm thử, báo lỗi.
Theo định nghĩa sách vở, đó không phải việc của QA. Nhưng tin tuyển dụng vẫn ghi QA, và ứng viên vẫn nộp, và không ai thấy có gì lạ.
Bài này có hai câu trả lời: định nghĩa để đi phỏng vấn, và thực tế để đi làm.
Định nghĩa sách vở
- QC (Quality Control) — kiểm soát chất lượng. Kiểm tra sản phẩm đã làm ra để tìm lỗi. Nhìn về sau, về thứ đã có.
- QA (Quality Assurance) — đảm bảo chất lượng. Cải thiện quy trình để lỗi ít sinh ra từ đầu. Nhìn về trước, về cách làm.
- Tester — người thực hiện việc kiểm thử. Về bản chất công việc thì nằm trong QC.
- QE (Quality Engineering) — tên gọi mới hơn, nhấn vào việc dùng kỹ thuật và mã để đảm bảo chất lượng, thường bao gồm cả automation. Định nghĩa của nó khác nhau nhiều theo nơi và còn đang biến động, nên đừng coi một định nghĩa nào là chắc.
Một cách phân biệt QA với QC dễ nhớ: QC hỏi "sản phẩm này có lỗi không?", QA hỏi "vì sao lỗi này lọt được tới đây, và làm gì để lần sau không lọt nữa?"
Và đây là chỗ thực tế khác sách
Phần trên là câu trả lời để đi phỏng vấn. Đây là câu trả lời để đi làm.
Ở rất nhiều công ty tại Việt Nam, bốn cái tên này được dùng lẫn nhau. Tin tuyển dụng ghi QA nhưng mô tả công việc là test tay. Người mang chức danh QC lại đang cải tiến quy trình. Có nơi QA chỉ đơn giản là cách gọi sang hơn của tester, dùng để tuyển người dễ hơn.
Đây không phải chuyện sai cần đi sửa. Nó là thực tế, và biết nó giúp được hai việc cụ thể.
Đọc tin tuyển dụng theo phần mô tả công việc, không theo chức danh. Chức danh gần như không nói được gì về việc bạn sẽ làm hàng ngày. Phần mô tả công việc và phần yêu cầu kỹ năng mới nói.
Trong phỏng vấn, trả lời cả hai lớp. Nói định nghĩa chuẩn để chứng minh bạn biết, rồi nói thêm rằng trong thực tế ranh giới thường mờ và ở mỗi nơi một khác. Câu thứ hai cho thấy bạn đã đi làm thật, không phải mới học thuộc.
Tách theo việc làm thì rõ hơn tách theo tên gọi
Người làm việc kiểu QC. Đọc yêu cầu, thiết kế ca kiểm thử, thực hiện, báo lỗi, kiểm lại sau khi sửa. Sản phẩm của họ là danh sách lỗi và một kết luận về chất lượng bản phát hành.
Người làm việc kiểu QA. Xem lại vì sao lỗi lọt lưới, sửa quy trình, đặt tiêu chuẩn cho định nghĩa "xong", tham gia từ lúc còn đang viết yêu cầu. Sản phẩm của họ là quy trình và tiêu chuẩn — thứ người khác phải làm theo.
Người làm việc kiểu QE. Viết mã kiểm thử tự động, dựng hệ thống chạy kiểm thử tự động, làm công cụ để cả đội test nhanh hơn. Sản phẩm của họ là mã và hạ tầng.
Một người có thể làm cả ba loại việc trong cùng một tuần. Ở công ty nhỏ thì gần như chắc chắn, vì không có ai khác để chia.
Điều này dẫn tới một nhận xét dùng được: đừng chọn nghề theo tên gọi, chọn theo loại sản phẩm bạn muốn tạo ra. Muốn kết quả là lỗi tìm được thì đó là hướng QC. Muốn kết quả là cách làm việc tốt hơn thì đó là hướng QA. Muốn kết quả là công cụ và mã thì đó là hướng QE.
Nên theo hướng nào
Câu này người mới hay hỏi, và câu trả lời trung thực là: chưa cần chọn ngay.
Ba hướng đều bắt đầu từ cùng một chỗ — biết cách test cho tử tế. Chưa test tay giỏi thì viết automation cũng chỉ ra được mã tự động chạy những ca kiểm thử dở. Chưa từng thấy lỗi lọt lưới thì cải tiến quy trình cũng chỉ là chép quy trình ở đâu về.
Ba điều đáng nói thêm.
Hiểu nghiệp vụ và nghĩ ra được tình huống cần thử là kỹ năng nền. Nó dùng ở cả ba hướng, và nó là thứ khó dạy nhất nên cũng khó thay nhất.
Biết đọc và viết được một chút mã giúp ích ở mọi hướng, kể cả nếu bạn không bao giờ làm automation toàn thời gian. Nó mở ra việc đọc log, gọi API, viết truy vấn dữ liệu — những thứ cho thấy lỗi nằm ở tầng nào.
Hướng QA cần kỹ năng thuyết phục nhiều hơn hai hướng kia. Vì sản phẩm của bạn là thứ người khác phải làm theo, và không ai thích bị bảo phải đổi cách làm việc. Nếu bạn thấy phần khó nhất trong công việc là nói cho người khác hiểu, hướng QA sẽ dùng đúng thế mạnh đó.
Nói lại một câu
Định nghĩa thì rõ ràng. Thực tế thì lẫn lộn. Cả hai điều đó đều đúng, và biết cả hai thì đọc tin tuyển dụng và trả lời phỏng vấn đều dễ hơn.
Nếu chỉ mang đi một điều: đọc mô tả công việc, đừng đọc chức danh.


