Các nội dung sẽ có trong bài thi ISTQB Foundation (CTFL)
- Liệt kê các yếu tố ảnh hưởng đến việc lựa chọn kỹ thuật thiết kế kiểm thử phù hợp cho một loại vấn đề cụ thể, chẳng hạn như loại hệ thống, rủi ro, yêu cầu của khách hàng, mô hình cho mô hình hóa trường hợp sử dụng, mô hình yêu cầu hoặc kiến thức của người kiểm thử. (K2)
Trong phần cuối cùng này, chúng ta sẽ xem xét các yếu tố dẫn đến quyết định về việc sử dụng kỹ thuật nào khi nào.
Kỹ thuật nào là tốt nhất? Đây là một câu hỏi sai! Mỗi kỹ thuật đều tốt cho những thứ nhất định và không tốt cho những thứ khác. Ví dụ: một trong những lợi ích của các kỹ thuật dựa trên cấu trúc là chúng có thể tìm thấy những thứ mà trong code không được phép có ở đó, chẳng hạn như “ngựa thành Troy” hoặc mã độc hại khác. Tuy nhiên, nếu có những phần của đặc tả bị thiếu trong code, thì chỉ các kỹ thuật dựa trên đặc tả mới thấy rằng các kỹ thuật dựa trên cấu trúc chỉ có thể kiểm thử những gì ở đó. Nếu có những thứ còn thiếu trong đặc tả kỹ thuật và code, thì chỉ những kỹ thuật dựa trên kinh nghiệm mới tìm thấy chúng. Mỗi kỹ thuật riêng lẻ cũng nhằm vào các loại lỗi cụ thể. Ví dụ, kiểm thử chuyển đổi trạng thái không có khả năng tìm thấy các lỗi ranh giới.
Việc lựa chọn sử dụng kỹ thuật kiểm thử nào phụ thuộc vào một số yếu tố, bao gồm loại hệ thống, tiêu chuẩn quy định, yêu cầu của khách hàng hoặc hợp đồng, mức độ rủi ro, loại rủi ro, mục tiêu kiểm thử, tài liệu có sẵn, kiến thức của người kiểm thử, thời gian và ngân sách, vòng đời phát triển, mô hình trường hợp sử dụng và kinh nghiệm trước đây về các loại lỗi được tìm thấy.
Một số kỹ thuật có thể áp dụng nhiều hơn cho các tình huống và cấp độ kiểm thử nhất định: những kỹ thuật khác có thể áp dụng cho tất cả các cấp độ kiểm thử.
Chương này đã đề cập đến các kỹ thuật kiểm thử phần mềm phổ biến và thường được sử dụng nhất. Có nhiều chương trình khác nằm ngoài phạm vi của Syllabus mà cuốn sách này dựa vào. Với rất nhiều kỹ thuật kiểm thử để lựa chọn, làm thế nào để người kiểm thử quyết định sử dụng kỹ thuật nào?
Có lẽ điều quan trọng nhất cần hiểu là kỹ thuật kiểm thử tốt nhất không phải là kỹ thuật kiểm thử đơn lẻ. Bởi vì mỗi kỹ thuật kiểm thử đều tốt trong việc tìm ra một loại lỗi cụ thể, nên chỉ sử dụng một kỹ thuật sẽ giúp đảm bảo rằng nhiều (có lẽ hầu hết nhưng không phải tất cả) lỗi của loại cụ thể đó đều được tìm thấy.
Thật không may, nó cũng có thể giúp đảm bảo rằng nhiều khiếm khuyết của các lớp khác bị bỏ sót! Do đó, việc sử dụng nhiều kỹ thuật khác nhau sẽ giúp đảm bảo rằng nhiều loại lỗi được tìm thấy, giúp kiểm thử hiệu quả hơn.
Vậy làm thế nào để có thể chọn các kỹ thuật kiểm thử thích hợp nhất để sử dụng? Quyết định sẽ dựa trên một số yếu tố, cả bên trong và bên ngoài.
Các yếu tố bên trong ảnh hưởng đến quyết định sử dụng kỹ thuật nào là:
- Các mô hình được sử dụng: Vì các kỹ thuật kiểm thử dựa trên các mô hình, nên các mô hình có sẵn (tức là được phát triển và sử dụng trong quá trình đặc tả, thiết kế và triển khai hệ thống) ở một mức độ nào đó sẽ chi phối các kỹ thuật kiểm thử nào có thể được sử dụng. Ví dụ, nếu đặc tả chứa sơ đồ chuyển đổi trạng thái, kiểm thử chuyển đổi trạng thái sẽ là một kỹ thuật tốt để sử dụng.
- Kiến thức của người kiểm thử: Người kiểm thử biết được bao nhiêu về hệ thống và về các kỹ thuật kiểm thử sẽ ảnh hưởng rõ ràng đến sự lựa chọn kỹ thuật kiểm thử của họ. Bản thân kiến thức này sẽ bị ảnh hưởng bởi kinh nghiệm kiểm thử và hệ thống được kiểm thử của họ.
- Các lỗi có thể xảy ra: Kiến thức về các lỗi có thể xảy ra sẽ rất hữu ích trong việc lựa chọn các kỹ thuật kiểm thử (vì mỗi kỹ thuật đều có khả năng tìm ra một loại lỗi cụ thể). Kiến thức này có thể đạt được thông qua kinh nghiệm kiểm thử phiên bản trước của hệ thống và các cấp độ kiểm thử trước đó trên phiên bản hiện tại.
- Mục tiêu kiểm thử: Nếu mục tiêu kiểm thử chỉ đơn giản là đạt được sự tin tưởng rằng phần mềm sẽ đối phó với các tác vụ vận hành điển hình thì các trường hợp sử dụng sẽ là một cách tiếp cận hợp lý. Nếu mục tiêu là để kiểm thử rất kỹ lưỡng thì nên chọn các kỹ thuật chi tiết và nghiêm ngặt hơn (bao gồm cả các kỹ thuật dựa trên cấu trúc).
- Tài liệu: Việc tài liệu (ví dụ: đặc tả yêu cầu) có tồn tại hay không và tài liệu đó có được cập nhật hay không sẽ ảnh hưởng đến việc lựa chọn các kỹ thuật kiểm thử. Nội dung và phong cách của tài liệu cũng sẽ ảnh hưởng đến việc lựa chọn các kỹ thuật (ví dụ: nếu bảng quyết định hoặc biểu đồ trạng thái đã được sử dụng thì nên sử dụng các kỹ thuật kiểm thử liên quan).
- Mô hình vòng đời: Mô hình vòng đời tuần tự sẽ phù hợp với việc sử dụng các kỹ thuật chính thức hơn trong khi mô hình vòng đời lặp lại có thể phù hợp hơn với việc sử dụng phương pháp kiểm thử khám phá.
Các yếu tố bên ngoài ảnh hưởng đến quyết định sử dụng kỹ thuật nào là:
- Rủi ro: Rủi ro càng lớn (ví dụ: các hệ thống quan trọng về an toàn), thì nhu cầu kiểm thử chính thức và kỹ càng hơn càng lớn. Rủi ro thương mại có thể bị ảnh hưởng bởi các vấn đề về chất lượng (do đó, kiểm thử kỹ lưỡng hơn sẽ phù hợp) hoặc bởi các vấn đề về thời gian đưa sản phẩm ra thị trường (vì vậy kiểm thử thăm dò sẽ là lựa chọn phù hợp hơn).
- Các yêu cầu hợp đồng của khách hàng: Đôi khi các hợp đồng chỉ định các kỹ thuật kiểm thử cụ thể sẽ sử dụng (phổ biến nhất là độ bao phủ dòng lệnh hoặc bao phủ nhánh).
- Loại hệ thống: Loại hệ thống (ví dụ: nhúng, đồ họa, tài chính, v.v.) sẽ ảnh hưởng đến việc lựa chọn kỹ thuật. Ví dụ, một ứng dụng tài chính liên quan đến nhiều tính toán sẽ được hưởng lợi từ việc phân tích giá trị biên.
- Các yêu cầu về quy định: Một số ngành có các tiêu chuẩn hoặc hướng dẫn quy định chi phối các kỹ thuật kiểm thử được sử dụng. Ví dụ: ngành công nghiệp khí cầu yêu cầu sử dụng phân vùng tương đương, phân tích giá trị biên và kiểm thử chuyển đổi trạng thái cho các hệ thống có tính toàn vẹn cao cùng với độ bao dòng lệnh, phủ quyết định, hoặc điều kiện sửa đổi tùy thuộc vào mức độ toàn vẹn phần mềm được yêu cầu.
- Thời gian và ngân sách: Cuối cùng, lượng thời gian có sẵn sẽ luôn ảnh hưởng đến việc lựa chọn kỹ thuật kiểm thử. Khi có nhiều thời gian hơn, chúng ta có thể đủ khả năng để chọn nhiều kỹ thuật hơn và khi thời gian bị hạn chế nghiêm trọng, chúng ta sẽ giới hạn ở những kỹ thuật có cơ hội tốt để giúp tìm ra những khiếm khuyết quan trọng nhất.
Bản gốc Tiếng Anh các bạn có thể Tải về Tại đây