Sự khác nhau giữa QA và QC ( Tester)

Để giúp các bạn hiểu rõ hơn về QA/ QC là gì? Chúng khác nhau như thế nào thì hãy đọc bài viết này nhé.

screenshot_2016_12_22.png

1.QA là gì?

QA (viết tắt của Quality Assurance) là người chịu trách nhiệm đảm bảo chất lượng sản phẩm thông qua việc đưa ra quy trình làm việc giữa các bên liên quan.

QA.jpg

Nhiệm vụ chủ yếu của QA là:

• Đề xuất, đưa ra quy trình phát triển (development process) sản phẩm phù hợp với yêu cầu cụ thể của từng dự án. Các quy trình này có thể được phát triển dựa trên V-model hay Agile (đa số là Scrum hoặc Lean Development) hay thông qua việc áp dụng những quy trình quản lý sẵn có như ISO hay CMMI.

• Đưa ra những tài liệu, biểu mẫu, hướng dẫn để đảm bảo chất lượng của sản phẩm cho tất cả các bộ phận trong nhóm phát triển sản phẩm.

• Kiểm tra, audit việc thực thi quy trình của các bộ phận trong nhóm làm sản phẩm có đúng quy trình QA đã đề ra không.

• Nhắc nhở đội ngũ phát triển sản phẩm việc tuân thủ theo quy trình làm việc đã đưa ra.

• Điều chỉnh, thay đổi quy trình phù hợp với từng sản phẩm mà các team đang thực hiện.

• Một số công ty sử dụng “QA” thay vì QC nên nhiều người nhầm lẫn QA với QC (Quality Control). Vì vậy, trên thị trường lao động xuất hiện một số vai trò như PQA (Process Quality Assurance – thực hiện công việc về quy trình) và SQA (Software Quality Assurance – thực hiện công việc kiểm thử). Trong đó, SQA đóng vai trò như một QC thực thụ, đảm nhiệm việc kiểm thử sản phẩm đang phát triển. Còn PQA mới là người chịu trách nhiệm về việc đưa ra các quy trình làm việc trước khi bắt đầu một dự án.

• Nhiều Công ty vừa và nhỏ, họ không chỉ định 1 vị trí PQA rõ ràng, mà QC Manager/Leader sẽ phụ trách việc đưa ra quy trình làm việc giữa các bên liên quan. Và một khi quy trình đó được duyệt bởi cấp quản lý, thì nó sẽ được duy trì và áp dụng cho các dự án.

• Ví dụ: PQA sẽ sẽ quy định khâu kiểm thử sản phẩm ở công đoạn cuối cùng, kiểm thử sản phẩm theo phương pháp, tiêu chuẩn nào, sẽ dùng các tool nào để kiểm thử, đồng thời đưa ra các tiêu chuẩn cho một sản phẩm tốt và chưa tốt.

• Đây là một vị trí rất quan trọng đối với các team làm sản phẩm. Do đó, thông thường, chỉ có những công ty Outsourcing lớn như KMS, Harvey Nash, FPT Software… mới tuyển vị trí PQA và chỉ có 2-3 đầu người cho toàn bộ các team làm sản phẩm. Còn lại, đa số các công ty phần mềm thường tuyển SQA (thường gọi là QC).

Dưới đây là một đặc điểm về PQA :

• Tư vấn về quy trình cho dự án để đảm bảo chất lượng toàn dự án. • Kiểm soát việc thực hiện quy trình của dự án. • Thu nhận và theo dõi các ý kiến phản hồi khách hàng. • Thực hiện kiểm duyệt lần cuối (Final inspection) đối với những sản phẩm bàn giao cho khách hàng để đảm bảo chất lượng đúng như cam kết. • Thực hiện việc đo đạc và phân tích số liệu để đánh giá chất lượng sản phẩm. • Cải tiến quy trình.

Kỹ năng cần thiết cho QA là gì?

• Hiểu sâu về kiến trúc hệ thống của phần mềm vì công việc của QA rộng hơn QC.

• Khả năng tổ chức, tư duy logic và có hệ thống.

• Kỹ năng phân tích, làm việc dựa trên số liệu tốt.

• Kiến thức rộng về các lĩnh vực của phần mềm mà các team đang thực hiện.

• Kỹ năng giao tiếp trong nội bộ team và các team khác để khai thác thông tin về sản phẩm, dự án và ứng dụng nó vào việc xây dựng hệ thống quy trình.

• Hiểu rõ về các chứng chỉ CMMI, ISO… trong phần mềm để xây dựng các quy trình chuẩn cho các team.

2.QC là gì?

QC (viết tắt của chữ Quality Control) là người chịu trách nhiệm thực hiện công việc kiểm tra chất lượng phần mềm. Có 2 vị trí QC thông thường là manual QC (không đòi hỏi kỹ năng lập trình) và automation QC (đòi hỏi kỹ năng lập trình).

QC.png

Nhiệm vụ của các QC chủ yếu là:

• Tìm hiểu hệ thống, phân tích tài liệu mô tả về hệ thống và thiết kế test case,và thực hiện việc test phần mềm trước khi giao cho khách hàng.

• Lên kế hoạch kiểm thử (thường do QC Leader thực hiện)

• Viết Script cho automation test (nếu có áp dụng kiểm thử tự động).

• Sử dụng các test tool để tạo và thực hiện các test case/script chi tiết.

• Phối hợp với nhóm lập trình trong việc fix bug và báo cáo chi tiết cho Project Manager hoặc các bên liên quan khác tuỳ dự án. Khác với PQA, nhu cầu tuyển dụng QC hay SQA rất nhiều trong mọi công ty phần mềm vì kiểm thử là khâu rất quan trọng trong quy trình phát triển sản phẩm. QC và PQA sẽ tương tác với nhau như sau:

• PQA đưa ra quy trình làm việc cho team phát triển sản phẩm, trong đó có khâu Testing, quy định QC kiểm thử sản phẩm ở giai đoạn nào, sử dụng công cụ gì, tiêu chuẩn nào là sản phẩm đạt yêu cầu.

• QC thực thi quy trình mà PQA đề ra.

• PQA giám sát, theo dõi và kiểm tra QC có thực hiện đúng quy trình không, sau đó chỉnh sửa cho phù hợp với tiến độ, hiện trạng dự án.

• QC báo cáo kết quả test cho QC Lead/QC Manager, PQA báo cáo kết quả thực thi quy trình phát triển sản phẩm cho Project Manager. Tuy nhiên, hiện nay hai khái niệm công việc này vẫn còn bị nhầm lẫn rất nhiều. Có những mẩu tuyển dụng QA Engineer nhưng thực chất lại làm hầu hết công việc của QC như sau:

• Nghiên cứu yêu cầu và thiết kế của dự án.

• Thiết kế test case, viết kịch bản test.

• Thực thi manual test hoặc automated test.

• Phối hợp với các bộ phận liên quan để đảm bảo chất lượng dự án/sản phẩm.

• Quản lý, phân tích, theo dõi và báo cáo kết quả test.

Link tham khảo:

http://vietpmp.com/threads/320-Phan-biet-QA-va-QC.html

http://www.sam.edu.vn/qa-va-qc-giong-va-khac-nhau-nhu-the-nao


All Rights Reserved