QA là gì? QC là gì? Công việc cụ thể của từng vị trí trong quy trình phát triển sản phẩm như thế nào?

Đọc bài viết này để tìm hiểu ngay:

  • QA là gì? QA 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.
  • QC là gì? QC 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.
  • Nhân viên QA khác gì nhân viên QC.

Xem hàng trăm việc làm QA QC trên ITviec

QA là gì?

QA là gì?

QA là viết tắt của cụm từ Quality Assurance. QA 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 là làm gì?

  1. Đề 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). Hoặc thông qua việc áp dụng những quy trình quản lý sẵn có như ISO hay CMMI.
  2. Đư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.
  3. 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.
  4. 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.
  5. Đ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.

Tuyển dụng QA của FPT IS

  • 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.

Xem thêm những mẫu tuyển dụng việc làm QA tại ITviec.

Việc làm QA tại TP. HCM
Việc làm QA tại Hà Nội

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

  1. 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.
  2. Khả năng tổ chức, tư duy logic và có hệ thống.
  3. Kỹ năng phân tích, làm việc dựa trên số liệu tốt.
  4. 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.
  5. Kỹ năng giao tiếp trong nội bộ team và các team khác. Mục đích: 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.
  6. 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.

Tài liệu QA học tập

  1. CMMI Wikipedia: nguồn thông tin về chứng chỉ CMMI cần thiết cho PQA.
  2. Wibas: hướng dẫn chi tiết về công việc của PQA và một số tài liệu tham khảo.
  3. Tim Landerville: bài viết khá chi tiết về 7 bước thực hiện công việc PQA.

qa-qc-la-gi

QC là gì?

QC là gì?

QC là viết tắt của Quality Control. QC 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 là làm gì?

  1. 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. Ngoài ra, QC còn thực hiện việc test phần mềm trước khi giao cho khách hàng.
  2. Lên kế hoạch kiểm thử (thường do QC Leader thực hiện)
  3. Viết script cho Automation Test (nếu áp dụng kiểm thử tự động).
  4. Sử dụng các test tool để tạo và thực hiện các test case/script chi tiết.
  5. 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.

Dưới đây là một mẫu tuyển dụng QC Engineer trên ITviec từ công ty Larion Computing.

  • Thiết kế test case cho phần mềm dựa vào requirement của khách hàng.
  • Đưa các testing tool vào chạy automation.
  • Thực hiện quy trình test dựa trên test plan và test case.
  • Tìm bug và quản lý các hoạt động fix bug.
  • Làm testing report.
  • Quản lý các tài liệu liên quan đến các hoạt động test.
  • Lập tài liệu hướng dẫn và tiêu chuẩn testing.
  • Đề xuất các giải pháp fix bug và tránh bug.
  • Hợp tác sâu sát với team Developer trong hoạt động test.

Xem thêm những mẫu tuyển dụng việc làm QC tại ITviec.

Việc làm QC tại TP HCM
Việc làm QC tại Hà Nội

QC cần kỹ năng gì?

  1. Kỹ năng code (nếu bạn làm Automation)
  2. QC phải có kiến thức tốt về mọi chức năng, khía cạnh của sản phẩm. Như vậy mới review được các yêu cầu của requirement.
  3. Người làm QC cần cẩn thận, kỹ tính. Vì công việc này đòi hỏi sự chính xác cao độ và chú ý đến mọi khía cạnh có thể có vấn đề của sản phẩm.
  4. Kỹ năng giao tiếp tốt. Vì QC phải làm việc với rất nhiều thành viên khác trong team và nhất là công việc truyền đạt ý kiến, phản hồi của mình với Developer, Project Manager.

Tài liệu QC học tập

  1. Software Testing Help: chuyên trang về Testing với kiến thức từ căn bản đến nâng cao.
  2. Tutorials Point: chuyên trang về kiến thức Testing nâng cao.
  3. Test this Blog by Eric Jacobson: kinh nghiệm Testing rất hữu ích từ blogger Eric Jacobson.
  4. Automation Beyond: kiến thức vể Automation Test.
  5. uTest: forum hỏi đáp về Testing nhanh chóng, tiện lợi.
  6. SQA Forum: diễn đàn về kiểm thử phầm mềm rất nổi tiếng giúp giải đáp mọi thắc mắc về testing và nghề.
  7. Software Test Automation Forums: diễn đàn về automation testing.
  8. Rainforest QA Blog: blog về SQA với nhiều kiến thức thực tế và hữu ích.
  9. SoftwareQATest: chuyên trang về kiến thức cơ bản và nâng cao nghề Testing.
  10. Software Testing Fundamentals: chuyên trang về nghề SQA  với cực nhiều thông tin hay, được phân từ cơ bản đến nâng cao.
  11. Testing VN: diễn đàn về Kiểm thử Phần mềm bằng Tiếng Việt rất sôi động, trao đổi rất nhiều thông tin hữu ích.

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.

Tóm lại, những mẫu tuyển dụng nào không liên quan đến việc thực hiện, theo dõi và kiểm tra quy trình làm sản phẩm thì đều là tuyển dụng SQA hay QC.

Tuyển dụng QC là gì?

  • Dựa vào yêu cầu, nhu cầu của khách hàng và tình hình thực tế về nhân sự của nhóm phát triển để đề ra quy trình làm việc phù hợp cho từng dự án cụ thể.
  • Đề xuất các quy trình phát triển phần mềm và theo dõi để bảo đảm các bên liên quan tuân thủ qui trình đưa ra giúp bảo đảm chất lượng sản phẩm đầu cuối.
  • Kiểm tra, đối chiếu quy trình đang thực hiện có tương ứng với các tiêu chuẩn hay không. Ví dụ CMMI, ISO (nếu cần).
  • Báo cáo việc thực hiện quy trình đến Project Manager hoặc các bên liên quan khác tuỳ công ty.

Tùy theo từng công ty và sản phẩm đang phát triển mà hai vị trí QA và QC sẽ có những nhiệm vụ “giao” với nhau hoặc cả hai đều là một. Do đó, bạn nên xác định hướng đi của mình để có sự lựa chọn đúng đắn nghề nghiệp.

Bên cạnh đó, bạn cần phải đọc mô tả công việc trước khi nộp hồ sơ ứng tuyển để đảm bảo không ứng tuyển nhầm SQA với PQA.

QA QC khác nhau thế nào?

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. 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. 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ẽ 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).

Những bài viết hay về nghề QC hay QA

  1. Nghề Tester ở Việt Nam khổ vì định kiến
  2. Làm sao trở thành lập trình viên từ Tester?
  3. 7 Thất bại đầu đời của nhân viên QA
  4. Kiểm thử phần mềm, ai làm chẳng được?
  5. Nhân viên QC giỏi giúp sản phẩm “sống” được
  6. 3 lời khuyên để trở thành Automation QA
  7. Tester là gì? Kỹ năng nào cần để trở thành Tester giỏi?
  8. Điều gì tạo nên một QA giỏi?
Việc làm Senior QA QC tại TP HCM
Việc làm Senior QA QC tại Hà Nội

Bài viết được thực hiện với sự hợp tác của anh Sơn Hoàng từ diễn đàn TestingVN.

Nếu bạn nghĩ những chia sẻ này có thể giúp ích cho bạn bè hoặc đồng nghiệp, đừng quên nhấn nút Share bên dưới nhé!

Và đừng quên tham khảo việc làm QA, QC trên ITviec.