quy trinh kiem thu phan mem

Tiếp nối theo bài viết Tìm hiểu về Tester – những kiến thức cơ bản dành cho người mới bắt đầu, chúng ta cùng đi tìm hiểu về quy trình kiểm thử phần mềm để có thể có một cách nhìn tổng quan hơn về nghề.

Quy trình kiểm thử phần mềm – Software testing life cycle (STLC) xác định các giai đoạn (pha) trong kiểm thử phần mềm, nhằm hướng đến mục tiêu cuối cùng là chất lượng sản phẩm tốt nhất và đáp ứng yêu cầu của khách hàng. Tuy nhiên, không có tiêu chí chuẩn nào được đưa ra, nhưng về cơ bản quy trình kiểm thử bao gồm 6 giai đoạn và được thực hiện theo các bước như sau:

kiểm thử phần mềm

Requirement analysis- Phân tích yêu cầu

Phân tích yêu cầu là giai đoạn đầu tiên của quy trình kiểm thử phần mềm, trong đó nhóm sẽ kiểm tra, nghiên cứu các yêu cầu của khách hàng. Giai đoạn này khá quan trọng bởi từ đó có thể đánh giá xem các yêu cầu có kiểm tra được hay không? Nếu không sẽ trao đổi để lập kế hoạch giúp giảm thiểu quá trình kiểm thử. Và cũng từ đó giúp chúng ta xác định được phạm vi của kiểm thử.

Lưu ý
  • Các câu hỏi nên được đưa ra dưới dạng Yes/No question hoặc các lựa chọn để tiết kiệm thời gian trả lời cũng như hỗ trợ đưa ra những gợi ý hay để xây dựng sản phẩm ngay từ đầu.
  • Không nên nêu ra những câu hỏi dạng là gì, như thế nào, tại sao,… Những câu hỏi như thế thường mất thời gian để giải thích và cũng khó có thể giải thích một cách chi tiết nhất có thể. Hơn nữa, đối với khách hàng không có sự hiểu biết về lĩnh vực phần mềm mà họ yêu cầu thì càng không thể trả lời những câu hỏi mang tính chuyên môn cao. Chính chúng ta sẽ là người hỗ trợ và đưa ra giải pháp thích hợp cho khách hàng lựa chọn.

Test planning – Lập kế hoạch kiểm thử 

Thông thường, trong giai đoạn này, Senior QA manager sẽ xác định effort, dự toán chi phí cho dự án để chuẩn bị và hoàn thiện Kế hoạch kiểm tra. Đồng thời chiến lược thử nghiệm cũng được xác định.

  • Xác định phạm vi (Scope) dự án: Dự án thực hiện trong thời gian bao lâu? Bao gồm những công việc gì cho từng khoảng thời gian xác định? Từ đó đưa ra lịch trình thực hiện cho từng công việc nhỏ sao cho phù hợp với toàn bộ đội dự án.
  • Xác định phương pháp tiếp cận: Nói về cách tiếp cận để kiểm thử cho một đối tượng nào đó, thì phải dựa vào nhiều thứ, ví dụ như: Thời gian cho phép test có phù hợp với con số ước lượng, nhiều hay ít, yêu cầu chất lượng từ phía khách hàng thế nào? Cao, thấp hay khắc khe hay sao cũng được? Công nghệ/ kỹ thuật sử dụng để phát triển ứng dụng này là gì? Lĩnh vực của hệ thống/sản phẩm đang được test (domain) là gì?… Từ đó, test manager có thể đưa ra những phương pháp và kế hoạch phù hợp nhất cho cả quá trình thực hiện dự án sao cho đúng với các tiêu chí chấp nhận của sản phẩm và kịp tiến độ với các mốc thời gian bàn giao, phát hành. 
  • Xác định các nguồn lực
    • Về Con người: sẽ có bao nhiêu người tham gia dự án, vai trò và nhiệm vụ cụ thể của từng người trong dự án? Tester và nhóm phát triển cần có kinh nghiệm về lĩnh vực này hay không?…
    • Về Thiết bị: số lượng server, yêu cầu về version, cấu hình như thế nào? dự án app cần mobile, tablet,….
  • Lên kế hoạch thiết kế công việc test: Bản kế hoạch kiểm thử sẽ bao gồm các nội dung:
    • Liệt kê các chức năng cần kiểm thử, để thực hiện test chức năng này thì cần làm những công việc gì, trong thời gian bao lâu, cái nào thực hiện trước, cái nào thực hiện sau, ai là người thực hiện.
    • Xác định điều kiện bắt đầu: những điều kiện tối thiểu để bắt đầu hoạt động kiểm thử cho từng chức năng.
    • Xác định điều kiện kết thúc : khi có những điều kiện nào thì sẽ kết thúc việc kiểm thử.

