Định nghĩa kiểm thử phần mềm
Hãy chia định nghĩa thành nhiều phần; định nghĩa có một số cụm từ chính cần nhớ.
Định nghĩa bắt đầu với việc mô tả kiểm thử như một quá trình và sau đó liệt kê một số mục tiêu của quá trình kiểm thử. Trước tiên, hãy xem kiểm thử như một quy trình:
Kiểm thử là một quy trình
Kiểm thử là một quy trình chứ không phải là một hoạt động đơn lẻ – có một loạt các hoạt động liên quan.
Tất cả các hoạt động trong vòng đời phát triển
Chương 2 xem xét kiểm thử như một quy trình diễn ra trong suốt vòng đời phát triển phần mềm.
Trước đó, chúng ta đã thấy rằng tìm thấy lỗi càng muộn trong vòng đời thì việc sửa chữa chúng càng tốn kém. Nếu chúng ta có thể tìm thấy và sửa chữa các defect ở giai đoạn yêu cầu, sẽ mang lại ý nghĩa thương mại lớn. Phần mềm sẽ được xây dựng phù hợp hơn, chính xác hơn với chi phí thấp hơn.
Vì vậy, kiểm thử sớm trong vòng đời có thể giúp ngăn ngừa các lỗi. Đôi khi, ta gọi điều này là “xác minh kiểm thử cơ sở (test basic) thông qua thiết kế kiểm thử (test design)”.
Kiểm thử cơ sở bao gồm các tài liệu như các yêu cầu và đặc tả thiết kế. Chi tiết sẽ được trình bày trong Chương 4.
Cả tĩnh và động
Chương 3 sẽ mô tả về kiểm thử tĩnh. Kiểm thử này bao gồm việc xem xét các tài liệu (bao gồm cả mã nguồn) và phân tích tĩnh. Đây là một cách kiểm tra hữu ích và hiệu quả về chi phí.
Lập kế hoạch
Các hoạt động diễn ra trước và sau khi thực hiện kiểm thử.
- Quản lý việc kiểm thử
- Lập kế hoạch những gì muốn làm;
- Kiểm soát các hoạt động kiểm thử;
- Báo cáo về tiến độ kiểm thử và trạng thái của phần mềm đang được kiểm thử
- Hoàn thiện hoặc kết thúc kiểm thử khi một giai đoạn hoàn thành.
Chương 5 bao gồm các hoạt động quản lý kiểm thử này.
Chuẩn bị
Chọn những gì sẽ thực hiện kiểm thử, bằng cách chọn loại kiểm thử và thiết kế các trường hợp kiểm thử.
Chương 4 bao gồm các hoạt động thiết kế kiểm thử.
Đánh giá
Khi thực hiện kiểm thử, ta phải kiểm tra kết quả và đánh giá phần mềm theo các tiêu chí hoàn thành, giúp quyết định xem sản phẩm đã vượt qua kiểm tra hay chưa.
Sản phẩm phần mềm và các sản phẩm công việc liên quan
Chúng ta không chỉ kiểm tra mã, mà còn kiểm tra các yêu cầu và đặc tả thiết kế, đồng thời kiểm tra các tài liệu liên quan như vận hành, người dùng và tài liệu đào tạo.
Cả kiểm thử tĩnh và kiểm thử động đều cần thiết để bao phủ cho phạm vi sản phẩm mà chúng ta kiểm thử.
Phần thứ hai của định nghĩa bao gồm một số mục tiêu của kiểm thử
Xác định rằng (sản phẩm phần mềm) đáp ứng các yêu cầu cụ thể
Một số kiểm thử chúng ta thực hiện tập trung vào việc kiểm tra sản phẩm so với đặc tả yêu cầu của sản phẩm.
Ví dụ: xem xét thiết kế để xem liệu nó có đáp ứng các yêu cầu hay không và sau đó thực hiện lập trình để kiểm tra xem nó có đáp ứng thiết kế hay không.
Nếu sản phẩm đáp ứng đặc tả yêu cầu, ta có thể cung cấp thông tin đó để giúp các bên liên quan đánh giá chất lượng của sản phẩm và quyết định xem nó đã sẵn sàng để sử dụng hay chưa.
Chứng minh rằng (sản phẩm phần mềm) phù hợp với mục đích
Điều này hơi khác so với điểm trên; bởi vì dù sao thì các đặc tả yêu cầu cũng có thể sai hoặc không đầy đủ.
“Phù hợp với mục đích” là xem xét xem liệu phần mềm có đủ để giúp người dùng thực hiện nhiệm vụ của họ hay không; cần xem xét liệu phần mềm có thực hiện những gì người dùng có thể mong đợi một cách hợp lý hay không.
Ví dụ: có thể tìm kiếm khách hàng mà có thể mua hoặc sử dụng phần mềm và kiểm tra xem phần mềm đó có thực hiện những gì họ mong đợi hay không.
Điều này có thể giúp đánh giá tài liệu marketing cho kiểm thử tĩnh, giúp kiểm tra xem các kỳ vọng về phần mềm có được đặt đúng cách hay không. Đây là một cách để đánh giá chất lượng của một sản phẩm, xem nó phù hợp với mục đích sử dụng như thế nào.
Phát hiện defect
Chúng ta thường nghĩ về kiểm thử phần mềm như một phương tiện để phát hiện defect hoặc fault .
Việc tìm ra defect giúp hiểu được những rủi ro liên quan đến việc đưa phần mềm vào vận hành và việc sửa chữa các defect sẽ cải thiện chất lượng của sản phẩm.
Tuy nhiên, việc xác định defect còn có một lợi ích khác. Với phân tích nguyên nhân gốc rễ, chúng cũng giúp ta cải thiện các quy trình phát triển và mắc ít sai sót hơn trong công việc sau này.
Đây là định nghĩa phù hợp về thử nghiệm cho bất kỳ cấp độ kiểm thử nào, từ kiểm thử thành phần đến kiểm thử chấp nhận (với điều kiện là chúng ta phải nhớ tính đến các mục tiêu khác nhau của các cấp độ thử nghiệm khác nhau này)
Bài viết tiếp theo giới thiệu về nội dung “Khi nào chúng ta đáp ứng được mục tiêu kiểm thử“. Bạn hãy cùng tìm hiểu nhé!
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