Bạn có thực sự hiểu về PQA?

image

Giới thiệu chung

Trong lĩnh vực công nghệ thông tin (sản xuất phần mềm), có 2 khái niệm (vị trí công việc) thường bị nhầm lẫn với nhau, đó là QA và Test. Trên thực tế, trong nhiều công ty phần mềm, bộ phận QA thường kết hợp với bộ phận kiểm lỗi (test) sản phẩm. Dù được coi là sản phẩm “chất xám” và high-tech nhưng để tạo ra một phần mềm tốt, quy trình sản xuất phần mềm cũng không khác gì so với việc sản xuất một sản phẩm cụ thể.

Phân biệt SQA và PQA

image

Khái niệm QA phần mềm bao gồm PQA (Process Quality Assurance – bảo đảm chất lượng quy trình) và SQA (Software Quality Assurance – bảo đảm chất lượng phần mềm). Tại một số công ty ở Việt Nam :

SQA được xem như việc kiểm lỗi khi sản phẩm đã định hình. Số khác lại coi SQA là việc kiểm tra đầu ra trung gian của sản phẩm, để sản phẩm đạt được sự nhất quán trong quá trình thực hiện. Dù ở khía cạnh nào thì SQA cũng là kiểm tra trực tiếp sản phẩm. Công việc của SQA thường được biết đến như là công việc của một tester.

Còn PQA có 2 việc chính:

  • Một: là xây dựng hệ thống quy trình cho dự án (bằng cách ứng dụng những quy trình quản lý có sẵn như ISO hay CMM hoặc dựa trên đó xây dựng quy trình chuẩn).
  • Hai: là thực hiện việc giám sát, kiểm tra việc thực hiện quy trình của từng bộ phận, từng dự án, từ đó tổng hợp thông tin để đưa ra những cải tiến cho quy trình hoạt động tốt.

Những đặc trưng của nghề PQA

image

Với công việc đúng nghĩa như trên, PQA hiện đang là công việc “của hiếm” trong các công ty phần mềm, cũng có thể coi đây là đại diện cho nghề QA nói chung. Bởi, xây dựng được một quy trình quản lý chất lượng tốt chính là cách làm tăng lợi nhuận hơn gấp nhiều lần.

Khi đầu tư cho PQA, các công ty phải bỏ ra những loại chi phí nhất định để có thể duy trì được quy trình này và áp dụng vào thực tế. Theo lý thuyết có 3 loại chi phí con trong chi phí về chất lượng sản phẩm:

  • Chi phí ngăn chặn lỗi (prevention cost).
  • Chi phí kiểm soát lỗi (control cost).
  • Chi phí phát sinh khi có lỗi (failure).

Theo một số tài liệu về quy trình sản xuất phần mềm (như CMM), 1 đồng đầu tư cho khâu thứ nhất sẽ làm giảm được 10 đồng ở khâu thứ 3, và 1 đồng đầu tư cho khâu thứ 2 sẽ giảm 3 đồng ở khâu thứ 3. Khi một doanh nghiệp biết đầu tư đúng chỗ thì cả quá trình hoạt động sẽ tiết kiệm được rất nhiều chi phí. Muốn được như vậy, thì phải có người đưa quy trình ấy vào thực tế hoạt động của doanh nghiệp – đó chính là công việc của PQA.

Tuy nhiên, việc tuyển dụng một PQA không phải là điều đơn giản. Nhiều công ty vừa và nhỏ không chỉ định một vị trí PQA rõ ràng, mà QA 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, hoặc vị trí PQA không được phân chia rõ ràng, bộ phận QA sẽ chịu trách nhiệm chung cho cả mảng PQA và SQA dẫn đến việc chuyên môn sâu của PQA không được sử dụng hiệu quả, kiểm soát chất lượng phần mềm không đạt được kết quả như mong đợi.

Trong thực tế, PQA chuyên biệt 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ông cụ 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 nhóm làm sản phẩm. Do đó thông thường chỉ có những công ty outsourcing lớn mới tuyển vị trí PQA và chỉ có 2 – 3 nhân sự cho toàn bộ các nhóm làm sản phẩm còn lại.

Nhiệm vụ chủ yếu của PQA

image

  • Đề xuất và đưa ra những quy trình phát triển (development process) sản phẩm phù hợp theo yêu cầu của từng dự án. Các quy trình này có thể phát triển dựa trên V-model hay Agile (đa số Scrum Lean Development) hay thông qua việc áp dụng những quy trình quản lý sẵn có như ISO, CMMI.
  • Cung cấp 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ả bộ phận trong nhóm phát triển sản phẩm.
  • Kiểm tra, giám sát việc thực thi quy trình của các bộ phận trong nhóm sản phẩm có đúng quy trình đã đề ra không.
  • Nhắc nhở đội ngũ phát triển sản phẩm về việc tuân thủ theo quy trình làm việc đã đưa ra.
  • Điều chỉnh, thay đổi quy trình cho phù hợp với từng sản phẩm mà các nhóm đang thực hiện.