Test case development – Thiết kế kịch bản kiểm thử 

Giai đoạn này liên quan đến việc tạo, xác minh và làm lại các test case, test script. Test data sẽ được xác định/ tạo và được xem xét và sau đó làm lại.

Dựa vào kế hoạch của trưởng nhóm đã đưa ra cũng như các tài liệu đầu vào khác, các chuyên viên kiểm thử phần mềm (Tester) sẽ xem xét lại và bắt đầu viết test case chi tiết. Bên cạnh viết kịch bản chi tiết thì các chuyên viên kiểm thử cũng phải chuẩn bị trước các dữ liệu như test data, test script cho các trường hợp cần thiết. Sau khi đã hoàn thành test case/checklist, các thành viên cũng như team leader cần kiểm tra lại xem cần bổ sung, sửa chữa vấn đề gì không để tránh những rủi ro về sau.

Test environment set up – Thiết lập môi trường kiểm thử

Đầu vào của quá trình này là các kịch bản kiểm thử, test data, kế hoạch kiểm thử đã lập ra ở các bước trên… Việc thiết lập môi trường (test environment) kiểm thử phần mềm cũng khá quan trọng trong quy trình test phần mềm vì nếu môi trường không phù hợp với sản phẩm hay mong muốn khách hàng thì kết quả kiểm thử sẽ không chính xác. Môi trường kiểm thử sẽ được thiết lập dựa trên những đề nghị của khách hàng, hay các đặc điểm của sản phẩm như server, network, client,… 

Ngoài ra, chuyên viên kiểm thử cũng cần chuẩn bị một vài test case để xem môi trường kiểm thử đã sẵn sàng cho bước thực thi tiếp theo hay chưa. Kết thúc giai đoạn này, tester đã có được sẵn môi trường phù hợp cho việc test phần mềm trong thực tế.

Test execution – Thực hiện kiểm thử

Dựa vào tất cả những tài liệu, kế hoạch từ các bước trên, các tester sẽ tiến hành các test case trên môi trường kiểm thử đã được thiết lập. Họ sẽ so sánh kết quả kiểm thử với kết quả mong đợi để phát hiện ra các lỗi sai và tiến hành theo dõi các lỗi đó đến khi chúng được fix hoàn toàn. Bên cạnh đó, kiểm thử viên cũng cần theo dõi tiến độ của dự án và điều chỉnh sao cho phù hợp với kế hoạch đề ra. 

Công việc của người kiểm thử không phải chỉ là test phần mềm, họ còn phải hỗ trợ, đưa ra các đề xuất hay giải pháp hợp lý cho các lập trình viên (developer) để hoàn thành sản phẩm như mong muốn. Trong quá trình này, chuyên viên kiểm thử phải thường xuyên báo cáo về tình hình test (phần nào đã được kiểm tra, phần nào chưa, báo cáo các tình huống phát sinh bất ngờ…) cho các bên liên quan như team leader, người quản lý dự án, khách hàng…

Test cycle closure – Đóng chu trình kiểm thử

Đây là giai đoạn cuối cùng của quy trình kiểm thử phần mềm. Tất cả các chuyên viên thực hiện test phần mềm sẽ tổng hợp và viết báo cáo kết quả cuối cùng của việc kiểm thử (test report final). Trong đó phải chỉ ra được bao nhiêu test case đạt/ không đạt yêu cầu, bao nhiêu case được sửa, bao nhiêu lỗi được phát hiện, lỗi tồn tại nhiều ở chức năng nào, chức năng nào đã được/ chưa được kiểm thử hay trễ tiến độ… Bên cạnh đó, team test phần mềm cũng cần xem lại quá trình thực hiện để nhìn ra những điểm tốt, chưa tốt của team, cũng như rút kinh nghiệm cho những lần kiểm thử sau này.

Mong rằng bài viết trên đã giúp bạn hiểu được toàn bộ các giai đoạn trong quy trình kiểm thử phần mềm.

 Mời các bạn đọc phần tiếp theo trong chuỗi bài viết giới thiệu về nghề Tester tại đây.  7 Nguyên tắc của kiểm thử phần mềm 

Leave a Reply

Your email address will not be published. Required fields are marked *