Tester có phải là QA?
Mình đã từng nhận được khá nhiều câu hỏi "Tester có phải là QA không?", "Tester giống và khác QA ở điểm nào?". Nếu bạn không làm ở FSOFT, hay Tinh Vân, hay một số công ty lớn khác ở Việt Nam và một công ty lớn nước ngoài thì hai khái niệm này rất dễ bị đánh đồng vào với nhau.
Thực chất, Tester và QA là hai role khác nhau trong hoạt động Kiểm thử phần mềm. Nhiệm vụ chính của Tester là chạy thử chương trình (hoặc review code) để tìm ra lỗi phần mềm, xác định xem chương trình đã được làm theo đúng thiết kế hay không. Các hoạt động mang tính kiểm tra này được gọi chung là Verification (Kiểm chứng). Ngoài ra Tester còn phải là người nắm vững business (nghiệp vụ) của phần mềm để kiểm tra xem chương trình làm ra có phù hợp với yêu cầu của người dùng (như về UI, function, business requirement) hay không. Hoạt động này thường được gọi là Validation (Xác định tính hợp lệ).
Còn QA (Quality Assurance) là người đảm bảo về mặt quy trình. Nhiệm vụ chính của QA là giám sát từng khâu của toàn bộ đội dự án, xem có bộ phận nào làm lệch quy trình, xem có cá nhân nào làm sai template thì nhắc nhở, hỗ trợ họ làm theo đúng quy trình để đảm bảo chất lượng cho dự án.
Vậy, Tester và QA, nghề nào vất vả hơn?
Thực chất, đặc trưng nghề nghiệp của Tester và QA là khác nhau và mức độ vất vả thì ...ngang nhau, tuỳ thuộc vào từng dự án.
Tester thì thiên về kỹ thuật nhiều hơn, sử dụng nhiều kiến thức và nền tảng IT hơn vì phải làm việc trực tiếp với phần mềm để tìm ra lỗi. Còn QA thiên về "công việc giấy tờ" nhiều hơn. Nhưng để làm được QA giỏi thì người làm QA rất cần kiến thức tổng hợp, có nhiều kinh nghiệm ở các vị trí khác nhau của dự án, cũng như có nhiều kinh nghiệm quản lý. Nhờ có kinh nghiệm họ mới có thể "chẩn bệnh" dự án và đưa ra những đề xuất đúng đắn.
Nhiều chị QA ở công ty mình đang làm việc ví nghề của mình như là chăm con mọn, vì có hàng tá công việc không tên và có tên xuất hiện trong quá trình làm dự án.
Làm QA thì overtime là chuyện phình phường ở huyện. Thậm chí có chị cùng một lúc tham gia giám sát 10 dự án!!!
Còn đừng tưởng làm Tester là nhàn. Tuỳ từng dự án, có dự án yêu cầu từ khách hàng ít, time cho testing thoải mái thì vô tư. Nhưng nhiều dự án rất căng, chuyện overtime là không thể tránh khỏi.
Tester cũng giống như người thủ môn trấn giữ khung thành trong bóng đá, thường được ví như thanh barie bảo vệ cuối cùng, một vị trí quan trọng nhưng thầm lặng và phải chịu nhiều hy sinh. Khi xem bóng đá, người ta thường chỉ tập trung và tung hô những người ghi bàn thắng (tâm lý tự nhiên). Và đó dĩ nhiên thường là tiền đạo, tiền vệ, trung vệ và thỉnh thoảng là một hậu vệ, mấy khi là một thủ môn. Đội bóng chơi tốt, tiền đạo ghi bàn tốt, hậu vệ chắn bóng tốt thì thủ môn được ngồi chơi xơi nước nên không có cơ hội thể hiện mình dù đã từng luyện tập vất vả đến đâu. Đội bóng chơi dở thì thủ môn mới có cơ hội thể hiện mình, nhưng nếu chẳng may để lọt một bàn mà xem! Đội bóng thắng, mấy khi vinh quan dành cho thủ môn, đội bóng thua, thằng thủ môn được lôi ra đầu tiên.
Tester cũng thế. Phần mềm tốt thì người được khen đầu tiên sẽ là những ông coder. Còn phần mềm dở, có lỗi thì Tester là người phải giơ đầu ra chịu trận vì tội sao vẫn để lọt bug. Làm test cũng phải chịu áp lực rất lớn. Làm code, hôm nay code không xong thì mai code tiếp, đến deadline mà vẫn chưa xong thì vứt bùa sang cho Tester kiểm tra, có lỗi thì fix sau. Tester thì phải hứng chịu mọi hậu quả: anh DEV làm chậm, Tester phải cong mông lên mà làm recover (vì schedule của dự án tính gộm cả time cho code và test). DEV làm lắm bug cũng không có quyền reject chương trình (chỉ QA có quyền này). Test mà sót bug thì lại đổ đầu cho Tester.
Cả QA và Tester đều đòi hỏi kỹ năng communication tốt. Vì bản chất công việc của Tester luôn đối nghịch lại với DEV. Ai chẳng muốn giấu lỗi của mình đi, mà công việc của Tester là săm soi tìm lỗi của DEV nên chuyện cãi nhau giữa DEV và Tester là chuyện thường ngày ở huyện.
Mức độ giao tiếp của QA thì lớn hơn, trong toàn bộ đội dự án nên communication skill càng phải được đảm bảo.

Đăng nhận xét