KIỂM THỬ CẤU TRÚC
Mục tiêu thứ ba của kiểm thử là cấu trúc của hệ thống hoặc thành phần. Nếu đang nói về cấu trúc của một hệ thống, chúng ta có thể gọi nó là kiến trúc hệ thống.
Kiểm thử cấu trúc thường được gọi là kiểm thử “hộp trắng” (white box) hoặc “hộp kính” (glass box) vì chỉ quan tâm đến những gì đang xảy ra “bên trong hộp”.
Kiểm thử cấu trúc thường được sử dụng như một cách để đo lường mức độ kỹ lưỡng của việc kiểm thử thông qua mức độ bao phủ của một tập hợp các phần tử hoặc các hạng mục bao phủ. Nó có thể xảy ra ở bất kỳ cấp độ kiểm thử nào, mặc dù nó có xu hướng chủ yếu được áp dụng ở thành phần và tích hợp và thường ít xảy ra hơn ở cấp độ kiểm thử cao hơn, ngoại trừ kiểm thử quy trình nghiệp vụ.
Ở cấp độ tích hợp thành phần, nó có thể dựa trên kiến trúc của hệ thống, chẳng hạn như hệ thống phân cấp (hierarchy). Cơ sở kiểm thử của một hệ thống, hệ thống tích hợp hoặc kiểm thử chấp nhận có thể là một mô hình kinh doanh hoặc cấu trúc menu.
Ở cấp độ thành phần và ở mức độ thấp hơn của cấp độ kiểm thử tích hợp thành phần, có công cụ hỗ trợ tốt để đo lường độ phủ của mã. Các công cụ đo lường mức độ phù hợp đánh giá tỷ lệ phần trăm các yếu tố có thể thực thi (ví dụ: dòng lệnh (statement) hoặc kết quả quyết định (decision outcomes)) đã được thực hiện (nghĩa là được bao phủ) bởi một bộ kiểm thử.
Nếu mức độ bao phủ không phải là 100%, thì các bài kiểm thử bổ sung có thể cần được viết và chạy để bao phủ những phần chưa được thực hiện. Điều này tất nhiên phụ thuộc vào tiêu chí dừng. (Các kỹ thuật bao phủ được đề cập trong Chương 4.)
Các kỹ thuật được sử dụng để kiểm hử cấu trúc là các kỹ thuật dựa trên cấu trúc, còn được gọi là kỹ thuật hộp trắng (white-box technique). Mô hình dòng điều khiển (control flow model) thường được sử dụng để hỗ trợ cho kiểm thử cấu trúc.
KIỂM THỬ LIÊN QUAN ĐẾN SỰ THAY ĐỔI (KIỂM THỬ XÁC NHẬN VÀ KIỂM THỬ HỒI QUY)
Mục tiêu cuối cùng của kiểm thử là kiểm thử các thay đổi. Danh mục này hơi khác so với các danh mục khác bởi vì nếu đã thực hiện thay đổi đối với phần mềm, bạn sẽ thay đổi cách nó hoạt động, cách nó thực thi (hoặc cả hai) và cấu trúc của nó.
Tuy nhiên, ở đây ta đang xem xét các loại kiểm thử cụ thể liên quan đến các thay đổi, mặc dù chúng có thể bao gồm tất cả các loại kiểm thử khác.
KIỂM THỬ XÁC NHẬN (CONFIRMATION TESTING)
Khi kiểm thử không thành công và xác định rằng nguyên nhân của lỗi là lỗi phần mềm, lỗi sẽ được báo cáo và có thể mong đợi một phiên bản mới của phần mềm đã được sửa lỗi. Trong trường hợp này, cần thực hiện kiểm thử lại để xác nhận rằng lỗi thực sự đã được sửa. Đây được gọi là kiểm thử xác nhận (confirmation testing) (hay còn được gọi là kiểm thử lại (re-testing)).
Khi thực hiện kiểm thử xác nhận, điều quan trọng là đảm bảo rằng bài kiểm thử được thực hiện theo cách chính xác như lần đầu tiên, sử dụng cùng các đầu vào, dữ liệu và môi trường.
Nếu bài kiểm thử đạt, liệu điều này có nghĩa là phần mềm bây giờ là chính xác? Bây giờ ta đã biết rằng ít nhất một phần của phần mềm là đúng. Nhưng điều này là không đủ, bản sửa lỗi có thể đã gây ra một lỗi khác trong phần mềm. Cách đến phát hiện những “tác dụng phụ không mong muốn” này của các bản sửa lỗi là thực hiện kiểm thử hồi quy (regression testing).
KIỂM THỬ HỒI QUY (REGRESSION TESTING)
Giống như kiểm thử xác nhận, kiểm thử hồi quy liên quan đến việc thực thi các trường hợp kiểm thử đã được thực thi trước đó.
Sự khác biệt là, đối với kiểm thử hồi quy thì các trường hợp kiểm thử có thể đã vượt qua lần cuối cùng chúng được thực thi (còn với trường hợp kiểm thử được thực hiện trong kiểm thử xác nhận thì chúng đã thất bại lần ở lần kiểm thử trước đó).
Mục đích của kiểm thử hồi quy là để xác minh rằng các sửa đổi trong phần mềm hoặc môi trường không gây ra các tác dụng phụ không mong muốn và hệ thống vẫn đáp ứng các yêu cầu của nó.
Thông thường, các tổ chức thường có những gói kiểm thử hồi quy (regression test suite hoặc regression test pack). Đây là một tập hợp các trường hợp kiểm thử được sử dụng đặc biệt để kiểm thử hồi quy. Chúng được thiết kế để thực hiện hầu hết các chức năng chung (những chức năng quan trọng nhất) trong một hệ thống nhưng không kiểm thử chi tiết bất kỳ chức năng nào.
Nên có một bộ kiểm thử hồi quy ở mọi cấp độ kiểm thử (kiểm thử thành phần, kiểm thử tích hợp, kiểm thử hệ thống, v.v.). Tất cả các trường hợp kiểm thử trong bộ kiểm thử hồi quy sẽ được thực thi mỗi khi một phiên bản phần mềm mới được phát hành và điều này khiến chúng trở thành ứng cử viên lý tưởng cho việc tự động hóa. Nếu bộ kiểm thử hồi quy rất lớn, thì nên chọn một tập hợp con để thực thi.
Kiểm thử hồi quy được thực hiện bất cứ khi nào phần mềm thay đổi, do kết quả của các bản sửa lỗi hoặc chức năng mới hoặc thay đổi. Nên thực thi chúng khi một số khía cạnh của môi trường thay đổi, chẳng hạn khi phiên bản mới của hệ quản trị cơ sở dữ liệu được giới thiệu hoặc phiên bản mới của trình biên dịch mã nguồn được sử dụng.
Việc bảo trì bộ kiểm thử hồi quy nên được thực hiện để nó phát triển theo thời gian phù hợp với phần mềm. Khi chức năng mới được thêm vào hệ thống, các bài kiểm thử hồi quy mới sẽ được thêm vào và khi chức năng cũ bị thay đổi hoặc bị loại bỏ, các bài kiểm thử hồi quy cũng nên được thay đổi hoặc loại bỏ.
Khi các bài kiểm thử mới được thêm vào, một bộ thử nghiệm hồi quy có thể trở nên rất lớn. Nếu tất cả các bài kiểm thử phải được thực hiện theo cách thủ công thì có thể không thể thực hiện tất cả chúng mỗi khi bộ hồi quy được sử dụng.
Trong trường hợp này, một tập hợp con của các trường hợp kiểm thử phải được chọn. Lựa chọn này nên được thực hiện dựa trên những thay đổi mới nhất đã được thực hiện đối với phần mềm.
Đôi khi, một bộ kiểm thử hồi quy gồm các bài kiểm thử tự động có thể trở nên lớn đến mức không phải lúc nào cũng có thể thực thi tất cả. Có thể và mong muốn loại bỏ một số trường hợp kiểm thử khỏi bộ kiểm thử hồi quy lớn, ví dụ nếu chúng lặp lại (các bài kiểm thử thực hiện cùng điều kiện) hoặc có thể được kết hợp (nếu chúng luôn chạy cùng nhau).
Một cách tiếp cận khác là loại bỏ các trường hợp kiểm thử đã lâu không tìm thấy lỗi (mặc dù cách tiếp cận này nên được sử dụng cẩn thận!).
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