Hỏi - đáp Nơi cung cấp thông tin nghề nghiệp và giải đáp những thắc mắc thường gặp của bạn

Điều gì tạo nên người chuyên "săm soi" phần mềm (SQA)

Trước tiên chúng ta cùng xem lại một chút xíu về định nghĩa của SQA là gì?

SQA là gì

SQA (Software Quality Assurance) là bộ phận giám sát, quản lý và đảm bảo chất lượng phần mềm. Đây là bộ phận có quyền và có trách nhiệm quy định sẽ đặt khâu kiểm tra chất lượng sản phẩm theo phương pháp nào, tiêu chuẩn nào và dùng phương án gì để kiểm tra sản phẩm đạt chất lượng tốt nhất và đúng theo yêu cầu. Tại một số công ty ở Việt Nam, SQA được xem như việc kiếm lỗi của sản phẩm khi đã được định hình. Một số khác lại coi là việc kiểm tra trực tiếp đầu ra trung gian của sản phẩm để đảm bảo được sự nhất quán trong quá trình thực hiện. 

Thật ra khái niệm SQA là một khái niệm nhỏ trong khái niệm lớn QA phần mềm bao gồm PQA (Process Quality Assurance - bảo đảm chất lượng quy trình) với SQA (Software Quality Assurance - bảo đảm chất lượng phần mềm). Trong đó, SQA đóng vai trò như một QC (Quality Control) thực thụ, đảm nhận 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. 

Công việc SQA sẽ làm những gì?

  1. Lên kế hoạch SQA phù hợp với yêu cầu cụ thể của từng dự án. Một kế hoạch SQA chuẩn nhất sẽ cần sự kết hợp từ các quy trình, kỹ thuật và công cụ để đảm bảo sản phẩm/dịch vụ  phù hợp với các yêu cầu được đề ra trong SRS (Software requirement specification - Đặc tả yêu cầu phần mềm). Quy trình kế hoạch SQA sẽ bao gồm:
  2. SQA sẽ đề ra các yếu tố cần kiểm tra để đánh giá chất lượng mỗi dự án theo từng giai đoạn được kiểm tra. Đư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. 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
  6. Thu thập trông tin, gửi báo cáo chất lượng cho QC Lead/QC Manager và Project Manager

Để trở thành người chuyên "săm soi" phần mềm bạn cần những gì?

Về Technical:

  • Kỹ năng code (nếu bạn làm Automation).
  • Kiến thức tốt về mọi chức năng, khía cạnh của sản phẩm để review các yêu cầu của requirement.
  • Những kiến thức về domain đặc thù: healthcare, banking, tài chính... chúng đều cần thiết.
  • Kiến thức về các hệ thống phần mềm và chuyên ngành QA.

Về soft skills cũng có 3 yếu tố:

  • Kỹ năng giao tiếp tốt: Ví dụ điển hình: khi QA test ra bug, report với developer. dev không đồng ý đó là bug và xảy ra trnah luận dẫn đến ảnh hưởng đến tinh thần teamwork.. Một QA có kỹ năng giao tiếp tốt là người giúp dev hiểu đó là bug và cần phải sửa.
  • Cẩn thận và suy nghĩ thấu đáo: Ví dụ: 1 tester đang thực hiện manual testing về ứng dụng web, gặp lỗi nhỏ về UI và bỏ qua nó. Nhưng khi đến với khách hàng, lỗi này làm họ cảm thấy khó chịu. Người QA cần có kỹ năng làm việc cẩn thận và suy nghĩ thấu đáo để chú ý đến từng vấn đề nhỏ nhất.
  • Tư duy sáng tạo. Nếu chỉ test những case thông thường thì không thể đảm bảo được tất cả các trường hợp xảy ra lúc hệ thống vận hành tại các môi trường bên ngoài. Do đó, tư duy sáng tạo giúp QA tạo nên những test case lạ, sáng tạo và giúp tìm được những lỗi có giá trị cho việc đảm bảo chất lượng.

Một số các nguồn hữu ích cho các bạn học tập "săm soi":

Software Testing Help: chuyên trang về Testing với kiến thức từ căn bản đến nâng cao.

Automation Beyond: kiến thức về Automation Test.

SQA Forum: diễn đàn về kiểm thử phần mềm rất nổi tiếng giúp giải đáp mọi thắc mắc về testing và nghề.

Career path nào sẽ phù hợp cho một QA?

  • Career path cho 1 QA 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ới vị trí tester khi chưa có kinh nghiệm gì, khi có kiến thức hơn thì làm test design, sau đó là test lead/QA lead, test manager/QA manager.
  • Lên đến manager thì chuyển sang lĩnh vực quản lý hoặc nếu giỏi technical thì có thể chọn hướng làm chuyên gia test automation, performance, security và đóng góp rất nhiều cho chất lượng sản phẩm.

Nếu bạn ham thích học hỏi nhiều lĩnh vực khác nhau về phần mềm, thích tìm tòi để phát hiện ra lỗi cũng như các cải tiến cần có để có một sản phẩm tốt hơn cho người dùng, tôi nghĩ bạn thích hợp để trở thành một QA. Tôi cũng cảm thấy đảm bảo chất lượng là một công việc năng động và đòi hỏi tính sáng tạo nhiều.

Chúc các bạn làm việc vui vẻ!!!

Bài viết tổng hợp từ các nguồn:
https://viblo.asia/p/nhung-dieu-lam-nen-mot-qa-gioi-924lJMG0ZPM
https://www.softwaretestinghelp.com/software-quality-assurance/