8. Quy trình kiểm thử động
1.9. Quy trình thiết kế và chuẩn bị kiểm thử
1.9.1. Tổng quan
Quy trình thiết kế và chuẩn bị kiểm thử được sử dụng để tạo ra các trường hợp kiểm thử và các thủ tục kiểm thử; các trường hợp kiểm thử và các thủ tục kiểm thử này thường được đưa ra trong đặc tả kiểm thử nhưng có thể được thực hiện ngay, ví dụ, khi thực hiện kiểm thử thăm dò, các trường hợp kiểm thử không được ghi trước trong tài liệu. Trong hình 10, các hoạt động này được trình bày theo một trình tự hợp lý, nhưng trong thực tế sẽ lặp đi lặp lại giữa rất nhiều các hoạt động, thường xuyên với các hoạt động TD3 đến TD5 xảy ra song song trong các khoảng thời gian thực tế.
Quy trình này được sử dụng để tạo ra các trường hợp kiểm thử và các thủ tục kiểm thử, nhưng cần lưu ý trong một số trường hợp, quy trình này có thể tái sử dụng tài nguyên kiểm thử trước đó, đặc biệt là trong trường hợp thực hiện kiểm thử hồi quy.
Quy trình thiết kế và chuẩn bị kiểm thử cũng có thể bị thoát ra vào lại vì một số lý do, ví dụ, sau khi thực hiện một thủ tục kiểm thử hoặc báo cáo sự cố, người ta nhận ra rằng cần phải có thêm trường hợp kiểm thử để đáp ứng điều kiện kết thúc kiểm thử quy định. Như vậy, có thể chỉ có một tập con các trường hợp kiểm thử được quy định cho một hạng mục kiểm thử được tạo ra trong khi thực hiện quy trình này.
Quy trình này đòi hỏi các ky sư kiểm thử phải áp dụng một hoặc nhiều ky thuật thiết kế kiểm thử để tạo ra các trường hợp kiểm thử và các thủ tục kiểm thử nhằm mục đích đạt được điều kiện kết thúc kiểm thử. Các ky thuật thiết kế kiểm thử và điều kiện kết thúc kiểm thử này được quy định trong kế hoạch kiểm thử. Các ky thuật thiết kế kiểm thử được định nghĩa trong ISO/IEC/IEEE 29119-4: Các ky thuật kiểm thử.
Có một số tình huống có thể dẫn đến việc lặp lại các hoạt động trong quy trình này. Các tình huống này bao gồm các bên liên quan không đồng ý với kết quả của một hoạt động nào đó, chẳng hạn như việc xác định các điều kiện kiểm thử. Tương tự, cũng có thể xảy ra tình huống là kết quả của một hoạt động cho thấy các quyết định lập kế hoạch kiểm thử chẳng hạn như lựa chon điều kiện kết thúc kiểm thử không phù hợp với những hạn chế về thời hạn dự án thì đòi hỏi phải xem xét lại các quy trình quản lý kiểm thử.
CHÚ THÍCH: Ví dụ về áp dụng các hoạt động từ TD2 đếnTD5 được trình bày trong phụ lục A.
Hình 10 - Quy trình thiết kế và chuẩn bị kiểm thử 1.9.2. Mục đích
Mục đích của Quy trình thiết kế và chuẩn bị kiểm thử là đưa ra các thủ tục kiểm thử mà sẽ được thực hiện trong suốt Quy trình thực hiện kiểm thử. Vì cơ sở kiểm thử là một phần của quy trình này nên
trước tiên phải phân tích cơ sở kiểm thử, sau đó kết hợp các tính năng thành các tập tính năng, đưa ra các điều kiện kiểm thử, hạng mục bao phủ kiểm thử, các trường hợp kiểm thử, các thủ tục kiểm thử và tập hợp các bộ kiểm thử.
1.9.3. Kết quả
Kết quả triển khai thành công của Quy trình thiết kế và chuẩn bị kiểm thử gồm: a) Cơ sở kiểm thử cho từng hạng mục kiểm thử đã được phân tích;
b) Các tính năng được kiểm thử được kết hợp với các tập tính năng; c) Các điều kiện kiểm thử đã được đưa ra;
d) Các hạng mục bao phủ kiểm thử đã được đưa ra; e) Các trường hợp kiểm thử đã được tạo ra;
f) Các bộ kiểm thử đã được tập hợp; g) Các thủ tục kiểm thử đã được đưa ra.
1.9.4. Các hoạt động và nhiệm vụ
Người chịu trách nhiệm thiết kế và chuẩn bị kiểm thử phải thực hiện các hoạt động và nhiệm vụ sau đây theo đúng các chính sách tổ chức áp dụng và các thủ tục liên quan đến Quy trình thiết kế và chuẩn bị kiểm thử.
8.2.4.1. Xác định các tập tính năng (TD1)
Hoạt động này bao gồm các nhiệm vụ sau:
a) Phải phân tích cơ sở kiểm thử để hiểu được các yêu cầu đối với hạng mục kiểm thử.
CHÚ THÍCH 1: Nếu các lỗi trong cơ sở kiểm thử không được phát hiện trong quá trình phân tích thì chúng phải được báo cáo thông qua việc sử dụng một hệ thống quản lý sự cố.
b) Nên kết hợp các tính năng được kiểm thử vào các tập tính năng
CHÚ THÍCH 2: Một tập tính năng có thể được kiểm thử độc lập với các tập tính năng khác.
CHÚ THÍCH 3: Đối với kiểm thử thành phần/ kiểm thử đơn vị, có thể chỉ có một tập tính năng duy nhất; đối với các mức kiểm thử cao hơn (ví dụ: kiểm thử hệ thống), có thể có một số các tập tính năng sẽ phản ánh kiến trúc của hạng mục kiểm thử. CHÚ THÍCH 4: Trường hợp chưa xác định được các tập tính năng thì tập các tính năng sẽ được coi là một tập tính năng duy nhất.
c) Phải ưu tiên việc kiểm thử các tập tính năng sử dụng các mức độ rủi ro được chỉ ra trong hoạt động Xác minh và phân tích rủi ro (TP3).
d) Nên được sự đồng ý với các các bên liên quan về thành phần và mức độ ưu tiên của các tập tính năng .
CHÚ THÍCH 5: Trường hợp cần thiết, các nhiệm vụ a), b) và c) phải được xem xét lại.
e) Các tập tính năng phải được ghi vào đặc tả thiết kế kiểm thử.
f) Phải ghi lại việc truy xuất nguồn gốc giữa cơ sở kiểm thử và các tập tính năng .
CHÚ THÍCH 6: Có thể áp dụng các nhiệm vụ từ c) đến f) nếu các tập tính năng đã được xác định trong nhiệm vụ b).
8.2.4.2. Đưa ra các điều kiện kiểm thử (TD2)
Hoạt động này bao gồm các nhiệm vụ sau:
a) Dựa theo điều kiện kết thúc kiểm thử được quy định trong kế hoạch kiểm thử, phải xác định các điều kiện kiểm thử cho mỗi tính năng.
CHÚ THÍCH 1: Điều kiện kiểm thử là một khía cạnh có thể kiểm thử được của thành phần hoặc hệ thống, chẳng hạn như kiểm thử về chức năng, giao dịch, tính năng, thuộc tính chất lượng, hoặc cấu trúc xác định như một cơ sở để kiểm thử. Việc này có thể được thực hiện đơn giản bằng cách thỏa thuận với các bên liên quan về những thuộc tính được kiểm thử hoặc bằng cách áp dụng một hoặc nhiều ky thuật hệ thống (các ky thuật dùng để Chon các điều kiện kiểm thử, các ky thuật này được mô tả như là các mô hình ky thuật thiết kế kiểm thử hoặc phân tích các ky thuật thiết kế kiểm thử, chúng được định nghĩa trong ISO/IEC/IEEE 29119-4: các ky thuật kiểm thử).
b) Phải ưu tiên các điều kiện kiểm thử sử dụng các mức độ rủi ro được chỉ ra trong hoạt động Xác định và phân tích rủi ro (TP3).
c) Phải ghi lại các điều kiện kiểm thử vào đặc tả thiết kế kiểm thử.
CHÚ THÍCH 2: Khi thực hiện kiểm thử thăm dò, đặc tả thiết kế kiểm thử có thể có nhiều hình thức khác nhau bao gồm cả đặc quyền kiểm thử.
d) Phải ghi lại việc truy xuất nguồn gốc giữa các cơ sở kiểm thử, các tập tính năng và các điều kiện kiểm thử.
e) Đặc tả thiết kế kiểm thử phải được các bên liên quan chấp thuận.
CHÚ THÍCH 3: Việc này có thể đòi hỏi phải lặp lại các nhiệm vụ a), b) và c), hoặc trước tiên lặp lại hoạt động xác định các tập tính năng (TD1).
8.2.4.3. Xác định hạng mục bao phủ kiểm thử (TD3)
Hoạt động này bao gồm các nhiệm vụ sau:
a) Hạng mục bao phủ kiểm thử phải được xác định bằng việc áp dụng các ky thuật thiết kế kiểm thử đối với các điều kiện kiểm thử để đạt được điều kiện kết thúc mức bao phủ kiểm thử được quy định trong kế hoạch kiểm thử.
CHÚ THÍCH 1: Hạng mục bao phủ kiểm thử là thuộc tính của từng điều kiện thử nghiệm. Ví dụ, khi một vùng được xác định là một điều kiện kiểm thử thì hạng mục bao phủ kiểm thử tương ứng có thể chính là giá trị biên và cả các giá trị ở hai bên giá trị biên ; do đó một điều kiện kiểm thử đơn có thể là cơ sở kiểm thử cho một hoặc nhiều hạng mục bao phủ kiểm thử.
CHÚ THÍCH 2: Nếu điều kiện kết thúc kiểm thử đối với các hoạt động kiểm thử được quy định nhỏ hơn 100% mức bao phủ kiểm thử, thì cần lựa chon hạng mục bao phủ kiểm thử quy định để đạt được mức bao phủ 100% được thực hiện thông qua kiểm thử.
CHÚ THÍCH 3: Có thể có những điều kiện kết thúc kiểm thử được cung cấp để hỗ trợ khi lựa chon kế hoạch kiểm thử hoặc chiến lược kiểm thử của tổ chức (ví dụ như loại bỏ hạng mục bao phủ kiểm thử có mức độ rủi ro thấp hơn). Lựa chon này có thể cần được xem xét lại dựa trên kết quả của các hoạt động sau đó.
CHÚ THÍCH 4: Tập các hạng mục bao phủ kiểm thử có thể được tối ưu hóa bằng cách kết hợp mức độ bao phủ nhiều điều kiện kiểm thử vào hạng mục bao phủ kiểm thử; do đó hạng mục bao phủ kiểm thử có thể thực hiện nhiều hơn một điều kiện kiểm thử.
b) Phải ưu tiên các điều kiện kiểm thử sử dụng các mức độ ảnh hường rủi ro được chỉ ra trong hoạt động Xác định và phân tích rủi ro (TP3).
c) Phải ghi lại Hạng mục bao phủ kiểm thử vào đặc tả trường hợp kiểm thử.
d) Phải ghi lại việc truy xuất nguồn gốc giữa các cơ sở kiểm thử, các tập tính năng, các điều kiện kiểm thử và hạng mục bao phủ kiểm thử.
8.2.4.4. Đưa ra các trường hợp kiểm thử (TD4)
Hoạt động này bao gồm các nhiệm vụ sau:
a) Phải đưa ra một hoặc nhiều trường hợp kiểm thử bằng việc xác định các điều kiện tiên quyết, lựa chon các giá trị đầu vào và nếu cần thiết có các hành động thực hiện hạng mục bao phủ kiểm thử được lựa chon và xác định kết quả mong đợi tương ứng.
CHÚ THÍCH 1: Khi lựa chon các trường hợp kiểm thử, một trường hợp kiểm thử có thể thực hiện nhiều hơn mức bao phủ thành phần kiểm thử (test coverage item) và do đó có một cơ hội kết hợp mức độ bao phủ của nhiều mức bao phủ thành phần kiểm thử trong một trường hợp kiểm thử. Điều này có thể làm giảm thời gian thực hiện kiểm thử nhưng cũng có thể làm tăng thời gian gỡ bug.
b) Phải ưu tiên các điều kiện kiểm thử sử dụng các mức độ ảnh hường rủi ro được chỉ ra trong hoạt động Xác định và phân tích rủi ro (TP3).
c) Phải ghi lại các trường hợp kiểm thử vào đặc tả trường hợp kiểm thử.
d) Phải ghi lại việc truy xuất nguồn gốc giữa cơ sở kiểm thử, các tập tính năng, các điều kiện kiểm thử, hạng mục bao phủ kiểm thử và các trường hợp kiểm thử.
e) Đặc tả trường hợp kiểm thử phải được các bên liên quan chấp thuận.
CHÚ THÍCH 2: Việc này đỏi hỏi phải lặp lại những nhiệm vụ a) và b),trong một số trường hợp, trước tiên phải lặp lại hoạt động Đưa ra các điều kiện kiểm thử (TD2) và/hoặc hoạt động Xác định hạng mục bao phủ kiểm thử (TD3).
8.2.4.5. Tập hợp các bộ kiểm thử (TD5)
Hoạt động này bao gồm các nhiệm vụ sau:
a) Các trường hợp kiểm thử có thể được phân thành một hoặc nhiều bộ kiểm thử dựa trên những hạn chế về việc thực hiện chúng.
CHÚ THÍCH: Nếu chưa xác định được các bộ kiểm thử thì tập các trường hợp kiểm thử sẽ được coi như một bộ kiểm thử duy nhất.
VÍ DỤ: một số bộ kiểm thử có thể đòi hỏi thiết lập một môi trường kiểm thử cụ thể, một số bộ kiểm thử có thể thích hợp đối với việc thực hiện kiểm thử thủ công trong khi những bộ kiểm thử khác thích hợp đối với việc thực hiện kiểm thử tự động, hoặc một số bộ kiểm thử có thể đòi hỏi kiến thức miền cụ thể.
b) Phải ghi lại các bộ kiểm thử vào đặc tả thủ tục kiểm thử.
c) Phải ghi lại việc truy xuất nguồn gốc giữa cơ sở kiểm thử, các tập tính năng, các điều kiện kiểm thử, hạng mục bao phủ kiểm thử, các trường hợp kiểm thử và các bộ kiểm thử.
8.2.4.6. Đưa ra các thủ tục kiểm thử (TD6)
Hoạt động này bao gồm các nhiệm vụ sau:
a) Phải đưa ra được các thủ tục kiểm thử bằng việc sắp xếp các trường hợp kiểm thử trong một bộ kiểm thử theo những phụ thuộc được mô tả bởi các điều kiện tiên quyết và các điều kiện kết thúc và các yêu cầu kiểm thử khác.
VÍ DỤ: Những rủi ro được xử lý.
CHÚ THÍCH 1: Có thể bao gồm bất kỳ hoạt động nào khác trong thủ tục kiểm thử, chẳng hạn như những hoạt động cần thiết để thiết lập các điều kiện tiên quyết đối với một trường hợp kiểm thử.
CHÚ THÍCH 2: Nếu các thủ tục kiểm thử được thực hiện sử dụng các công cụ kiểm thử, thì cần thiết phải xây dựng thêm các thủ tục để tạo ra các kịch bản kiểm thử tự động.
b) Phải xác định dữ liệu kiểm thử và yêu cầu về môi trường kiêm thử mà chưa được đưa vào kế hoạch kiểm thử.
CHÚ THÍCH 3: Mặc dù hoạt động này có thể không được hoàn thành cho đến khi việc lựa chon các thủ tục kiểm thử hoàn tất, nhiệm vụ này thường có thể bắt đầu sớm hơn trong quá trình này, thậm chí càng sớm càng tốt khi các điều kiện kiểm thử đã được thỏa thuận.
c) Phải ưu tiên các thủ tục kiểm thử sử dụng các mức độ rủi ro được chỉ ra trong hoạt động Xác định và phân tích rủi ro (TP3).
d) Phải ghi lại các thủ tục kiểm thử vào đặc tả thủ tục kiểm thử.
e) Phải ghi lại việc truy xuất nguồn gốc giữa cơ sở kiểm thử, các tập tính năng, các điều kiện kiểm thử, hạng mục bao phủ kiểm thử, các trường hợp kiểm thử, các bộ kiểm thử và các thủ tục kiểm thử (và/hoặc các kịch bản kiểm thử tự động).
f) Đặc tả thủ tục kiểm thử phải được các bên liên quan chấp thuận.
CHÚ THÍCH 4: Việc này có thể đòi hỏi phải lặp lại các nhiệm vụ từ a) đến e).
1.9.5. Đầu ra của quy trình
Kết quả thực hiện quy trình này sẽ tạo được các đầu ra dưới đây:
a) Các đặc tả kiểm thử (đặc tả thiết kế kiểm thử, đặc tả trường hợp kiểm thử và đặc tả thủ tục kiểm thử) và thông tin về khả năng lần vết liên quan;
b) Yêu cầu về dữ liệu kiêm thử; c) Yêu cầu về môi trường kiêm thử.