QA vs QC

Phân biệt QA và QC

Gần đây mình có dịp xem lại 2000+ connections của VNTesters trên LinkedIn. Điều làm mình chú ý là chức danh hay job title của Teser rất loạn (theo quan điểm riêng của VNTesters và mình sẽ có bài bình loạn riêng về vấn đề này). Tóm lại là QA Engineer hay QC Engineer hay QA/QC Engineer…?

Thuật ngữ QA và QC cũng khá phổ biến trong kiểm thử phần mềm. QA thiên về process (quy trình) trong khi QC thiên về product (sản phẩm). Tuy nhiên cũng có khá nhiều bạn mập mờ hoặc không chắc chắn hoặc “tôi không quan tâm!!”

Nhân dip này VNTesters muốn đưa vấn đề này ra thảo luận cho những ai quan tâm. Nhất là những bạn Tester chuyên nghiệp luôn luôn thích thú với những điều tưởng chừng như nhỏ nhặt nhưng lại tim ra con bug to đùng.

Chất lượng (Quality) là gì?

Là khi đáp ứng được yêu cầu, nguyện vọng và nhu cầu của khách hàng. Giúp khách hàng tránh được việc thiếu (tính năng) hay khiếm khuyết của phần mềm. Có những tiêu chuẩn cần phải tuân theo để đáp ứng các yêu cầu của khách hàng.

Bảo đảm (Assurance) là gì?

“Đảm bảo” nghĩa là đưa ra một tuyên bố tích cực trên một sản phẩm nhằm nhấn mạnh sự tự tin về kết quả. Nó đưa ra một bảo rằng sản phẩm sẽ làm việc ổn định như mong đợi hoặc yêu cầu.

Đảm bảo chất lượng (Quality Assurance) là gì?

“Đảm bảo chất lượng” tập trung vào việc ngăn ngừa khiếm khuyết. Đảm bảo chất lượng đảm bảo rằng các tiếp cận, kỹ thuật, phương pháp và quy trình được thiết kế cho các dự án được thực hiện một cách chính xác. Các hoạt động đảm bảo chất lượng theo dõi và xác minh rằng các quá trình quản lý và phát triền phần mềm được tuân thủ và có hiệu lực.

Đảm bảo chất lượng là một quá trình chủ động để phòng chống khiếm khuyết. Nó nhận ra sai sót trong các quy trình. Đảm bảo chất lượng phải được thực hiện trước kiểm soát chất lượng (Quality Control).

Kiểm soát (Control) là gì?

Kiểm soát là kiểm tra hoặc xác minh kết quả thực tế bằng cách so sánh nó với các tiêu chuẩn.

Kiểm soát chất lượng (Quality Control) là gì?

Kiểm soát chất lượng tập trung vào việc xác định lỗi. QC đảm bảo rằng các cách tiếp cận, kỹ thuật, phương pháp và quy trình được thiết kế trong dự án được sử dụng một cách chính xác. Các hoạt động QC bao gồm giám sát và xác minh rằng phần mềm đáp ứng được các tiêu chuẩn chất lượng.

Kiểm soát chất lượng là một quá trình sử dụng thử phần mềm và phát hiện khiếm khuyết. Kiểm soát chất lượng được thực hiện sau đảm bảo chất lượng.

Sự khác biệt giữa đảm bảo chất lượng và kiểm soát chất lượng

Đảm bảo chất lượngKiểm soát chất lượng
Là một quy trình được cân nhắc cẩn trọng nhằm cung cấp sự đảm bảo rằng phần mềm sẽ vượt qua được những yêu cầu về chất lượng.Kiểm soát chất lượng là quy trình kiểm tra sự hoàn thành của các yêu cầu về chất lượng phần mềm
Mục tiêu của QA là ngăn ngừa khiếm khuyếtMục tiêu của QC là xác định và cải thiện các khiếm khuyết.
QA là kỹ thuật quản lý chất lượng.QC là phương pháp để xác minh chất lượng.
QA không liên quan đến thực hiện chương trình.QC luôn luôn liên quan đến việc thực hiện chương trình.
Tất cả các thành viên trong nhóm có trách nhiệm bảo đảm chất lượng.Testing team chịu trách nhiệm cho QC.
QA e.g. Verification / xác minh.QC e.g. Validation / xác nhận.
QA có nghĩa là lên kế hoạch để thực hiện một quy trình.QC có nghĩa là hành động để thực hiện quy trình trong kế hoạch.
QA đảm bảo rằng bạn đang làm đúng điều phải làm.QC đảm bảo kết quả của những gì bạn đã làm là những gì bạn mong đợi
QA định nghĩa những chuẩn mực và phương pháp cần phải tuân theo để đáp ứng được các yêu cầu của khách hàng.QC đảm bảo rằng những chuẩn mực và phương pháp đã được tuân thủ trong quá trình phát triển phần mềm
QA là quy trình để tạo ra phần mềmQC là quá trình để xác minh phần mềm
QA chịu trách nhiệm cho nguyên quy trình phát triển phần mềm.QC chịu trách nhiệm cho chu kỳ kiểm tra phần mềm.

Lời Kết

Hi vọng qua bài viết này các bạn có thể phân biệt dược chính xác giữa QA & QC. Từ đó hiểu được trách nhiệm của QA cũng như QC trong quá trình phát triển phần mềm cũng như quy trình kiểm thử phần mềm.

Tham khảo
SoftwareTestingHelp.com
wiki.c2.com

Kiểm thử phần mềm