Những yếu tố quan trọng nhất đối với một PQA?

5.1. Về kỹ thuật: có 3 yếu tố:

  • Được đào tạo, có kiến thức nền tảng về công nghệ thông tin và lập trình. Nghề QA đòi hỏi có kiến thức rộng hơn là kiến thức sâu. Ví dụ một QA quá tập trung vào một ngôn ngữ lập trình, khi gặp dự án sử dụng ngôn ngữ lập trình khác, hoặc kiến thức về lĩnh vực khác thì chắc chắn sẽ gặp rắc rối.
  • Kiến thức về lĩnh vực đặc thù như y tế, ngân hàng, tài chính… đều cần thiết. Đôi khi có những dự án đặc thù về ngân hàng, khách hàng sẽ ưu tiên chọn QA có kiến thức về lĩnh vực đó hơn là kiến thức về công nghệ thông tin.
  • Kiến thức về hệ thống phần mềm và chuyên môn QA. Ví dụ: một QA khi test ứng dụng web nhưng không hiểu cấu trúc của ứng dụng web, không hiểu ứng dụng web được hình thành như thế nào, thì người đó sẽ không thể đảm bảo chất lượng tốt cho việc kiểm thử.

5.2. Về kỹ năng mềm cũng cần có 3 yếu tố:

  • Kỹ năng giao tiếp tốt: Ví dụ điển hình là khi QA phát hiện bug và báo cáo với developer. Nếu developer không đồng ý đó là bug, sẽ xảy ra tranh luận và ảnh hưởng tới tinh thần làm việc nhóm. Một QA có kỹ năng giao tiếp tốt là người giúp developer hiểu đó là bug và cần phải sửa.
  • Sự cẩn thận và suy nghĩ thấu đáo: Ví dụ, một tester đang thực hiện kiểm thử thủ công về ứng dụng web, gặp phải lỗi nhỏ về giao diện người dùng và bỏ qua nó. Tuy nhiên, khi giao diện người dùng này được đưa lên cho khách hàng, lỗi này khiến khách hàng cảm thấy không thoải mái. Người QA cần có kỹ năng làm việc cẩn thận và suy nghĩ thấu đáo để chú ý tới từng vấn đề nhỏ nhất.
  • Tư duy sáng tạo: Nếu chỉ kiểm thử những trường hợp thông thường, không thể đảm bảo được tất cả các tình huống xảy ra trong quá trình hoạt động của hệ thống. Do đó, tư duy sáng tạo giúp QA tạo ra các trường hợp kiểm thử mới, sáng tạo và tìm ra các lỗi có giá trị cho việc đảm bảo chất lượng.

Sự phát triển nghề nghiệp phù hợp cho một PQA?

image

Sự phát triển nghề nghiệp cho một PQA có thể khác nhau giữa các công ty, nhưng nhìn chung sẽ có những bước cơ bản: bắt đầu vị trí tester khi chưa có kinh nghiệm, khi có kiến thức hơn thì làm test design, sau đó là test lead/QA lead, test manager/QA manager.

Nếu tiếp tục phát triển tới vị trí quản lý, PQA có thể chuyển sang lĩnh vực quản lý hoặc nếu giỏi về kỹ thuật thì có thể chọn làm chuyên gia về test automation, performance, security và đóng góp rất nhiều cho chất lượng sản phẩm.

Kết luận

Với tính chất công việc như đã nêu ở trên, PQA thường được gọi là những người “kẻ đi soi mói”, công việc chính là “soi mói” quy trình phần mềm. Và trên thực tế, để có thể làm tốt nhiệm vụ của mình, kiến thức của người làm PQA không những phải rộng mà còn phải có độ sâu đủ để hiểu hết công việc trong phạm vi quy trình mà họ đang quản lý, và cũng không thể thiếu khả năng tổ chức, tư duy logic và có hệ thống. Hơn nữa, một PQA còn phải có kỹ năng đo lường và phân tích số liệu. Ngoài ra, kỹ năng giao tiếp và khai thác thông tin của nhân viên PQA cũng quan trọng, bởi trong công ty có nhiều người, mỗi người giỏi ở một lĩnh vực khác nhau thì PQA cần biết khai thác để tận dụng thông tin đó trong việc xây dựng hệ thống quy trình.

Như vậy, có thể thấy PQA là một nghề quan trọng, không thể thiếu trong quy trình tạo ra một sản phẩm phần mềm. Đây chắc chắn không phải là một công việc dễ dàng, nhưng đó là một công việc thú vị và đầy thử thách.

Nguồn: HEFC.

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…