PHÂN TÍCH VÀ THIẾT KẾ KIỂM THỬ
Phân tích và thiết kế kiểm thử là hoạt động mà các mục tiêu kiểm thử chung được chuyển thành các điều kiện kiểm thử và thiết kế kiểm thử hữu hình. Trong quá trình phân tích và thiết kế kiểm thử, chúng ta thực hiện các mục tiêu kiểm thử chung được xác định trong quá trình lập kế hoạch và xây dựng các thiết kế và quy trình kiểm thử (kịch bản).
Phân tích và thiết kế kiểm thử có các nhiệm vụ chính sau đây:
Xem xét cơ sở kiểm thử
Chẳng hạn như phân tích rủi ro sản phẩm, yêu cầu, kiến trúc, đặc điểm kỹ thuật thiết kế và giao diện, kiểm tra các thông số kỹ thuật cho phần mềm đang kiểm thử.
Sử dụng cơ sở kiểm thử để giúp xây dựng việc kiểm thử. Có thể bắt đầu thiết kế một số loại kiểm thử nhất định (được gọi là kiểm thử hộp đen) trước khi lập trình, vì có thể sử dụng các tài liệu đã có để hiểu yêu cầu của hệ thống.
Khi nghiên cứu cơ sở kiểm thử, ta thường xác định các lỗ hổng và sự không rõ ràng trong các thông số kỹ thuật, điều này cũng ngăn ngừa các lỗi xuất hiện trong lập trình.
Xác định các điều kiện kiểm thử
Dựa trên phân tích các mục kiểm thử, thông số kỹ thuật và những gì chúng ta biết về hành vi và cấu trúc của chúng. Điều này cung cấp một danh sách chi tiết về những gì muốn kiểm thử.
Quay lại ví dụ về sát hạch lái xe, người kiểm tra có thể có một danh sách các điều kiện kiểm tra bao gồm “hành vi tại nơi đường giao nhau”, “sử dụng các chỉ số”, “khả năng điều khiển xe”,….
Trong kiểm thử, ta sử dụng các kỹ thuật kiểm thử để giúp xác định các điều kiện kiểm thử. Từ đó, có thể bắt đầu xác định loại dữ liệu kiểm thử chung mà ta có thể cần.
Thiết kế các bài kiểm thử
Chương 4 sẽ mô tả chi tiết về điều này. Sử dụng các kỹ thuật để giúp chọn các bài kiểm thử đại diện liên quan đến các khía cạnh cụ thể của phần mềm mang rủi ro hoặc được quan tâm cụ thể, dựa trên các điều kiện kiểm thử.
Ví dụ: giám định lái xe có thể xem xét danh sách các điều kiện kiểm thử và quyết định rằng các nút giao thông cần bao gồm nút giao chữ T, đường cắt ngang, ….
Trong kiểm thử, chúng ta sẽ xác định trường hợp kiểm thử và các thủ tục kiểm thử.
Đánh giá khả năng kiểm thử của các yêu cầu và hệ thống.
Các yêu cầu có thể được viết theo cách cho phép tester thiết kế các thử nghiệm.
Vi dụ, nếu hiệu suất phần mềm là quan trọng, điều đó phải được chỉ định theo cách có thể kiểm tra được.
Nếu các yêu cầu chỉ nói rằng “phần mềm cần đáp ứng đủ nhanh” thì không thể kiểm tra được, bởi vì “đủ nhanh” có thể có ý nghĩa khác nhau đối với những người khác nhau. Một yêu cầu dễ kiểm tra hơn sẽ là “mềm kho cần phản hồi trong 5 giây với 20 người đăng nhập”.
Khả năng kiểm thử của hệ thống phụ thuộc vào các khía cạnh như liệu có thể thiết lập hệ thống trong một môi trường phù hợp với môi trường hoạt động hay không và liệu tất cả các hệ thống có thể được cấu hình hoặc sử dụng có thể được hiểu và kiểm tra hay không.
Ví dụ: nếu kiểm thử một trang web, có thể định nghĩa và tạo lại được tất cả các cấu hình của phần cứng, hệ điều hành, trình duyệt, kết nối, tường lửa và các yếu tố khác mà trang web có thể bắt gặp.
Thiết kế cài đặt môi trường kiểm thử và xác định bất kỳ cơ sở hạ tầng và công cụ cần thiết nào.
Điều này bao gồm các công cụ kiểm tra (xem Chương 6) và các công cụ hỗ trợ như bảng tính, bộ xử lý văn bản, công cụ lập kế hoạch dự án cũng như các công cụ và thiết bị phi CNTT – mọi thứ chúng ta cần để thực hiện công việc của mình.
TRIỂN KHAI VÀ THỰC HIỆN KIỂM THỬ
Trong quá trình triển khai và thực thi kiểm thử, ta thực hiện các điều kiện kiểm thử, biến chúng thành trường hợp kiểm thử, phần mềm kiểm thử và thiết lập môi trường kiểm thử.
Điều này có nghĩa là, sau khi đã đưa ra một thiết kế mức cao, phải bắt đầu xây dựng các bài kiểm thử.
Các điều kiện kiểm thử được chuyển đổi thành các trường hợp và thủ tục kiểm thử, các phần mềm kiểm thử (testware) khác như tập lệnh để tự động hóa.
Cũng cần thiết lập một môi trường nơi sẽ chạy các bài kiểm thử và xây dựng dữ liệu kiểm thử.
Thiết lập môi trường và dữ liệu thường đòi hỏi thời gian và nỗ lực đáng kể, vì vậy nên lập kế hoạch và giám sát công việc này một cách cẩn thận.
Việc triển khai và thực thi kiểm thử có các nhiệm vụ chính sau đây:
Thiết lập
Phát triển và ưu tiên các trường hợp kiểm thử, sử dụng các kỹ thuật trong Chương 4 và tạo dữ liệu kiểm thử cho các thử nghiệm đó. Hướng dẫn thực hiện các bài kiểm thử (quy trình kiểm thử) cũng cần được tài liệu hóa lại.
Đối với người thi sát hạch, điều này có thể có nghĩa là thay đổi điều kiện kiểm tra “các nút giao thông” thành “đi theo tuyến đường xuống Đường Mayfield đến đường giao nhau với Summer Road, yêu cầu người lái xe rẽ trái vào Summer Road và sau đó đi thẳng vào Green Road”, yêu cầu đặt ra là người lái xe sẽ phải kiểm tra gương, tín hiệu và thao tác một cách chính xác, trong khi vẫn nhận biết được những người đi đường khác.
Có thể cần tự động hóa một số bài kiểm thử bằng cách sử dụng kỹ thuật kiểm thử thăm dò và kiểm thử tự động. Kiểm thử tự động sẽ được nói chi tiết ở Chương 6.
Tạo bộ kiểm thử từ các trường hợp kiểm thử để thực thi hiệu quả.
Bộ kiểm thử là một tập hợp các trường hợp kiểm thử hoạt động cùng nhau một cách tự nhiên.
Bộ kiểm thử thường chia sẻ dữ liệu và một mục tiêu mức cao chung. Chúng ta cũng sẽ thiết lập một lịch trình thực hiện kiểm thử.
Thực hiện và xác minh môi trường.
Đảm bảo môi trường kiểm thử đã được thiết lập chính xác, thậm chí có thể chạy các thử nghiệm cụ thể trên đó.
Thực thi
Thực thi các bộ kiểm thử và các trường hợp thử nghiệm riêng lẻ
Có thể thực hiện việc này theo cách thủ công hoặc bằng cách sử dụng các công cụ thực thi kiểm thử, theo trình tự đã lên kế hoạch.
Lưu lại nhật ký kết quả
Phải lưu lại nhật ký kết quả của việc thực hiện kiểm thử cũng như phiên bản của phần mềm được kiểm thử, các công cụ kiểm thử và phần mềm kiểm thử.
Phải biết chính xác những bài kiểm thử đã sử dụng đối với phiên bản phần mềm nào; phải báo cáo về các lỗi đối với từng phiên bản cụ thể; và nhật ký kiểm tra lưu giữ cung cấp một dấu vết đã kiểm tra.
So sánh kết quả thực tế với kết quả mong đợi
Khi có sự khác biệt giữa kết quả thực tế và kết quả mong đợi, phải báo cáo sự khác biệt như sự cố.
Phân tích chúng để thu thập thêm chi tiết về lỗi, báo cáo thông tin bổ sung về vấn đề.
Xác định nguyên nhân của lỗi và phân biệt giữa các vấn đề trong phần mềm với các sản phẩm khác đang được thử nghiệm và bất kỳ lỗi trong dữ liệu dùng để thực hiện bài kiểm thử, trong tài liệu hoặc sai lầm trong cách chúng ta thực hiện bài kiểm thử.
Cần phải tài liệu hóa lại để cải thiện chính quá trình kiểm thử sau này.
Lặp lại các hoạt động kiểm thử
Như là kết quả của hành động được thực hiện cho mỗi sự khác biệt. Cần kiểm thử lại các bài không thành công trước đó để xác nhận bản sửa lỗi (xác nhận hoặc kiểm tra lại).
Thực hiện kiểm thử lại các phần đã được sửa lỗi. Kiểm tra lại phần mềm đã sửa để đảm bảo rằng lỗi thực sự đã được sửa chính xác (confirmation test) và các lập trình viên không đưa ra thêm lỗi vào trong các vùng không thay đổi của phần mềm và việc sửa một lỗi không phát hiện ra lỗi khác (regression test).
Ở phần tiếp theo, các bạn sẽ được tìm hiểu kiến thức về Đánh giá và báo cáo, các hoạt động kết thúc kiểm thử
Bản gốc Tiếng Anh các bạn có thể Tải về Tại đây.
Syllabus tải về Tại đây