- 07/07/2022
BẠN CÓ THỰC SỰ HIỂU QA/PQA vs TESTER/QC/SQA ⁉️
Nhân dịp VietIS vừa close xong vị trí tuyển dụng QA – và lần thứ n nhận được CV của ứng viên ứng tuyển vị trí QA nhưng kinh nghiệm testing đầy mình, Admin xin chia sẻ lại chút khác biệt giữa 2 khái niệm/ 2 role này trong dự án cho các bạn quan tâm nhé.
1. QA (Quality Assurance = Đảm bảo chất lượng)
QA là thuật ngữ được dùng để nói về quy trình đảm bảo chất lượng theo các tiêu chuẩn, quy trình và thủ tục phù hợp cho dự án được triển khai chính xác. Quy trình này có thể được thực hiện qua đội ngũ QA Engineer, hoặc manager, hoặc có thể là từ client (với client thì hoạt động này gọi là Acceptance Testing).QA không phải là QC, hay nói cách khác không trực tiếp kiểm tra chất lượng phần mềm.
Công việc của QA là đảm bảo sản phẩm, project theo kịp tiến độ hoặc là tạo ra những quy chuẩn chất lượng của sản phẩm để QC có thể follow. Trong một số công ty, QA bao hàm cả QC trong nó.
Nhiệm vụ chính của của QA là:
+ Đề xuất đưa ra quy trình phát triển phần mềm phù hợp với dự án.
Ví du: mô hình V-model hay Agile (đa số là Scrum) 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 việc thực hiện quy trình trong nhóm phát triển sản phẩm có đúng quy trình QA đã đề ra không. Nhắc nhở đội phát triển sản phẩn làm việc theo đúng quy trình đã đặt ra.
+ Đề xuất, điều chỉnh quy trình phù hợp với sản phẩm mà team đang thực hiện.
Vậy nên: QA = Process + Procedure + meta (nền tảng và quy trình)
2. QC (Quality Control = Kiểm soát chất lượng) / Test EngineerQC thực hiện test tuân theo các quy trình, quy chuẩn của QA đưa ra. 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, kiểm soát sản phẩm đã đúng và đủ những yêu cầu mà khách hàng đề ra.
Log bug và report bug, follow up bug, confirm bug là những hoạt động hàng ngày của QC.QC hay Tester có thể được dùng thay thế nhau, và phần lớn các công ty phần mềm đều dùng QC để đặt tên.
Công việc của QC là đảm bảo chất lượng của sản phẩm bằng cách test nó. Và ngoài việc đảm bảo phần mềm follow theo guidelines & checklist của QA team, QC còn đảm bảo rằng phần mềm không chỉ đúng và đủ yêu cầu, mà còn dễ sử dụng và có hiệu suất tốt (thông qua Usability Test & Performance Test).
Nhiệm vụ chính của QC/Tester bao gồm:
+ Tìm hiểu phân tích tài liệu mô tả về hệ thống. Sau đó thiết kế test case, test script ( Tạo thuận lợi cho việc 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ử
+ Sử dụng các test case chi tiết để thực hiện test ( Có thể thực hiện test thủ công hoặc sử dụng các tool để test, nên kết hợp cả Ad-hoc Testing).
+ Phối hợp với nhân viên lập trình trong quá trình fix bug và báo cáo chi tiết cho các thành viên trong dự án hoặc các bên liên quan khác tuỳ dự án.
QC = Test + Report + Follow-up + Product (tập trung vào sản phẩm, kiểm thử sản phẩm)
Trên thực tế, cũng do cách sử dụng thuật ngữ tại các công ty hiện nay cũng dẫn tới sự nhầm lẫn này. Một số công ty không có QC mà chỉ có QA, nên khái niệm sẽ được thay đổi bằng PQA và SQA. PQA (Process/Procedure QA) hoạt động như một QA thuần túy còn SQA (Software QA) chính là QC Engineer.
Rất hy vọng bài viết này sẽ phần nào giúp các bạn tháo gỡ được những nhầm lẫn giữa 2 thuật ngữ QA/QC nhé.Nguồn tham khảo: https://www.softwaretestingclass.com/difference-between…/