10/9/14

Quy trình kiểm thử phần mềm

Mặc dù có nhiều biến thể tồn tại trong các tổ chức, nhưng đều có một qui trình chung cho việc kiểm thử phần mềm. Như qui trình mẫu dưới đây là qui trình phổ biến giữa các tổ chức sử dụng mô hình thác nước (Waterfall).

* Phân tích yêu cầu: Việc kiểm thử thường sẽ bắt đầu từ pha lấy yêu cầu trong quy trình phát triển phần mềm (software development life cycle – vòng đời phát triển phần mềm). Trong pha thiết kế, các tester làm việc với các DEV để xác định phần nào của thiết kế có thể test và các thông số mà test sẽ làm việc (ví dụ test ở môi trường nào, dữ liệu ra sao…).
* Lập kế hoạch test: Mô tả nhiều việc như chiến lược test (test strategy), test plan, tạo test case... Khi có nhiều hoạt động sẽ thực hiện trong lúc test thì cần phải có kế hoạch.
* Phát triển test: Viết các test procedure, test scenario, test case, test dataset và test script để sử dụng cho việc kiểm thử phần mềm (testing software).
* Thực thi test: Các tester thực thi phần mềm dựa trên kế hoạch và các tài tiệu test (thường là spec và test case, có thể có những dự án sẽ kèm theo nhiều tài liệu qui định khác) sau đó báo cáo lỗi tìm thấy cho nhóm DEV .
* Báo cáo test: Khi việc kiểm thử kết thúc, các tester sẽ điền kết quả test vào test case và tạo báo cáo kết quả test của họ và cho biết phần mềm đã test có sẵn sàng cho phát hành (release) hay chưa (việc này là ứng với system test, còn đối với những cấp nhỏ hơn thì việc “phát hành” được hiểu như là màn hình hoặc modul đã test là sạch bug).
* Phân tích kết quả test: Hoặc còn gọi là phân tích lỗi được thực hiện bởi nhóm phát triển dự án của khách hàng, để quyết định lỗi nào sẽ được sửa và lỗi nào sẽ không sửa (nghĩa là xây dựng phần mềm hoạt động bình thường) hoặc sẽ hoãn lại (sẽ sửa sau này ở version khác chẳng hạn).
* Test lại lỗi: Sau khi một lỗi (defect) đã được nhóm phát triển phần mềm (DEV) xử lý xong, thì nó cần phải được test lại bởi nhóm test.
* Test hồi qui: Kiểm thử hồi qui thường để tạo một chương trình kiểm thử nhỏ được xây dựng từ một tập hợp các test (trường hợp kiểm thử), cho sau mỗi lần tích hợp phần mới, cập nhật sửa đổi, hoặc fix lỗi, để đảm bảo rằng việc release (phát hành phần mềm) mới nhất sẽ không bị bất cứ lỗi gì, và tổng thể sản phẩm phần mềm vẫn còn hoạt động chính xác.
* Kết thúc test: Khi test đã đáp ứng được điều kiện dừng, thì các hoạt động như chụp một số kết quả chính (chụp evidence kết quả test theo từng test case hoặc gộp lại theo từng nhóm hoặc theo màn hình), rút ra các bài học kinh nghiệm, kết quả, log, tài liệu liên quan đến dự án được lưu trữ và sử dụng để tham khảo cho các dự án tiếp theo.

Không có nhận xét nào: