lời nói đầu€¦ · web viewví dụ 3: kỹ thuật phân tích giá trị biên có thể...

193
TCVN T I Ê U C H U Ẩ N Q U Ố C G I A TCVN xxxx-4:2019 ISO/IEC/IEEE 29119-4:2015 (Xuất bản lần 1) KỸ THUẬT HỆ THỐNG VÀ PHẦN MỀM - KIỂM THỬ PHẦN MỀM - PHẦN 4: CÁC KỸ THUẬT KIỂM THỬ Software and systems engineering - Software testing - Part 4: Test Techniques

Upload: others

Post on 25-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN T I Ê U C H U Ẩ N Q U Ố C G I A

TCVN xxxx-4:2019ISO/IEC/IEEE 29119-4:2015

(Xuất bản lần 1)

KỸ THUẬT HỆ THỐNG VÀ PHẦN MỀM - KIỂM THỬ PHẦN MỀM -

PHẦN 4: CÁC KỸ THUẬT KIỂM THỬ

Software and systems engineering - Software testing - Part 4: Test Techniques

HÀ NỘI - 2019

Page 2: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

2

Page 3: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Mục lụcLời nói đầu...............................................................................................................................................5Lời giới thiệu............................................................................................................................................61. Phạm vi áp dụng................................................................................................................................92. Đánh giá sự phù hợp.........................................................................................................................9

2.1 Sử dụng dự kiến............................................................................................................................9

2.2 Đánh giá sự phù hợp hoàn toàn...................................................................................................92.3 Đánh giá sự phù hợp có sửa đổi...................................................................................................9

3. Tài liệu viện dẫn.................................................................................................................................94. Thuật ngữ và định nghĩa.................................................................................................................105. Các kỹ thuật thiết kế kiểm thử........................................................................................................12

5.1 Tổng quan...................................................................................................................................12

5.2 Các kỹ thuật kiểm thử dựa trên đặc tả........................................................................................155.2.1 Phân vùng tương đương..................................................................................................15

5.2.2 Phương pháp cây phân loại.............................................................................................165.2.3 Phân tích giá trị biên.........................................................................................................17

5.2.4 Kiểm thử cú pháp.............................................................................................................185.2.5 Các kỹ thuật thiết kế kiểm thử tổ hợp..............................................................................20

5.2.6 Kiểm thử bảng quyết định................................................................................................225.2.7 Đồ thị nguyên nhân - kết quả...........................................................................................23

5.2.8 Kiểm thử chuyển đổi trạng thái........................................................................................235.2.9 Kiểm thử kịch bản............................................................................................................24

5.2.10 Kiểm thử ngẫu nhiên........................................................................................................255.3 Các kỹ thuật kiểm thử dựa trên cấu trúc.....................................................................................26

5.3.1 Kiểm thử câu lệnh............................................................................................................265.3.2 Kiểm thử nhánh................................................................................................................26

5.3.3 Kiểm thử quyết định.........................................................................................................275.3.4 Kiểm thử điều kiện nhánh................................................................................................27

5.3.5 Kiểm thử kết hợp điều kiện nhánh...................................................................................285.3.6 Kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC).................................28

5.3.7 Kiểm thử luồng dữ liệu.....................................................................................................295.4 Các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm..................................................................31

5.4.1 Đoán lỗi............................................................................................................................316. Tính độ bao phủ kiểm thử...............................................................................................................32

6.1 Tổng quan...................................................................................................................................326.2 Tính độ bao phủ các kỹ thuật thiết kế kiểm thử dựa trên đặc tả.................................................32

6.2.1 Độ bao phủ kỹ thuật phân vùng tương đương.................................................................326.2.2 Độ bao phủ phương pháp cây phân loại..........................................................................32

6.2.3 Độ bao phủ kỹ thuật phân tích giá trị biên........................................................................336.2.4 Độ bao phủ kiểm thử cú pháp..........................................................................................33

3

Page 4: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

6.2.5 Độ bao phủ kỹ thuật thiết kế kiểm thử tổ hợp..................................................................33

6.2.6 Độ bao phủ kiểm thử bảng quyết định.............................................................................346.2.7 Độ bao phủ kiểm thử đồ thị nguyên nhân - kết quả.........................................................34

6.2.8 Độ bao phủ kiểm thử chuyển đổi trạng thái.....................................................................346.2.9 Độ bao phủ kiểm thử kịch bản.........................................................................................34

6.2.10 Độ bao phủ kiểm thử ngẫu nhiên.....................................................................................346.3 Tính độ bao phủ các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc..............................................35

6.3.1 Độ bao phủ câu lệnh........................................................................................................356.3.2 Độ bao phủ kiểm thử nhánh.............................................................................................35

6.3.3 Độ bao phủ kiểm thử quyết định......................................................................................356.3.4 Độ bao phủ kiểm thử điều kiện nhánh.............................................................................35

6.3.5 Độ bao phủ kiểm thử kết hợp điều kiện nhánh................................................................356.3.6 Độ bao phủ kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)..............35

6.3.7 Độ bao phủ kiểm thử luồng dữ liệu..................................................................................366.4 Tính độ bao phủ kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm..............................................36

6.4.1 Độ bao phủ đoán lỗi.........................................................................................................36Phụ lục A (Tham khảo) Các đặc tính chất lượng kiểm thử................................................................37

A.1 Các đặc tính chất lượng..........................................................................................................37A.2 Các loại kiểm thử liên quan đến chất lượng...........................................................................37

A.3 Ánh xạ các đặc tính chất lượng đến các kiểu kiểm thử..........................................................42A.4 Ánh xạ các đặc tính chất lượng đến các kỹ thuật thiết kế kiểm thử.......................................43

Phụ lục B (Tham khảo) Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả...............................................................................................................................................48

B.1 Hướng dẫn và ví dụ về các kỹ thuật thiết kế kiểm thử dựa trên đặc tả.....................................48B.2 Các ví dụ về kỹ thuật thiết kế kiểm thử dựa trên đặc tả.............................................................48

Phụ lục C (Tham khảo) Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc.........................................................................................................................................107

C.1 Hướng dẫn và ví dụ về các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc..................................107C.2 Các ví dụ về kỹ thuật thiết kế kiểm thử dựa trên cấu trúc..........................................................107

Phụ lục D (Tham khảo) Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm..................................................................................................................................130

D1. Hướng dẫn và ví dụ kiểm thử dựa trên kinh nghiệm.................................................................130D.2 Các ví dụ về kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm...................................................130

Phụ lục E (Tham khảo) Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử thay thế cho nhau........................................................................................................................................133

E.1 Hướng dẫn và ví dụ về các kỹ thuật thiết kế kiểm thử thay đổi cho nhau.................................133Phụ lục F (Tham khảo) Hiệu quả bao phủ của kỹ thuật thiết kế kiểm thử......................................136

F.1 Hiệu quả bao phủ của kỹ thuật thiết kế kiểm thử......................................................................136Phụ lục G (Tham khảo) Đối chiếu kỹ thuật thiết kế kiểm thử trong tiêu chuẩn này với BS 7925-2

.........................................................................................................................................................138Thư mục tài liệu tham khảo................................................................................................................140

4

Page 5: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Lời nói đầu

5

TCVN xxxx-4:2019 hoàn toàn tương đương ISO/IEC/IEEE29119-4:2015.

TCVN xxx-4:2019 do Viện Khoa hoc Kỹ thuật Bưu điện biên soạn, Bộ Thông tin và Truyền thông đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa hoc và Công nghệ công bố.

Page 6: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Lời giới thiệuMục đích của tiêu chuẩn này là đưa ra một chuẩn quốc tế định nghĩa các kỹ thuật thiết kế kiểm thử phần mềm (còn được goi là kỹ thuật thiết kế trường hợp kiểm thử hoặc các phương pháp kiểm thử) có thể được sử dụng trong quy trình Thiết kế và chuẩn bị kiểm thử được định nghĩa trong TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2). Tiêu chuẩn này không mô tả cụ thể quy trình Thiết kế và chuẩn bị kiểm thử; thay vào đó, nó mô tả một tập các kỹ thuật kiểm thử phần mềm mà có thể được sử dụng trong tiêu chuẩn TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2). Mục đích là mô tả một loạt các kỹ thuật mà được chấp nhận rộng rãi trong ngành công nghiệp kiểm thử phần mềm.

Các kỹ thuật thiết kế kiểm thử được trình bày trong tiêu chuẩn này có thể được sử dụng để xây dựng các trường hợp kiểm thử, cung cấp bằng chứng để chứng minh rằng các yêu cầu hạng mục kiểm thử đã được đáp ứng và /hoặc có xuất hiện lỗi trong một hạng mục kiểm thử (tức là các yêu cầu không được đáp ứng). Để xác định một tập các kỹ thuật kiểm thử mà có thể được áp dụng trong các tình huống cụ thể, có thể sử dụng kiểm thử dựa trên rủi ro (kiểm thử dựa trên rủi ro được trình bày trong TCVN xxxx-1:2019 (ISO/IEC/IEEE 29119-1) và TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2)).CHÚ THÍCH: "Hạng mục kiểm thử" là một sản phẩm công việc đang được kiểm thử (xem TCVN xxxx-1:2019 (ISO/IEC/IEEE 29119-1).

Ví dụ 1: "Các hạng mục kiểm thử" bao gồm các hệ thống, các hạng mục phần mềm, các đối tượng, các lớp, các yêu cầu tài liệu, các đặc tả thiết kế và hướng dẫn sử dụng.

Để thiết kế các trường hợp kiểm thử, mỗi kỹ thuật kiểm thử đều tuân theo đầy đủ các bước trong quy trình Thiết kế và chuẩn bị kiểm thử được định nghĩa trong TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2) được trình bày trong Hình 1 dưới đây.

Tiêu chuẩn này không đưa ra hướng dẫn về toàn bộ các hoạt động trong quy trình Thiết kế và chuẩn bị kiểm thử, tiêu chuẩn này chỉ đưa ra hướng dẫn về cách thức thực hiện chi tiết ba hoạt động được mô tả dưới đây đối với từng kỹ thuật kiểm thử:

- Xác định các điều kiện kiểm thử (TD2);

- Xác định các hạng mục bao phủ kiểm thử (TD3);

- Xây dựng các trường hợp kiểm thử (TD4).

Mỗi điều kiện kiểm thử là một khía cạnh có thể kiểm thử được của một hạng mục kiểm thử, chẳng hạn như một hàm, sự chuyển đổi trạng thái, tính năng, thuộc tính chất lượng, hoặc phần tử cấu trúc được xác định như một cơ sở kiểm thử. Việc này có thể đạt được bằng cách thỏa thuận với các bên liên quan về các thuộc tính được kiểm thử hoặc bằng cách áp dụng một hoặc nhiều kỹ thuật thiết kế kiểm thử.

Ví dụ 2: Nếu điều kiện kết thúc kiểm thử đối với kiểm thử chuyển đổi trạng thái xác định đã đạt được độ bao phủ tất cả các trạng thái thì các điều kiện kiểm thử có thể là các trạng thái mà bao phủ hạng mục kiểm thử. Ví dụ khác về điều kiện kiểm thử là các lớp tương đương và các giá trị biên giữa chúng.

Các hạng mục bao phủ kiểm thử là thuộc tính của mỗi điều kiện kiểm thử có thể được bao phủ trong quá trình kiểm thử. Một điều kiện kiểm thử có thể là cơ sở cho một hoặc nhiều hạng mục bao phủ kiểm thử.

Ví dụ 3: Nếu một biên cụ thể được xác định là một điều kiện kiểm thử thì các hạng mục bao phủ kiểm thử tương ứng có thể chính là biên và có thể là hai bên của biên.

Trường hợp kiểm thử là một tập các điều kiện tiên quyết, đầu vào (bao gồm cả hành động nếu có) và kết quả mong đợi.

Điều 5 hoặc 6 của tiêu chuẩn này không đưa ra hướng dẫn cụ thể về cách thức thực hiện các hoạt động trong quy trình Thiết kế và chuẩn bị kiểm thử của TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2), đó là hoạt động TD1 (Xác định các tập tính năng), TD5 (Tập hợp các bộ kiểm thử) và TD6 (Xác định các thủ tục kiểm thử) vì các hoạt động này tương tự đối với tất cả các kỹ thuật kiểm thử.

6

Page 7: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Hình 1 - Quy trình thiết kế và chuẩn bị kiểm thử được trình bày trong ISO/IEC/IEEE 29119-2ISO/IEC/TR 19759 (SWEBOK) định nghĩa hai kiểu yêu cầu: yêu cầu về chức năng và yêu cầu về chất lượng. ISO/IEC 25010 định nghĩa tám đặc tính chất lượng phần mềm (bao gồm cả tính năng) có thể được sử dụng để xác định các kiểu kiểm thử có thể được áp dụng để kiểm thử một hạng mục kiểm thử cụ thể. Phụ lục A ánh xạ các kỹ thuật thiết kế kiểm thử mà áp dụng cho các đặc tính chất lượng kiểm thử được định nghĩa trong ISO/IEC 25010.

Những thực hành về kỹ thuật kiểm thử dựa trên kinh nghiệm như kiểm thử thăm dò và những thực hành về các kỹ thuật kiểm thử khác như kiểm thử dựa trên mô hình không được trình bày trong tiêu chuẩn này, tiêu chuẩn này chỉ mô tả các kỹ thuật thiết kế trường hợp kiểm thử. Những thực hành về kiểm thử như kiểm thử thăm dò được trình bày trong TCVN xxxx-1:2019 (ISO/IEC/IEEE 29119-1:2013).

Các mẫu tài liệu kiểm thử và các ví dụ về tài liệu kiểm thử được tạo ra trong quá trình kiểm thử được quy định trong tiêu chuẩn TCVN xxxx-3:2019 (ISO/IEC/IEEE 29119-3): Tài liệu kiểm thử. Các kỹ thuật kiểm thử trong tiêu chuẩn này không mô tả cách thức xây dựng các trường hợp kiểm thử (ví dụ: chúng không bao gồm các thông tin hoặc hướng dẫn về việc gán các ký hiệu nhận dạng (từ định danh), không bao gồm những mô tả về trường hợp kiểm thử, những ưu tiên, truy xuất nguồn gốc, hoặc các điều kiện tiên quyết). Thông tin về cách thức xây dựng các trường hợp kiểm thử có thể được trình bày trong TCVN xxxx-3:2019 (ISO/IEC/IEEE 29119-3:2013).

Tiêu chuẩn này cung cấp cho các bên liên quan khả năng thiết kế các trường hợp kiểm thử để kiểm thử phần mềm trong bất kỳ tổ chức nào.

7

Page 8: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

8

Page 9: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

T I Ê U C H U Ẩ N Q U Ố C G I A TCVN xxxx-4:2019

Kỹ thuật hệ thống và phần mềm - Kiểm thử phần mềm - Phần 4: Các kỹ thuật kiểm thử

Softwave and systems engineering - Software testing - Part 4: Test techniques

1. Phạm vi áp dụngTiêu chuẩn này trình bày các kỹ thuật thiết kế kiểm thử có thể được sử dụng trong quy trình Thiết kế và chuẩn bị kiểm thử nêu trong TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2:2013).

Tiêu chuẩn này là tài liệu sử dụng cho các kỹ sư kiểm thử, người quản lý kiểm thử, các nhà phát triển và người quản lý dự án, đặc biệt là những người chịu trách nhiệm quản lý và thực hiện kiểm thử phần mềm.

2. Đánh giá sự phù hợp2.1 Sử dụng dự kiếnCác yêu cầu trong tiêu chuẩn này được đưa ra trong điều 5 và điều 6. Các tổ chức hoặc các dự án cụ thể có thể không cần thiết phải sử dụng tất cả các kỹ thuật được định nghĩa trong tiêu chuẩn này. Do đó, các tổ chức hoặc các dự án chỉ cần lựa chon một tập các kỹ thuật phù hợp với dự án hoặc tổ chức của ho. Có hai cách triển khai mà tổ chức hoặc cá nhân có thể xác nhận phù hợp với các điều khoản của tiêu chuẩn này - đó là phù hợp hoàn toàn và phù hợp có sửa đổi. Tổ chức hoặc cá nhân sẽ xác nhận xem liệu rằng sẽ phù hợp hoàn toàn hoặc phù hợp có sửa đổi với tiêu chuẩn này.

2.2 Đánh giá sự phù hợp hoàn toànSự phù hợp hoàn toàn đạt được bằng cách chứng minh rằng tất cả các yêu cầu của tập các kỹ thuật được lựa chon trong trong điều 5 và/ hoặc tính độ bao phủ kiểm thử tương ứng trong điều 6 được đáp ứng.

Ví dụ: Một tổ chức có thể lựa chon chỉ phù hợp với một kỹ thuật được định nghĩa trong tiêu chuẩn này như kỹ thuật phân tích giá trị biên chẳng hạn. Trong kịch bản này, tổ chức sẽ chỉ phải yêu cầu cung cấp chứng cứ rằng ho thỏa mãn các yêu cầu của kỹ thuật đó để xác nhận phù hợp với tiêu chuẩn này.

2.3 Đánh giá sự phù hợp có sửa đổiSự phù hợp có sửa đổi đạt được bằng cách chứng minh rằng tập con các yêu cầu đã chon từ một tập các kỹ các kỹ thuật được lựa chon và/ hoặc các phương pháp tính độ bao phủ kiểm thử tương ứng đó đã được đáp ứng. Nếu cần phải sửa đổi, phải đưa ra được lý lẽ (hoặc trực tiếp hoặc tham chiếu) tại sao các yêu cầu của các kỹ thuật được nêu trong điều 5 hoặc các phương pháp tính độ bao phủ kiểm thử được nêu trong điều 6 của tiêu chuẩn này không được tuân theo. Tất cả những quyết định về việc sửa đổi phải được ghi lại cùng với lý do về việc sửa đổi, kể cả việc xem xét đến những rủi ro có thể áp dụng. Những quyết định về việc sửa đổi phải được các bên liên quan chấp thuận.

3. Tài liệu viện dẫnCác tài liệu viện dẫn sau rất cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất, bao gồm cả các sửa đổi, bổ sung (nếu có).

TCVN xxxx-1:2019, Kỹ thuật hệ thống và phần mềm - Kiểm thử phần mềm - Phần 1: Khái niệm và định nghĩa (ISO/IEC/IEEE 29119-1:2013, Software and systems engineering - Software testing - Part 1: Concepts and definitions).

TCVN xxxx-2:2019, Kỹ thuật hệ thống và phần mềm - Kiểm thử phần mềm - Phần 2: Quy trình kiểm thư (ISO/IEC/IEEE 29119-2:2013, Software and systems engineering - Software testing - Part 2: Test

9

Page 10: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

processes).

TCVN xxxx-3:2019, Kỹ thuật hệ thống và phần mềm - Kiểm thử phần mềm - Phần 3: Tài liệu kiểm thử (ISO/IEC/IEEE 29119-3:2013, Software and systems engineering - Software testing - Part 3: Test documentation).

4. Thuật ngữ và định nghĩaTiêu chuẩn này sử dụng các thuật ngữ và định nghĩa nêu trong ISO/IEC/IEEE 24765 và các thuật ngữ, định nghĩa dưới đây:CHÚ THÍCH: Việc sử dụng các thuật ngữ trong tiêu chuẩn này là để tiện tham khảo và không bắt buộc phải phù hợp với tiêu chuẩn này. Các thuật ngữ và định nghĩa dưới đây được đưa ra nhằm giúp người dùng nắm bắt và dễ đoc tiêu chuẩn này. Điều khoản này chỉ bao gồm các thuật ngữ then chốt liên quan đến tiêu chuẩn này. Điều khoản này không cung cấp danh sách đầy đủ các thuật ngữ kiểm thử. Tiêu chuẩn ISO/IEC/IEEE 24765: Từ vựng về các hệ thống và kỹ thuật phần mềm có thể được dùng tham chiếu cho các thuật ngữ không được định nghĩa tại điều này.

4.1. Dạng Backus-Naur (Backus-Naur Form)

Siêu ngôn ngữ hình thức được sử dụng để định nghĩa cú pháp của một ngôn ngữ trong một định dạng văn bản.

4.2. Lựa chọn cơ sở (base choice) Xem thuật ngữ giá trị cơ sở.

4.3.Giá trị cơ sở (base value)

Giá trị tham số đầu vào được sử dụng trong “kiểm thử lựa chon cơ sở”, các giá trị này thường được chon là các giá trị tiêu biểu hoặc đại diện cho tham số đó. Do đó, nó cũng được goi là lựa chon cơ sở.

4.4. c-useXem thuật ngữ sử dụng dữ liệu để tính toán. 4.5 Sử dụng dữ liệu để tính toán (computation data use) Sử dụng giá trị của một biến trong bất kỳ câu lệnh nào.

4.6. Điều kiện (Condition)

Biểu thức Boolean không chứa các toán tử Boolean.

Ví dụ: “A<B” là một biểu thức điều kiện nhưng “A và B” không phải là một biểu thức điều kiện.

4.7. Luồng điều khiển (Control flow)

Chuỗi các hoạt động được thực hiện trong khi thực thi một hạng mục kiểm thử.

4.8. Đường đi con của luồng điều khiển (control flow sub-path)

Chuỗi các câu lệnh có thể thực hiện trong một hạng mục kiểm thử.

4.9. Định nghĩa của dữ liệu (data definition)

Câu lệnh thực hiện gán một giá trị cho một biến. Định nghĩa của dữ liệu cũng được goi là định

10

Page 11: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

nghĩa của một biến.

4.10. Cặp định nghĩa dữ liệu - sử dụng biến để tính toán (data definition c-use pair)

Cặp lệnh định nghĩa dữ liệu và lệnh sử dụng biến để tính toán, trong đó câu lệnh sử dụng biến để tính toán sử dụng giá trị được định nghĩa trong câu lệnh định nghĩa của dữ liệu.

4.11. Cặp định nghĩa dữ liệu- sử dụng biến để kiểm tra điều kiện (data definition p-use pair)

Cặp lệnh định nghĩa của dữ liệu và lệnh sử dụng biến để kiểm tra điều kiện, trong đó câu lệnh sử dụng biến để kiểm tra điều kiện sử dụng giá trị được định nghĩa trong câu lệnh định nghĩa của dữ liệu.

4.12. Cặp định nghĩa - sử dụng dữ liệu (data definition-use pair) Cặp lệnh định nghĩa của dữ liệu và lệnh sử dụng dữ liệu, trong đó câu lệnh sử dụng dữ liệu sử dụng giá trị được định nghĩa trong câu lệnh định nghĩa của dữ liệu.

4.13. Sử dụng dữ liệu (data use)

Câu lệnh có thể thực thi sử dụng giá trị của một biến được truy cập.

4.14. Kết quả quyết định (decision outcome)

Kết quả của một quyết định (để xác định luồng điều khiển).

4.15. Quy tắc quyết định (decision rule)

Sự kết hợp của các điều kiện (hay còn goi là các nguyên nhân) và các hành động (hay còn goi là các kết quả) để tạo thành một kết quả cụ thể trong kỹ thuật kiểm thử bảng quyết định và đồ thị nguyên nhân - kết quả.

4.16. Cặp định nghĩa - sử dụng (definition-use pair)

Cặp lệnh định nghĩa của dữ liệu và lệnh sử dụng biến để kiểm tra điều kiện hoặc sử dụng biến để tính toán, trong đó lệnh sử dụng dữ liệu sử dụng giá trị được định nghĩa trong câu lệnh định nghĩa của dữ liệu.

4.17. Đường định nghĩa - sử dụng (definition-use path)

Đường đi con của luồng điều khiển xuất phát từ định nghĩa của một biến tới sử dụng biến để kiểm tra điều kiện (p-use) hoặc sử dụng biến để tính toán (c-use) của biến đó.

4.18. Điểm bắt đầu (entry point)

Điểm trong một hạng mục kiểm thử mà tại đó việc thực thi của hạng mục kiểm thử có thể bắt đầu.Chú thích 1 đối với điểm bắt đầu: Một điểm bắt đầu là một câu lệnh có thể thực thi được trong hạng mục kiểm thử mà có thể được lựa chon bởi một quá trình bên ngoài như là điểm bắt đầu cho một hoặc nhiều đường qua hạng mục kiểm thử. Nó thường là câu lệnh có thể thực thi đầu tiên trong hạng mục kiểm thử.

4.19. Câu lệnh có thể thực thi được (executable statement)

Câu lệnh mà khi được viết, được dịch sang mã nguồn sẽ được thực thi theo thủ tục khi hạng mục

11

Page 12: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

kiểm thử đang chạy và có thể thực hiện một hành động trên dữ liệu chương trình.

4.20. Điểm kết thúc (exit point)

Câu lệnh có thể thực thi cuối cùng trong một hạng mục kiểm thử.Chú thích 1 đối với điểm kết thúc: Một điểm kết thúc là một điểm cuối cùng của một đường đi qua một hạng mục kiểm thử, là một câu lệnh có thể thực thi được trong hạng mục kiểm thử mà hoặc là kết thúc hạng mục kiểm thử hoặc quay lại điều khiển một qui trình bên ngoài. Đây thường là câu lệnh có thể thực thi cuối cùng trong hạng mục kiểm thử.

4.21. p-useXem thuật ngữ sử dụng dữ liệu để kiểm tra các điều kiện.

4.22. Cặp P-V (P-V pair)

Kết hợp của một tham số hạng mục kiểm thử với một giá trị được gán cho tham số đó, được sử dụng như là một điều kiện kiểm thử và hạng mục bao phủ trong các kỹ thuật thiết kể kiểm thử tổ hợp.

4.23. Đường đi (Path)

Một chuỗi các câu lệnh thực thi trong một hạng mục kiểm thử.

4.24. Xác nhận (Predicate)

Biểu thức logic trả về giá trị Đúng hoặc Sai, thông thường để đưa ra hướng đường thực thi trong mã nguồn.

4.25. Sử dụng dữ liệu để kiểm tra các điều kiện (predicate data use)

Sử dụng dữ liệu kết hợp với kết quả quyết định của predicate của một câu lệnh quyết định.

4.26. Đường đi con (sub-path)

Đường đi mà là một phần của một đường đi lớn hơn.

4.27. Mô hình kiểm thử (test model)

Đại diện của một hạng mục kiểm thử được sử dụng trong suốt quá trình thiết kế trường hợp kiểm thử.

4.28. Định nghĩa của một biến (variable definition)

Xem phần thuật ngữ định nghĩa của dữ liệu.

5. Các kỹ thuật thiết kế kiểm thử5.1 Tổng quanTiêu chuẩn này định nghĩa các kỹ thuật thiết kế kiểm thử dựa trên đặc tả (điều 5.2), kiểm thử dựa trên cấu trúc (điều 5.3) và kiểm thử dựa trên kinh nghiệm (điều 5.4). Trong kiểm thử dựa trên đặc tả, cơ sở để kiểm thử (ví dụ: các yêu cầu, các đặc tả, các mô hình hoặc nhu cầu người dùng) được sử dụng làm nguồn thông tin chính để thiết kế các trường hợp kiểm thử. Trong kiểm thử dựa trên cấu trúc, cấu trúc của một hạng mục kiểm thử (ví dụ: mã nguồn hoặc cấu trúc của một mô hình) được sử dụng làm nguồn thông tin chính để thiết kế các trường hợp kiểm thử. Trong trường hợp kiểm thử dựa trên kinh

12

Page 13: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

nghiệm, kiến thức và kinh nghiệm của kỹ sư kiểm thử được sử dụng làm nguồn thông tin chính khi thiết kế trường hợp kiểm thử. Đối với kiểm thử dựa trên đặc tả, kiểm thử dựa trên cấu trúc và kiểm thử dựa trên kinh nghiệm, cơ sở kiểm thử được sử dụng để tạo ra các kết quả mong đợi. Các kỹ thuật thiết kế kiểm thử này được sử dụng kết hợp sẽ tăng thêm hiệu quả kiểm thử.

Mặc dù các kỹ thuật được trình bày trong tiêu chuẩn này được phân loại thành: Kỹ thuật kiểm thử dựa trên cấu trúc, kỹ thuật kiểm thử dựa trên đặc tả hay kỹ thuật kiểm thử dựa trên kinh nghiệm, nhưng trong thực tế một trong số các kỹ thuật này có thể được dùng thay thế cho nhau (ví dụ: kiếm thử nhánh có thể được sử dụng để thiết kế các trường hợp kiểm thử để kiểm thử các đường logic thông qua giao diện đồ hoa người dùng của một hệ thống dựa trên Internet). Ví dụ này được minh hoa trong phụ lục E. Mặc dù mỗi kỹ thuật được định nghĩa độc lập với các kỹ thuật khác, nhưng trong thực tế chúng có thể được sử dụng kết hợp với các kỹ thuật khác.

Ví dụ: Các hạng mục bao phủ kiểm thử được xác định khi áp dụng phương pháp phân vùng tương đương có thể được sử dụng làm các tham số đầu vào của các trường hợp kiểm thử được xây dựng theo phương pháp kiểm thử kịch bản.

Tiêu chuẩn này dùng các thuật ngữ Kiểm thử dựa trên đặc tả và kiểm thử dự trên cấu trúc; các kỹ thuật kiểm thử này còn được goi là “kiểm thử hộp đen” và “kiểm thử hộp trắng” (hoặc kiểm thử tính rõ ràng của hộp). Các thuật ngữ “hộp đen” và “hộp trắng” được đề cập ở đây muốn nói đến việc thấy rõ hoặc không thấy rõ cấu trúc bên trong của hạng mục kiểm thử. Trong kỹ thuật kiểm thử hộp đen, không nhìn thấy được cấu trúc bên trong của hạng mục kiểm thử (do đó được goi là hộp đen). Trong khi đó, đối với kiểm thử hộp trắng, thấy được cấu trúc mã nguồn bên trong của chương trình. Một kỹ thuật khác được áp dụng bằng cách kết hợp kiến thức của kiểm thử dựa trên đặc tả và kiểm thử dựa trên cấu trúc được goi “kiểm thử hộp xám”.

Tiêu chuẩn này xác định cách mà các bước chung của quy trình Thiết kế và chuẩn bị kiểm thử như TD2 (xác định các điều kiện kiểm thử), TD3 (xác định các hạng mục bao phủ kiểm thử), bước TD4 (xây dựng các trường hợp kiểm thử) được định nghĩa trong ISO/IEC/IEEE 29119-2 (xem phần giới thiệu) sẽ được áp dụng cho từng kỹ thuật. Tiêu chuẩn này không đưa ra các định nghĩa cụ thể của các kỹ thuật mà nó miêu tả cách thức từng kỹ thuật sẽ sử dụng trong moi tình huống. Người sử dụng tiêu chuẩn này có thể tham chiếu phụ lục B, phụ lục C, phụ lục D và phụ lục E để xem các ví dụ chi tiết minh hoa cách thức áp dụng các kỹ thuật thiết kế kiểm thử.

Các kỹ thuật thiết kế kiểm thử được định nghĩa trong tiêu chuẩn này được trình bày trong Hình 2. Các kỹ thuật được sử dụng bởi các nhà nghiên cứu hoặc nhóm những người kiểm thử không được đề cập trong tiêu chuẩn này.

13

Page 14: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

Kiểm thử tất cả các định nghĩa của biến (điều 5.3.7.2)

Kiểm thử tất cả các c-use (điều 5.3.7.3)

Kiểm thử tất cả các p-use (điều 5.3.7.4)

Kiểm thử tất cả sử dụng (điều 5.3.7.5)

Kiểm thử tất cả các đường định nghĩa-sử dụng (5.3.7.6)

Các kỹ thuật kiểm thửdựa trên cấu trúc (điều 5.3)

Kiểm thử câu lệnh(điều 5.3.1)

Kiểm thử nhánh(điều 5.3.2)

Kiểm thử quyết định(điều 5.3.3)

Kiểm thử điều kiện nhánh (điều 5.3.4)

Kiểm thử kết hợp đ/k nhánh (điều 5.3.5)

Kiểm thử MCDC(điều 5.3.6)

Kiểm thử luồng dữ liệu (điều 5.3.7)

Kiểm thử tất cả các tổ hợp (điều 5.2.5.3)

Kiểm thử từng cặp (điều 5.2.5.4)

Kiểm thử từng lựa chọn (điều 5.2.5.5)

Kiểm thử lựa chọn cơ sở (điều 5.2.5.6)

Các kỹ thuật kiểm thửdựa trên đặc tả (điều 5.2)

Phân vùng tương đương (điều 5.2.1)

Phương pháp cây phân loại (điều 5.2.2)

Phân tích giá trị biên (điều 5.2.3)

Kiểm thử cú pháp (điều 5.2.4)

Các kỹ thuật kiểm thử tổ hợp (5.2.5)

Kiểm thử bảng quyết định (điều 5.2.6)

Đồ thị nguyên nhân – kết quả (điều 5.2.7)

Kiểm thử chuyển đổi trạng thái (điều 5.2.8)

Kiểm thử kịch bản (điều 5.2.9)

Kiểm thử ngẫu nhiên (5.2.10)

Các kỹ thuật kiểm thử trình bày trong tiêu chuẩn này

Các kỹ thuật kiểm thửdựa trên kinh nghiệm (điều 5.4)

Đoán lỗi(điều 5.4.1)

TCVN xxxx-4:2019

Hình 2 - Các kỹ thuật thiết kế kiểm thử được trình bày trong tiêu chuẩn nàyTrong số 6 hoạt động trong quy trình Thiết kế và chuẩn bị kiểm thử (được trình bày trong Hình 1), các kỹ thuật thiết kế kiểm thử cung cấp hướng dẫn cụ thể việc Xác định các điều kiện kiểm thử (TD2), xác định các hạng mục bao phủ kiểm thử (TD3) và xây dựng các trường hợp kiểm thử (TD4). Do đó, mỗi kỹ thuật kiểm thử được định nghĩa theo các thuật ngữ của ba hoạt động này.

14

Page 15: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Có nhiều mức trong các bước TD2 (xác định các điều kiện kiểm thử), TD3 (xác định các hạng mục bao phủ kiểm thử), TD4 (xây dựng các trường hợp kiểm thử). Trong mỗi kỹ thuật kiểm thử, thuật ngữ “mô hình” được sử dụng để mô tả việc chuẩn bị một hạng mục kiểm thử để xác định các điều kiện kiểm thử trong bước TD2 (ví dụ: mô hình luồng điều khiển được yêu cầu để xác định các điều kiện kiểm thử cho tất cả các kỹ thuật kiểm thử dựa trên cấu trúc). Trong một số trường hợp, có thể đòi hỏi sử dụng toàn bộ mô hình làm điều kiện kiểm thử, ngược lại trong một số trường hợp khác, chỉ cần sử dụng một phần của mô hình làm điều kiện kiểm thử.

Ví dụ 1: Trong kiểm thử chuyển đổi trạng thái, nếu yêu cầu phải bao phủ tất cả các trạng thái thì có thể sử dụng môt mô hình trạng thái đầy đủ làm điều kiện kiểm thử. Ngoài ra, nếu yêu câu phải bao phủ các quá trình chuyển đổi giữa các trạng thái thì mỗi một quá trình chuyển đổi có thể được coi như là một điều kiện kiểm thử.

Ngoài ra, do một số kỹ thuật kiểm thử dùng chung các khái niệm cơ bản nên các định nghĩa có thể có các đề mục giống nhau.

Ví dụ 2: Cả hai kỹ thuật phân vùng tương đương và phân tích giá trị biên đều đề cập đến khái niệm về phân lớp tương đương.

Trong bước xây dựng các trường hợp kiểm thử (TD4) của mỗi một kỹ thuật thiết kế kiểm thử, các trường hợp kiểm thử được xây dựng có thể “hợp lệ” (có nghĩa là chúng chứa các giá trị đầu vào mà hạng mục kiểm thử trả về kết quả là đúng) hoặc “không hợp lệ” (có nghĩa là chúng chứa ít nhất một giá trị đầu vào mà hạng mục kiểm thử tra về kết quả là sai bằng một thông báo lỗi). Trong một số kỹ thuật, chẳng hạn như kỹ thuật phân vùng tương đương và kỹ thuật phân tích giá trị biên, các trường hợp kiểm thử không hợp lệ thường được xây dựng bằng phương pháp “một - một” để tránh việc che giấu lỗi để đảm bảo mỗi trường hợp kiểm thử chỉ có một giá trị đầu vào không hợp lệ, trong khi đó các trường hợp kiểm thử hợp lệ được xây dựng theo phương pháp “giảm tối thiểu” nhằm làm giảm tối số lượng các trường hợp kiểm thử mà vẫn bao phủ hết các hạng mục bao phủ kiểm thử hợp lệ (xem điều 5.2.1.3 và 5.2.3.3).CHÚ THÍCH: Các trường hợp kiểm thử không hợp lệ có thể được goi là “các trường hợp kiểm thử sai” .

Mặc dù các kỹ thuật kiểm thử định nghĩa trong tiêu chuẩn này được trình bày trong các điều khoản riêng (như thể chúng không liên quan với nhau) nhưng trong thực tế chúng lại có thể kết hợp với nhau khi áp dụng.

Ví dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chon các giá trị đầu vào kiểm thử, kỹ thuật kiểm thử từng cặp có thể được sử dụng để thiết kế các trường hợp kiểm thử từ các giá trị đầu vào kiểm thử. Kỹ thuật phân vùng tương đương được có thể được sử dụng để lựa chon các phân lớp và các lớp dùng cho phương pháp cây phân loại và kiểm thử được lựa chon có thể được sử dụng để xây dựng các trường hợp kiểm thử từ các lớp.

Các kỹ thuật kiểm thử được trình bày trong tiêu chuẩn này cũng có thể được sử dụng kết hợp với các kiểu kiểm thử được trình bày trong phụ lục A. Ví dụ, kỹ thuật phân vùng tương đương có thể được sử dụng để xác định nhóm người dùng (các điều kiện kiểm thử) và người dùng đại diện (các hạng mục bao phủ kiểm thử) từ các nhóm trong các trường hợp kiểm thử được kiểm thử trong khi kiểm thử tính khả dụng.

Điều 5 trình bày các định nghĩa về các kỹ thuật kiểm thử. Điều 6 trình bày các phương pháp tính độ bao phủ tương ứng với từng kỹ thuật kiểm thử. Các ví dụ minh hoa cho mỗi kỹ thuật được trình bày cụ thể trong các phụ lục B, C, D và E. Mặc dù các ví dụ của mỗi một kỹ thuật kiểm thử minh hoa việc áp dụng các kỹ thuật theo phương pháp thủ công, tuy nhiên trong thực tế, có thể sử dụng kiểm thử tự động để hỗ trợ một vài kiểu thiết kế và thực thi kiểm thử (ví dụ các công cụ phân tích độ bao phủ câu lệnh có thể được sử dụng để hỗ trợ kỹ thuật kiểm thử dựa trên cấu trúc). Phụ lục A trình bày các ví dụ về cách thức áp dụng các kỹ thuật thiết kế kiểm thử định nghĩa trong chuẩn này có thể được áp dụng để kiểm thử các đặc tính chất lượng phần mềm định nghĩa trong tiêu chuẩn ISO/IEC 25010.

5.2 Các kỹ thuật kiểm thử dựa trên đặc tả5.2.1 Phân vùng tương đương5.2.1.1 Xác định các điều kiện kiểm thử (TD2)Kỹ thuật phân vùng tương đương (BS 7925-2:1998, Myers đưa ra năm 1979) sử dụng một mô hình

15

Page 16: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

hạng mục kiểm thử để phân chia đầu vào và đầu ra thành các vùng tương đương (còn được goi là “các phân vùng” hay “các lớp tương đương”), trong đó mỗi phân vùng tương đương sẽ được coi là một điều kiện kiểm thử. Những phân vùng tương đương này sẽ được xác định từ cơ sở kiểm thử, trong đó mỗi phân vùng được lựa chon sao cho tất cả các giá trị nằm trong phân vùng tương đương có thể được xử lý như nhau bởi các hạng mục kiểm thử (tức là chúng có thể được coi là “tương đương”). Kỹ thuật phân vùng tương đương có thể tạo ra cho cả các giá trị đầu vào và đầu ra hợp lệ và không hợp lệ.

Ví dụ: Đối với một hạng mục kiểm thử coi các ký tự là chữ cái in thường là đầu vào (hợp lệ), có thể xác định được các phân vùng tương đương đầu vào không hợp lệ bao gồm các phân vùng tương đương chứa các số nguyên, số thực, các chữ cái in hoa, các biểu tượng và các ký tự điều khiển tùy thuộc vào yêu cầu mức độ chính xác trong quá trình kiểm thử.CHÚ THÍCH 1: Đối với các phân vùng tương đương đầu ra, các phân vùng đầu vào tương ứng được tạo ra dựa trên quy trình được miêu tả trong đặc tả của các hạng mục kiểm thử. Các đầu vào kiểm thử sau đó được lựa chon từ các phân vùng đầu vào.

CHÚ THÍCH 2: Các phân vùng đầu ra không hợp lệ tương ứng với bất kỳ đầu ra nào mà chưa được xác định rõ ràng. Do không xác định được nên việc nhận biết các phân vùng tương đương thường dựa trên tính chủ quan của kỹ sư kiểm thử. Dạng thiết kế kiểm thử mang tính chủ quan này có thể xuất hiện khi áp dụng các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm như đoán lỗi.

CHÚ THÍCH 3: Phân tích miền (Beizer 1995) được coi là sự kết hợp của kỹ thuật phân vùng tương đương và phân tích giá trị biên.

5.2.1.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Mỗi phân vùng tương đương được coi là một hạng mục bao phủ kiểm thử (tức là đối với kỹ thuật phân vùng tương đương thì các điều kiện kiểm thử và các hạng mục bao phủ kiểm thử chính là các phân vùng tương đương nhau).

5.2.1.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng để thực hiện các hạng mục bao phủ kiểm thử (tức là các phân vùng tương đương). Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon một phương pháp dưới đây khi kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi các trường hợp kiểm thử, có hai phương pháp phổ biến (được trình bày trong BS 7925-2: 1998; Myers 1979) là:

1) Phương pháp phân vùng tương đương một - một, trong đó xây dựng một trường hợp kiểm thử bao phủ một vùng tương đương cụ thể;

2) Phương pháp phân vùng tương đương tối thiểu hóa, trong đó xây dựng một số lượng tối thiểu các trường hợp kiểm thử bao phủ tất cả các phân vùng tương đương ít nhất một lần.

CHÚ THÍCH: Các phương pháp khác dùng để kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi trường hợp kiểm thử được mô tả trong điều 5.2.5 (các kỹ thuật thiết kế kiểm thử tổ hợp).

b) Lựa chon (các) hạng mục bao phủ kiểm thử cho các trường hợp kiểm thử hiện có dựa trên phương pháp đã chon ở bước a);

c) Xác định giá trị đầu vào để thực hiện các hạng mục bao phủ kiểm thử được bao phủ bởi trường hợp kiểm thử và xác định giá trị hợp lệ tùy ý cho bất kỳ biến đầu vào khác theo yêu cầu của các trường hợp kiểm thử;

d) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

e) Lặp lại các bước từ b) đến d) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.2.2 Phương pháp cây phân loại5.2.2.1 Xác định các điều kiện kiểm thử (TD2)Phương pháp cây phân loại (được Grochtmann và Grimm đưa ra năm 1993) sử dụng một mô hình các hạng mục kiểm thử để phân vùng các đầu vào của hạng mục kiểm thử và biểu diễn chúng dưới dạng sơ đồ cây được goi là cây phân loại. Đầu vào của các hạng mục kiểm thử được phân chia thành "các phân lớp", trong đó mỗi phân lớp bao gồm một tập các "lớp" rời nhau (không chồng chéo nhau) và

16

Page 17: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

thường goi là các lớp con, các phân lớp này phải đầy đủ (gồm tất cả các phân lớp của tất cả các đầu vào có liên quan đến miền hạng mục kiểm thử đã được mô hình hóa và đã được xác định). Đối với phương pháp cây phân loại, mỗi phân lớp sẽ là một điều kiện kiểm thử. "Các lớp" là kết quả của quá trình phân chia các phân lớp, các lớp này có thể được phân chia nhỏ thành các "lớp con" tùy thuộc vào mức độ chính xác yêu cầu trong khi kiểm thử. Các phân lớp và các lớp có thể được xây dựng cho cả dữ liệu đầu vào hợp lệ và không hợp lệ, tùy thuộc vào mức độ bao phủ kiểm thử quy định. Mối quan hệ thứ bậc giữa các phân lớp, các lớp và các lớp con được biểu diễn dưới dạng một mô hình cây, trong đó miền đầu vào của các hạng mục kiểm thử là nút gốc, các phân lớp là các nút nhánh, và các lớp hoặc lớp con là các nút lá.CHÚ THÍCH: Quá trình phân vùng trong phương pháp cây phân loại tương tự như phân vùng tương đương. Sự khác biệt chính là trong phương pháp cây phân loại, các phân vùng (là các phân lớp và các lớp) phải hoàn toàn tách rời nhau, trong khi đó ở phân vùng tương đương, các phân lớp và các lớp có thể chồng lấn nhau tùy thuộc vào cách kỹ thuật phân vùng được áp dụng. Ngoài ra, phương pháp cây phân loại phải thiết kế một cây phân loại mà mô tả trực quan về các điều kiện kiểm thử.

5.2.2.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Các hạng mục bao phủ kiểm thử được xác định bằng cách kết hợp các lớp bằng một phương pháp kết hợp được lựa chon dưới đây.

Ví dụ: Có hai phương pháp dùng để kết hợp các lớp vào trong các hạng mục bao phủ kiểm thử, đó là:

- Phương pháp tối thiểu hóa, trong đó các lớp được đưa ra trong các hạng mục bao phủ kiểm thử để tạo ra một số lượng tối thiểu các hạng mục bao phủ kiểm thử mà bao phủ tất cả các lớp ít nhất một lần;

- Phương pháp tối đa hóa, trong đó các lớp được đưa ra trong các hạng mục bao phủ kiểm thử để mỗi kết hợp của các lớp được bao phủ bởi ít nhất một hạng mục bao phủ kiểm thử.

CHÚ THÍCH 1: Các phương pháp khác dùng để kết hợp các hạng mục bao phủ kiểm thử được mô tả trong điều 5.2.5 (các kỹ thuật thiết kế kiểm thử tổ hợp).

CHÚ THÍCH 2: Các hạng mục bao phủ kiểm thử thường được minh hoa bằng một bảng kết hợp (xem hình B.5 trong điều B.2.2.5).

CHÚ THÍCH 3: Bản xuất bản đầu tiên của phương pháp cây phân loại (được Grochtmann và Grimm đưa ra năm 1993) sử dụng các thuật ngữ "tối thiểu" và "tối đa" thay cho "tối thiểu hóa" và " tối đa hóa".

5.2.2.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng để thực hiện các hạng mục bao phủ kiểm thử. Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Dựa trên phương pháp kết hợp các lớp được tạo ra trong bước TD3, kết hợp các trường hợp kiểm thử hiện có vẫn chưa được bao phủ bởi một trường hợp kiểm thử nào;

b) Xác định các giá trị đầu vào cho bất kỳ lớp nào mà chưa có một giá trị được gán;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.2.3 Phân tích giá trị biên5.2.3.1 Xác định các điều kiện kiểm thử (TD2)Phân tích giá trị biên (BS 7925-2: 1998; được Myers đưa ra năm 1979) sử dụng một mô hình hạng mục kiểm thử để phân chia các đầu vào và đầu ra của hạng mục kiểm thử thành các tập và các tập con (phân vùng và phân vùng con) có các biên xác định, trong đó mỗi biên là một điều kiện kiểm thử. Các biên sẽ được xác định từ cơ sở kiểm thử.

Ví dụ: Đối với một phân vùng được xác định là các số nguyên từ 1 đến 10, có hai biên là 1 và 10. Trong đó biên dưới là 1 và biên trên là 10, đây chính là những điều kiện kiểm thử.CHÚ THÍCH: Đối với các biên đầu ra, các phân vùng đầu vào tương ứng được xác định dựa trên phương thức được mô tả trong đặc tả của các hạng mục kiểm thử. Đầu vào kiểm thử sau đó được lựa chon từ các phân vùng đầu vào.

17

Page 18: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

5.2.3.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Áp dụng một trong hai tùy chon dưới đây khi xác định các hạng mục bao phủ kiểm thử:

- Kiểm thử hai giá trị biên; 

- Kiểm thử ba giá trị biên.

Đối kiểm thử hai giá trị biên, hai hạng mục bao phủ kiểm thử được xác định cho mỗi biên (điều kiện kiểm thử) tương ứng với các giá trị trên biên và cách phía ngoài biên của phân vùng tương đương một khoảng cách. Khoảng cách này sẽ được xác định là giá trị nhỏ nhất cho các kiểu dữ liệu được xem xét.

Đối với kiểm thử ba giá trị biên, ba hạng mục bao phủ kiểm thử được xác định cho mỗi biên (điều kiện kiểm thử) tương ứng với các giá trị trên biên và cách mỗi bên của biên của phân vùng tương đương một khoảng cách. Khoảng cách này sẽ được xác định là giá trị nhỏ nhất cho các kiểu dữ liệu được xem xét.CHÚ THÍCH 1: Một số phân vùng có thể chỉ có một biên duy nhất được xác định trong cơ sở kiểm thử.  Ví dụ, phân vùng thuộc dạng số "tuổi ≥ 70" có một biên dưới nhưng không có biên trên. Trong một vài trường hợp một giá trị được tạo ra khi thực thi thực tế có thể được sử dụng làm giá trị biên, chẳng hạn như giá trị lớn nhất được chấp nhận bởi các trường đầu vào (những quyết định như vậy cần phải được ghi vào văn bản, ví dụ như ghi vào trong tài liệu đặc tả kiểm thử).

CHÚ THÍCH 2: Kiểm thử hai giá trị biên thích hợp với hầu hết các tình huống; Tuy nhiên, kiểm thử ba giá trị biên có chỉ thể được dùng cho một số trường hợp (ví dụ như kiểm thử tính chính xác để kiểm tra xem liệu có lỗi nào xuất hiện khi kỹ sư kiểm thử và lập trình viên xác định các biên của các biến trong các hạng mục kiểm thử không).

CHÚ THÍCH 3: Trong cả kiểm thử hai giá trị biên và kiểm thử ba giá trị biên, các phân vùng tiếp giáp nhau (tức là các phân vùng có chung một biên) sẽ có các hạng mục bao phủ kiểm thử giống hệt nhau, trong trường hợp này, thực tế chỉ thực hiện các giá trị giống nhau này một lần. Đối với ví dụ về các biên giống nhau, xem điều B.2.3.4.3.

5.2.3.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng để thực hiện các hạng mục bao phủ kiểm thử. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon một phương pháp dưới đây khi kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi các trường hợp kiểm thử, có hai phương pháp phổ biến (BS 7925-2: 1998; Myers 1979) là:

1) Phương pháp phân tích giá trị biên một - một, tức là xây dựng một trường hợp kiểm thử để thực hiện một và chỉ một giá trị biên cụ thể;

2) Phương pháp phân tích giá trị biên tối thiểu hóa, tức là xây dựng một số lượng tối thiểu các trường hợp kiểm thử để bao phủ tất cả các giá trị biên ít nhất một lần.

CHÚ THÍCH 1: Đối với phương pháp phân tích giá trị biên tối thiểu hóa, mỗi trường hợp kiểm thử có thể bao phủ nhiều hạng mục bao phủ kiểm thử.

CHÚ THÍCH 2: Các phương pháp khác dùng để kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi trường hợp kiểm thử được mô tả trong 5.2.5 (kỹ thuật thiết kế kiểm thử tổ hợp).

b) Lựa chon (các) hạng mục bao phủ kiểm thử cho các trường hợp kiểm thử hiện có dựa trên phương pháp lựa chon trong bước a);

c) Xác định giá trị hợp lệ tùy ý cho bất kỳ biến đầu vào khác theo yêu cầu bởi các trường hợp thử mà chưa được lựa chon ở bước b);

d) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho các cơ sở kiểm thử;

e) Lặp lại các bước b) đến d) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.2.4 Kiểm thử cú pháp5.2.4.1 Xác định các điều kiện kiểm thử (TD2)Kiểm thử cú pháp (Beizer 1995; Burnstein 2003) sử dụng một mô hình các đầu vào một hạng mục kiểm thử làm cơ sở để thiết kế kiểm thử. Mô hình cú pháp này được đại diện là một số quy tắc, trong đó mỗi quy tắc định nghĩa một định dạng của một tham số đầu vào bằng các thuật ngữ như "chuỗi", "lặp đi lặp lại của", hoặc "những lựa chon giữa" các thành phần trong cú pháp. Cú pháp này có thể được biểu diễn nguyên bản hoặc dưới dạng sơ đồ. Trong kiểm thử cú pháp, điều kiện kiểm thử sẽ là toàn bộ hoặc một phần mô hình của đầu vào các hạng mục kiểm thử.

18

Page 19: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Ví dụ 1: Backus Naur-form là siêu ngôn ngữ chính thức có thể được sử dụng để định nghĩa cú pháp cho một mục kiểm thử dưới một định dạng văn bản.

Ví dụ 2: Có thể sử dụng một cây cú pháp trừu tượng để biểu diễn cú pháp chính thức dưới dạng sơ đồ.

5.2.4.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử cú pháp, các hạng mục bao phủ kiểm thử được xác định dựa trên hai mục tiêu: kiểm thử những trường hợp đúng, trong đó các hạng mục bao phủ kiểm thử được xác định để bao phủ cú pháp hợp lệ, và kiểm thử những trường hợp không hợp lệ, trong đó các hạng mục bao phủ kiểm thử được xác định để cố ý vi phạm các quy tắc của cú pháp. Đối với kiểm thử những trường hợp đúng, các hạng mục bao phủ kiểm thử sẽ là "những tùy chon" của cú pháp, còn đối với kiểm thử những trường hợp không hợp lệ, các hạng mục bao phủ kiểm thử sẽ là "những đột biến" của cú pháp.

Có thể sử dụng các hướng dẫn dưới đây để xác định "các tùy chon" (có thể sử dụng những hướng dẫn thay thế nếu thích hợp):

- Khi mà lựa chon được quy định bằng cú pháp, một "tùy chon" được tạo ra cho mỗi trường hợp cung cấp cho sự lựa chon đó;

Ví dụ 1: Đối với các tham số đầu vào "màu = xanh dương | đỏ | xanh lá" (trong đó dấu | đại diện cho toán tử Boolean "OR"), ba tùy chon "xanh dương","đỏ" và "xanh lá" chính là các hạng mục bao phủ kiểm thử.

- Khi mà một lặp lại được quy định bằng cú pháp, ít nhất hai "tùy chon" được tạo ra cho lặp lại đó; một với số lần lặp tối thiểu và một với nhiều hơn số lần lặp tối thiểu;

Ví dụ 2: Đối với tham số đầu vào là "chữ cái = [A - Z | a - z] + "(trong đó dấu "+ " đại diện cho "một hoặc nhiều"), hai tùy chon "một chữ cái" và "nhiều hơn một chữ cái " chính là các hạng mục bao phủ kiểm thử.

- Khi mà việc lặp lại được quy định với số lần lặp tối đa, ít nhất hai "tùy chon" được tạo ra cho lặp lại đó; một với số lần lặp tối đa và một với nhiều hơn số lần lặp tối đa.

Ví dụ 3: Đối với các tham số đầu vào là "chữ cái = [A - Z | a - z]100" (trong đó "100" đại diện cho một chữ cái có thể được lựa chon lên đến 100 lần), hai tùy chon đó là "100 chữ cái" và "trên 100 chữ cái" chính là các hạng mục bao phủ kiểm thử.

Có thể sử dụng các hướng dẫn dưới đây để tạo ra "những đột biến" (có thể sử dụng những hướng dẫn thay thế nếu thích hợp):

- Đối với bất kỳ đầu vào nào, cú pháp đã định nghĩa có thể đột biến gây ra các đầu vào không hợp lệ ("đột biến").

Ví dụ 4: Đối với các tham số đầu vào "màu = xanh dương | đỏ | xanh lá", nếu lựa chon "màu vàng" sẽ là "đột biến" vì trong các tham số đầu vào không có "màu vàng". Đây được coi là một đột biến và đó chính là hạng mục bao phủ kiểm thử. Những đột biến khác được trình bày trong điều B.2.4.5.

5.2.4.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử đối với kiểm thử cú pháp được xây dựng để bao phủ các tùy chon và các đột biến. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon một phương pháp dưới đây khi kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi các trường hợp kiểm thử, có đó hai phương pháp phổ biến là:

1) Phương pháp một - một, trong đó mỗi trường hợp kiểm thử được tạo ra để thực hiện duy nhất một tùy chon, một lần lặp và/ hoặc một đột biến cụ thể; 

2) Phương pháp tối thiểu hóa, trong đó các tùy chon, các lần lặp và/ hoặc các đột biến có trong các trường hợp kiểm thử sao cho chỉ cần tạo ra một số lượng tối thiểu các trường hợp kiểm thử mà bao phủ được tất cả các tùy chon, các lần lặp và/ hoặc các đột biến ít nhất một lần.

CHÚ THÍCH: Các phương pháp khác dùng để kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi trường hợp kiểm thử được mô tả trong điều 5.2.5 (các kỹ thuật thiết kế kiểm thử tổ hợp).

19

Page 20: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

b) Lựa chon các hạng mục bao phủ kiểm thử cho các trường hợp kiểm thử hiện có;

c) Xác định giá trị đầu vào để thực hiện (các) hạng mục bao phủ kiểm thử được bao phủ bởi các trường hợp kiểm thử và xác định giá trị hợp lệ tùy ý cho bất kỳ biến đầu vào khác theo yêu cầu của trường hợp kiểm thử;

d) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

e) Lặp lại các bước từ b) đến d) cho đến khi tạo ra tất cả các tùy chon, những lặp đi lặp lại và / hoặc các đột biến cú pháp.

5.2.5 Các kỹ thuật thiết kế kiểm thử tổ hợp5.2.5.1 Tổng quanCác kỹ thuật thiết kế kiểm thử tổ hợp được sử dụng để xây dựng một tập con các trường hợp kiểm thử có ý nghĩa và có thể quản lý được mà bao phủ các điều kiện kiểm thử và các hạng mục bao phủ kiểm thử có thể tạo ra trong khi kiểm thử. Các tổ hợp được xác định theo các tham số hạng mục kiểm thử và các giá trị mà các tham số này có thể có được. Nếu có nhiều tham số (mỗi tham số có nhiều giá trị rời rạc) ảnh hưởng lẫn nhau, kỹ thuật này cho phép giảm đáng kể số lượng các trường hợp kiểm thử quy định mà không ảnh hưởng đến độ bao phủ chức năng.

5.2.5.2 Xác định các điều kiện kiểm thử (TD2)Các tham số hạng mục kiểm thử biểu diễn các khía cạnh cụ thể của các hạng mục kiểm thử có liên quan đến kiểm thử, nó tương ứng với các tham số đầu vào đối với các hạng mục kiểm thử, cũng có thể sử dụng các khía cạnh khác của hạng mục kiểm thử.

Ví dụ 1: Trong kiểm thử cấu hình, tham số có thể là các yếu tố môi trường khác nhau, chẳng hạn như hệ điều hành và trình duyệt.

Mỗi tham số hạng mục kiểm thử có thể đưa ra các giá trị khác nhau. Để sử dụng trong kỹ thuật này thì tập các giá trị phải là hữu hạn và có thể quản lý được. Một số tham số hạng mục kiểm thử có thể bị hạn chế để chỉ đưa ra một tập nhỏ các giá trị trong khi các tham số hạng mục kiểm thử khác có thể ít bị hạn chế hơn khi đưa ra một tập nhỏ các giá trị.

Ví dụ 2: Một tham số hạng mục kiểm thử có thể hạn chế đến một số nhỏ các giá trị, đó là tham số "ngày trong tuần" chỉ có thể có bảy giá trị cụ thể đó là "[Thứ hai | Thứ ba | Thứ tư | Thứ năm | Thứ sáu | Thứ bảy | Chủ nhật]".

Ví dụ 3: Một tham số hạng mục kiểm thử ít bị hạn chế hơn là một tham số bao gồm bất kỳ số thực nào mà tồn tại một dãy số vô hạn.

Đối với các tham số hạng mục kiểm thử không bị hạn chế, cần phải áp dụng các kỹ thuật thiết kế kiểm thử khác, chẳng hạn như phân vùng tương đương hoặc phân tích giá trị biên để giảm một tập lớn các giá trị có thể đối với một tham số xuống một tập con có thể quản lý được.

Các điều kiện kiểm thử đối với kiểm thử tổ hợp tương tự với tất cả các kỹ thuật thiết kế kiểm thử tổ hợp; mỗi điều kiện thử sẽ là một tham số hạng mục kiểm thử được lựa chon (P) với một giá trị cụ thể (V), sẽ tạo thành một cặp PV.

5.2.5.3 Kiểm thử tất cả các tổ hợp 5.2.5.3.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử “tất cả các tổ hợp” (Grindal, Offutt and Andler đưa ra năm 2005), các hạng mục bao phủ kiểm thử sẽ là các phần tử của một tập các tổ hợp khác nhau của các cặp PV sao cho mỗi tham số được bao phủ ít nhất một lần trong tập các tổ hợp này.

5.2.5.3.2 Xây dựng các trường hợp kiểm thử (TD4)Xây dựng các trường hợp kiểm thử trong đó mỗi trường hợp kiểm thử thực thi một tổ hợp duy nhất các cặp PV. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) hạng mục bao phủ kiểm thử cho các trường hợp kiểm thử hiện có chưa được bao phủ bởi một trường hợp kiểm thử nào;

20

Page 21: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

b) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho cơ sở kiểm thử;

c) Lặp lại các bước từ a) và b) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Số lượng tối thiểu các trường hợp kiểm thử cần thiết để đạt được 100% độ bao kiểm thử tất cả các tổ hợp tương ứng với số cặp PV được kết hợp cho từng tham số hạng mục kiểm thử.

5.2.5.4 Kiểm thử từng cặp 5.2.5.4.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử từng cặp (Grindal, Offutt và Andler đưa ra năm 2005), các hạng mục bao phủ kiểm thử là các cặp độc nhất của cặp PV, trong đó mỗi cặp PV trong một cặp dùng cho một tham số hạng mục kiểm thử khác nhau. Thay vì tất cả các tổ hợp có thể có của các tham số (như đã quy định đối với kiểm thử tất cả các hợp), kỹ thuật này bao gồm tất cả các cặp giá trị được chon trong toàn bộ tập các giá trị, do đó việc thực hiện các hạng mục kiểm thử có ít trường hợp kiểm thử hơn sẽ rất hiệu quả. Kiểm thử từng cặp cũng được goi là là kiểm thử "tất cả các cặp".

5.2.5.4.2 Xây dựng các trường hợp kiểm thử (TD4)Trước tiên phải xác định các cặp PV, sau đó sẽ xây dựng các trường hợp kiểm thử để thực hiện các cặp PV, trong đó mỗi trường hợp kiểm thử thực thi một hoặc nhiều cặp PV. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) hạng mục bao phủ kiểm thử cho các trường hợp kiểm thử hiện có, trong đó mỗi cặp của các cặp PV bao gồm một cặp các giá trị tham số khác nhau mà chưa được bao gồm trong một trường hợp kiểm thử nào;

b) Xác định các giá trị hợp lệ tùy ý cho bất kỳ tham số khác có mặt trong các trường hợp kiểm thử;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) đến khi tất cả các cặp khác nhau của cặp PV đã được thực hiện.

Không dễ để tính toán được số lượng tối thiểu các trường hợp kiểm thử qui định để đạt được 100% độ bao phủ kiểm thử từng cặp. Một tập gần như tối ưu các trường hợp kiểm có thể được coi là chấp nhận được và có thể được tính toán bằng cách sử dụng một trong ba tùy chon dưới đây:

- Xác định một tập gần như tối ưu các trường hợp kiểm thử bằng cách sử dụng một thuật toán;

- Sử dụng một công cụ tự động (thực hiện một thuật toán) để xác định một tập gần như tối ưu các trường hợp kiểm thử; 

- Sử dụng các mảng trực giao (Mandl 1985) để xác định một tập gần như tối ưu các trường hợp kiểm thử.

5.2.5.5 Kiểm thử từng lựa chọn 5.2.5.5.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử từng lựa chon (hoặc kiểm thử 1-wise) (Grindal, offutt và Andler đưa ra năm 2005), các hạng mục bao phủ kiểm thử là các phần tử của một tập các cặp PV sao cho mỗi giá trị tham số có mặt ít nhất một lần trong tập này.

5.2.5.5.2 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng để thực hiện các cặp PV, trong đó mỗi trường hợp kiểm thử thực thi một hoặc nhiều cặp PV mà trước đó chưa có mặt trong một trường hợp kiểm thử nào. Sử dụng các bước dưới đây để xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) hạng mục bao phủ kiểm thử cho các trường hợp kiểm thử hiện có, trong đó ít nhất một hạng mục bao phủ kiểm thử được lựa chon có mặt trong một trường hợp kiểm thử trước đó;

b) Xác định các giá trị hợp lệ tùy ý cho bất kỳ tham số khác có mặt trong các trường hợp kiểm thử;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho các cơ sở kiểm thử;

21

Page 22: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

Số lượng tối thiểu các trường hợp kiểm thử cần thiết để đạt được 100% độ bao phủ kiểm thử từng lựa chon tương ứng với số lượng tối đa các giá trị mà bất kỳ một trong những tham số hạng mục kiểm thử có thể có.

5.2.5.6 Kiểm thử lựa chọn cơ sở 5.2.5.6.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử lựa chon cơ sở (Grindal, offutt và Andler đưa ra năm 2005), các hạng mục bao phủ kiểm thử là các tập chứa các cặp PV cho từng tham số đầu vào, trong đó tất cả các tham số, ngoại trừ một tham số được thiết lập làm giá trị "cơ sở" và tham số cuối cùng được thiết lập là một trong các giá trị hợp lệ khác.CHÚ THÍCH: Có một số phương pháp lựa chon các giá trị cơ sở cho từng tham số. Ví dụ, các giá trị cơ sở này có thể được lựa chon từ hồ sơ hoạt động, từ các đường đi tiêu biểu trong kiểm thử kịch bản, từ các hạng mục bao phủ kiểm thử được xác định trong quá trình phân vùng tương đương hoặc từ các giá trị mặc định (được sử dụng thường xuyên nhất) cho các tham số.

5.2.5.6.2 Xây dựng các trường hợp kiểm thử (TD4)Trước tiên phải xác định được các cặp PV, tiếp đến lựa chon những giá trị cơ sở cho mỗi tham số. Các trường hợp kiểm thử sẽ được xây dựng bằng cách thiết lập tất cả các tham số đầu vào nhưng để lại hai tham số, trong đó một tham số thiết lập là giá trị cơ sở của nó và tham số còn lại thiết lập là một giá trị hợp lệ cho đến khi đạt được mức độ bao phủ kiểm thử các cặp PV. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xây dựng các trường hợp kiểm thử cơ sở bằng cách thiết lập từng tham số là giá trị "cơ sở";

b) Tạo ra một trường hợp kiểm thử mới bằng cách thiết lập một tham số là giá trị hợp lệ (không phải giá trị cơ sở trong khi vẫn giữ được một tập còn lại các tham số cho các giá trị lựa chon cơ sở;7

c) Xác định các kết quả mong đợi của các trường hợp kiểm thử mới bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước b) và c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.2.6 Kiểm thử bảng quyết định5.2.6.1 Xác định các điều kiện kiểm thử (TD2)Kiểm thử bảng quyết định (được nêu trong BS 7925-2: 1998, Myers 1979) sử dụng một mô hình các mối quan hệ lôgic (các quy tắc quyết định) giữa các điều kiện (các nguyên nhân) và các hành động (các kết quả) cho hạng mục kiểm thử dưới dạng bảng quyết định, trong đó:

- Mỗi điều kiện Boolean xác định hai phân vùng tương đương đầu vào cho hạng mục kiểm thử, một tương ứng với các trường hợp "đúng", và một tương ứng với các trường hợp "sai";

- Mỗi hành động là một kết quả mong đợi hoặc là sự kết hợp các kết quả cho hạng mục kiểm thử được biểu diễn như một điều kiện Boolean;

- Một bộ các quy tắc quyết định xác định các mối quan hệ cần thiết giữa các điều kiện và các hành động.

Trong kiểm thử bảng quyết định, các điều kiện kiểm thử sẽ là các điều kiện và các hành động.CHÚ THÍCH: Nếu các điều kiện bao gồm nhiều giá trị hơn là chỉ gồm các giá trị Boolean, sẽ tạo được bảng quyết định "mục vào mở rộng", việc kiểm thử có thể được thực hiện bằng kỹ thuật phân vùng tương đương.

5.2.6.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử bảng quyết định, mỗi quy tắc quyết định xác định mối quan hệ giữa các điều kiện và các hành động của các hạng mục kiểm thử. Mỗi quy tắc quyết định này được coi là một hạng mục bao phủ kiểm thử.

5.2.6.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng để thực hiện các quy tắc quyết định (các hạng mục bao phủ kiểm thử), trong đó mỗi trường hợp kiểm thử xác định các mối quan hệ giữa đầu vào và đầu ra, và mỗi

22

Page 23: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

quy tắc quyết định tương ứng với một kết hợp khác nhau của các điều kiện Boolean. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) hạng mục bao phủ kiểm thử từ bảng quyết định để thực thi là một trường hợp kiểm thử;

b) Xác định các giá trị đầu vào thỏa mãn (các) điều kiện đầu vào của (các) quy tắc quyết định được bao phủ bởi các trường hợp kiểm thử và các giá trị hợp lệ tùy ý cho bất kỳ biến đầu vào khác để thực hiện các trường hợp kiểm thử;

c) Xác định các kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho bảng quyết định;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Nếu bảng quyết định gồm các điều kiện đầu vào thì có thể tạo ra những sự kết hợp không khả thi (ví dụ như "tuổi nhỏ hơn 18" và "tuổi lớn hơn 65" đều cho kết quả đúng). Trong tình huống này các quy tắc quyết định không khả thi như vậy cần được xác định và ghi chép lại và không được sử dụng để xây dựng các trường hợp kiểm thử.

5.2.7 Đồ thị nguyên nhân - kết quả5.2.7.1 Xác định các điều kiện kiểm thử (TD2)Đồ thị nguyên nhân - kết quả (BS 7925-2: 1998, Myers 1979, Nursimulu và Probert đưa ra năm 1995) sử dụng một mô hình các mối quan hệ lôgic (các quy tắc quyết định) giữa các nguyên nhân (ví dụ như các đầu vào) và các kết quả (ví dụ như các đầu ra) cho các hạng mục kiểm dưới dạng đồ thị nguyên nhân - kết quả, trong đó:

- Mỗi nguyên nhân kiểu Boolean xác định hai phân vùng tương đương đầu vào cho các hạng mục kiểm thử, một tương ứng với các trường hợp “đúng”, và một tương ứng với các trường hợp "sai";

- Mỗi kết quả xác định một điều kiện đầu ra mong đợi hoặc kết hợp các điều kiện đầu ra cho các hạng mục kiểm thử được biểu diễn như một kiểu Boolean.

Các điều kiện kiểm thử sẽ là các nguyên nhân và các kết quả.

Đồ thị nguyên nhân - kết quả minh hoa mối quan hệ lôgic giữa các nguyên nhân và các kết quả giống như một mạng logic Boolean được tạo thành bởi các toán tử Boolean, có thể tạo ra những ràng buộc về mặt cú pháp và ngữ nghĩa thông qua các mối quan hệ giữa nguyên nhân và các mối quan hệ giữa các kết quả (xem hình B.11 và điều B.12 trong phụ lục B.2.7.4).

5.2.7.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong đồ thị nguyên nhân - kết quả, mỗi quy tắc quyết định xác định mối quan hệ giữa các nguyên nhân và các kết quả của hạng mục kiểm thử được coi là một hạng mục bao phủ kiểm thử.

5.2.7.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng để thực hiện các hạng mục bao phủ kiểm thử. Một bảng quyết định tương ứng có thể được tạo ra từ đồ thị nguyên nhân - kết quả và được sử dụng để xây dựng các trường hợp kiểm thử. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon các hạng mục bao phủ kiểm thử được thực thi trong trường hợp kiểm thử hiện có;

b) Xác định các giá trị đầu vào để thực hiện (các) hạng mục bao phủ kiểm thử được bao phủ bởi các trường hợp kiểm thử và các giá trị hợp lệ tùy ý cho bất kỳ biến đầu vào khác để thực hiện các trường hợp kiểm thử;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho đồ thị nguyên nhân - kết quả và/hoặc bảng quyết định.

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức độ bao phủ quy định.

5.2.8 Kiểm thử chuyển đổi trạng thái5.2.8.1 Xác định các điều kiện kiểm thử (TD2)Kiểm thử chuyển đổi trạng thái (BS 7925-2: 1998, Copeland đưa ra năm 2004) sử dụng một mô hình

23

Page 24: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

các trạng thái, các chuyển tiếp giữa các trạng thái, các sự kiện tạo ra các chuyển tiếp và các hành động do các chuyển tiếp tạo ra. Các trạng thái của mô hình phải rời rạc, dễ nhận biết và hữu hạn về số lượng. Một chuyển tiếp đơn lẻ có thể bị giới hạn bởi một bảo vệ sự kiện mà xác định một tập các điều kiện phải có kết quả đúng thì sự kiện đó mới xảy ra, để cho quá trình chuyển tiếp diễn ra. Trong kiểm thử chuyển đổi trạng thái, các điều kiện kiểm thử có thể là tất cả các trạng thái của mô hình trạng thái, tất cả sự chuyển tiếp của mô hình trạng thái hoặc toàn bộ mô hình trạng thái, tùy thuộc vào các yêu cầu bao phủ của kiểm thử. Mô hình này có thể được biểu diễn dưới dạng sơ đồ trạng thái hoặc bảng trạng thái (mặc dù cũng có thể sử dụng các đại diện khác).

5.2.8.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử chuyển đổi trạng thái, các hạng mục bao phủ kiểm thử sẽ thay đổi tùy thuộc vào điều kiện kết thúc kiểm thử và phương pháp thiết kế kiểm thử được lựa chon. Điều kiện kết thúc kiểm thử bao gồm nhưng không giới hạn các mục sau:

- Các trạng thái, trong đó các hạng mục bao phủ kiểm thử được xác định để cho phép tất cả các trạng thái trong mô hình trạng thái được "đi qua";

- Các chuyển tiếp đơn (bao phủ 0-switch), trong đó các hạng mục bao phủ kiểm thử được xác định để bao phủ các trạng thái đơn hợp lệ trong mô hình trạng thái;

- Tất cả các chuyển tiếp, trong đó các hạng mục bao phủ kiểm thử được xác định để bao phủ cả các chuyển tiếp hợp lệ trong mô hình trạng thái và các chuyển tiếp "không hợp lệ" (các chuyển tiếp từ các trạng thái được bắt đầu bằng các sự kiện trong mô hình trạng thái mà không có quá trình chuyển đổi hợp lệ nào được xác định);

- Đa chuyển tiếp (bao phủ N-switch), trong đó các hạng mục bao phủ kiểm thử được xác định để bao phủ các chuỗi hợp lệ N + 1 trạng thái trong mô hình trạng thái.

CHÚ THÍCH: Độ bao phủ "1-switch" là một biến thể phổ biến của độ bao phủ “N-switch” mà đòi hỏi các cặp trạng thái phải được thực thi.

5.2.8.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử đối với kiểm thử chuyển đổi trạng thái được tạo ra để thực hiện các hạng mục bao phủ kiểm thử. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) hạng mục bao phủ kiểm thử cho trường hợp kiểm thử hiện có;

b) Xác định các giá trị đầu vào để thực hiện (các) hạng mục bao phủ kiểm thử được bao phủ bởi các trường hợp kiểm thử;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho các cơ sở kiểm thử (kết quả mong đợi có thể được xác định theo các đầu ra và các trạng thái được mô tả trong mô hình trạng thái);

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.2.9 Kiểm thử kịch bản 5.2.9.1 Xác định các điều kiện kiểm thử (TD2)Kiểm thử kịch bản (Desikan và Ramesh đưa ra năm 2007) sử dụng một mô hình các chuỗi tương tác giữa hạng mục kiểm thử và các hệ thống khác (trong ngữ cảnh này, người dùng thường được coi là các hệ thống khác) với mục đích kiểm thử các luồng sử dụng liên quan đến hạng mục kiểm thử. Các điều kiện kiểm thử là một chuỗi các tương tác (tức là một kịch bản) hoặc là tất cả các chuỗi tương tác (tức là tất cả các kịch bản).

Trong kiểm thử kịch bản, bước này sẽ bao gồm việc xác định:

- Kịch bản "chính" là một chuỗi tiêu biểu các hành động được mong đợi của các hạng mục kiểm thử hoặc một lựa chon tùy ý khi chưa biết được chuỗi tiêu biểu các hành động;

- Các kịch bản "thay thế" đại diện cho các kịch bản thay thế (kịch bản phụ) có thể được xác định thông qua các hạng mục kiểm thử.

CHÚ THÍCH 1: Kịch bản thay thế có thể bao gồm các điều kiện sử dụng bình thường, các điều kiện bắt buộc hoặc các điều kiện khắc nghiệt và những ngoại lệ .

24

Page 25: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

CHÚ THÍCH 2: Kiểm thử kịch bản thường được sử dụng để tiến hành "kiểm thử đầu - cuối" khi kiểm thử chức năng, chẳng hạn như trong quá trình kiểm thử hệ thống hoặc kiểm thử chấp nhận.

Một dạng phổ biến của kiểm thử kịch bản là kiểm thử trường hợp sử dụng (Bath 2008; Hass 2008) sử dụng một mô hình trường hợp sử dụng của các hạng mục kiểm thử mô tả cách thức các hạng mục kiểm thử tương tác với một hoặc nhiều nhân tố với mục đích kiểm thử các chuỗi tương tác (tức là các kịch bản) liên quan đến các hạng mục kiểm thử.CHÚ THÍCH 3: Trong kiểm thử trường hợp sử dụng, mô hình trường hợp sử dụng sẽ là một kiểu mô hình mô tả cách thức các hành động khác nhau được thực hiện bởi các hạng mục kiểm thử là kết quả các thủ tục khác nhau do các nhân tố thực hiện. Nhân tố có thể là một người dùng hoặc một hệ thống khác.

CHÚ THÍCH 4: Kiểm thử luồng chuyển đổi (Beizer 1995) thường được phân loại là kiểm thử kịch bản.

5.2.9.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Các hạng mục bao phủ kiểm thử là những kịch bản chính và kịch bản thay thế (tức là các hạng mục bao phủ kiểm thử cũng giống như các điều kiện kiểm thử). Do đó, không cần thực hiện thêm hành động nào đối với kỹ thuật này.

5.2.9.3 Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử đối với kiểm thử kịch bản được xây dựng bằng cách bao phủ từng kịch bản (hạng mục bao phủ kiểm thử) bằng ít nhất một trường hợp kiểm thử. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) hạng mục bao phủ kiểm để thử thực hiện trường hợp kiểm thử hiện có;

b) Xác định các giá trị đầu vào để thực hiện (các) hạng mục bao phủ kiểm thử được bao phủ bởi các trường hợp kiểm thử;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.2.10 Kiểm thử ngẫu nhiên 5.2.10.1 Xác định các điều kiện kiểm thử (TD2)Kiểm thử ngẫu nhiên (BS 7925-2: 1998; Craig và Jaskiel 2002; Kaner 1988) sử dụng một mô hình miền đầu vào của các hạng mục kiểm thử mà xác định một tập các giá trị đầu vào có thể.  Lựa chon phân bố đầu vào để tạo ra các giá trị đầu vào ngẫu nhiên. Đối với kiểm thử ngẫu nhiên, toàn bộ miền vào sẽ là điều kiện kiểm thử.

Ví dụ: Các loại phân bố đầu vào bao gồm phân bố thông thường, phân bố đồng đều và hồ sơ hoạt động.

5.2.10.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Không có các hạng mục bao phủ kiểm thử đối với kiểm thử ngẫu nhiên.

5.2.10.3 Xây dựng các trường hợp kiểm thử (TD4)Đối với kiểm thử ngẫu nhiên, các trường hợp kiểm thử được chon bằng cách lựa chon ngẫu nhiên các giá trị đầu vào từ miền đầu vào của các hạng mục kiểm thử (hoặc giả ngẫu nhiên nếu sử dụng một công cụ kiểm thử) theo phân bố đầu vào đã chon. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon một phân bố vào để lựa chon các đầu vào kiểm thử;

b) Tạo ra các giá trị ngẫu nhiên cho các đầu vào kiểm thử dựa trên phân bố đầu vào được lựa chon ở bước a);

c) Xác định kết quả mong đợi của trường hợp kiểm thử bằng cách cung cấp (các) đầu vào cho cơ sở kiểm thử;

d) Lặp lại các bước b) và c) cho đến khi kết thúc kiểm thử.CHÚ THÍCH 1: Việc kiểm thử đòi hỏi phải xác định số kiểm thử đã được thực hiện, thời gian dành để kiểm thử hoặc cách thức hoàn thành kiểm thử.

25

Page 26: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

CHÚ THÍCH 2: Bước b) thường được thực hiện tự động.

5.3 Các kỹ thuật kiểm thử dựa trên cấu trúc5.3.1 Kiểm thử câu lệnh5.3.1.1 Xác định các điều kiện kiểm thử (TD2)Tạo mã nguồn của các hạng mục kiểm thử mà xác định các câu lệnh có thể thực thi được hoặc không thể thực thi được (BS 7925-2: 1998, Myers 1979). Mỗi câu lệnh có thể thực thi được sẽ là một điều kiện kiểm thử.CHÚ THÍCH: Việc xác định các câu lệnh không thể thực thi được có thể được thực hiện trong bước TD4, sử dụng một công cụ tự động.

5.3.1.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Mỗi câu lệnh có thể thực thi được sẽ là một hạng mục bao phủ kiểm thử (tức là các hạng mục bao phủ kiểm thử cũng giống như các điều kiện kiểm thử). Do đó, không cần thực hiện thêm hành động nào đối với kỹ thuật này.

5.3.1.3 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển mà đến được một hoặc nhiều các hạng mục bao phủ kiểm thử chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực hiện;

c) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp các đầu vào kiểm thử tương ứng cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.3.2 Kiểm thử nhánh 5.3.2.1 Xác định các điều kiện kiểm thử (TD2)Xây dựng một mô hình kiểm thử luồng điều khiển mà xác định các nhánh trong luồng điều khiển của các hạng mục kiểm thử (BS 7925-2: 1998; điều 4.7.1). Mỗi nhánh trong mô hình luồng điều khiển sẽ là một điều kiện kiểm thử.

Một nhánh là:

- Sự di chuyển có điều kiện của luồng điều khiển từ một nút bất kỳ trong mô hình luồng điều khiển đến nút khác;

- Sự di chuyển không có điều kiện của luồng điều khiển từ một nút bất kỳ đến một nút khác trong mô hình luồng điều khiển;

- Sự di chuyển của luồng điều khiển đến một điểm bắt đầu của các hạng mục kiểm thử khi hạng mục kiểm thử có nhiều hơn một điểm bắt đầu.

CHÚ THÍCH 1: Để đủ bao phủ 100% tất cả các nhánh đòi hỏi tất cả các cung (các đường kết nối các nút hoặc các cạnh) trong đồ thị luồng điều khiển phải được kiểm thử, kể cả các câu lệnh tiếp theo giữa một điểm bắt đầu và điểm kết thúc mà không có các quyết định.

CHÚ THÍCH 2: Kiểm thử nhánh có thể đòi hỏi phải kiểm thử cả các nhánh có điều kiện và các nhánh không có điều kiện, bao gồm cả điểm bắt đầu và điểm kết thúc đối với một hạng mục kiểm thử, tùy thuộc vào mức độ hạng mục bao phủ kiểm thử qui định.

CHÚ THÍCH 3: Lời goi hàm và lời goi phương thức không được coi là các điều kiện kiểm thử riêng trong kiểm thử nhánh.

5.3.2.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Mỗi nhánh trong mô hình luồng điều khiển sẽ là một hạng mục bao phủ kiểm thử (tức là các hạng mục bao phủ kiểm thử cũng giống như các điều kiện kiểm thử). Do đó, không cần thực hiện thêm hành động nào đối với kỹ thuật này.

26

Page 27: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

5.3.2.3 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển mà đến được một hoặc nhiều các hạng mục bao phủ kiểm thử chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực thi;

c) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH 1: Nếu không có nhánh nào trong hạng mục kiểm thử vẫn phải có một điều kiện kiểm thử, một hạng mục bao phủ kiểm thử và các trường hợp kiểm thử.

CHÚ THÍCH 2: Nếu có nhiều điểm bắt đầu hạng mục kiểm thử, sẽ đòi hỏi phải có đầy đủ trường hợp kiểm thử để bao phủ mỗi điểm bắt đầu.

5.3.3 Kiểm thử quyết định 5.3.3.1 Xác định các điều kiện kiểm thử (TD2)Xây dựng một mô hình luồng điều khiển các hạng mục kiểm thử để đưa ra các quyết định. Các quyết định chính là các điểm trong hạng mục kiểm thử nơi hai hay nhiều đầu ra (các đường đi con) có thể được thực hiện bằng luồng điều khiển (BS 7925-2: 1998, Myers 1979). Các quyết định tiêu biểu được sử dụng cho các lựa chon đơn giản (ví dụ như lệnh if-then-else trong mã nguồn), để quyết định khi nào thoát khỏi các vòng lặp (ví dụ như lệnh while-loop trong mã nguồn) và trong các câu lệnh (case) switch (ví dụ như case-1-2-3-...-N trong mã nguồn). Trong kiểm thử quyết định, mỗi điều kiện kiểm thử trong mô hình luồng điều khiển sẽ là một quyết định .

5.3.3.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Các kết quả quyết định từ mỗi quyết định sẽ được coi là các hạng mục bao phủ kiểm thử.

5.3.3.3 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển mà đến được một hoặc nhiều các hạng mục bao phủ kiểm thử chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực hiện;

c) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Nếu không có các quyết định trong hạng mục kiểm thử thì vẫn phải có một điều kiện kiểm thử, một hạng mục bao phủ kiểm thử và một trường hợp kiểm thử.

5.3.4 Kiểm thử điều kiện nhánh 5.3.4.1 Xác định các điều kiện kiểm thử (TD2)Xây dựng một mô hình luồng điều khiển của các hạng mục kiểm thử mà xác định các quyết định và các điều kiện trong các quyết định. Các quyết định là các điểm trong hạng mục kiểm thử nơi mà hai hay nhiều kết quả (các đường đi con) có thể được thực hiện bằng luồng điều khiển (BS 7925-2: 1998, Myers 1979). Các quyết định tiêu biểu được sử dụng cho các lựa chon đơn giản (ví dụ như lệnh if-then-else trong mã nguồn), để quyết định khi nào thoát khỏi các vòng lặp (ví dụ như lệnh while-loop trong mã nguồn) và sử dụng trong các câu lệnh case (ví dụ như lệnh case-1-2-3-...-N trong mã nguồn, cũng được goi là các lệnh switch). Trong kiểm thử điều kiện nhánh (BS 7925-2:1998), mỗi quyết định sẽ là một điều kiện kiểm thử.

Ví dụ: Trong mã nguồn chương trình, câu lệnh quyết định "if A OR B AND C then" là một điều kiện kiểm thử có chứa ba điều kiện liên quan đến các toán tử lôgic.

27

Page 28: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

5.3.4.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử điều kiện nhánh, tất cả các giá trị Boolean (giá trị đúng/sai) của (các) điều kiện trong các quyết định sẽ được coi là các hạng mục bao phủ kiểm thử. Các kết quả quyết định của mỗi quyết định cũng được coi là các hạng mục bao phủ kiểm thử.

5.3.4.3 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển mà bao gồm một hoặc nhiều các hạng mục bao phủ kiểm thử chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực thi;

c) Xác định một tập con các đầu vào kiểm thử từ bước b) bao gồm các giá trị Boolean của các điều kiện trong quyết định và kết quả quyết định;

d) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

e) Lặp lại các bước từ a) đến d) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Nếu không có các quyết định trong hạng mục kiểm thử thì vẫn phải có một điều kiện kiểm thử, một hạng mục bao phủ kiểm thử và một trường hợp kiểm thử.

5.3.5 Kiểm thử kết hợp điều kiện nhánh 5.3.5.1 Xác định các điều kiện kiểm thử (TD2)Xây dựng một mô hình luồng điều khiển của các hạng mục kiểm thử để đưa ra các quyết định và các điều kiện. Trong kiểm thử kết hợp điều kiện nhánh (BS 7925-2: 1998), mỗi quyết định sẽ là một điều kiện kiểm thử.

Ví dụ: Trong mã nguồn chương trình, câu lệnh quyết định "if A OR B AND C then" là một điều kiện kiểm thử có chứa ba điều kiện liên quan đến các toán tử lôgic.

5.3.5.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Mỗi kết hợp khả thi các giá trị Boolean của các điều kiện trong mỗi quyết định được coi là một hạng mục bao phủ kiểm thử (BS 7925-2: 1998, Myers 1979). Hạng mục bao phủ này bao gồm các quyết định đơn giản, trong đó các kết hợp có hai đầu ra Boolean riêng biệt của một điều kiện trong một quyết định.

5.3.5.3 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển mà đến được một hoặc nhiều các hạng mục bao phủ kiểm thử chưa được thực thi trong khi kiểm thử;

b) Xác định tập các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển đã xác định được thực thi;

c) Xác định một tập con của đầu vào kiểm thử từ bước b) bao gồm tổ hợp các giá trị Boolean của các điều kiện trong quyết định;

d) Xác định các kết quả mong đợi bằng cách cung cấp đầu vào kiểm thử đã được lựa chon cho các cơ sở kiểm thử;

e) Lặp lại các bước từ a) đến d) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Nếu không có các quyết định trong hạng mục kiểm thử thì vẫn phải có một điều kiện kiểm thử, một hạng mục bao phủ kiểm thử và một trường hợp kiểm thử.

5.3.6 Kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)5.3.6.1 Xác định các điều kiện kiểm thử (TD2)Xây dựng một mô hình luồng điều khiển của các hạng mục kiểm thử để đưa ra các quyết định và các

28

Page 29: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

điều kiện. Trong kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC) (BS 7925-2: 1998), mỗi quyết định sẽ là một điều kiện kiểm thử.

Ví dụ: Trong mã nguồn chương trình, câu lệnh quyết định "if A OR B AND C then" là một điều kiện kiểm thử có chứa ba điều kiện liên quan đến các toán tử lôgic.

5.3.6.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Mỗi kết hợp khả thi các giá trị Boolean riêng biệt của các điều kiện trong một quyết định mà làm cho một điều kiện Boolean ảnh hưởng đến đầu ra của các quyết định sẽ được coi là một hạng mục bao phủ kiểm thử. Nếu một điều kiện ảnh hưởng độc lập đến đầu ra của một quyết định thì sẽ chỉ làm thay đổi điều kiện đó mà không làm thay đổi các điều kiện khác.CHÚ THÍCH: Hạng mục bao phủ kiểm thử bao gồm các quyết định đơn giản, trong đó các kết hợp gồm hai kết quả Boolean riêng biệt của một điều kiện trong một quyết định.

5.3.6.3 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển mà đến được một hoặc nhiều các hạng mục bao phủ kiểm thử chưa được thực thi trong khi kiểm thử;

b) Xác định tập các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển đã xác định được thực thi;

c) Xác định một tập con các đầu vào kiểm thử từ bước b) bao gồm các kết hợp của các giá trị Boolean riêng biệt của điều kiện trong các quyết định cho phép một điều kiện Boolean ảnh hưởng độc lập đến đầu ra;

d) Xác định các kết quả mong đợi bằng cách cung cấp đầu vào kiểm thử đã được lựa chon cho các cơ sở kiểm thử;

e) Lặp lại các bước từ a) đến d) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Nếu không có các quyết định trong hạng mục kiểm thử thì vẫn phải có một điều kiện kiểm thử, một hạng mục bao phủ kiểm thử và một trường hợp kiểm thử.

5.3.7 Kiểm thử luồng dữ liệu 5.3.7.1 Xác định các điều kiện kiểm thử (TD2)Trong kiểm thử luồng dữ liệu (Burnstein 2003), một mô hình của các hạng mục kiểm thử sẽ được tạo ra để xác định các đường đi con của luồng điều khiển qua các hạng mục kiểm thử, trong đó mỗi định nghĩa của một biến đã cho được liên kết với (các) sử dụng tiếp theo của cùng một biến và không phải định nghĩa lại giá trị của biến.

"Những định nghĩa" ở đây chính là những câu lệnh định nghĩa của một biến, tức là câu lệnh gán một giá trị mới cho một biến (đôi khi một định nghĩa sẽ định nghĩa một biến có cùng giá trị với giá trị trước đó của nó). "Sử dụng" ở đây chính là câu lệnh sử dụng biến đã có, không phải là câu lệnh gán một giá trị mới cho một biến; "Các sử dụng" có thể được phân biệt thành "p-use” (sử dụng biến để kiểm tra điều kiện) hoặc “c-use” (sử dụng biến để tính toán). P-use có nghĩa là sử dụng một biến để xác định kết quả của một điều kiện trong một quyết định, chẳng hạn như lệnh while-loop, if-then-else, vv. C-use là câu lệnh sử dụng một biến làm đầu vào để tính toán bất kỳ biến nào hoặc của mộtđầu ra.

Trong kiểm thử luồng dữ liệu, mỗi cặp định nghĩa - sử dụng dành cho một biến trong các hạng mục kiểm thử là một điều kiện kiểm thử.

Có một số dạng kiểm thử luồng dữ liệu, tất cả các dạng này đều dựa trên các điều kiện kiểm thử giống nhau. Có năm dạng kiểm thử luồng dữ liệu được xác định trong tiêu chuẩn này, đó là: Kiểm thử tất cả các định nghĩa của biến, kiểm thử tất cả các c-uses, kiểm thử tất cả các p-uses, kiểm thử tất cả các sử dụng biến và kiểm thử tất cả các đường định nghĩa - sử dụng.

5.3.7.2 Kiểm thử tất cả các định nghĩa của biến5.3.7.2.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử tất cả các định nghĩa của biến, các đường đi con của luồng điều khiển xuất phát từ mỗi

29

Page 30: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

định nghĩa của biến đến một vài sử dụng biến ((p-use) hoặc (c-use)) của định nghĩa đó sẽ được coi là các hạng mục bao phủ kiểm thử. Mỗi đường đi con được goi là một đường "định nghĩa - sử dụng". Kiểm thử “tất cả các định nghĩa của biến” đòi hỏi phải có ít nhất một đường không định nghĩa (có liên quan đến một biến cụ thể) xuất phát từ định nghĩa của biến đến một trong những c-uses hoặc p-use của nó bao phủ tất cả các định nghĩa của biến.

5.3.7.2.2 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định các định nghĩa chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển xuất phát từ các định nghĩa của biến đã xác định được thực thi;

c) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.CHÚ THÍCH: Trong thực tế, các bước này có thể cần phải thực hiện tự động.

5.3.7.3 Kiểm thử tất cả các c-uses5.3.7.3.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Các đường đi con của luồng điều khiển xuất phát từ mỗi định nghĩa của biến đến từng c-use của định nghĩa đó sẽ được coi là các hạng mục bao phủ kiểm thử. Kiểm thử “tất cả sử dụng biến để tính toán” đòi hỏi phải có ít nhất một đường không định nghĩa (có liên quan đến một biến cụ thể) xuất phát từ một định nghĩa của biến đến một trong những c-use của nó bao phủ tất cả các định nghĩa của biến có liên quan.

5.3.7.3.2 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển từ các định nghĩa của biến đến một c-use tiếp theo của định nghĩa đó mà chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực thi;

c) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.3.7.4 Kiểm thử tất cả các p-use5.3.7.4.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Các đường đi con của luồng điều khiển xuất phát từ mỗi định nghĩa của biến đến từng p-use của định nghĩa đó được coi là các hạng mục bao phủ kiểm thử. Kiểm thử “tất cả các p-uses” đòi hỏi phải có ít nhất một đường không định nghĩa (có liên quan đến một biến cụ thể) xuất phát từ một định nghĩa đến một trong những p-use của nó bao phủ tất cả các định nghĩa của biến có liên quan.

5.3.7.4.2 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển xuất phát từ các định nghĩa của biến đến p-use tiếp theo của định nghĩa đó mà chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực thi;

c) Xác định các kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) đến khi đạt được mức bao phủ kiểm thử yêu cầu.

30

Page 31: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

5.3.7.5 Kiểm thử tất cả các sử dụng biến5.3.7.5.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Các đường đi con của luồng điều khiển xuất phát từ mỗi định nghĩa của biến đến mỗi sử dụng của biến (cả (p-use) và (c-use)) của định nghĩa đó được coi là các hạng mục bao phủ kiểm thử. Kiểm thử "tất cả các sử dụng biến" đỏi hỏi phải có ít nhất một đường đi con xuất phát từ mỗi định nghĩa của một biến đến một trong những sử dụng của nó (không định nghĩa của một biến) được bao phủ.

5.3.7.5.2 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển từ các định nghĩa của biến đến một p-use hoặc c-use tiếp theo của định nghĩa đó mà chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực thi;

c) Xác định kết quả mong đợi từ việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) cho đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.3.7.6 Kiểm thử tất cả các đường định nghĩa - sử dụng 5.3.7.6.1 Xác định các hạng mục bao phủ kiểm thử (TD3)Các đường đi con của luồng điều khiển xuất phát từ mỗi định nghĩa của biến đến moi sử dụng của biến (cả (p-use) và (c-use)) của định nghĩa đó được coi là các hạng mục bao phủ kiểm thử. Kiểm thử "tất cả các đường định nghĩa - sử dụng" đòi hỏi tất cả các đường đi con xuất phát từ mỗi định nghĩa của biến đến mỗi sử dụng của nó (không có định nghĩa của một biến) được bao phủ.CHÚ THÍCH: Kiểm thử tất cả các đường định nghĩa - sử dụng đòi hỏi tất cả các đường loop-free sub-paths xuất phát từ một định nghĩa của biến đến sử dụng của nó được kiểm thử để đạt được 100% độ bao phủ hạng mục kiểm thử. Điều này khác với kiểm thử tất cả các sử dụng, chỉ cần một đường đi từ mỗi định nghĩa của biến đến mỗi sử dụng của biến được kiểm thử để đạt được 100% độ bao phủ hạng mục kiểm thử.

5.3.7.6.2 Xây dựng các trường hợp kiểm thử (TD4)Phải tuân thủ các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Xác định (các) đường đi con của luồng điều khiển từ các định nghĩa của biến đến moi p-use và c-use tiếp theo của định nghĩa đó mà chưa được thực thi trong khi kiểm thử;

b) Xác định các đầu vào kiểm thử mà sẽ làm cho (các) đường đi con của luồng điều khiển được thực thi;

c) Xác định kết quả mong đợi của việc thực hiện (các) đường đi con của luồng điều khiển bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) đến khi đạt được mức bao phủ kiểm thử yêu cầu.

5.4 Các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm 5.4.1 Đoán lỗi5.4.1.1 Xác định các điều kiện kiểm thử (TD2)Đoán lỗi (BS 7925-2: 1998, Myers 1979) liên quan đến việc lập một danh sách kiểm tra các loại lỗi mà có thể tồn tại trong các hạng mục kiểm thử, kỹ thuật này cho phép kỹ sư kiểm thử xác định đầu vào cho các hạng mục kiểm thử mà có thể gây ra các lỗi, nếu những lỗi này tồn tại trong hạng mục kiểm thử. Trong đoán lỗi, mỗi loại lỗi sẽ là một điều kiện kiểm thử.CHÚ THÍCH: Danh sách kiểm tra các loại lỗi có thể được tạo ra bằng các biện pháp khác nhau, chẳng hạn như phân loại các lỗi đã biết, lấy thông tin được lưu trong trong hệ thống quản lý sự cố dựa vào kiến thức, kinh nghiệm và / hoặc sự hiểu biết của kỹ sư kiểm thử về (các) hạng mục kiểm thử và / hoặc các hạng mục kiểm thử tương tự hoặc dựa vào những kiến thức của các bên liên quan khác (ví dụ như những người sử dụng hệ thống hoặc các lập trình viên).

31

Page 32: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

5.4.1.2 Xác định các hạng mục bao phủ kiểm thử (TD3)Không có hạng mục bao phủ kiểm thử nào đối với kỹ thuật đoán lỗi.

5.4.1.3 Xây dựng các trường hợp kiểm thử (TD4)Đối với đoán lỗi, các trường hợp kiểm thử được xây dựng bằng cách lựa chon một loại lỗi từ danh sách kiểm tra các loại lỗi mà được bao phủ và xây dựng các trường hợp kiểm thử mà có thể phát hiện loại lỗi đó trong các hạng mục kiểm thử nếu nó tồn tại. Sử dụng các bước dưới đây khi xây dựng các trường hợp kiểm thử:

a) Lựa chon (các) loại lỗi bao phủ các trường hợp kiểm thử hiện có;

b) Xác định các giá trị đầu vào có thể gây ra một lỗi tương ứng với (các) loại lỗi được lựa chon;

c) Xác định kết quả mong đợi của các trường hợp kiểm thử bằng cách cung cấp đầu vào cho các cơ sở kiểm thử;

d) Lặp lại các bước từ a) đến c) đến khi kết thúc kiểm thử.

6. Tính độ bao phủ kiểm thử6.1 Tổng quanCác phương pháp tính độ bao phủ kiểm thử được định nghĩa trong tiêu chuẩn này dựa trên độ bao phủ kiểm thử của các kỹ thuật thiết kế kiểm thử khác nhau. Các mức bao phủ kiểm thử có thể dao động từ 0% đến 100%. Trong mỗi phép tính độ bao phủ, một số hạng mục bao phủ kiểm thử có thể không khả thi. Một hạng mục bao phủ kiểm thử được coi là không khả thi nếu nó không thể thực thi được hoặc không thể được bao phủ bởi một trường hợp kiểm thử. Việc tính toán độ bao phủ sẽ được thực hiện bằng việc có tính đến hoặc không tính đến các hạng mục bao phủ kiểm thử không khả thi;  sự lựa chon này thường sẽ được ghi lại trong bản kế hoạch kiểm thử (được định nghĩa trong TCVN xxxx-3: 2019 (ISO/IEC/IEEE 29119-3)). Nếu không tính đến một hạng mục bao phủ kiểm thử, việc chứng minh tính không khả thi của nó sẽ được ghi lại trong báo cáo kiểm thử. Trong mỗi phép tính độ bao phủ, nếu không có các hạng mục bao phủ kiểm thử, độ bao phủ 100% đối với kiểu bao phủ đó sẽ được coi là không thể áp dụng được cho hạng mục kiểm thử đó.

Khi tính toán độ bao phủ kiểm thử cho bất kỳ kỹ thuật nào, sẽ sử dụng công thức sau:

Độ bao phủ=( NT

x 100)%- Độ bao phủ là độ bao phủ kỹ thuật thiết kế kiểm thử cụ thể;

- N là số các hạng mục bao phủ kiểm thử được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các hạng mục bao phủ kiểm thử được xác định bởi các kỹ thuật thiết kế kiểm thử.

Giá trị N và T của từng kỹ thuật kiểm thử được xác định trong các điều khoản dưới đây. Các phép tính độ bao phủ kiểm thử được trình bày trong các điều khoản dưới đây được dùng cho các kỹ thuật thiết kế kiểm thử được trình bày trong tiêu chuẩn này. Có thể có các phương pháp tính độ bao phủ khác được các tổ chức sử dụng nhưng không được đề cập trong điều khoản này.

Ví dụ: Các phương pháp khác mà có thể được dùng để đánh giá mức độ hoàn thành kiểm thử gồm tính tỷ lệ phần trăm của các yêu cầu được bao phủ trong khi kiểm thử.

6.2 Tính độ bao phủ các kỹ thuật thiết kế kiểm thử dựa trên đặc tả 6.2.1 Độ bao phủ kỹ thuật phân vùng tương đương Độ bao phủ kỹ thuật phân vùng tương đương được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số lượng các phân vùng được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số phân vùng được xác định.

32

Page 33: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

6.2.2 Độ bao phủ phương pháp cây phân loại Độ bao phủ phương pháp cây phân loại được tính như sau:

Độ bao phủ phương pháp tối thiểu hóa được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các lớp được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số lớp.

Độ bao phủ phương pháp tối đa hóa được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kết hợp các lớp bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số kết hợp của các lớp.

6.2.3 Độ bao phủ kỹ thuật phân tích giá trị biênĐộ bao phủ đối của kỹ thuật phân tích giá trị biên được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các giá trị biên khác nhau bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các giá trị biên.

Việc quyết định áp dụng kiểm thử 2 giá trị biên hoặc ba giá trị phải được ghi lại trong hồ sơ kiểm thử.

6.2.4 Độ bao phủ kiểm thử cú phápHiện nay chưa có phương pháp tính toán độ bao phủ cho kiểm thử cú pháp.CHÚ THÍCH: Việc tính toán độ bao phủ kiểm thử cú pháp không thể thực hiện được do số lượng các tùy chon và số lượng các đột biến vô cùng lớn.

6.2.5 Độ bao phủ kỹ thuật thiết kế kiểm thử tổ hợp 6.2.5.1 Độ bao phủ kiểm thử tất cả các tổ hợpĐộ bao phủ kiểm thử tất cả các tổ hợp được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kết hợp của các cặp PV bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các kết hợp cặp PV.CHÚ THÍCH: Đối với định nghĩa của cặp PV, tham khảo điều 4.2.3

6.2.5.2 Độ bao phủ kiểm thử từng cặpĐộ bao phủ kiểm thử từng cặp sẽ được tính toán bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các cặp PV khác nhau được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các cặp PV.

6.2.5.3 Độ bao phủ kiểm thử từng lựa chọnĐộ bao phủ kiểm thử từng lựa chon được tính toán bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số cặp PV được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các cặp PV.

6.2.5.4 Độ bao phủ kiểm thử lựa chọn cơ sở Độ bao phủ kiểm thử lựa chon cơ sở được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kết hợp lựa chon cơ sở được bao phủ bởi các trường hợp kiểm thử đã được thực thi (tất cả các kết hợp ngoại trừ hai tham số, một tham số hạng mục kiểm thử được thiết lập giá trị

33

Page 34: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

cơ bản và một tham số hạng mục kiểm thử còn lại được thiết lập giá trị hợp lệ), cộng thêm một (khi tất cả các tham số hạng mục kiểm thử thiết lập giá trị cơ sở) nếu được thực hiện;

- T là tổng số kết hợp lựa chon cơ sở (tất cả các kết hợp nhưng ngoại trừ hai tham số, một tham số hạng mục kiểm thử được thiết lập giá trị cơ bản và một tham số hạng mục kiểm thử còn lại được thiết lập giá trị hợp lệ), cộng thêm một (khi tất cả các tham số hạng mục kiểm thử được thiết lập các giá trị cơ bản).

6.2.6 Độ bao phủ kiểm thử bảng quyết địnhĐộ bao phủ kiểm thử bảng quyết định được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số quy tắc quyết định khả thi được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các quy tắc quyết định khả thi.

6.2.7 Độ bao phủ kiểm thử đồ thị nguyên nhân - kết quảĐộ bao phủ đồ thị nguyên nhân - kết quả được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số quy tắc quyết định được bao phủ các trường hợp kiểm thử đã được thực thi;

- T là tổng số các quy tắc quyết định khả thi.

6.2.8 Độ bao phủ kiểm thử chuyển đổi trạng tháiĐộ bao phủ kiểm thử tất cả các trạng thái được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các trạng trái được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các trạng trái.

Độ bao phủ các chuyển tiếp đơn (độ bao phủ 0-switch) được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số chuyển tiếp hợp lệ được thực hiện bởi các trường hợp kiểm thử;

- T là tổng số chuyển tiếp hợp lệ.

Độ bao phủ tất cả các chuyển tiếp sẽ được tính toán bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số chuyển tiếp lệ và không hợp lệ được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số chuyển đổi hợp lệ và không hợp lệ giữa các trạng thái được xác định bắt đầu bằng các sự kiện hợp lệ. 

Độ bao phủ N + 1 chuyển tiếp (độ bao phủ kiểm thử N - switch) được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số N + 1 chuyển tiếp hợp lệ được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số N + 1 các chuyển tiếp hợp lệ.

6.2.9 Độ bao phủ kiểm thử kịch bảnĐộ bao phủ kiểm thử kịch bản (bao gồm cả kiểm thử trường hợp sử dụng) được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kịch bản được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các kịch bản.

6.2.10 Độ bao phủ kiểm thử ngẫu nhiên Hiện nay chưa có phương pháp tính toán độ bao phủ kiểm thử ngẫu nhiên.

34

Page 35: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

6.3 Tính độ bao phủ các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc 6.3.1 Độ bao phủ câu lệnhĐộ bao phủ câu lệnh được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các câu lệnh có thể thực thi được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các câu lệnh có thể thực thi.

6.3.2 Độ bao phủ kiểm thử nhánhĐộ bao phủ kiểm thử nhánh được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số nhánh được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số nhánh.CHÚ THÍCH: Đối với các trường hợp mà không có các nhánh trong các hạng mục kiểm thử, bắt buộc phải thực hiện một kiểm thử để đạt được 100% độ bao phủ nhánh.

6.3.3 Độ bao phủ kiểm thử quyết định Độ bao phủ kiểm thử quyết định được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kết quả quyết định được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số kết quả quyết định.CHÚ THÍCH: Đối với các trường hợp mà không có quyết định trong các hạng mục kiểm thử, bắt buộc phải có một kiểm thử để đạt được 100% độ bao phủ.

6.3.4 Độ bao phủ kiểm thử điều kiện nhánhĐộ bao phủ kiểm thử điều kiện nhánh được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các giá trị Boolean của các điều kiện trong các quyết định cộng với số kết quả quyết định được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các giá trị Boolean của các điều kiện trong các quyết định cộng với tổng số các kết quả quyết định.

CHÚ THÍCH: Đối với các trường hợp mà không có quyết định trong các hạng mục kiểm thử, bắt buộc phải có một kiểm thử để đạt được 100% độ bao phủ điều kiện nhánh.

6.3.5 Độ bao phủ kiểm thử kết hợp điều kiện nhánh Độ bao phủ kiểm thử kết hợp điều kiện nhánh được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kết hợp các giá trị Boolean của các điều kiện trong mỗi quyết định được bao phủ bởi các trường hợp kiểm thử đã thực thi;

- T là tổng số kết hợp khác nhau của các giá trị Boolean của các điều kiện trong các quyết định.CHÚ THÍCH: Đối với các trường hợp mà không có quyết định trong các hạng mục kiểm thử, bắt buộc phải có một kiểm thử để đạt được 100% độ bao phủ kết hợp điều kiện nhánh.

6.3.6 Độ bao phủ kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)Độ bao phủ kiểm thử bao phủ quyết định điều kiện thay đổi được tính toán bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số kết hợp khả thi khác nhau của các giá trị Boolean riêng biệt của điều kiện trong các quyết định cho phép một điều kiện Boolean ảnh hưởng đến kết quả quyết định được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

35

Page 36: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

- T là tổng số kết hợp khác nhau của các giá trị Boolean riêng biệt của điều kiện trong các quyết định cho phép một điều kiện Boolean khác nhau có ảnh hưởng đến kết quả.

CHÚ THÍCH: Đối với các trường hợp mà không có quyết định trong các hạng mục kiểm thử, bắt buộc phải có một kiểm thử để đạt được 100% độ bao phủ quyết định điều kiện sửa đổi.

6.3.7 Độ bao phủ kiểm thử luồng dữ liệu6.3.7.1 Độ bao phủ kiểm thử tất cả các định nghĩa của biếnĐộ bao phủ kiểm thử tất cả các định nghĩa của biến được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số các định nghĩa liên quan đến các cặp định nghĩa sử dụng dữ liệu được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các cặp định nghĩa sử dụng có trong các định nghĩa.

6.3.7.2 Độ bao phủ kiểm thử tất cả các c-uses Độ bao phủ kiểm thử tất cả các c-uses được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số cặp định nghĩa dữ liệu - sử dụng biến để tính toán được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số các cặp định nghĩa dữ liệu - sử dụng biến để tính toán.

6.3.7.3 Độ bao phủ kiểm thử tất cả các p-uses Độ bao phủ kiểm thử tất cả các p-uses được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số cặp định nghĩa dữ liệu - sử dụng biến để kiểm tra điều kiện được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số cặp định nghĩa dữ liệu - sử dụng biến để kiểm tra điều kiện.

6.3.7.4 Độ bao phủ kiểm thử tất cả các sử dụng biếnĐộ bao phủ kiểm thử tất cả các sử dụng biến được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số lượng các cặp định nghĩa - sử dụng khác nhau được bao phủ bởi các trường hợp kiểm thử được thực thi;

- T là tổng số các cặp định nghĩa - sử dụng từ mỗi định nghĩa đến cả p-use và c-use của các định nghĩa đó.

6.3.7.5 Độ bao phủ kiểm thử tất cả các đường định nghĩa - sử dụng Độ bao phủ đối với kiểm thử tất cả các đường định nghĩa - sử dụng được tính bằng công thức tính độ bao phủ được nêu trong điều 6.1. Trong đó:

- N là số lượng các đường đi con của luồng điều khiển từ mỗi định nghĩa của biến đến từng sử dụng của nó mà có thể đạt được (không có định nghĩa của biến) được bao phủ bởi các trường hợp kiểm thử đã được thực thi;

- T là tổng số đường đi con của luồng điều khiển từ mỗi định nghĩa đến cả p-use và c-use của định nghĩa đó.

6.4 Tính độ bao phủ kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm 6.4.1 Độ bao phủ đoán lỗiHiện nay chưa có phương pháp tính toán độ bao phủ cho kỹ thuật đoán lỗi.

36

Page 37: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

Các đặc tính chất lượng sản phầm/ hệ thống phần mềm

Tính năng phù hợp

Tính năng đầy đủ. Tính năng chính xác.Tính năng thích hợp.

Tính hiệu quả

Đáp ứng thời gian.Sử dụng tài nguyên.Dung lượng

Tính tương thích

Khả năng cùng tồn tại. Khả năng tương tác.

Tính khả dụng

Sự thích hợp.Tính có thể nhận ra.Tính dễ hiểu.Khả năng vận hành.Bảo vệ lỗi người dùng.Thẩm mĩ giao diện người dùng.Khả năng truy cập.

Độ tin cậy

Tính hoàn thiện.Tính sẵn sàng.Khả năng chịu lỗi.Khả năng phục hồi.

Tính an toàn

Tính bí mật. Tính toàn vẹn.Tính không chối bỏ.Tính trách nhiệm.Tính xác thực.

Khả năng bảo trì

Tính Môđun hóa. Có thể dùng lại được.Có thể phân tích được.Có thể thay đổi được.Có thể kiểm tra được.

Tính khả chuyển

Khả năng thích nghi.Khả năng cài đặt.Khả năng thay thế.

TCVN xxxx-4:2019

Phụ lục A(Tham khảo)

Các đặc tính chất lượng kiểm thửA.1 Các đặc tính chất lượngA.1.1 Tổng quanKiểm thử phần mềm được thực hiện nhằm xác định xem liệu các tiêu chí chất lượng qui định có đáp ứng được hạng mục kiểm thử. Phụ lục này bao gồm các ví dụ về cách thức các đặc tính chất lượng của phần mềm được định nghĩa trong ISO/IEC 25010 (ISO/IEC 25010:2011) được ánh xạ tới các kỹ thuật thiết kế kiểm thử được định nghĩa trong tiêu chuẩn này. Các kỹ thuật thiết kế kiểm thử được định nghĩa trong tiêu chuẩn này có thể được sử dụng để kiểm thử các đặc tính chất lượng của phần mềm. Ngoài các đặc tính chất lượng phần mêm ra, cũng cần phải lưu ý đến những đặc tính chất lượng khác (ví dụ: tính riêng tư).

Tiêu chuẩn ISO/IEC 25010 trình bày một mô hình chất lượng của phần mềm, mô hình này được trình bày trong hình A.1 dưới đây, nó phân loại các thuộc tính hệ thống/sản phẩm phần mềm thành 8 đặc tính chính đó là: tính năng phù hợp, tính hiệu quả, tính tương thích, tính khả dụng, độ tin cậy, tính bảo mật, khả năng bảo trì và tính khả chuyển. Mỗi đặc tính chất lượng chính này lại bao gồm một tập các đặc tính chất lượng con. Trong một số trường hợp, đòi hỏi phải có những yêu cầu quy định (ví dụ như các chính sách của chính phủ hoặc các luật) để đánh giá các đặc tính chất lượng mà một hệ thống thỏa mãn. Các kỹ thuật thiết kế kiểm thử và các loại kiểm thử khác nhau có thể được sử dụng để kiểm thử từng đặc tính chất lượng (xem Điều A.3 và A.4)

Điều A.2 giới thiệu về các loại kiểm thử mà có thể được sử dụng để kiểm thử các đặc tính chất lượng phần mềm được trình bày trong Hình A.1. Ánh xạ của từng đặc tính chất lượng đến các kiểu kiểm thử được trình bày trong điều A.3. Mối quan hệ giữa các đặc tính chất lượng và các kỹ thuật thiết kế kiểm thử dựa trên đặc tả và các kỹ thuật thiết kể kiểm thử dựa trên cấu trúc được nêu trong tiêu chuẩn này được trình bày trong điều A.4CHÚ THÍCH: ISO/IEC 25030 (ISO/IEC 25030:2007) có thể được sử dụng để xác định và đưa ra những yêu cầu chất lượng phần mềm mà có thể áp dụng cho một hạng mục kiểm thử. Những yêu cầu này sau đó có thể được sử dụng để xác định các đặc tính chất lượng trong ISO/IEC 25010 (ISO/IEC 25010: 2011) và các loại kiểm thử tương ứng được áp dụng để kiểm thử từng yêu cầu chất lượng.

Hình A.1 - Mô hình chất lượng sản phẩm trong ISO/IEC 25010A.2 Các loại kiểm thử liên quan đến chất lượng A.2.1 Kiểm thử khả năng truy cậpMục đích của kiểm thử khả năng truy cập là để xác định xem liệu người dùng có các yêu cầu truy cập

37

Page 38: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

đặc trưng (ví dụ như do tuổi tác, bị khiếm thị hoặc bị khiếm thính) có thể thực hiện được hạng mục kiểm thử với đủ các đặc tính và khả năng (ISO/IEC 25010:2011) không. Kiểm thử khả năng truy cập sử dụng một mô hình hạng mục kiểm thử mà quy định rõ các yêu cầu truy cập của nó, bao gồm các tiêu chuẩn thiết kế truy cập mà hạng mục kiểm thử phải phù hợp. Các yêu cầu truy cập có liên quan đến khả năng của người dùng có nhu cầu truy cập đặc trưng nhằm đạt được các mục tiêu truy cập. Ví dụ như yêu cầu về hạng mục kiểm thử để hỗ trợ những người dùng khiếm thị và/ hoặc khiếm thính.CHÚ THÍCH: Trang web W3C định nghĩa các chuẩn về khả năng truy cập, bao gồm khả năng truy cập các ứng dụng web và các thiết bị. Để biết thêm chi tiết, tham khảo trang web http://www.w3.org/standards/

A.2.2 Kiểm thử khả năng sao lưu/phục hồiMục đích của kiểm thử khả năng sao lưu/phục hồi là để xác định xem nếu trong trường hợp bị lỗi, một hạng mục kiểm thử có thể được khôi phục từ bản sao lưu trạng thái trước khi bị lỗi không. Kiểm thử khả năng sao lưu/ phục hồi sử dụng một mô hình hạng mục kiểm thử quy định các yêu cầu sao lưu và phục hồi của nó, trong đó quy định sự cần thiết phải sao lưu các trạng thái hoạt động của một hạng mục kiểm thử tại một mốc thời gian nào đó, bao gồm dữ liệu, cấu hình và/hoặc môi trường và khôi phục trạng thái của hạng mục kiểm thử từ bản sao lưu đó. Kiểm thử khả năng sao lưu/phục hồi sau đó tập trung vào kiểm thử tính chính xác của việc sao lưu các hạng mục kiểm thử và tính chính xác của trạng thái phục hồi của hạng mục kiểm thử dựa trên trạng thái lỗi trước đó của nó. Kiểm thử khả năng sao lưu/phục hồi cũng có thể được sử dụng để kiểm chứng xem liệu các thủ tục sao lưu và phục hồi đối với hạng mục kiểm thử có đạt được các mục tiêu phục hồi như quy định không. Kiểu kiểm thử này có thể được thực hiện như một phần của kiểm thử khả năng phục hồi sau khi có sự cố (xem điều A.2.5).

A.2.3 Kiểm thử tương thíchMục đích của kiểm thử tương thích là để xác định xem liệu hạng mục kiểm thử có thể hoạt động tốt trên các môi trường khác nhau không (tức là các hạng mục kiểm thử này có khả năng cùng tồn tại (tương thích) trong các môi trường khác nhau không). Kiểm thử tương thích cũng có thể được dùng cho nhiều bản sao của cùng một hạng mục kiểm thử hoặc nhiều hạng mục kiểm thử khi chia sẻ một môi trường chung.

Các yêu cầu tương thích đối với các hạng mục kiểm thử bao gồm một trong các yêu cầu nhỏ sau:

- Trình tự cài đặt: (Các) trình tự cài đặt rõ ràng (giả sử tất cả các trình tự cài đặt là hợp lệ) tạo ra một cấu hình mà ở đó từng hạng mục kiểm thử sẽ thực hiện các chức năng quy định của nó một cách chính xác.

- Trình tự cài đặt: (Các) trình tự cài đặt rõ ràng (giả sử tất cả các trình tự cài đặt là hợp lệ) tạo ra một cấu hình thời gian chạy mà ở đó từng hạng mục kiểm thử sẽ thực hiện các chức năng quy định của nó một cách chính xác.

- Sử dụng đồng thời: Khả năng hai hoặc nhiều hạng mục kiểm thử thực hiện các chức năng qui định trong cùng một môi trường.

- Những hạn chế về môi trường: Những đặc tính của môi trường như bộ nhớ, bộ vi xử lý, kiến trúc, hoặc cấu hình, có thể ảnh hưởng đến khả năng của hạng mục kiểm thử khi thực hiện các chức năng của nó một cách chính xác.

A.2.4 Kiểm thử chuyển đổi Mục đích của kiểm thử chuyển đổi là để xác định xem liệu dữ liệu hoặc phần mềm có thể tiếp tục có những khả năng qui định sau khi thực hiện những sửa đổi đối về định dạng không, chẳng hạn như chuyển đổi một chương trình từ một ngôn ngữ lập trình này sang ngôn ngữ lập trình khác hoặc chuyển đổi một tập tin dữ liệu phẳng hoặc cơ sở dữ liệu từ một định dạng này sang một định dạng khác. Một dạng kiểm thử chuyển đổi phổ biến đó là kiểm thử sự di trú dữ liệu. Kiểm thử chuyển đổi sử dụng một mô hình các hạng mục kiểm thử mà quy định những yêu cầu chuyển đổi của nó, bao gồm cả những yêu cầu không được thay đổi trong quá trình chuyển đổi, những yêu cầu đó phải là mới, đã được sửa đổi hoặc đã không còn dùng nữa khi chuyển đổi và bất kỳ các chuẩn thiết kế chuyển đổi mà hạng mục kiểm thử phải phù hợp với.

A.2.5 Kiểm thử khả năng phục hồi sau khi có sự cố

38

Page 39: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Mục đích của kiểm thử khả năng phục hồi sau khi có sự cố là để xác định xem nếu trong trường hợp bị lỗi, việc hoạt động của hạng mục kiểm thử có thể được chuyển đến một trang web khác đang hoạt động hay không và liệu nó có thể bị chuyển trở lại một khi lỗi đã được khắc phục hay không. Kiểm thử khả năng phục hồi sau khi có sự cố sử dụng một mô hình hạng mục kiểm thử (thường là một kế hoạch phục hồi sau khi có sự cố) để xác định các yêu cầu phục sau khi có sự cố, bao gồm các chuẩn thiết kế phục hồi sau khi có sự cố mà phù hợp với hạng mục kiểm thử. Trong kiểm thử khả năng phục hồi sau khi có sự cố, hạng mục kiểm thử có thể là toàn hệ thống vận hành, các thiết bị phụ trợ, con người và các thủ tục. Kiểm thử khả năng phục hồi sau khi có sự cố có thể bao gồm các yếu tố như: các thủ tục do đội ngũ nhân viên vận hành thực hiện, việc di chuyển dữ liệu, phần mềm, con người, văn phòng, các thiết bị khác hoặc dữ liệu được sao lưu đến một vị trí cách biệt.

A.2.6 Kiểm thử chức năngMục đích kiểm thử chức năng là để xác định xem liệu các yêu cầu chức năng của hạng mục kiểm thử có đáp ứng không. Ví dụ, kiểu kiểm thử này có thể bao gồm việc xác định xem liệu một chức năng đã được thực hiện theo những yêu cầu quy định chưa. Nó có thể được thực hiện bằng cách sử dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả và các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc được quy định tại Điều 5.

A.2.7 Kiểm thử cài đặtMục đích của kiểm thử cài đặt là để xác định xem liệu (các) hạng mục kiểm thử có thể được cài đặt, tháo gỡ /gỡ bỏ và/ hoặc nâng cấp như quy định trong tất cả các môi trường quy định không. Kiểm thử khả năng cài đặt sử dụng một mô hình các yêu cầu cài đặt của hạng mục kiểm thử, thường được quy định trong các điều khoản cài đặt, tháo gỡ hoặc nâng cấp các hạng mục (được mô tả trong tài liệu hoặc sách hướng dẫn cài đặt), người thực hiện cài đặt, gỡ bỏ hoặc nâng cấp phải cài đặt, tháo gỡ cài đặt hoặc nâng cấp các nền tảng mục tiêu và các hạng mục kiểm thử.

A.2.8 Kiểm thử khả năng tương tácMục đích của kiểm thử khả năng tương tác là để xác định xem liệu một hạng mục kiểm thử có thể tương tác một cách chính xác với các hạng mục kiểm thử khác hoặc hệ thống hoặc trong cùng một môi trường hoặc trong môi trường khác không, ngoài ra còn xác định xem liệu các hạng mục kiểm thử có thể sử dụng hiệu quả các thông tin nhận được từ các hệ thống khác không. Kiểm thử khả năng tương tác sử dụng một mô hình hạng mục kiểm thử mà quy định những yêu cầu về khả năng tương tác của nó, kể cả các chuẩn thiết kế tương tác mà phù hợp với hạng mục kiểm thử. Kiểu kiểm thử này có thể bao gồm việc đánh giá xem liệu một hạng mục kiểm thử chạy trong một môi trường này có thể tương tác một cách chính xác với một hạng mục kiểm thử hoặc hệ thống trong môi trường riêng biệt khác không.

A.2.9 Kiểm thử khả năng nội địa hóa Mục đích của kiểm thử khả năng nội địa hóa là để xác định xem liệu hạng mục kiểm thử có thể được người dùng trong các khu vực địa lý mà nó được sử dụng hiểu được không. Kiểm thử khả năng nội địa hóa có thể bao gồm (nhưng không giới hạn) việc phân tích xem liệu giao diện người dùng và tài liệu hỗ trợ của hạng mục kiểm thử có thể người dùng trong mỗi quốc gia hoặc khu vực sử dụng hiểu được không.

A.2.10 Kiểm thử khả năng bảo trì Mục đích của kiểm thử khả năng bảo trì là để xác định xem liệu một hạng mục kiểm thử có thể được bảo trì bằng cách sử dụng. Kiểm thử khả năng bảo trì sử dụng một mô hình các yêu cầu bảo trì của hạng mục kiểm thử mà được quy định nhằm nỗ lực thực hiện những thay đổi đối với các hình thái bảo trì sau:

- Bảo trì để sửa chữa (tức là khắc phục các vấn đề có trong phần mềm);

- Bảo trì để hoàn hảo (tức là có những cải tiến phần mềm để làm cho hoàn thiện hơn, đầy đủ hơn);

- Bảo trì để thích hợp (tức là tu chỉnh phần mềm để thích hợp với những thay đổi của môi trường);

- Bảo trì để phòng ngừa (tức là có những hành động để giảm chi phí bảo trì trong tương lai)

Kiểm thử khả năng bảo trì có thể đo được bằng cách áp dụng những phân tích tĩnh.

39

Page 40: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

A.2.11 Kiểm thử liên quan đến hiệu năngMục đích của ho các kỹ thuật kiểm thử này là để xác định xem liệu một hạng mục kiểm thử có thực hiện theo yêu cầu khi nó được đặt dưới mức "tải" khác nhau không. Ho kỹ thuật này bao gồm kiểm thử hiệu năng, kiểm thử tải, kiểm thử áp lực, kiểm thử sức bền, kiểm thử khối lượng, kiểm thử dung lượng và kiểm thử quản lý bộ nhớ. Mỗi loại kiểm thử sử dụng một mô hình các hạng mục kiểm thử mà quy định các yêu cầu về hiệu năng của nó, kể cả các tiêu chuẩn thiết thiết kế hiệu năng quy định mà phù hợp với các hạng mục kiểm thử. Ví dụ, kiểm thử này có thể bao gồm việc đánh giá hiệu năng của các hạng mục kiểm thử, xác định số giao dịch trong một giây, thời gian phản hồi, thông lượng và việc sử dụng tài nguyên. Kiểm thử tải "tiêu biểu" của hạng mục kiểm thử dưới các điều kiện "bình thường" có thể được định nghĩa trong hồ sơ hoạt động của các hạng mục kiểm thử.

Có một số kỹ thuật kiểm thử đánh giá hiệu năng của hạng mục kiểm thử:

- Kiểm thử hiệu năng là nhằm đánh giá hiệu năng các hạng mục kiểm thử khi nó được đặt dưới một tải "điển hình".

- Kiểm thử tải nhằm mục đích đánh giá hành vi của các hạng mục kiểm thử (ví dụ như hiệu năng và độ tin cậy) khi nó được đặt dưới các điều kiện tải khác nhau, thường là giữa các điều kiện dự đoán sử dụng thấp, tiêu biểu và sử dụng cao.

- Kiểm thử áp lực nhằm đánh giá hiệu năng của các hạng mục kiểm thử khi nó bị đẩy vượt quá tải cao nhất dự kiến của nó hoặc khi các nguồn tài nguyên sẵn có (ví dụ như bộ nhớ, bộ xử lý, đĩa) bị giảm xuống dưới mức yêu cầu tối thiểu, để đánh giá cách thức nó hoạt động trong các điều kiện khắc nghiệt.

- Kiểm thử sức bền nhằm đánh giá xem liệu các hạng mục kiểm thử có thể duy trì tải theo yêu cầu trong một khoảng thời gian liên tục không.

- Kiểm thử khối lượng nhằm đánh giá hiệu năng của các hạng mục kiểm thử khi nó xử lý một lượng dữ liệu nhất định. Ví dụ, kiểm thử này có thể bao gồm việc đánh giá hiệu năng hạng mục kiểm thử khi cơ sở dữ liệu của nó gần đạt dung lượng tối đa.

- Kiểm thử dung lượng (cũng được goi là kiểm thử khả năng mở rộng) nhằm mục đích đánh giá cách thức các hạng mục kiểm thử thực hiện ở dưới các điều kiện mà có thể cần phải được hỗ trợ trong tương lai. Ví dụ, kiểu kiểm thử này có thể bao gồm việc đánh giá mức độ nguồn lực bổ sung (ví dụ như bộ nhớ, dung lượng ổ cứng, băng thông mạng) sẽ được yêu cầu để hỗ trợ tải dự kiến trong tương lai.

- Kiểm thử quản lý bộ nhớ nhằm mục đích đánh giá cách thức hạng mục kiểm thử thực hiện trong điều kiện có nhiều (tối đa) bộ nhớ được sử dụng (ví dụ như bộ nhớ đĩa cứng, bộ nhớ RAM và ROM), các loại bộ nhớ (ví dụ như động hoặc phân bổ/ hoặc tĩnh) và/hoặc mức độ rò rỉ bộ nhớ trong quá trình thử nghiệm. Các yêu cầu bộ nhớ thông thường sẽ được xác định theo điều kiện hoạt động cụ thể (ví dụ như yêu cầu bộ nhớ trong một thời gian vận hành cụ thể dưới các tải giao dịch có thể được quy định).

A.2.12 Kiểm thử tính khả chuyển Mục đích của kiểm thử tính khả chuyển là để xác định mức độ dễ hay khó đối với một hạng mục kiểm thử khi được chuyển từ một phần cứng, phần mềm hoặc môi trường vận hành hoặc môi trường sử dụng này đến phần cứng, phần mềm hoặc các môi trường vận hành hoặc môi trường sử dụng khác. Kiểm thử tính khả chuyển sử dụng một mô hình các hạng mục kiểm thử mà xác định các yêu cầu về khả chuyển của nó, kể cả các tiêu chuẩn thiết kế khả chuyển quy định mà các hạng mục kiểm thử phải phù hợp. Các yêu cầu về tính khả chuyển có liên quan đến khả năng di chuyển các hạng mục kiểm thử từ một môi trường này đến một môi trường khác, hoặc liên quan đến khả năng thay đổi cấu hình của môi trường hiện có đến cấu hình khác theo yêu cầu. Ví dụ, kiểm thử này có thể bao gồm việc đánh giá xem liệu các hạng mục kiểm thử có thể được hoạt động với một loạt các trình duyệt khác nhau không.

A.2.13 Kiểm thử thủ tục Mục đích của kKiểm thử thủ tục là để xác định xem liệu những hướng dẫn về thủ tục có đáp ứng yêu

40

Page 41: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

cầu của người sử dụng và hỗ trợ mục đích sử dụng của ho không. Kiểm thử thủ tục sử dụng một mô hình các yêu thủ tục của hạng mục kiểm thử như một đơn vị hoàn chỉnh và đã được chuyển giao. Các yêu cầu thủ tục sẽ đưa ra dưới dạng tài liệu về thủ tục và được viết dưới hình thức các hướng dẫn về thủ tục. Thông thường những hướng dẫn về thủ tục sẽ là một trong các tài liệu sau:

- Tài liệu hướng dẫn người dùng;

- Sách hướng dẫn sử dụng;

- Sách tham khảo.

Thông tin này sẽ xác định cách người dùng dự định:

- Thiết lập hạng mục kiểm thử để sử dụng bình thường;

- Vận hành các hạng mục kiểm thử trong các điều kiện bình thường;

- Trở thành người dùng hệ thống thành thạo (các file tài liệu hướng dẫn thực hành);

- Khắc phục lại các hạng mục kiểm thử khi xuất hiện lỗi;

- Cấu hình lại các hạng mục kiểm thử.

A.2.14 Kiểm thử độ tin cậyMục đích của kiểm thử độ tin cậy là để đánh giá khả năng của các hạng mục kiểm thử khi thực hiện các chức năng qui định của nó, bao gồm cả việc đánh giá tần suất xuất hiện lỗi khi nó được sử dụng trong các điều kiện quy định với một khoảng thời gian nhất định. Kiểm thử độ tin cậy sử dụng một mô hình của các hạng mục kiểm thử mà quy định mức độ tin cậy của nó (ví dụ như thời gian trung bình xuất hiện lỗi, thời gian trung bình giữa các lỗi). Mô hình này sẽ bao gồm định nghĩa về lỗi và hồ sơ hoạt động của các hạng mục kiểm thử hoặc phương pháp để tạo hồ sơ hoạt động.

A.2.15 Kiểm thử tính an toàn Mục đích của kiểm thử tính an toàn là để đánh giá mức độ mà một hạng mục kiểm thử và các dữ liệu liên quan của nó được bảo vệ để người dùng trái phép hoặc các hệ thống trái phép không thể sử dụng, đoc hoặc sửa đổi được và chỉ những hệ thống hoặc người được uỷ quyền mới được cấp yêu cầu truy cập chúng. Kiểm thử tính an toàn sử dụng một mô hình các hạng mục kiểm thử mà quy định các yêu cầu bảo mật, bao gồm moi tiêu chuẩn thiết kế bảo mật quy định mà phù hợp với hạng mục kiểm thử.Các yêu cầu an toàn liên quan đến khả năng bảo vệ dữ liệu và tính năng của một hạng mục kiểm thử khỏi những người sử dụng trái phép và sử dụng độc hại. Ví dụ, kiểm thử này có thể bao gồm việc đánh giá xem các hạng mục kiểm thử có ngăn cản được người dùng trái phép truy cập dữ liệu, hoặc đánh giá xem chức năng nào đó của một hạng mục kiểm thử chỉ có thể truy cập bởi những người dùng được quyền truy cập để bảo vệ khỏi những người dùng trái phép.

Có một số kỹ thuật đánh giá tính an toàn của một hạng mục kiểm thử:

- Kỹ thuật kiểm thử thâm nhập liên quan đến việc kỹ sư kiểm thử cố gắng truy cập đến một hạng mục kiểm thử (bao gồm cả tính năng và/ hoặc dữ liệu cá nhân của nó) đó là bắt trước những hành động của người dùng trái phép.

- Kiểm thử tính riêng tư liên quan đến việc cố gắng truy cập vào dữ liệu cá nhân và kiểm chứng dấu vết được bỏ lại sau khi người dùng truy cập dữ liệu cá nhân.

- Kiểm thử tính an toàn là một loại kiểm thử tĩnh trong đó kỹ sư kiểm thử thanh tra mã nguồn, xem xét tài liệu hoặc tổng duyệt các yêu cầu và mã nguồn của một hạng mục kiểm thử để xác định xem có xuất hiện bất kỳ lỗ hổng bảo mật nào không?

- Kỹ thuật quét lỗ hổng bảo mật liên quan đến việc sử dụng các công cụ kiểm tra tự động để quét một hạng mục kiểm thử khi có dấu hiệu xuất hiện các lỗ hổng.

A.2.16 Kiểm thử tính khả dụngMục đích của kiểm thử tính khả dụng là để đánh giá xem liệu những người dùng đã được chỉ định có thể sử dụng hạng mục kiểm thử để để đạt được mục tiêu đề ra một cách hiệu quả và hài lòng khi sử dụng không. Do đó, kiểm thử tính khả dụng sử dụng một mô hình các hạng mục kiểm thử để chỉ rõ những yêu về tính khả dụng, bao gồm các tiêu chuẩn về độ khả dụng phù hợp với hạng mục kiểm thử.

41

Page 42: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Các yêu cầu tính khả dụng quy định các mục tiêu của tính khả dụng đối với các hạng mục kiểm thử. Các mục tiêu của kiểm thử tính khả dụng được dựa trên các mục tiêu kiểm thử hạng mục (lý do có các hạng mục kiểm thử, sự khác biệt nó mang lại cho các tổ chức, cá nhân, tính khả dụng đối với các nhiệm vụ nó hỗ trợ), bối cảnh sử dụng cho các hạng mục kiểm thử (những người sử dụng các hạng mục kiểm thử và môi trường mà nó được sử dụng, những đặc tính người dùng và nhiệm vụ người dùng). Các mục tiêu của tính khả dụng sẽ được xác định về tính hiệu quả và sự hài lòng đối với người dùng để đạt được mục tiêu cụ thể trong một hoặc nhiều trường hợp sử dụng cụ thể.CHÚ THÍCH: ISO/IEC 9241 định nghĩa các tiêu chuẩn để xác định các yêu cầu về sự tương tác giữa con người và hệ thống.

A.3 Ánh xạ các đặc tính chất lượng đến các kiểu kiểm thử A.3.1 Ánh xạBảng dưới đây trình bày các loại kiểm thử được nêu trong Điều A.2 được ánh xạ tới các đặc tính chất lượng trình bày trong Hình A.1 (trong Điều A.1.1).

Bảng A.1 - Ánh xạ các đặc tính chất lượng trong ISO/IEC 25010 đến các kiểu kiểm thử

Kiểu kiểm thử Đặc tính chất lượng Các đặc tính phụKiểm thử khả năng truy cập Khả năng sử dụng Khả năng truy cập

Kiểm thử khả năng sao lưu/phục hồi Độ tin cậy Tính hoàn thiện

Khả năng chịu lỗi

Khả năng phục hồi

Kiểm thử tương thích Tính tương thích Khả năng cùng tồn tại

Kiểm thử chuyển đổi Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử khả năng phục hồi sau khi có sự cố

Độ tin cậy Tính hoàn thiện

Khả năng chịu lỗi

Khả năng phục hồi

Kiểm thử chức năng Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử khả năng cài đặt Tính khả chuyển Khả năng cài đặt

Kiểm thử khả năng tương tác Tính tương thích Khả năng tương tác

Kiểm thử khả năng nội địa hóa Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Khả năng sử dụng Tính có thể nhận ra

Tính dễ hoc

Khả năng vận hành

Bảo vệ lỗi người dùng

Tính thẩm mỹ giao diện người dùng

Khả năng truy cập

Tính khả chuyển Khả năng thích nghi

42

Page 43: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Kiểu kiểm thử Đặc tính chất lượng Các đặc tính phụKiểm thử khả năng bảo trì Khả năng bảo trì Tính mô đun hóa

Khả năng sử dụng lại

Khả năng phân tích

Tính có thể thay đổi được

Khả năng kiểm thử được

Kiểm thử liên quan đến hiệu năng Tính hiệu quả Đáp ứng thời gian

Sử dụng tài nguyên

Dung lượng

Kiểm thử tính khả chuyển Tính khả chuyển Khả năng thích nghi

Khả năng cài đặt

Khả năng thay thế được

Kiểm thử thủ tục Không có Không có

Kiểm thử độ tin cậy Độ tin cậy Tính hoàn thiện

Tính có thể dùng được

Khả năng chịu lỗi

Khả năng phục hồi

Kiểm thử bảo mật Tính bảo mật Tính bí mật

Tính toàn vẹn

Tính không chối bỏ

Tính trách nhiệm

Tính xác thực

Kiểm thử tính khả dụng Khả năng sử dụng Tính có thể nhận ra

Tính dễ hoc

Khả năng vận hành

Bảo vệ lỗi người dùng

Tính thẩm mỹ giao diện người dùng

Khả năng truy cập

A.4 Ánh xạ các đặc tính chất lượng đến các kỹ thuật thiết kế kiểm thửA.4.1 Ánh xạCác kỹ thuật thiết kế kiểm thử được miêu tả trong phần này có thể được sử dụng để kiểm thử nhiều đặc tính chất lượng trong Hình A.1. Bảng dưới đây là một ví dụ về việc ánh xạ giữa chúng.

Bảng A.2 - Ánh xạ các kỹ thuật thiết kế kiểm thử đến các phương pháp đo chất lượng sản phẩm đối với các đặc tính sản phẩm trong ISO/IEC 25010

Kỹ thuật thiết kế kiểm thử Các đặc tính chính của chất lượng phần mềm trong ISO/IEC 25010

Các đặc tính con của chất lượng phần mềm trong ISO/IEC 25010

Các kỹ thuật thiết kế kiểm thử dựa trên đặc tả

Phân tích giá trị biên Tính năng phù hợp Tính năng đầy đủ

43

Page 44: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Kỹ thuật thiết kế kiểm thử Các đặc tính chính của chất lượng phần mềm trong ISO/IEC 25010

Các đặc tính con của chất lượng phần mềm trong ISO/IEC 25010

Tính năng chính xác

Tính năng thích hợp

Tính hiệu quả Đáp ứng thời gian

Dung lượng

Tính khả dụng Bảo vệ lỗi người dùng

Độ tin cậy Khả năng chịu lỗi

Tính an toàn Tính bí mật

Tính toàn vẹn

Đồ thị nguyên nhân - kết quả Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính khả dụng Bảo vệ lỗi người dùng

Tính tương thích Khả năng cùng tồn tại

Phương pháp phân loại cây Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính khả dụng Bảo vệ lỗi người dùng

Kỹ thuật kiểm thử tổ hợp Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính tương thích Khả năng cùng tồn tại

Tính hiệu quả Đáp ứng thời gian

Tính khả dụng Bảo vệ lỗi người dùng

Kiểm thử bảng quyết định Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính tương thích Khả năng cùng tồn tại

Tính khả dụng Bảo vệ lỗi người dùng

Phân vùng tương đương Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính khả dụng Bảo vệ lỗi người dùng

Độ tin cậy Tính có thể dùng được

Tính an toàn Tính bí mật

Tính toàn vẹn

44

Page 45: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Kỹ thuật thiết kế kiểm thử Các đặc tính chính của chất lượng phần mềm trong ISO/IEC 25010

Các đặc tính con của chất lượng phần mềm trong ISO/IEC 25010

Tính không chối bỏ

Tính trách nhiệm

Tính xác thực

Kiểm thử ngẫu nhiên Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính hiệu quả Đáp ứng thời gian

Sử dụng tài nguyên

Dung lượng

Độ tin cậy Tính hoàn thiện

Tính có thể dùng được

Khả năng chịu lỗi

Khả năng phục hồi

Tính an toàn Tính bí mật

Tính toàn vẹn

Tính không chối bỏ

Tính trách nhiệm

Tính xác thực

Kiểm thử theo kịch bản Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính khả dụng Tính dễ hoc

Khả năng vận hành

Bảo vệ lỗi người dùng

Tính thẩm mỹ giao diện người dùng

Khả năng truy cập

Tính có thể nhận ra

Kiểm thử biến đổi trạng thái Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Độ tin cậy Tính hoàn thiện

Tính có thể dùng được

Khả năng chịu lỗi

Khả năng phục hồi

Kiểm thử theo cú pháp Tính năng phù hợp Tính năng đầy đủ

45

Page 46: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Kỹ thuật thiết kế kiểm thử Các đặc tính chính của chất lượng phần mềm trong ISO/IEC 25010

Các đặc tính con của chất lượng phần mềm trong ISO/IEC 25010

Tính năng chính xác

Tính năng thích hợp

Kiểm thử các trường hợp sử dụng

Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Tính khả dụng Tính dễ hoc

Khả năng vận hành

Bảo vệ lỗi người dùng

Tính thẩm mỹ giao diện người dùng

Khả năng truy cập

Tính có thể nhận ra

Các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc

Kiểm thử kết hợp điều kiện nhánh

Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử điều kiện nhánh Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử nhánh Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử luồng dữ liệu Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

kiểm thử dựa trên bảng quyết định

Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)

Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Kiểm thử câu lệnh Tính năng phù hợp Tính năng đầy đủ

Tính năng chính xác

Tính năng thích hợp

Các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm

Đoán lỗi Tính năng phù hợp Tính năng đầy đủ

46

Page 47: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Kỹ thuật thiết kế kiểm thử Các đặc tính chính của chất lượng phần mềm trong ISO/IEC 25010

Các đặc tính con của chất lượng phần mềm trong ISO/IEC 25010

Tính năng chính xác

Tính năng thích hợp

Tính hiệu quả Đáp ứng thời gian

Sử dụng tài nguyên

Dung lượng

Tính khả dụng Tính dễ hoc

Khả năng vận hành

Bảo vệ lỗi người dùng

Độ tin cậy Khả năng chịu lỗi

47

Page 48: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Phụ lục B(Tham khảo)

Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả

B.1 Hướng dẫn và ví dụ về các kỹ thuật thiết kế kiểm thử dựa trên đặc tảB.1.1 Tổng quanPhụ lục này đưa ra hướng dẫn về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả nêu trong điều 5.2 và tính độ bao phủ các kỹ thuật kiểm thử dựa trên đặc tả trong điều 6.2 bằng các ví dụ riêng. Mỗi ví dụ đều dựa theo quy trình Thiết kế và chuẩn bị kiểm thử được định nghĩa trong TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2). Mặc dù mỗi ví dụ được áp dụng cho kiểm thử dựa trên đặc tả, nhưng trong thực tế, như đã nêu trong điều 5.1 thì hầu hết các kỹ thuật kiểm thử được định nghĩa trong tiêu chuẩn này có thể được sử dụng thay thế cho nhau (ví dụ: kỹ thuật phân tích giá trị biên có thể được sử dụng để kiểm thử các đầu vào cho một chương trình thông qua giao diện người dùng hoặc các biên của các biến trong mã nguồn chương trình).

B.2 Các ví dụ về kỹ thuật thiết kế kiểm thử dựa trên đặc tả B.2.1 Phân vùng tương đươngB.2.1.1 Giới thiệuMục đích của phân vùng tương đương xây dựng một bộ các trường hợp kiểm thử mà bao gồm các phân vùng đầu vào và đầu ra của hạng mục kiểm thử theo mức độ bao phủ phân lớp tương đương được lựa chon. Phân vùng tương đương được dựa trên giả thuyết rằng các đầu vào và đầu ra của một hạng mục kiểm thử có thể được phân chia thành các lớp dữ liệu dựa theo cơ sở kiểm thử đối với các hạng mục kiểm thử, sẽ được xử lý tương tự theo các hạng mục kiểm thử. Do đó, kết quả của việc kiểm thử bất kỳ một giá trị nào trong một phân vùng tương đương có thể được đại diện cho kết quả kiểm thử các giá trị khác trong phân vùng đó.

B.2.1.2 Đặc tảHãy xem xét một hạng mục kiểm thử tạo điểm với cơ sở kiểm thử sau:

Nếu thành phần nhận được điểm thi (theo thang điểm 75) và điểm luận văn (c/w) (theo thang điểm 25) là các đầu vào, từ đó có thể tính được điểm cho khóa học, điểm của khóa học được phân loại thành các điểm từ loại 'A' đến điểm loại 'D'. Các điểm này được đưa ra căn cứ vào cách tính toán điểm tổng. Điểm tổng bằng điểm thi và điểm luận văn (c/w) cộng lại với nhau, do đó chúng ta có các phân vùng sau:

Điểm tổng lớn hơn hoặc bằng 70 - đạt điểm A

Điểm tổng lớn hơn hoặc bằng 50, nhưng nhỏ hơn 70 - đạt điểm B

Điểm tổng lớn hơn hoặc bằng 30, nhưng nhỏ hơn 50 - đạt điểm C

Điểm tổng nhỏ hơn 30 - đạt điểm D

Nếu phát hiện (các) đầu vào không hợp lệ (ví dụ như điểm nằm ngoài giới hạn quy định) thì sẽ xuất hiện bản tin lỗi ( 'FM'). Tất cả các điểm đầu vào mà đạt phải là các số nguyên.

B.2.1.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng (FS) được tạo ra, đó là:

FS1: Hàm tạo điểm

B.2.1.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Trong phân vùng tương đương, các phân vùng tương đương là các điều kiện kiểm thử (TCOND). Các phân vùng tương đương được xác định dựa theo đầu vào và đầu ra của hạng mục kiểm thử. Do đó khi xác định các phân vùng tương đương cần phải lưu ý tất cả các đầu vào và đầu ra hợp lệ và không hợp

48

Page 49: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

lệ.

Trước tiên xác định được các phân vùng hợp lệ cho đầu vào điểm thi và điểm luận văn. Các phân vùng hợp lệ này bao gồm:

TCOND1: 0 ≤ điểm thi ≤ 75 (đối với tập tính năng FS1)

TCOND2: 0 ≤ điểm luận văn ≤ 25 (đối với tập tính năng FS1)

Các phân vùng không hợp lệ dựa trên các đầu vào bao gồm:

TCOND3: Điểm thi < 0 (đối với tập tính năng FS1)

TCOND4: Điểm thi > 75 (đối với tập tính năng FS1)

TCOND5: Điểm luận văn < 0 (đối với tập tính năng FS1)

TCOND6: Điểm luận văn > 25 (đối với tập tính năng FS1)

Các giá trị được phân vùng tương đương có thể được biểu diễn trong hình dưới đây, do đó, đối với đầu vào là điểm thi, chúng ta có:

Hình B.1 - Đầu vào “điểm thi”Đối với đầu vào là điểm luận văn, chúng ta có:

Hình B.2 - Đầu vào “điểm luận văn”Các phân vùng đầu vào không hợp lệ có thể bao gồm các dạng đầu vào không phải là số nguyên, đầu vào không phải là chữ số. Vì vậy, chúng ta có thể tạo ra được các phân vùng tương đương đối với đầu vào không hợp lệ dưới đây:

TCOND7: Điểm thi = số thực có phần thập phân (đối với FS1)

TCOND8: Điểm thi = chữ cái (đối với FS1)

TCOND9: Điểm thi = ký tự đặc biệt (đối với FS1)

TCOND10: Điểm luận văn = số thực có phần thập phân (đối với FS1)

TCOND11: Điểm luận văn = chữ cái (đối với FS1)

TCOND12: Điểm luận văn = ký tự đặc biệt (đối với FS1)

Tiếp theo, có thể xác định được các phân vùng tương đương đối với các đầu ra hợp lệ:

TCOND13: Điểm A được tạo ra bởi 70 ≤ điểm tổng ≤ 100 (đối với FS1)

TCOND14: Điểm B được tạo ra bởi 50 ≤ điểm tổng < 70 (đối với FS1)

TCOND15: Điểm C được tạo ra bởi 30 ≤ điểm tổng < 50 (đối với FS1)

TCOND16: Điểm D được tạo ra bởi 0 ≤ điểm tổng < 30 (đối với FS1)

TCOND17: Bản tin lỗi’ (FM) được tạo ra bởi điểm tổng > 100 (đối với FS1)

TCOND18: Bản tin lỗi’ (FM) được tạo ra bởi điểm tổng < 0 (đối với FS1)

49

Page 50: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND19: Bản tin lỗi’ (FM) được tạo ra bởi các đầu vào không phải là số nguyên

(đối với FS1)

Trong đó: Điểm tổng = điểm thi + điểm luận văn. Chú ý: “Bản tin lỗi” được coi là một đầu ra hợp lệ theo quy định.

Các phân vùng tương đương và các biên đối với điểm tổng được trình bày trong hình dưới đây:

Hình B.3 - Các phân vùng tương đương và các biên đối với điểm tổngĐầu ra không hợp lệ sẽ là bất kỳ đầu ra nào của hạng mục kiểm thử mà khác so với bất kỳ năm đầu ra đã xác định. Có thể rất khó khăn khi xác định các đầu ra không xác định. Tuy nhiên, phải lưu ý đến chúng nếu không sẽ bị thiếu khi xác định hạng mục kiểm thử, cơ sở kiểm thử hoặc cả hai.  Trong ví dụ này có ba đầu ra không xác định dưới đây. Việc xác định các phân vùng tương đương đầu ra không hợp lệ này mang tính chủ quan và các kỹ sư kiểm thử khác nhau có thể xác định được các phân vùng khác nhau mà ho cảm thấy có thể xảy ra (vấn đề này được miêu tả trong điều 5.2.1.1, CHÚ THÍCH 2). 

TCOND20: Đầu ra = “điểm loại E”, trong trường hợp này điểm loại E (không hợp lệ) được bổ sung thêm khi điểm tổng nằm trong phạm vi từ 0 đến 15 điểm

(đối với FS1)

TCOND21: Đầu ra = “điểm A+”, trong trường hợp này điểm A+ (không hợp lệ) được bổ sung thêm khi điểm tổng nằm trong phạm vi từ 90 đến 100

(đối với FS1)

TCOND22: Đầu ra = ‘null’, trong trường hợp có thể tạo ra được một đầu ra ‘null’ (đối với FS1)

B.2.1.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Đối với kỹ thuật phân vùng tương đương, các hạng mục bao phủ kiểm thử là các phân vùng đã được xác định ở bước trên (tức là trong kỹ thuật này, các điều kiện kiểm thử tương tự như các hạng mục bao phủ kiểm thử). Do đó, có thể xác định được 22 hạng mục bao phủ kiểm thử sau đây.

TCOVER1: 0 ≤ điểm thi ≤ 75 (đối với TCOND1)

TCOVER2: 0 ≤ điểm luận văn ≤ 25 (đối với TCOND2)

TCOVER3: Điểm thi < 0 (đối với TCOND3)

TCOVER4: Điểm thi > 75 (đối với TCOND4)

TCOVER5: Điểm luận văn < 0 (đối với TCOND5)

TCOVER6: Điểm luận văn > 25 (đối với TCOND6)

TCOVER7: Điểm thi = số thực có phần thập phân (đối với TCOND7)

TCOVER8: Điểm thi = chữ cái (đối với TCOND8)

TCOVER9: Điểm thi = ký tự đặc biệt (đối với TCOND9)

TCOVER10: Điểm luận văn = số thực có phần thập phân (đối với TCOND10)

TCOVER11: Điểm luận văn = chữ cái (đối với TCOND11)

50

Page 51: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER12: Điểm luận văn = ký tự đặc biệt (đối với TCOND12)

TCOVER13: Điểm A được tạo ra bởi 70 ≤ điểm tổng ≤ 100 (đối với TCOND13)

TCOVER14: Điểm B được tạo ra bởi 50 ≤ điểm tổng < 70 (đối với TCOND14)

TCOVER15: Điểm C được tạo ra bởi 30 ≤ điểm tổng < 50 (đối với TCOND15)

TCOVER16: Điểm D được tạo ra bởi 0 ≤ điểm tổng < 30 (đối với TCOND16)

TCOVER17: Bản tin lỗi’ (FM) được tạo ra bởi điểm tổng > 100 (đối với TCOND17)

TCOVER18: Bản tin lỗi’ (FM) được tạo ra bởi điểm tổng < 0 (đối với TCOND18)

TCOVER19: Bản tin lỗi’ (FM) được tạo ra bởi (các) đầu vào không phải là số nguyên)

(đối với TCOND19)

TCOVER20: Đầu ra = điểm loại E (đối với TCOND20)

TCOVER21: Đầu ra = điểm A+ (đối với TCOND21)

TCOVER22: Đầu ra = ‘null’ (đối với TCOND22)

B.2.1.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)B.2.1.6.1 Các Tùy chọnĐã xác định được các phân vùng tương đương và các hạng mục bao phủ kiểm thử, bước này chúng ta xây dựng các trường hợp kiểm thử nhằm nỗ lực "thực hiện" từng hạng mục bao phủ kiểm thử. Có hai phương pháp phổ biến dùng để thiết kế các trường hợp kiểm thử là phương pháp phân vùng tương đương một - một và phương pháp phân vùng tương đương tối thiểu hóa (có thể sử dụng các phương pháp khác khi kết hợp các hạng mục bao phủ kiểm thử được thực hiện bởi trường hợp kiểm thử nêu trong điều 5.2.5). Ở phương pháp thứ nhất, một trường hợp kiểm thử được tạo ra cho mỗi phân vùng được xác định trên cơ sở một - một (xem tùy chon 4a dưới đây), ở phương pháp thứ hai, chỉ thiết kế một số lượng tối thiểu các trường hợp kiểm thử để bao phủ tất cả các phân vùng đã xác định (xem tùy chon 4b dưới đây). Các điều kiện tiên quyết của tất cả các trường hợp kiểm thử dựa trên tập tính năng hàm tạo-điểm đều giống nhau, do đó việc áp dụng để xác định các đầu vào điểm thi và điểm luận văn rất dễ dàng.

B.2.1.6.2 Tùy chọn 4a: Xây dựng các trường hợp kiểm thử theo phương pháp phân vùng tương đương một-một (TD4)Phương pháp phân vùng tương đương một-một cho thấy sự liên kết giữa các phân vùng tương đương và các trường hợp kiểm thử. Trong phương pháp này, một trường hợp kiểm thử chỉ bao phủ một và chỉ một hạng mục bao phủ kiểm thử. Do đó, có hai mươi hai hạng mục bao phủ kiểm thử được xác định ở bước trên sẽ có hai mươi hai trường hợp kiểm thử.

Các trường hợp kiểm thử tương ứng với các phân vùng được xác định từ đầu vào điểm thi được trình bày dưới đây. Lưu ý rằng đầu vào điểm luận văn trong bảng dưới đây được lấy một giá trị hợp lệ tùy ý là 15. Việc phân bổ một giá trị hợp lệ tùy ý cho tất cả đầu vào trong trường hợp kiểm thử (trừ các trường hợp đang được kiểm thử) được thực hiện cho tất cả các trường hợp kiểm thử trong điều khoản này.

Bảng B.1 - Các trường hợp kiểm thử đối với đầu vào điểm thi

Trường hợp kiểm thử 1 2 3Đầu vào (điểm thi) 60 -10 93Đầu vào (điểm luận văn) 15 15 15Điểm tổng (điểm thi + điểm luận văn) 75 5 108Hạng mục bao phủ kiểm thử TCOVER1 TCOVER3 TCOVER4Phân vùng kiểm thử (của điểm thi (e)) 0 ≤ e ≤ 75 e < 0 e > 75

51

Page 52: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Đầu ra mong đợi điểm A Bản tin lỗi Bản tin lỗi

Các trường hợp kiểm thử tương ứng với các phân vùng được tạo ra từ đầu vào điểm luận văn là:

Bảng B.2 - Các trường hợp kiểm thử đối với đầu vào điểm luận văn

Trường hợp kiểm thử 4 5 6Đầu vào (điểm thi) 40 40 40Đầu vào (điểm luận văn) 20 -15 47Điểm tổng (điểm thi + điểm luận văn) 60 25 87Hạng mục bao phủ kiểm thử TCOVER2 TCOVER5 TCOVER6Phân vùng kiểm thử (của điểm luận văn (c))

0 ≤ c ≤ 25 c < 0 c > 25

Đầu ra mong đợi Điểm B Bản tin lỗi Bản tin lỗi

Các trường hợp kiểm thử tương ứng với các phân vùng được tạo ra các từ đầu vào không hợp lệ là:

Bảng B.3 - Các trường hợp kiểm thử đối với đầu vào không hợp lệ cho điểm thi

Trường hợp kiểm thử 7 8 9

Đầu vào (điểm thi) 60.5 Q $

Đầu vào (điểm luận văn) 15 15 15

Điểm tổng (điểm thi + điểm luận văn) 75.5 không tính được không tính được

Hạng mục bao phủ kiểm thử TCOVER7 TCOVER8 TCOVER9

Phân vùng kiểm thử điểm thi = số thực có phần thập phân

điểm thi = chữ cái điểm thi = ký tự đặc biệt

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi

Bảng B.4 - Các trường hợp kiểm thử đối với đầu vào không hợp lệ cho điểm luận văn

Trường hợp kiểm thử 10 11 12

Đầu vào (điểm thi) 40 40 40

Đầu vào (điểm luận văn) 20.23 G @

Điểm tổng (điểm thi + điểm luận văn) 60.23 không tính được không tính được

Hạng mục bao phủ kiểm thử TCOVER10 TCOVER11 TCOVER12

Phân vùng kiểm thử điểm luận văn = số thực có phần thập

phân

điểm luận văn = chữ cái

điểm luận văn = ký tự đặc biệt

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi

Các trường hợp kiểm thử tương ứng với các phân vùng được tạo ra các từ đầu ra hợp lệ là:

Bảng B.5 - Các trường hợp kiểm thử đối với đầu ra hợp lệ điểm tổng

Trường hợp kiểm thử 13 14 15

Đầu vào (điểm thi) 60 44 32

Đầu vào (điểm luận văn) 20 22 13

Điểm tổng (điểm thi + điểm luận văn) 80 66 45

52

Page 53: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Hạng mục bao phủ kiểm thử TCOVER13 TCOVER14 TCOVER15

Phân vùng kiểm thử (của điểm tổng) 70 ≤ t ≤ 100 50 ≤ t < 70 30 ≤ t < 50

Đầu ra mong đợi Điểm A Điểm B Điểm C

Bảng B.6 - Các trường hợp kiểm thử đối với đầu ra hợp lệ điểm tổng

Trường hợp kiểm thử 16 17 18

Đầu vào (điểm thi) 12 80 -10

Đầu vào (điểm luận văn) 5 60 -10

Điểm tổng (điểm thi + điểm luận văn) 17 140 -20

Hạng mục bao phủ kiểm thử TCOVER16 TCOVER17 TCOVER18

Phân vùng kiểm thử (của điểm tổng (t)) 0 ≤ t < 30 t > 100 t < 0

Đầu ra mong đợi Điểm D Bản tin lỗi Bản tin lỗi

Các giá trị đầu vào của điểm thi và điểm luận văn được tạo ra từ điểm tổng, tức là tổng điểm của điểm thi và điểm luận văn.

Các trường hợp kiểm thử tương ứng với các phân vùng được tạo ra từ các đầu ra không hợp lệ là:

Bảng B.7 - Các trường hợp kiểm thử đối với đầu ra không hợp lệ điểm tổng

Trường hợp kiểm thử 19 20 21 22

Đầu vào (điểm thi) 47.3 5 72 Null

Đầu vào (điểm luận văn) @@@ 5 23 Null

Điểm tổng (điểm thi + điểm luận văn)

- 10 95 -

Hạng mục bao phủ kiểm thử TCOVER19 TCOVER20 TCOVER21 TCOVER22

Phân vùng kiểm thử (đầu ra) Bản tin lỗi điểm loại E điểm A+ ‘Null’

Phân vùng (của điểm tổng) - 0 ≤ t ≤ 15 90 ≤ t ≤ 100 -

Đầu ra mong đợi Bản tin lỗi Điểm D Điểm A Bản tin lỗi

Tùy thuộc vào quy trình Thiết kế và chuẩn bị kiểm thử, có thể không thể thực hiện được các trường hợp kiểm thử có chứa các giá trị đầu vào không hợp lệ (ví dụ: các trường hợp kiểm thử 2, 3, 5 đến 12 và các trường hợp kiểm thử từ 17 đến 22 trong ví dụ trên). Chẳng hạn như trong ngôn ngữ lập trình Ada, nếu các biến đầu vào được khai báo là một số nguyên dương thì không thể gán giá trị âm cho nó. Mặc dù vậy, vẫn cần phải xem xét tất cả các trường hợp kiểm thử.

B.2.1.6.3 Tùy chọn 4b: Xây dựng các trường hợp kiểm thử theo phương pháp phân vùng tương đương tối thiểu hóa (TD4)Điều B.2.1.6.2 ở trên cho thấy, có một số trường hợp kiểm thử tương tự nhau, chẳng hạn như trường hợp kiểm thử 1 và 13, sự khác biệt chính giữa chúng là hạng mục bao phủ kiểm thử cụ thể được lựa chon từ các phân vùng mục tiêu. Do hạng mục kiểm thử ở ví dụ này có hai đầu vào và một đầu ra nên mỗi trường hợp kiểm thử "bao phủ" ba phân vùng tương đương, đó là: hai phân vùng đầu vào và một phân vùng đầu ra. Do đó, chúng ta vẫn có thể tạo ra được một bộ kiểm thử nhỏ hơn "đã tối thiểu hóa" mà vẫn "bao phủ" tất cả các phân vùng đã xác định bằng cách xây dựng các trường hợp kiểm thử mà bao phủ nhiều hơn một phân vùng.

Trong ví dụ này, có thể tạo ra được mười hai trường hợp kiểm thử đã tối thiểu hóa dưới đây theo phương pháp phân vùng tương đương tối thiểu hóa, mỗi trường hợp kiểm thử được thiết kế để bao

53

Page 54: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

phủ càng nhiều phân vùng sẽ tốt hơn là chỉ bao phủ một phân vùng.

54

Page 55: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng B.8 - Các trường hợp kiểm thử tối thiểu hóa

Trường hợp kiểm thử 1 2 3 4

Đầu vào (điểm thi) 60 50 35 19

Đầu vào (điểm luận văn) 20 16 10 8

Điểm tổng (điểm thi + điểm luận văn) 80 66 45 27

Hạng mục bao phủ kiểm thử TCOVER1, TCOVER2, TCOVER13

TCOVER1, TCOVER2, TCOVER14

TCOVER1, TCOVER2, TCOVER15

TCOVER1, TCOVER2, TCOVER16

Phân vùng (của điểm thi) 0 ≤ e ≤ 75 0 ≤ e ≤ 75 0 ≤ e ≤ 75 0 ≤ e ≤ 75

Phân vùng (của điểm luận văn) 0 ≤ c ≤ 25 0 ≤ c ≤ 25 0 ≤ c ≤ 25 0 ≤ c ≤ 25

Phân vùng (của điểm tổng) 70 ≤ t ≤ 100 50 ≤ t < 70 30 ≤ t < 50 0 ≤ t < 30

Đầu ra mong đợi điểm A điểm B điểm C điểm D

Bảng B.9 - Các trường hợp kiểm thử tối thiểu hóa (tiếp theo)

Trường hợp kiểm thử 5 6 7 8

Đầu vào (điểm thi) -10 93 60.5 Q

Đầu vào (điểm luận văn) -15 47 20.23 G

Điểm tổng (điểm thi + điểm luận văn) -25 140 80.73 -

Hạng mục bao phủ kiểm thử TCOVER3, TCOVER5, TCOVER18

TCOVER4, TCOVER6, TCOVER17

TCOVER7, TCOVER10, TCOVER13, TCOVER19

TCOVER8, TCOVER11, TCOVER19

Phân vùng (của điểm thi) e < 0 e > 75 e = số thực có phần thập

phân

e = chữ cái

Phân vùng (của điểm luận văn) c < 0 c > 25 c = Số thực có phần thập

phân

c = chữ cái

Phân vùng (của điểm tổng) t < 0 t > 100 70 ≤ t ≤ 100 -

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi Bản tin lỗi

Bảng B.10 - Các trường hợp kiểm thử tối thiểu hóa (tiếp theo)

Trường hợp kiểm thử 9 10 11 12

Đầu vào (điểm thi) $ 5 72 ‘Null’

Đầu vào (điểm luận văn) @ 5 23 ‘Null’

Điểm tổng (điểm thi + điểm luận văn) - 10 95 -

Trường hợp kiểm thử 9 10 11 12

Hạng mục bao phủ kiểm thử TCOVER9, COVER12, TCOVER19

TCOVER1, TCOVER2, TCOVER16, TCOVER20

TCOVER1, TCOVER2, TCOVER13, TCOVER21

TCOVER19, TCOVER22

Phân vùng (của điểm thi) e = ký tự đặc 0 ≤ e ≤ 75 0 ≤ e ≤ 75 -

55

Page 56: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Trường hợp kiểm thử 9 10 11 12

biệt

Phân vùng (của điểm luận văn) c = ký tự đặc biệt

0 ≤ c ≤ 25 0 ≤ c ≤ 25 -

Phân vùng (của điểm tổng) - 0 ≤ t ≤ 15 90 ≤ t ≤ 100 -

Phân vùng (của đầu ra) - điểm loại E điểm A+ ‘Null’

Đầu ra mong đợi Bản tin lỗi điểm D điểm A Bản tin lỗi

Các phương pháp phân vùng tương đương một-một và phương pháp phân vùng tương đương tối thiểu hóa đại diện cho hai phương pháp khác nhau mà có thể được sử dụng để xây dựng các trường hợp kiểm thử cho kỹ thuật phân vùng tương đương. Các trường hợp kiểm thử được xây dựng theo phương pháp một-một đặc biệt hữu ích cho kiểm thử các điều kiện lỗi (tức là khi chúng ta đang mong muốn đầu ra là các bản tin lỗi), ví dụ, để làm giảm khả năng là ngừng xử lý một điều kiện lỗi và/ hoặc che giấu hoặc ngăn chặn các điều kiện lỗi khác. Nói cách khác, nhược điểm của phương pháp phân vùng tương đương một-một là đòi hỏi phải thiết kế nhiều trường hợp kiểm thử hơn. Nếu phương pháp một - một nảy sinh nhiều vấn đề thì có thể sử dụng phương pháp tối thiểu hóa. Nhược điểm của phương pháp phân vùng tương đương tối thiểu hóa là trong trường hợp xảy ra lỗi kiểm thử thì khó xác định nguyên nhân do một số phân vùng mới được thực hiện cùng thời điểm. Vì vậy, cách tốt nhất là kết hợp hai phương pháp này lại bằng cách áp dụng phương pháp phân vùng tương đương tối thiểu hóa để thiết kế trường hợp kiểm thử hợp lệ và phương pháp phân vùng tương đương một-một để thiết kế trường hợp kiểm thử không hợp lệ.

B.2.1.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)B.2.1.7.1 Các tùy chọnGiả sử có thể tự động kiểm tra đáp ứng chấp nhận/ từ chối đối với từng trường hợp kiểm thử, nhưng kiểm thử tự động không thể xử lý các bản tin lỗi (FM) thì chúng ta có thể tạo ra hai bộ kiểm thử (TS); một cho kiểm thử thủ công và một cho kiểm thử tự động.

B.2.1.7.2 Tùy chọn 5a: Tập hợp bộ kiểm thử đối với phân vùng tương đương một-một (TD5)TS1: Kiểm thử thủ công - các trường hợp kiểm thử 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 17, 18, 19, 22.

TS2: Kiểm thử tự động - các trường hợp kiểm thử 1, 4, 13, 14, 15, 16, 20, 21.

B.2.1.7.3 Tùy chọn 5b: Tập hợp bộ kiểm thử đối với phân vùng tương đương tối thiểu hóa (TD5)TS3: Kiểm thử thủ công - các trường hợp kiểm thử 5, 6, 7, 8, 9, 12.

TS4: Kiểm thử tự động - các trường hợp kiểm thử 1, 2, 3, 4, 10, 11.

B.2.1.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)B.2.1.8.1 Các tùy chọnBây giờ có thể tạo được các thủ tục kiểm thử đối với phân vùng tương đương một-một và phân vùng tương đương tối thiểu hóa.

B.2.1.8.2 Tùy chọn 6a: Xác định các thủ tục kiểm thử đối với phân vùng tương đương một-một (TD6)Đối với các trường hợp kiểm thử thủ công trong bộ kiểm thử TS1 dành cho phân vùng tương đương một-một, có thể xác định được một thủ tục kiểm thử (TP) như sau:

TP1: Kiểm thử thủ công, bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

Đối với các trường hợp kiểm thử tự động trong bộ kiểm thử TS2, có thể viết được một nhóm mã lệnh dạng đặc tả kịch bản để thực hiện tất cả các trường hợp kiểm thử trong bộ kiểm thử dưới đây:

TP2: Kiểm thử tự động, bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS2, theo thứ

56

Page 57: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

tự quy định trong bộ kiểm thử.

Đối với thủ tục kiểm thử tự động TP2, mã tự động mà thực hiện các thủ tục cần phải được viết mã lệnh dạng đặc tả kịch bản kiểm thử tự động.

B.2.1.8.3 Tùy chọn 6b: Xác định các thủ tục kiểm thử đối với phân vùng tương đương tối thiểu hóa (TD6)Đối với các trường hợp kiểm thử trong bộ kiểm thử tối thiểu hóa TS3, có thể xác định một thủ tục kiểm thử (TP) như sau:

TP3: Kiểm thử thủ công, bao phủ tất cả các trường hợp kiểm thử trong TS3, theo thứ tự quy định trong bộ kiểm thử.

Đối với các trường hợp kiểm thử trong bộ kiểm thử tối thiểu hóa TS4, có thể viết được một nhóm mã lệnh dạng đặc tả kịch bản để thực hiện tất cả các trường hợp kiểm thử trong bộ kiểm thử dưới đây:

TP4: Kiểm thử tự động, bao phủ tất cả các trường hợp kiểm thử trong TS4, theo thứ tự quy định trong bộ kiểm thử.

B.2.1.9 Độ bao phủ kỹ thuật phân lớp tương đươngSử dụng công thức đã nêu trong điều 6.2.1 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(phân l ớ p t ươ ng đươ ng mộtm ộ t)=2222

x 100%=100%

Đ ộbao phủ( phân l ớ p tương đ ươnggi ảmt h i ể u)=1212

x100%=100%

Do đó, độ bao phủ phân lớp tương đương đạt được là 100% đối với cả phương pháp phân vùng tương đương một-một và phân vùng tương đương tối thiểu hóa, cho phép tất cả hai mươi hai phân vùng đã xác định được thực hiện bởi ít nhất một trường hợp kiểm thử. Có thể chỉ đạt được mức độ bao phủ thấp hơn khi tất cả các phân vùng đã xác định không được thực hiện hết.  Nếu không xác định được tất cả các phân vùng tương đương thì bất kỳ phương pháp tính độ bao phủ nào dựa trên bộ không đầy đủ các phân vùng tương đương này có thể không chính xác. Tuy nhiên, việc phân tích hạng mục bao phủ khác nhau có thể xác định được các phân vùng tương đương khác nhau, đặc biệt là đối với các giá trị “không hợp lệ”, các phương pháp tính độ bao phủ đối với kỹ thuật phân vùng tương đương phải được coi như là các phân vùng “đã xác định”.

B.2.2 Phương pháp cây phân loại B.2.2.1 Giới thiệuMục đích của cây phân loại là xây dựng các trường hợp kiểm thử bao phủ các phân vùng đầu vào của các hạng mục kiểm thử theo phân lớp tương đương đã chon. Đối với phương pháp cây phân loại, phải xây dựng được một cây phân loại minh hoa các phân vùng và hỗ trợ kỹ sư kiểm thử thiết kế các trường hợp kiểm thử.

B.2.2.2 Đặc tảHãy xem xét cơ sở kiểm thử đối với một hạng mục kiểm thử sở thích_du lịch (travel_preference), trong đó ghi lại những sở thích du lịch của các nhân viên của một tổ chức người Úc đi du lịch đến các thành phố chính của Úc với mục đích công việc. Mỗi bộ sở thích du lịch được lựa chon thông qua một loạt các nút radio, trong đó bao gồm những giá trị đầu vào sau:

Nơi đến = Adelaide, Brisbane, Canberra, Darwin, Hobart, Melbourne, Perth, Sydney

Hạng ghế = Hạng nhất, hạng thương gia, hạng phổ thông

Chỗ ngồi = Chỗ ngồi cạnh lối đi, chỗ ngồi cạnh cửa sổ

Suất ăn = Suất ăn cho người mắc bệnh tiểu đường, suất ăn không có chất gluten, suất ăn cho người ăn chay (ăn trứng và sữa, kiêng thịt), suất ăn ít chất béo/ ít cholesterol, suất ăn không có chất đường có trong sữa, suất ăn cho người ăn chay toàn rau, suất ăn theo tiêu chuẩn.

57

Page 58: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

Adelaide Canberra Hobar Perth Brisbane Darwin Melbourne Sydney

Hạng nhất phổ thông thương gia Cạnh

cửa sổ

Cạnh lối đi

Ăn trứng, sữa (kiêng thịt)

Ăn chay hoàn toàn

Tiểu đường

Không gluten

Ít béo/ ítcholestorol

Sữa không đường

Ăn bình thườngtheo tiêu chuẩn

Hạng véNơi đến Chỗ ngồi Suất ăn dành cho

Người ăn chay Người không ăn chay

Sở thích du lịch

TCVN xxxx-4:2019

Bất kỳ sự kết hợp của một lớp từ mỗi phân lớp trên sẽ xuất hiện một bản tin "đăng ký trước được chấp nhận", ngược lại sẽ xuất hiện một bản tin báo lỗi "đầu vào không hợp lệ". Nhân viên không có tùy chọn khi lựa chọn không ăn, do đó tùy chọn này không được hỗ trợ trong ví dụ này.

B.2.2.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được xác định trong cơ sở kiểm thử, chỉ cần phải xác định một tập tính năng là:

FS1: Hàm sở thích du lịch (travel_preference)

B.2.2.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Đối với phương pháp cây phân loại, các điều kiện kiểm thử được xác định bằng cách xác định được các phân lớp và các lớp cho từng tham số đầu vào.

TCOND1: Nơi đến (đối với tập tính năng FS1)

TCOND2: Hạng (đối với tập tính năng FS1)

TCOND3: Chỗ ngồi (đối với tập tính năng FS1)

TCOND4: Suất ăn (đối với tập tính năng FS1)CHÚ THÍCH 1: Cũng có thể xác định được các điều kiện kiểm thử không hợp lệ mặc dù không được minh chúng trong ví dụ này.

Mỗi điều kiện kiểm thử trong số các điều kiện kiểm thử trong ví dụ này là một “phân lớp” (tức là một phân vùng). “Các lớp” (tức là các phân vùng con) và các lớp con có thể được tạo ra cho phân lớp suất ăn như sau:

Suất ăn (phân lớp) được phân loại thành suất ăn cho người ăn chay và suất ăn cho người không ăn chay.

Suất ăn cho người ăn chay (lớp) = suất ăn cho người ăn chay (ăn trứng và sữa, kiêng thịt) và suất ăn cho người ăn chay toàn rau.

Suất ăn cho người không ăn chay (lớp) = suất ăn cho người mắc bệnh tiểu đường, suất ăn không có chất gluten, suất ăn ít chất béo/ ít cholesterol, suất ăn không có chất đường có trong sữa, suất ăn theo tiêu chuẩn.CHÚ THÍCH 2: Việc thiết kế các phân lớp và các lớp thường là một hoạt động chủ quan, do đó các kỹ sư kiểm thử khác sử dụng kỹ thuật này có thể thiết kế các phân lớp và các lớp khác so với các phân lớp và các lớp được tạo ra trong ví dụ này.

Hình dưới là một cây phân loại cho các điều kiện kiểm thử này.

Hình B.4 - Ví dụ về cây phân loạiB.2.2.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Các hạng mục bao phủ kiểm thử được xác định bằng cách lựa chon phương pháp kết (được nêu trong điều 5.2.2.2), sau đó kết hợp các lớp theo phương pháp đã chon. Một "bảng kết hợp" có thể được xây

58

Page 59: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

Adelaide Canberra Hobar Perth Brisbane Darwin Melbourne Sydney

Hạng nhất phổ thông thương gia Cạnh

cửa sổ

Cạnh lối đi

Ăn trứng, sữa (kiêng thịt)

Ăn chayhoàn toàn

Tiểu đường

Không gluten

Ít béo/ ítcholestorol

Sữa không đường

Ăn bình thườngtheo tiêu chuẩn

Hạng véNơi đến Chỗ ngồi Suất ăn dành cho

Người ăn chay Người không ăn chay

Sở thích du lịch

12345678

Các hạng mục bao phủ kiểm

thử

TCVN xxxx-4:2019

dựng theo cây phân loại để minh hoa các lớp được kết hợp để tạo thành từng hạng mục bao phủ kiểm thử (xem Hình B.5 dưới đây). Các lớp được bao phủ bởi mỗi hạng mục bao phủ kiểm thử được đánh dấu bằng các hình tròn (chấm đen) mà nằm ngang phía dưới cây phân loại.

Giả sử phương pháp kết hợp được lựa chon là phương pháp phân vùng tương đương "tối thiểu hóa", trong đó mỗi mục bao phủ kiểm thử bao phủ càng nhiều lớp càng tốt cho đến khi có ít nhất một trường hợp kiểm thử bao gồm tất cả các lớp, do đó có thể được xác định được các hạng mục bao phủ kiểm thử được trình bày trong Hình B.5 dưới đây.

Hình B.5 - Ví dụ về cây phân loại và bảng kết hợp tương ứngTrong ví dụ này, tất cả các hạng mục bao phủ kiểm thử bao phủ tất các các điều kiện kiểm thử.

B.2.2.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Có thể xây dựng được một bộ các trường hợp kiểm thử, trong đó mỗi trường hợp kiểm thử bao phủ duy nhất một hạng mục bao phủ kiểm thử. Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một hạng mục bao phủ kiểm thử tại thời điểm mà chưa được bao phủ bởi một trường hợp kiểm thử nào và gán cho nó các giá trị đầu vào kiểm thử mà bao phủ các lớp kết hợp đó. Việc này được lặp đi lặp lại cho đến khi đạt được mức độ bao phủ quy định. Kết quả mong đợi được xác định bằng cách cung cấp các đầu vào cho cơ sở kiểm thử. Trong trường hợp cụ thể này, bất kỳ sự kết hợp nào của các đầu vào hợp lệ đều xuất hiện bản tin thông báo "đăng ký trước được chấp nhận".

Bảng B.11 - Các trường hợp kiểm thử đối với kiểm thử cây phân loại

59

Page 60: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Trường hợp kiểm

thử

Các giá trị đầu vào Kết quả mong đợi

Hạng mục bao phủ kiểm

thửNơi đến Hạng ghế Chỗ ngồiSuất ăn

theo sở thích

1 Adelaide Hạng nhất Cạnh lối đi

suất ăn kiêng (ăn trứng và

sữa, kiêng thịt)

Đặt vé được chấp nhận

TCOVER1

2 Brisbane Hạng thương gia

Cạnh cửa sổ

suất ăn cho người ăn chay

Đặt vé được chấp nhận

TCOVER2

3 Canberra Hạng phổ thông

Cạnh lối đi

suất ăn cho người mắc bệnh

tiểu đường

Đặt vé được chấp nhận

TCOVER3

4 Darwin Hạng nhất Cạnh cửa sổ

Suất ăn không có chất gluten

Đặt vé được chấp nhận

TCOVER4

5 Hobart Hạng thương gia

Cạnh lối đi

suất ăn ít chất béo/ ít

cholesterol.

Đặt vé được chấp nhận

TCOVER5

6 Melbourne Hạng phổ thông

Cạnh cửa sổ

Suất ăn không có chất đường có trong sữa

Đặt vé được chấp nhận

TCOVER6

7 Perth Hạng nhất Cạnh lối đi

Suất ăn theo tiêu chuẩn

Đặt vé được chấp nhận

TCOVER7

8 Sydney Hạng thương gia

Cạnh cửa sổ

suất ăn kiêng (ăn trứng và

sữa, kiêng thịt)

Đặt vé được chấp nhận

TCOVER8

B.2.2.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì có ít trường hợp kiểm thử được tạo ra trong ví dụ này nên người ta có thể kết hợp chúng vào một bộ kiểm thử sau:

TS1: Gồm các trường hợp kiểm thử 1, 2, 3, 4, 5, 6, 7, 8

B.2.2.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì tất cả các trường hợp kiểm thử nằm trong một bộ kiểm thử nên chúng ta có thể tạo ra được một thủ tục kiểm thử sau:

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.2.9 Tính độ bao phủ phương pháp cây phân loại Sử dụng công thức đã nêu trong điều 6.2.2 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ ( ph ư ơ ng phápcây phânloạ ạ i)=88

x 100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với phương pháp cây phân loại đạt được là 100%.

B.2.3 Phân tích giá trị biênB.2.3.1 Giới thiệuMục đích của phân tích giá trị biên là để xây dựng một bộ các trường hợp kiểm thử mà bao phủ các biên của từng phân vùng đầu vào và đầu ra của hạng mục kiểm thử theo mức bao phủ giá trị biên đã chon. Kỹ thuật này được thực hiện như sau: Thứ nhất, phân chia các đầu vào và đầu ra của một hạng

60

Page 61: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

mục kiểm thử thành các lớp tương đương theo cơ sở kiểm thử đối với các hạng mục kiểm thử, các lớp này sẽ được xử lý tương tự bởi các hạng mục kiểm thử; thứ hai, sắp xếp liên tiếp các biên của một số phân vùng từ thấp nhất đến cao nhất; thứ ba, hầu hết các lỗi được tìm thấy tại các biên của phân vùng tiếp giáp nên cần phải tập trung vào kiểm thử các biên này. Các trường hợp kiểm thử được xây dựng dựa trên các giá trị biên này.

Sau đây là một ví dụ về kiểm thử ba giá trị biên theo phương pháp một-một (xem điều 5.2.3.2 và 5.2.3.3). Để xác định được các biên cho một mục kiểm thử, trước tiên phải xác định được các phân vùng tương đương của các hạng mục kiểm thử, sau đó xác định các giá trị biên từ mỗi lớp tương đương.

B.2.3.2 Đặc tảHãy xem xét một hạng mục kiểm thử tạo điểm với cơ sở kiểm thử sau:

Nếu thành phần nhận được điểm thi (theo thang điểm 75) và điểm luận văn (c/w) (theo thang điểm 25) là các đầu vào, từ đó có thể tính được điểm cho khóa học, điểm của khóa học được phân loại thành các điểm từ loại 'A' đến điểm loại 'D'. Các điểm này được đưa ra căn cứ vào cách tính toán điểm tổng. Điểm tổng bằng điểm thi và điểm luận văn (c/w) cộng với nhau, do đó chúng ta có các phân vùng sau:

Điểm tổng lớn hơn hoặc bằng 70 - đạt điểm A

Điểm tổng lớn hơn hoặc bằng 50, nhưng nhỏ hơn 70 - đạt điểm B

Điểm tổng lớn hơn hoặc bằng 30, nhưng nhỏ hơn 50 - đạt điểm C

Điểm tổng nhỏ hơn 30 - đạt điểm D

Nếu phát hiện (các) đầu vào không hợp lệ (ví dụ như điểm nằm ngoài giới hạn quy định) thì sẽ xuất hiện bản tin lỗi ( 'FM'). Tất cả các điểm đầu vào mà đạt phải là các số nguyên.

B.2.3.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng (FS) được tạo ra, đó là:

FS1: Hàm tạo-điểm

B.2.3.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)B.2.3.4.1 Các bước conĐối với phân tích giá trị biên, các điều kiện kiểm thử chính là các biên (nằm giữa các phân vùng) đã được lựa chon để được bao phủ trong khi kiểm thử. Để xác định các biên, trước tiên phải xác định được các phân vùng tương đương (xem bước 2a dưới đây), sau đó xác định các điều kiện kiểm thử (các biên) (xem bước 2b dưới đây).

B.2.3.4.2 Bước 2a: Xác định các vùng tương đươngCác phân vùng được xác định theo các đầu vào và đầu ra hợp lệ và không hợp lệ của tập tính năng FS1.

Các phân vùng tương đương (EP) hợp lệ đối với đầu vào là điểm thi và điểm luận văn được xác định như sau:

EP1: 0 ≤ điểm thi ≤ 75 (đối với tập tính năng FS1)

EP2: 0 ≤ điểm luận văn ≤ 25 (đối với tập tính năng FS1)

Các phân vùng tương đương không hợp lệ đối với đầu vào là điểm thi và điểm luận văn được xác định như sau:

EP3: Điểm thi > 75 (đối với tập tính năng FS1)

EP4: Điểm thi < 0 (đối với tập tính năng FS1)

EP5: Điểm luận văn > 25 (đối với tập tính năng FS1)

EP6: Điểm luận văn < 0 (đối với tập tính năng FS1)

61

Page 62: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Mặc dù các phân vùng từ EP3 đến EP6 chỉ xuất hiện trên một biên nhưng thực tế các phân vùng này có biên được tạo bởi các giá trị nhỏ nhất và lớn nhất phụ thuộc vào việc thực hiện. Đối với kiểu số nguyên 16 bits có miền giá trị từ -32.768 đến 32.767, có hai giá trị biên tương ứng 32.767 và -32.768. Do đó các phân vùng từ EP3 đến EP6 có thể được xác định đầy đủ hơn như sau:

EP3: 75 < điểm thi ≤ 32767 (đối với tập tính năng FS1)

EP4: -32768 ≤ điểm thi < 0 (đối với tập tính năng FS1)

EP5: 25 < điểm luận văn ≤ 32767 (đối với tập tính năng FS1)

EP6: -32768 ≤ điểm luận văn < 0 (đối với tập tính năng FS1)

Phạm vi các giá trị được phân vùng có thể được biểu diễn trong hình dưới đây:

Hình B.6 - Các biên và các phân vùng tương đương của điểm thiĐối với đầu vào là điểm luận văn, chúng ta có:

Hình B.7 - Các giá trị biên và các phân vùng tương đương của điểm luận vănCác phân vùng đầu vào không hợp lệ, kém rõ ràng hơn có thể bao gồm các kiểu đầu vào khác như đầu vào không phải là số nguyên và đầu vào không phải là chữ số. Việc phân vùng tương đương này có thể mang tính chủ quan và như vậy mỗi kỹ sư kiểm thử có thể xác định được các phân vùng khác nhau mà ho cảm thấy có liên quan. Người ta goi là phân vùng tương đương vì tất cả các giá trị trong một phân vùng phải được xử lý tương tử bởi hạng mục kiểm thử. Vì vậy, có thể tạo ra các phân vùng tương đương không hợp lệ dưới đây cho 2 trường đầu vào là điểm thi và điểm luận văn:

EP7: Điểm thi = số thực có phần thập phân (đối với tập tính năng FS1)

EP8: Điểm thi = chữ cái (đối với tập tính năng FS1)

EP9: Điểm thi = ký tự đặc biệt (đối với tập tính năng FS1)

EP10: Điểm luận văn = số thực có phần thập phân (đối với tập tính năng FS1)

EP11: Điểm luận văn = chữ cái (đối với tập tính năng FS1)

EP12: Điểm luận văn = ký tự đặc biệt (đối với tập tính năng FS1)

Các phân vùng tương đương từ EP7 đến EP12 không có biên xác định, do đó không tạo ra được hạng mục bao phủ kiểm thử hoặc trường hợp kiểm thử nào.

Tiếp theo, xác định được các phân vùng cho các đầu ra là điểm tổng. Các phân vùng hợp lệ đối với đầu ra điểm tổng được xác định như sau:

EP13: Điểm A được tạo ra bởi 70 ≤ điểm tổng ≤ 100 (đối với tập tính năng FS1)

EP14: Điểm B được tạo ra bởi 50 ≤ điểm tổng < 70 (đối với tập tính năng FS1)

EP15: Điểm C được tạo ra bởi 30 ≤ điểm tổng < 50 (đối với tập tính năng FS1)

EP16: Điểm D được tạo ra bởi 0 ≤ điểm tổng < 30 (đối với tập tính năng FS1)

EP17: Bản tin lỗi (FM) được tạo ra bởi điểm tổng > 100 (đối với tập tính năng FS1)

62

Page 63: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

EP18: Bản tin lỗi (FM) được tạo ra bởi điểm tổng < 0 (đối với tập tính năng FS1)

Trong đó điểm tổng = điểm thi + điểm luận văn.

Tương tự các đầu vào, đầu ra được xác định biên cả hai bên theo các giá trị tối đa và tối thiểu tùy thuộc vào việc thực hiện. Giả sử rằng đầu ra là kiểu số nguyên 16 bits có miền giá trị từ -32.768 đến 32.767, có hai giá trị biên đó là 32.767 và -32.768. Do đó các phân vùng từ EP17 đến EP18 có thể được xác định đầy đủ hơn như sau:

EP17: 100 < điểm tổng ≤ 32767 (đối với tập tính năng FS1)

EP18: -32768 ≤ điểm tổng < 0 (đối với tập tính năng FS1)

Ở đây, cần phải lưu ý “bản tin lỗi” vì nó là một đầu ra quy định.  Các phân vùng tương đương và biên cho điểm tổng được thể hiện trong Hình B.8:

Hình B.8 - Các biên và các phân vùng tương đương của điểm tổngMột đầu ra không hợp lệ sẽ là bất kỳ đầu ra nào từ các hạng mục kiểm thử mà khác so với một trong năm đầu ra quy định. Có thể rất khó khăn khi xác định các đầu ra không xác định. Tuy nhiên, phải lưu ý đến chúng nếu không sẽ bị thiếu khi xác định hạng mục kiểm thử, cơ sở kiểm thử hoặc cả hai. Đối với ví dụ này, xác định được ba đầu ra không xác định (điểm E, A+ và 'null'), nhưng không thể gộp các đầu ra này vào các phân vùng mà từ các biên, do đó không có trường hợp kiểm thử nào được tạo ra.

B.2.3.4.3 Bước 2b: Xác định các điều kiện kiểm thửKhi đã xác định được các phân vùng tương đương cho mỗi trường đầu vào và đầu ra, có thể xác định được các điều kiện kiểm thử. Điều kiện kiểm thử là các biên của từng phân vùng tương đương.

Đối với các phân vùng hợp lệ của các trường đầu vào điểm thi và điểm luận văn, có thể xác định được các điều kiện kiểm thử dưới đây. Lưu ý rằng các biên giống nhau (ví dụ như các biên "0" nằm trên các cạnh của EP1 và EP4) chỉ được bao phủ bởi một điều kiện kiểm thử.

TCOND1: Điểm thi = 0 (đối với phân vùng tương đương EP1 và EP4)

TCOND2: Điểm thi = 75 (đối với phân vùng tương đương EP1 và EP3)

TCOND3: Điểm luận văn = 0 (đối với phân vùng tương đương EP2 và EP6)

TCOND4 Điểm luận văn = 25 (đối với phân vùng tương đương EP2 và EP5)

Đối với các phân vùng tương đương hợp lệ cho điểm tổng, có thể xác định được các biên sau:

TCOND5: Điểm tổng = 0 (đối với phân vùng tương đương EP16 và EP18)

TCOND6: Điểm tổng = 29 (đối với phân vùng tương đương EP15 và EP16)

TCOND7: Điểm tổng = 30 (đối với phân vùng tương đương EP15 và EP16)

TCOND8: Điểm tổng = 49 (đối với phân vùng tương đương EP14 và EP15)

TCOND9: Điểm tổng = 50 (đối với phân vùng tương đương EP14 và EP15)

TCOND10: Điểm tổng = 69 (đối với phân vùng tương đương EP13 và EP14)

63

Page 64: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND11: Điểm tổng = 70 (đối với phân vùng tương đương EP13 và EP14)

TCOND12: Điểm tổng = 100 (đối với phân vùng tương đương EP13 và EP17)

Đối với các phân vùng không hợp lệ của các trường đầu vào, có thể xác định được các điều kiện kiểm thử sau:

TCOND13: Điểm thi = 32767 (đối với phân vùng tương đương EP3)

TCOND14: Điểm thi = -32768 (đối với phân vùng tương đương EP4)

TCOND15: Điểm luận văn = 32767 (đối với phân vùng tương đương EP5)

TCOND16: Điểm luận văn = -32768 (đối với phân vùng tương đương EP6)

Cuối cùng, đối với các phân vùng không hợp lệ của điểm tổng, có thể xác định được các điều kiện kiểm thử sau:

TCOND17: Điểm tổng = 101 (đối với phân vùng tương đương EP17)

TCOND18: Điểm tổng = 32767 (đối với phân vùng tương đương EP17)

TCOND19: Điểm tổng = -1 (đối với phân vùng tương đương EP18)

TCOND20: Điểm tổng = -32768 (đối với phân vùng tương đương EP18)

B.2.3.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Nếu áp dụng kỹ thuật phân tích 3 giá trị biên, các hạng mục bao phủ kiểm thử là các giá trị mà nằm ở trên biên của phân vùng tương đường và bên cạnh biên và cách nhau một khoảng nhỏ nhất như được trình bày trong Hình B.9:

Hình B.9 - Các hạng mục bao phủ kiểm thử đối với phân tích 3 giá trị biênCHÚ THÍCH 1: Có thể dùng kỹ thuật phân tích 2 giá trị biên tạo ra một số lượng các hạng mục bao phủ kiểm thử ít hơn và các trường hợp kiểm thử tương ứng ít hơn.

Các biên đã được xác định trong bước trên là các điều kiện kiểm thử, có thể xác định được các hạng mục bao phủ kiểm thử (TCOVER) sau đây. Vì chúng ta sử dụng các số nguyên trong ví dụ này nên các hạng mục bao phủ kiểm thử nằm trên cả hai bên của mỗi biên.CHÚ THÍCH 2: Nếu ví dụ bao gồm các kiểu dữ liệu dạng số như số thực có phần thập phân (ví dụ như các số thực) thì các hạng mục bao phủ kiểm thử đối với kỹ thuật phân tích giá trị biên sẽ là giá trị nhỏ nhất đối với kiểu dữ liệu:

TCOVER1: Điểm thi = -1 (dựa theo điều kiện kiểm thử TCOND1)

TCOVER2: Điểm thi = 0 (dựa theo điều kiện kiểm thử TCOND1)

TCOVER3: Điểm thi = 1 (dựa theo điều kiện kiểm thử TCOND1)

TCOVER4: Điểm thi = 74 (dựa theo điều kiện kiểm thử TCOND2)

TCOVER5: Điểm thi = 75 (dựa theo điều kiện kiểm thử TCOND2)

TCOVER6: Điểm thi = 76 (dựa theo điều kiện kiểm thử TCOND2)

TCOVER7: Điểm luận văn = -1 (dựa theo điều kiện kiểm thử TCOND3)

TCOVER8: Điểm luận văn = 0 (dựa theo điều kiện kiểm thử TCOND3)

TCOVER9: Điểm luận văn = 1 (dựa theo điều kiện kiểm thử TCOND3)

TCOVER10: Điểm luận văn = 24 (dựa theo điều kiện kiểm thử TCOND4)

64

Page 65: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER11: Điểm luận văn = 25 (dựa theo điều kiện kiểm thử TCOND4)

TCOVER12: Điểm luận văn = 26 (dựa theo điều kiện kiểm thử TCOND4)

Đối với các trường đầu ra điểm tổng, có thể xác định được các hạng mục bao phủ kiểm thử sau đây:

TCOVER13: Điểm tổng = -1 (dựa theo điều kiện kiểm thử TCOND5 và TCOND19)

TCOVER14: Điểm tổng = 0 (dựa theo điều kiện kiểm thử TCOND5 và TCOND19)

TCOVER15: Điểm tổng = 1 (dựa theo điều kiện kiểm thử TCOND5)

TCOVER16: Điểm tổng = 28 (dựa theo điều kiện kiểm thử TCOND6)

TCOVER17: Điểm tổng = 29 (dựa theo điều kiện kiểm thử TCOND6 và TCOND7)

TCOVER18: Điểm tổng = 30 (dựa theo điều kiện kiểm thử TCOND6 và TCOND7)

TCOVER19: Điểm tổng = 31 (dựa theo điều kiện kiểm thử TCOND7)

TCOVER20: Điểm tổng = 48 (dựa theo điều kiện kiểm thử TCOND8)

TCOVER21: Điểm tổng = 49 (dựa theo điều kiện kiểm thử TCOND8 và TCOND9)

TCOVER22: Điểm tổng = 50 (dựa theo điều kiện kiểm thử TCOND8 và TCOND9)

TCOVER23: Điểm tổng = 51 (dựa theo điều kiện kiểm thử TCOND9)

TCOVER24: Điểm tổng = 68 (dựa theo điều kiện kiểm thử TCOND10)

TCOVER25: Điểm tổng = 69 (dựa theo điều kiện kiểm thử TCOND10 và TCOND11)

TCOVER26: Điểm tổng = 70 (dựa theo điều kiện kiểm thử TCOND10 và TCOND11)

TCOVER27: Điểm tổng = 71 (dựa theo điều kiện kiểm thử TCOND11)

TCOVER28: Điểm tổng = 99 (dựa theo điều kiện kiểm thử TCOND12)

TCOVER29: Điểm tổng = 100 (dựa theo điều kiện kiểm thử TCOND12 và TCOND17)

TCOVER30: Điểm tổng = 101 (dựa theo điều kiện kiểm thử TCOND12 và TCOND17)

Lưu ý rằng các lớp tương đương từ EP7 đến EP12 chưa được bao phủ bởi bất kỳ hạng mục bao phủ kiểm thử nào vì các phân vùng này không có các biên xác định (như đã nêu ở bước trên).

Đối với các phân vùng không hợp lệ còn lại mà đã được xác định (tức là đối với các biên của các điều kiện kiểm thử từ TCOND13 đến TCOND20 vẫn chưa được bao phủ), có thể xác định được các hạng mục bao phủ kiểm thử không hợp lệ sau đây:

TCOVER31: Điểm thi = 32766 (dựa theo điều kiện kiểm thử TCOND13)

TCOVER32: Điểm thi = 32767 (dựa theo điều kiện kiểm thử TCOND13)

TCOVER33: Điểm thi = 32768 (dựa theo điều kiện kiểm thử TCOND13)

TCOVER34: Điểm thi = -32769 (dựa theo điều kiện kiểm thử TCOND14)

TCOVER35: Điểm thi = -32768 (dựa theo điều kiện kiểm thử TCOND14)

TCOVER36: Điểm thi = -32767 (dựa theo điều kiện kiểm thử TCOND14)

TCOVER37: Điểm luận văn = 32766 (dựa theo điều kiện kiểm thử TCOND15)

TCOVER38: Điểm luận văn = 32767 (dựa theo điều kiện kiểm thử TCOND15)

TCOVER39: Điểm luận văn = 32768 (dựa theo điều kiện kiểm thử TCOND15)

TCOVER40: Điểm luận văn = -32769 (dựa theo điều kiện kiểm thử TCOND16)

TCOVER41: Điểm luận văn = -32768 (dựa theo điều kiện kiểm thử TCOND16)

65

Page 66: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER42: Điểm luận văn = -32767 (dựa theo điều kiện kiểm thử TCOND16)

TCOVER43: Điểm tổng = 102 (dựa theo điều kiện kiểm thử TCOND17)

TCOVER44: Điểm tổng = 32766 (dựa theo điều kiện kiểm thử TCOND18)

TCOVER45: Điểm tổng = 32767 (dựa theo điều kiện kiểm thử TCOND18)

TCOVER46: Điểm tổng = 32768 (dựa theo điều kiện kiểm thử TCOND18)

TCOVER47: Điểm tổng = -2 (dựa theo điều kiện kiểm thử TCOND19)

TCOVER48: Điểm tổng = -32769 (dựa theo điều kiện kiểm thử TCOND20)

TCOVER49: Điểm tổng = -32768 (dựa theo điều kiện kiểm thử TCOND20)

TCOVER50: Điểm tổng = -32767 (dựa theo điều kiện kiểm thử TCOND20)

B.2.3.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử có thể được xây dựng để bao phủ các hạng mục bao phủ kiểm thử đã được xác định trong bước trước. Ví dụ, để đạt được độ bao phủ biên là 100% thì phải xây dựng tất cả các trường hợp kiểm thử để bao phủ tất cả các hạng mục bao phủ kiểm thử. Có thể sử dụng kỹ thuật phân tích giá trị biên một-một để xây dựng một trường hợp kiểm thử dựa cho hạng mục bao phủ kiểm thử hoặc có thể sử dụng kỹ thuật phân tích giá trị biên tối thiểu hóa nhằm giảm tối thiểu các trường hợp kiểm thử cần xây dựng mà vẫn bao phủ toàn bộ các hạng mục bao phủ kiểm thử.

Các điều kiện tiên quyết của tất cả các trường hợp kiểm thử đối với hàm tạo điểm đều giống nhau đó là đều có đầu vào điểm thi và điểm luận văn.

Giả sử độ bao phủ biên đạt 100% và sử dụng kỹ thuật phương pháp phân tích giá trị biên một-một để xây dựng các trường hợp kiểm thử thì có thể tạo ra được sáu trường hợp kiểm thử cho đầu vào điểm thi như được trình bày trong Bảng B.12. Mỗi trường hợp kiểm thử được tạo ra như sau: Thứ nhất, lựa chon một giá trị biên (hạng mục bao phủ kiểm thử) cho từng trường hợp kiểm thử; Thứ hai, phân bổ một giá trị hợp lệ tùy ý cho tất cả các đầu vào khác có trong trường hợp kiểm thử;  và thứ ba, xác định kết quả mong đợi của kiểm thử.

Bảng B.12 - Các trường hợp kiểm thử đối với điểm thi

Trường hợp kiểm thử 1 2 3 4 5 6

Đầu vào (điểm thi) -1 0 1 74 75 76

Đầu vào (điểm luận văn) 15 15 15 15 15 15

Điểm tổng (điểm thi + điểm luận văn) 14 15 16 89 90 91

Hạng mục bao phủ kiểm thử 1 2 3 4 5 6

Giá trị biên được kiểm thử (điểm thi) 0 25

Đầu ra mong đợi Bản tin lỗi

điểm D điểm D điểm A điểm A Bản tin lỗi

Lưu ý: Đầu vào điểm luận văn được lấy một giá trị tùy ý là 15, do các trường hợp kiểm thử này tập trung vào thực hiện tạo các biện điểm thi. 

Các trường hợp kiểm thử được xây dựng từ đầu vào điểm luận văn là:

Bảng B.13 - Các trường hợp kiểm thử đối với điểm luận văn

Trường hợp kiểm thử 7 8 9 10 11 12

Đầu vào (điểm thi) 40 40 40 40 40 40

Đầu vào (điểm luận văn) -1 0 1 24 25 26

66

Page 67: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Điểm tổng (điểm thi + điểm luận văn) 39 40 41 64 65 66

Hạng mục bao phủ kiểm thử 7 8 9 10 11 12

Giá trị biên được kiểm thử (điểm thi) 0 25

Đầu ra mong đợi Bản tin lỗi

điểm C điểm C điểm B điểm B Bản tin lỗi

Lưu ý: Đầu vào điểm thi được lấy một giá trị hợp lệ tùy ý là 40.

Các trường hợp kiểm thử được xây dựng từ các đầu ra điểm tổng là:

Bảng B.14 - Các trường hợp kiểm thử đối với điểm tổng

Trường hợp kiểm thử 13 14 15 16 17 18 19

Đầu vào (điểm thi) -1 0 0 28 29 15 6

Đầu vào (điểm luận văn) 0 0 1 0 0 15 25

Điểm tổng (điểm thi + điểm luận văn) -1 0 1 28 29 30 31

Hạng mục bao phủ kiểm thử 13 14 15 16 17 18 19

Giá trị biên được kiểm thử (điểm tổng)

0 29 29, 30 30

Đầu ra mong đợi bản tin lỗi

điểm D

điểm D

điểm D

điểm D điểm C điểm C

Bảng B.15 - Các trường hợp kiểm thử đối với điểm tổng

Trường hợp kiểm thử 20 21 22 23 24 25 26 27

Đầu vào (điểm thi) 23 24 50 26 48 49 45 71

Đầu vào (điểm luận văn) 25 25 0 25 20 20 25 0

Điểm tổng (điểm thi + điểm luận văn) 48 49 50 51 68 69 70 71

Hạng mục bao phủ kiểm thử 20 21 22 23 24 25 26 27

Giá trị biên được kiểm thử (điểm tổng)

49 49, 50 50 69 69, 70 70

Đầu ra mong đợi điểm C

điểm C

điểm B

điểm B

điểm B

điểm B

điểm A

điểm A

Bảng B.16 - Các trường hợp kiểm thử đối với điểm tổng

Trường hợp kiểm thử 28 29 30

Đầu vào (điểm thi) 74 75 75

Đầu vào (điểm luận văn) 25 25 26

Điểm tổng (điểm thi + điểm luận văn) 99 100 101

Hạng mục bao phủ kiểm thử 28 29 30

Giá trị biên được kiểm thử (điểm tổng) 100 100, 101

Đầu ra mong đợi điểm A điểm A Bản tin lỗi

Các giá trị đầu vào điểm thi và điểm luận văn được tạo ra từ điểm tổng, điểm tổng chính là tổng của điểm thi và điểm luận văn. 

Các trường hợp kiểm thử sau đây được yêu cầu phải bao phủ các hạng mục bao phủ kiểm thử còn lại từ TCOVER31 đến TCOVER50, các hạng mục này được xác định nằm ngoài các biên hợp lệ và nằm

67

Page 68: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

ở các biên cực lớn của các lớp tương đương:

Bảng B.17 - Các trường hợp kiểm thử đối với điểm thi

Trường hợp kiểm thử 31 32 33 34 35 36

Đầu vào (điểm thi) 32766 32767 32768 -32769 -32768 -32767

Đầu vào (điểm luận văn) 15 15 15 15 15 15

Điểm tổng (điểm thi + điểm luận văn) 32781 32782 32783 -32754 -32753 -32752

Hạng mục bao phủ kiểm thử 31 32 33 34 35 36

Giá trị biên được kiểm thử (điểm tổng) 32767 -32768

Đầu ra mong đợi Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bảng B.18 - Các trường hợp kiểm thử đối với điểm luận văn

Trường hợp kiểm thử 37 38 39 40 41 42

Đầu vào (điểm thi) 40 40 40 40 40 40

Đầu vào (điểm luận văn) 32766 32767 32768 -32769 -32768 -32767

Điểm tổng (điểm thi + điểm luận văn) 32806 32807 32808 -32729 -32728 -32727

Hạng mục bao phủ kiểm thử 37 38 39 40 41 42

Giá trị biên được kiểm thử (điểm tổng) 32767 -32768

Đầu ra mong đợi Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bảng B.19 - Các trường hợp kiểm thử đối với điểm tổng

Trường hợp kiểm thử 43 44 45 46 47 48 49 50

Đầu vào (điểm thi) 75 16383 32767 1 -1 0 -16384 -32766

Đầu vào (điểm luận văn) 27 16383 0 32767 -1 -32769 -16384 -1

Điểm tổng (điểm thi + điểm luận văn)

102 32766 32767 32768 -2 -32769 -32768 -32767

Hạng mục bao phủ kiểm thử

43 44 45 46 47 48 49 50

Giá trị biên được kiểm thử (điểm tổng) 101 32767 1 -32768

Đầu ra mong đợi Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Bản tin lỗi

Cần lưu ý rằng khi sử dụng các giá trị đầu vào không hợp lệ (như trình bày ở các bảng trên là các trường hợp kiểm thử 1, 6, 7, 12, 13, và từ 30 đến 50), tùy thuộc vào việc thực hiện, có thể không thể thực thi được chính xác các trường hợp kiểm thử. Chẳng hạn như trong ngôn ngữ lập trình Ada, nếu các biến đầu vào được khai báo là một số nguyên dương thì sẽ không thể gán một giá trị âm cho nó. Mặc dù vậy, vẫn phải xem xét tất cả các các trường hợp kiểm thử.

Các trường hợp kiểm thử trên đạt 100% độ bao phủ giá trị biên đối với phương pháp phân tích 3 giá trị biên vì nó cho phép tất cả các hạng mục bao phủ kiểm thử đã xác định được thực hiện bởi ít nhất một trường hợp kiểm thử. Có thể chỉ đạt được mức bao phủ giá trị biên thấp hơn nếu một số biên được xác định không được thực hiện. Nếu không xác định được một số biên thì bất kỳ phương pháp tính độ bao phủ nào dựa trên một tập hợp không đầy đủ các biên này cũng không chính xác.

68

Page 69: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

B.2.3.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Giả sử có thể tự động kiểm tra đáp ứng chấp nhận/ từ chối đối với từng trường hợp kiểm thử hợp lệ nhưng không thể tự động xử lý các bản tin lỗi (FM) được tạo ra bởi các trường hợp kiểm thử không hợp lệ thì chúng ta có thể phải tạo ra hai bộ kiểm thử (TS); một cho kiểm thử thủ công và một cho kiểm thử tự động.

TS1: Kiểm thử thủ công gồm các trường hợp kiểm thử 1, 6, 7, 12, 13 và từ 30 đến 50.

TS2: Kiểm thử tự động gồm các trường hợp kiểm thử 2, 3, 4, 5, 8, 9, 10, 11 và từ 14 đến 29.

B.2.3.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Đối với các trường hợp kiểm thử thủ công trong bộ kiểm thử TS1, có thể xác định được một thủ tục kiểm thử (TP) sau đây:

TP1: Kiểm thử thủ công, bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

Đối với các trường hợp kiểm thử tự động trong bộ kiểm thử TS2, có thể viết được một kịch bản kiểm thử để thực hiện tất cả các trường hợp kiểm thử trong bộ kiểm thử sau:

TP2: Kiểm thử tự động, bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS2, theo thứ tự quy định trong bộ kiểm thử.

Đối với thủ tục kiểm thử tự động TP2, cần phải viết được mã tự động để thực hiện các thủ tục.

B.2.3.9 Độ bao phủ phân tích giá trị biênSử dụng công thức đã nêu trong điều 6.2.3 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ( phântích giá tr ị biên )=5050

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với phân tích giá trị biên đạt được là 100%.

B.2.4 Kiểm thử cú phápB.2.4.1 Giới thiệuMục đích của kiểm thử cú pháp là để đưa ra một bộ các trường hợp kiểm thử mà bao phủ cú pháp đầu vào của các hạng mục kiểm thử theo mức độ bao phủ cú pháp đầu vào được lựa chon. Kỹ thuật này được dựa trên sự phân tích cơ sở kiểm thử của các hạng mục kiểm thử để lập sơ đồ mô phỏng hành vi của nó bằng cách mô tả các đầu vào thông qua cú pháp của nó. Kỹ thuật này chỉ có hiệu quả trong phạm vi mà cú pháp được định nghĩa tương ứng với cú pháp quy định.

B.2.4.2 Đặc tảHãy xem xét một hạng mục kiểm thử mà chỉ đơn giản là kiểm tra xem liệu đầu vào float_in có phù hợp với các cú pháp của một số thực có dấu chấm động hay không, float (được định nghĩa dưới đây). Các đầu ra hạng mục kiểm thử check_res có hình thức "hợp lệ" hoặc "không hợp lệ" tùy thuộc vào kết quả kiểm tra của nó.

Dưới đây là sự biểu diễn cú pháp đối với số thực dấu chấm động, kiểu dữ liệu float trong dạng Backus-Naur (BNF):

float = int “e” int

int = [“+”|”-”] nat

nat = {dig}

dig = “0”|”1”|”2”|”3”|”4”|”5”|”6”|”7”|”8”|”9”

Các ký hiệu kết thúc được để trong dấu ngoặc kép; đây là phần cơ bản nhất của cú pháp - các ký tự thực tế mà là đầu vào cho các hạng mục kiểm thử. Dấu | dùng để tách biệt những lựa chon (tức là hoặc (or)). Dấu ngoặc vuông [] chứa một hạng mục tùy chon hoặc là không chứa hạng mục tùy chon nào cả. Dấu ngoặc móc {} chứa một hạng mục mà có thể được lặp lại một hoặc nhiều lần.

69

Page 70: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

B.2.4.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được định nghĩa trong cơ sở kiểm thử, chỉ có một tính năng cần phải được định nghĩa:

FS1: float_in

B.2.4.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Bước 1 là xác định các điều kiện kiểm thử từ cú pháp. Các điều kiện kiểm thử có thể được định nghĩa như các tham số đầu vào trong cú pháp. Các điều kiện kiểm thử được xác định như sau:

TCOND1 float = int “e” int

TCOND2 int = [“+”|”-”] nat

TCOND3 nat = {dig}

TCOND4 dig = “0”|”1”|”2”|”3”|”4”|”5”|”6”|”7”|”8”|”9”

B.2.4.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử cú pháp, các hạng mục bao phủ kiểm thử là "các tùy chon" của cú pháp (được coi là các hạng mục bao phủ kiểm thử hợp lệ) và các hạng mục bao phủ kiểm thử là "những đột biến" của cú pháp (được coi là các hạng mục bao phủ kiểm thử không hợp lệ) (các định nghĩa về "tùy chon" và "đột biến” của cú pháp được nêu trong điều 5.2.4.2 ).

Các hạng mục bao phủ kiểm thử hợp lệ có thể được tạo ra cho các phần tử nằm bên phải của định nghĩa BNF. Có 3 hạng mục bao phủ kiểm thử có thể được tạo ra cho các dấu “+” và dấu “-” của điều kiện kiểm thử TCOND2:

TCOVER1: Không có dấu “+” hoặc dấu “-” nào (Đối với TCOND2 và TCOND1)

TCOVER2: Chỉ có một dấu “+” (Đối với TCOND2 và TCOND1)

TCOVER3: Chỉ có một dấu “-” (Đối với TCOND2 và TCOND1)

CHÚ THÍCH 1: Có thể tạo được các hạng mục bao phủ kiểm thử riêng đối với các trường hợp dấu “+” và dấu “-” thứ nhất và thứ hai nếu cần.

nat có hai hạng mục bao phủ kiểm thử, đó là:

TCOVER4: nat là số có một chữ số duy nhất (Đối với TCOND3 và TCOND2)

TCOVER5: nat là số có nhiều chữ số (Đối với TCOND3 và TCOND2)

CHÚ THÍCH 2: Có thể tạo được các hạng mục bao phủ kiểm thử riêng biệt đối với các trường hợp thứ nhất và thứ hai của nat nếu cần.

dig có mười tùy chon, đó là:

TCOVER6: Số nguyên là một số “0” (Đối với TCOND4 và TCOND3)

TCOVER7: Số nguyên là một số “1” (Đối với TCOND4 và TCOND3)

TCOVER8: Số nguyên là một số “2” (Đối với TCOND4 và TCOND3)

TCOVER9: Số nguyên là một số “3” (Đối với TCOND4 và TCOND3)

TCOVER10: Số nguyên là một số “4” (Đối với TCOND4 và TCOND3)

TCOVER11: Số nguyên là một số “5” (Đối với TCOND4 và TCOND3)

TCOVER12: Số nguyên là một số “6” (Đối với TCOND4 và TCOND3)

TCOVER13: Số nguyên là một số “7” (Đối với TCOND4 và TCOND3)

TCOVER14: Số nguyên là một số “8” (Đối với TCOND4 và TCOND3)

70

Page 71: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER15: Số nguyên là một số “9” (Đối với TCOND4 và TCOND3)

Vậy có thể xác định được 15 hạng mục bao phủ kiểm thử hợp lệ.

Bước thứ nhất để xác định các hạng mục bao phủ kiểm thử không hợp lệ xây dựng một danh sách các đột biến chung mà có thể được áp dụng cho các điều kiện kiểm thử. Danh sách các đột có thể có là: m1, m2, m3, m4. Trong đó :

m1: Đưa ra một giá trị không hợp lệ cho một phần tử;

m2: Thay thế một phần tử bằng một phần tử khác được xác định;

m3: Bỏ sót một phần tử được xác định;

m4: Thêm một phần tử mới.CHÚ THÍCH 3: Có thể sử dụng các kiểu đột biến cú pháp khác tùy thuộc vào các kiểu khiếm khuyết kiểm thử được xác định.

Những đột biến chung được áp dụng cho các phần tử riêng lẻ của cú pháp để mang lại đột biến cụ thể. Do đó, có thể xác định được các hạng mục bao phủ kiểm thử không hợp lệ dưới đây:

TCOVER16: Áp dụng m1 đối với “int” thứ nhất (Đối với TCOND1)

TCOVER17: Áp dụng m1 đối với “e” (Đối với TCOND1)

TCOVER18: Áp dụng m1 đối với “int” thứ hai (Đối với TCOND1)

TCOVER19: Áp dụng m1 đối với “[“+”|”-”]” (Đối với TCOND2)

TCOVER20: Áp dụng m1 đối với “nat” (Đối với TCOND2)

TCOVER21: Áp dụng m2 khi thay thế “e” cho “int” thứ nhất (Đối với TCOND1)

TCOVER22: Áp dụng m2 khi thay thế “[“+”|”-”]” cho “int” thứ nhất

(Đối với TCOND 1 và TCOND2)

TCOVER23: Áp dụng m2 khi thay thế “int” thứ nhất cho “e” (Đối với TCOND1)

TCOVER24: Áp dụng m2 khi thay thế “[“+”|”-”]” cho “e” (Đối với TCOND1 và TCOND2)

TCOVER25: Áp dụng m2 khi thay thế “e” cho “int” thứ hai (Đối với TCOND1)

TCOVER26:Áp dụng m2 khi thay thế “[“+”|”-”]” cho “int” thứ hai (Đối với TCOND1)

TCOVER27: Áp dụng m2 khi thay thế “e” cho “[“+”|”-”]” (Đối với TCOND1và TCOND2)

TCOVER28: Áp dụng m2 khi thay thế “e” cho “nat” (Đối với TCOND1và TCOND2)

TCOVER29: Áp dụng m2 khi thay thế “[“+”|”-”]” cho “nat”

(Đối với TCOND1và TCOND2)

TCOVER30: Áp dụng m3 đối với “int” thứ nhất (Đối với TCOND1)

TCOVER31: Áp dụng m3 đối với “e” (Đối với TCOND1)

TCOVER32: Áp dụng m3 đối với “int” thứ hai (Đối với TCOND1)

TCOVER33: Áp dụng m4 khi một thêm phần tử trước “int” thứ nhất (Đối với TCOND1)

TCOVER34: Áp dụng m4 để khi thêm một phần tử trước “e” (Đối với TCOND1)

TCOVER35: Áp dụng m4 khi thêm một phần tử trước “int” thứ hai (Đối với TCOND1)

TCOVER36: Áp dụng m4 khi thêm một phần tử sau “int” thứ (Đối với TCOND1)

71

Page 72: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

hai

TCOVER37:Áp dụng m4 khi thêm một phần tử trước “int” thứ nhất và “[“+”|”-”]”

(Đối với TCOND1và TCOND2)

TCOVER38: Áp dụng m4 khi thêm một phần tử giữa “[“+”|”-”]” và “int” thứ nhất

(Đối với TCOND1và TCOND2)

TCOVER39:Áp dụng m4 khi thêm một phần tử giữa “int” thứ nhất và “e” (Đối với TCOND1)

[ "+" | "-"] được coi là một phần tử duy nhất vì đột biến của các hạng mục tùy chon riêng biệt không xây dựng các trường hợp kiểm thử có cú pháp hợp lệ (sử dụng các đột biến chung này).

B.2.4.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử hợp lệ được xây dựng bằng cách lựa chon một hoặc nhiều tùy chon cho các trường hợp kiểm thử hiện có, xác định các đầu vào để thực hiện các tùy chon và xác định kết quả mong đợi (trong trường hợp này là 'check_ res' là kết quả mong đợi). Các trường hợp kiểm thử hợp lệ là:

Bảng B.20 - Các trường hợp kiểm thử hợp lệ đối với kiểm thử cú pháp

Trường hợp kiểm thử

Đầu vào ‘float_in’ Hạng mục bao phủ kiểm thử

Kết quả mong đợi ‘check_res’

TC 1 3e2 TCOVER1 ‘hợp lệ’

TC 2 +2e+5 TCOVER2 ‘hợp lệ’

TC 3 -6e-7 TCOVER3 ‘hợp lệ’

TC 4 6e-2 TCOVER4 ‘hợp lệ’

TC 5 1234567890e3 TCOVER5 ‘hợp lệ’

TC 6 0e0 TCOVER6 ‘hợp lệ’

TC 7 1e1 TCOVER7 ‘hợp lệ’

TC 8 2e2 TCOVER8 ‘hợp lệ’

TC 9 3e3 TCOVER9 ‘hợp lệ’

TC 10 4e4 TCOVER10 ‘hợp lệ’

TC 11 5e5 TCOVER11 ‘hợp lệ’

TC 12 6e6 TCOVER12 ‘hợp lệ’

TC 13 7e7 TCOVER13 ‘hợp lệ’

TC 14 8e8 TCOVER14 ‘hợp lệ’

TC 15 9e9 TCOVER15 ‘hợp lệ’

Điều này không có nghĩa là một bộ kiểm thử rất nhỏ thực hiện tất cả 15 tùy chon (có thể giảm xuống chỉ còn ba trường hợp kiểm thử, ví dụ, trường hợp kiểm thử số 2, 3 và 5 ở trên), do đó một số trường hợp kiểm thử sẽ thực hiện thêm nhiều tùy chon hơn là chỉ thực hiện một tùy chon được liệt kê trong cột "Hạng mục bao phủ kiểm thử" ở bảng trên. Mỗi tùy chon được xử lý riêng để hiểu rõ được việc xây dựng chúng. Phương pháp này cũng dễ dàng xác định được nguyên nhân gây lỗi.

Các trường hợp kiểm thử không hợp lệ được tạo ra bằng cách lựa chon một hoặc nhiều đột biến cho các trường hợp kiểm thử hiện có, xác định các đầu vào để thực hiện các đột biến và xác định kết quả mong đợi (trong trường hợp này kết quả mong đợi là 'check_ res'). Các trường hợp kiểm thử không hợp lệ là:

Bảng B.21 - Các trường hợp kiểm thử không hợp lệ đối với kiểm thử cú pháp

72

Page 73: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Trường hợp kiểm thử

Đầu vào ‘float_in’

Đột biến Hạng mục bao phủ kiểm thử

Kết quả mong đợi ‘check_res’

TC 16 xe0 m1 TCOVER16 ‘không hợp lệ’

TC 17 0x0 m1 TCOVER17 ‘không hợp lệ’

TC 18 0ex m1 TCOVER18 ‘không hợp lệ’

TC 19 x0e0 m1 TCOVER19 ‘không hợp lệ’

TC 20 +xe0 m1 TCOVER20 ‘không hợp lệ’

TC 21 ee0 m2 TCOVER21 ‘không hợp lệ’

TC 22 +e0 m2 TCOVER22 ‘không hợp lệ’

TC 23 000 m2 TCOVER23 ‘không hợp lệ’

TC 24 0+0 m2 TCOVER24 ‘không hợp lệ’

TC 25 0ee m2 TCOVER25 ‘không hợp lệ’

TC 26 0e+ m2 TCOVER26 ‘không hợp lệ’

TC 27 e0e0 m2 TCOVER27 ‘không hợp lệ’

TC 28 +ee0 m2 TCOVER28 ‘không hợp lệ’

TC 29 ++e0 m2 TCOVER29 ‘không hợp lệ’

TC 30 e0 m3 TCOVER30 ‘không hợp lệ’

TC 31 00 m3 TCOVER31 ‘không hợp lệ’

TC 32 0e m3 TCOVER32 ‘không hợp lệ’

TC 33 y0e0 m4 TCOVER33 ‘không hợp lệ’

TC 34 0ye0 m4 TCOVER34 ‘không hợp lệ’

TC 35 0ey0 m4 TCOVER35 ‘không hợp lệ’

TC 36 0e0y m4 TCOVER36 ‘không hợp lệ’

TC 37 y+0e0 m4 TCOVER37 ‘không hợp lệ’

TC 38 +y0e0 m4 TCOVER38 ‘không hợp lệ’

TC 39 +0ye0 m4 TCOVER39 ‘không hợp lệ’

Một số các đột biến không thể phân biệt được với các phần mở rộng đã được tạo ra nên chúng bị loại bỏ. Ví dụ, đột biến m2 (thay thế điều kiện kiểm thử TCOND2 cho TCOND4) tạo ra cú pháp chính xác như m2 là "thay thế một phần tử bằng một phần tử khác đã được xác định" và điều kiện kiểm thử TCOND2 và TCOND4 là kiểu số nguyên (int) giống nhau.

Một số các đột biến còn lại không thể phân biệt được với các đột biến khác và chúng được bao phủ bởi một trường hợp kiểm thử duy nhất. Ví dụ, áp dụng đột biến m1 ("gán một giá trị không hợp lệ cho một phần tử") bằng cách thay thế điều kiện kiểm thử TCOND4, sẽ là một số nguyên, có dấu "+" tạo thành "0e +". Đây là đầu vào tương tự được tạo ra cho trường hợp kiểm thử 26 trong Bảng B.21.

Có thể tạo ra được nhiều trường hợp kiểm thử hơn bằng cách đưa ra những lựa chon khác nhau khi sử dụng các kỹ thuật kiểm thử đột biến đơn, hoặc các kỹ thuật kiểm thử đột biến kết hợp.

B.2.4.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Có thể tập hợp các trường hợp kiểm thử hợp lệ vào một bộ kiểm thử và các trường hợp kiểm thử không hợp lệ vào một bộ kiểm thử:

TS1: Gồm các trường hợp kiểm thử hợp lệ: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

73

Page 74: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TS2: gồm các trường hợp kiểm thử không hợp lệ: 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39.

B.2.4.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Tất cả các trường hợp kiểm thử có thể được tập hợp lại vào một thủ tục một kiểm thử, bắt đầu là các trường hợp kiểm thử hợp lệ và kết thúc là các trường hợp kiểm thử không hợp lệ.

TP1: Trước tiên bao phủ tất cả các trường hợp kiểm thử hợp lệ trong bộ kiểm thử TS1, tiếp theo là bao phủ tất cả các trường hợp kiểm thử không hợp lệ trong bộ kiểm thử TS2 theo thứ tự quy định trong các bộ kiểm thử.

B.2.4.9 Độ bao phủ kiểm thử cú phápNhư đã trình bày trong điều 6.2.4, không có phương pháp tính toán độ bao phủ kiểm thử cú pháp.

B.2.5 Các kỹ thuật thiết kế kiểm thử tổ hợpB.2.5.1 Giới thiệuMục đích của kiểm thử tổ hợp là để giảm chi phí kiểm thử bằng cách xây dựng một số lượng nhỏ (có thể tối thiểu) các trường hợp kiểm thử mà vẫn bao phủ được một bộ các tham số và các giá trị đầu vào của các hạng mục kiểm thử. Kỹ thuật thiết kế kiểm thử tổ hợp có khả năng xây dựng các trường hợp kiểm thử từ các giá trị đầu vào mà trước đó đã được lựa chon, chẳng hạn như thông qua việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả khác như kỹ thuật phân vùng tương đương hoặc kỹ thuật phân tích giá trị biên. Mỗi kỹ thuật sẽ được minh hoa bằng một ví dụ. Vì mỗi kỹ thuật đều có những bước chung là xác định các tập tính năng (TD1) và Xác định các điều kiện kiểm thử (TD2) nên các bước chung này được đề cập một lần dưới đây và dùng tất cả các kỹ thuật thiết kế kiểm thử, sau đó từng kỹ thuật kiểm thử sẽ thực hiện từ bước Xác định các hạng mục bao phủ kiểm thử (TD3) và Xây dựng các trường hợp kiểm thử (TD4) cho đến bước 6 (TD6).

B.2.5.2 Đặc tảHãy xem xét cơ sở kiểm thử đối với một hạng mục kiểm thử sở thích_du lịch, trong đó ghi lại những sở thích du lịch của các nhân viên của một tổ chức đi du lịch đến các thành phố chính của một số nước với mục đích công việc. Trong đó bao gồm những giá trị đầu vào sau:

Nơi đến = Paris, London, Sydney

Hạng = Hạng nhất, hạng thương gia, hạng phổ thông

Chỗ ngồi = Chỗ ngồi cạnh lối đi, chỗ ngồi cạnh cửa sổ

Nếu đưa ra được một sự kết hợp đầu vào hợp lệ cho chương trình, sẽ nhận được kết quả mong đợi là "được chấp nhận", nếu không sẽ nhận được đầu ra là "không được chấp nhận".

B.2.5.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục bao phủ kiểm thử được định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng được xác định:

FS1: Hàm sở thích du lịch (travel_preference)

B.2.5.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Moi kỹ thuật thiết kế kiểm thử tổ hợp đều dùng chung một phương pháp để xác định các điều kiện kiểm thử. Vì thế, các điều kiện kiểm thử mà tương ứng với mỗi tham số (P) của hạng mục kiểm thử sẽ tạo ra một giá trị (V) cụ thể, kết quả của sự kết hợp này sẽ tạo thành một cặp PV.  Bước này được lặp đi lặp lại cho đến khi tất cả các tham số đã được ghép đôi với các giá trị tương ứng của nó. Đối với ví dụ trên, sẽ ghép được các cặp PV sau:

TCOND1: Nơi đến - Paris (đối với tập tính năng FS1)

TCOND2: Nơi đến - London (đối với tập tính năng FS1)

TCOND3: Nơi đến - Sydney (đối với tập tính năng FS1)

TCOND4: Hạng nhất (đối với tập tính năng FS1)

74

Page 75: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND5: Hạng thương gia (đối với tập tính năng FS1)

TCOND6: Hạng phổ thông (đối với tập tính năng FS1)

TCOND7: Chỗ ngồi cạnh lối đi (đối với tập tính năng FS1)

TCOND8: Chỗ ngồi cạnh cửa sổ (đối với tập tính năng FS1)

B.2.5.5 Kiểm thử tất cả các tổ hợp B.2.5.5.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử tất cả các tổ hợp, các hạng mục bao phủ kiểm thử là những kết hợp duy nhất của các cặp PV, tạo thành một cặp PV cho mỗi tham số hạng mục kiểm thử. Những cặp PV này được coi như các điều kiện kiểm thử:

TCOVER1: Nơi đến - Paris Hạng nhất Chỗ ngồi cạnh lối đi (đối với TCOND 1, 4, 7)

TCOVER2: Nơi đến - Paris Hạng nhất Chỗ ngồi cạnh cửa sổ (đối với TCOND 1, 4, 8)

TCOVER3: Nơi đến - Paris Hạng thương gia Chỗ ngồi cạnh lối đi (đối với TCOND 1, 5, 7)

TCOVER4: Nơi đến - Paris Hạng thương gia Chỗ ngồi cạnh cửa sổ (đối với TCOND 1, 5, 8)

TCOVER5: Nơi đến - Paris Hạng phổ thông Chỗ ngồi cạnh lối đi (đối với TCOND 1, 6, 7)

TCOVER6: Nơi đến - Paris Hạng phổ thông Chỗ ngồi cạnh cửa sổ (đối với TCOND 1, 6, 8)

TCOVER7: Nơi đến - London Hạng nhất Chỗ ngồi cạnh lối đi (đối với TCOND 2, 4, 7)

TCOVER8: Nơi đến - London Hạng nhất Chỗ ngồi cạnh cửa sổ (đối với TCOND 2, 4, 8)

TCOVER9: Nơi đến - London Hạng thương gia Chỗ ngồi cạnh lối đi (đối với TCOND 2, 5, 7)

TCOVER10: Nơi đến - London Hạng thương gia Chỗ ngồi cạnh cửa sổ (đối với TCOND 2, 5, 8)

TCOVER11: Nơi đến - London Hạng phổ thông Chỗ ngồi cạnh lối đi (đối với TCOND 2, 6, 7)

TCOVER12: Nơi đến - London Hạng phổ thông Chỗ ngồi cạnh cửa sổ (đối với TCOND 2, 6, 8)

TCOVER13: Nơi đến - Sydney Hạng nhất Chỗ ngồi cạnh lối đi (đối với TCOND 3, 4, 7)

TCOVER14: Nơi đến - Sydney Hạng nhất Chỗ ngồi cạnh cửa sổ (đối với TCOND 3, 4, 8)

TCOVER15: Nơi đến - Sydney Hạng thương gia Chỗ ngồi cạnh lối đi (đối với TCOND 3, 5, 7)

TCOVER16: Nơi đến - Sydney Hạng thương gia Chỗ ngồi cạnh cửa sổ (đối với TCOND 3, 5, 8)

TCOVER17: Nơi đến - Sydney Hạng phổ thông Chỗ ngồi cạnh lối đi (đối với TCOND 3, 6, 7)

TCOVER18: Nơi đến - Sydney Hạng phổ thông Chỗ ngồi cạnh cửa sổ (đối với TCOND 3, 6, 8)

B.2.5.5.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một cặp PV và kết hợp nó với một cặp PV khác từ tất cả các tham số khác (trong đó mỗi kết hợp tạo ra chính xác một trường hợp kiểm thử), xác định các giá trị hợp lệ bất kỳ để tìm các biến đầu vào khác theo yêu cầu của các trường hợp kiểm thử, xác định kết quả mong đợi và lặp đi lặp lại cho đến khi đạt được độ bao phủ yêu cầu. Trong ví dụ này sẽ tạo được các trường hợp kiểm thử sau:

Bảng B.22 - Các trường hợp kiểm thử đối với kiểm thử tất cả các tổ hợpTrường

hợp kiểm thử

Các giá trị đầu vàoKết quả mong đợi Hạng mục bao

phủ kiểm thửNơi đến Hạng ghế Chỗ ngồi

1 Paris Hạng nhất Cạnh lối đi Được chấp nhận TCOVER1

2 Paris Hạng nhất Cạnh cửa sổ Được chấp nhận TCOVER2

3 Paris Hạng thương gia Cạnh lối đi Được chấp nhận TCOVER3

4 Paris Hạng thương gia Cạnh cửa sổ Được chấp nhận TCOVER4

5 Paris Hạng phổ thông Cạnh lối đi Được chấp nhận TCOVER5

75

Page 76: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Trường hợp kiểm

thử

Các giá trị đầu vàoKết quả mong đợi Hạng mục bao

phủ kiểm thửNơi đến Hạng ghế Chỗ ngồi

6 Paris Hạng phổ thông Cạnh cửa sổ Được chấp nhận TCOVER6

7 Luân Đôn Hạng nhất Cạnh lối đi Được chấp nhận TCOVER7

8 Luân Đôn Hạng nhất Cạnh cửa sổ Được chấp nhận TCOVER8

9 Luân Đôn Hạng thương gia Cạnh lối đi Được chấp nhận TCOVER9

10 Luân Đôn Hạng thương gia Cạnh cửa sổ Được chấp nhận TCOVER10

11 Luân Đôn Hạng phổ thông Cạnh lối đi Được chấp nhận TCOVER11

12 Luân Đôn Hạng phổ thông Cạnh cửa sổ Được chấp nhận TCOVER12

13 Sydney Hạng nhất Cạnh lối đi Được chấp nhận TCOVER13

14 Sydney Hạng nhất Cạnh cửa sổ Được chấp nhận TCOVER14

15 Sydney Hạng thương gia Cạnh lối đi Được chấp nhận TCOVER15

16 Sydney Hạng thương gia Cạnh cửa sổ Được chấp nhận TCOVER16

17 Sydney Hạng phổ thông Cạnh lối đi Được chấp nhận TCOVER17

18 Sydney Hạng phổ thông Cạnh cửa sổ Được chấp nhận TCOVER18

B.2.5.5.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Có thể phân chia các trường hợp kiểm thử theo chỗ ngồi cạnh lối đi và chỗ ngồi cạnh cửa sổ. Do đó, có thể có hai bộ kiểm thử sau:

TS1: Gồm các trường hợp kiểm thử 1, 3, 5, 7, 9, 11, 13, 15, 17

TS2: Gồm các trường hợp kiểm thử 2, 4, 6, 8, 10, 12, 14, 16, 18

B.2.5.5.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì mỗi bộ kiểm thử sẽ được thực hiện bởi các kỹ sư kiểm thử khác nhau, nên có thể chia chúng thành hai thủ tục kiểm thử như sau:

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

TP2: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS2, theo thứ tự quy định trong bộ kiểm thử.

B.2.5.5.5 Độ bao phủ kiểm thử tất cả các tổ hợpSử dụng công thức đã nêu trong điều 6.2.5.1 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ (tất c ảcáctr ư ờ ng hợ pkiể mthử )=1818

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử tất cả các tổ hợp đạt được là 100%.

B.2.5.6 Kiểm thử từng cặpB.2.5.6.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử từng cặp, các hạng mục bao phủ kiểm thử được xác định là các cặp PV với các tham số khác nhau. Trong ví dụ sở thích du lịch, có thể xác định được các hạng mục bao phủ kiểm thử sau đây:

TCOVER1: Paris, hạng nhất (đối với TCOND1, TCOND4)

TCOVER2: Paris, hạng thương gia (đối với TCOND1, TCOND5)

76

Page 77: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER3: Paris, hạng phổ thông (đối với TCOND1, TCOND6)

TCOVER4: London, hạng nhất (đối với TCOND2, TCOND4)

TCOVER5: London, hạng thương gia (đối với TCOND2, TCOND5)

TCOVER6: London, hạng phổ thông (đối với TCOND2, TCOND6)

TCOVER7: Sydney, hạng nhất (đối với TCOND3, TCOND4)

TCOVER8: Sydney, hạng thương gia (đối với TCOND3, TCOND5)

TCOVER9: Sydney, hạng phổ thông (đối với TCOND3, TCOND6)

TCOVER10: Paris, chỗ ngồi cạnh lối đi (đối với TCOND1, TCOND7)

TCOVER11: Paris, chỗ ngồi cạnh cửa sổ (đối với TCOND1, TCOND8)

TCOVER12: London, chỗ ngồi cạnh lối đi (đối với TCOND2, TCOND7)

TCOVER13: London, chỗ ngồi cạnh cửa sổ (đối với TCOND2, TCOND8)

TCOVER14: Sydney, chỗ ngồi cạnh lối đi (đối với TCOND3, TCOND7)

TCOVER15: Sydney, chỗ ngồi cạnh cửa sổ (đối với TCOND3, TCOND8)

TCOVER16: Hạng nhất, chỗ ngồi cạnh lối đi (đối với TCOND4, TCOND7)

TCOVER17: Hạng nhất, chỗ ngồi cạnh cửa sổ (đối với TCOND4, TCOND8)

TCOVER18: Hạng thương gia, chỗ ngồi cạnh lối đi (đối với TCOND5, TCOND7)

TCOVER19: Hạng thương gia, chỗ ngồi cạnh cửa sổ (đối với TCOND5, TCOND8)

TCOVER20: Hạng phổ thông, chỗ ngồi cạnh lối đi (đối với TCOND6, TCOND7)

TCOVER21: Hạng phổ thông, chỗ ngồi cạnh cửa sổ (đối với TCOND6, TCOND8)

B.2.5.6.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một hoặc nhiều cặp PV (các hạng mục bao phủ kiểm thử) cho các trường hợp kiểm thử hiện có, lựa chon các giá trị hợp lệ bất kỳ cho các biến đầu vào khác theo yêu cầu của trường hợp kiểm thử, xác định các kết quả mong đợi của việc kiểm thử và lặp đi lặp lại cho đến khi tất cả các cặp PV có các tham số khác nhau được lựa chon cho ít nhất một trường hợp kiểm thử. Trong ví dụ này, có thể có ba cặp PV kết hợp tạo thành các trường hợp kiểm thử sau:

Bảng B.23 - Các trường hợp kiểm thử đối với kiểm thử từng cặp

Trường hợp

kiểm thử

Các giá trị đầu vàoKết quả mong đợi Hạng mục bao

phủ kiểm thửNơi đến Hạng ghế Chỗ ngồi

1 Paris Hạng nhất Cạnh lối đi Được chấp nhận TCOVER1, TCOVER10, TCOVER16

2 Paris Hạng thương gia Cạnh cửa sổ Được chấp nhận TCOVER2, TCOVER11, TCOVER19

3 Paris Hạng phổ thông Cạnh lối đi Được chấp nhận TCOVER3, TCOVER10, TCOVER20

4 Luân Đôn Hạng nhất Cạnh lối đi Được chấp nhận TCOVER4, TCOVER12, TCOVER16

5 Luân Đôn Hạng thương gia Cạnh cửa sổ Được chấp nhận TCOVER5, TCOVER13,

77

Page 78: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER196 Luân Đôn Hạng phổ thông Cạnh lối đi Được chấp nhận TCOVER6,

TCOVER12, TCOVER20

7 Sydney Hạng nhất Cạnh cửa sổ Được chấp nhận TCOVER7, TCOVER15, TCOVER17

8 Sydney Hạng thương gia Cạnh lối đi Được chấp nhận TCOVER8, TCOVER14, TCOVER18

9 Sydney Hạng phổ thông Cạnh cửa sổ Được chấp nhận TCOVER9, TCOVER15, TCOVER21

B.2.5.6.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Do có ít các trường hợp kiểm thử được tao ra ở bảng trên nên có thể kết hợp chúng vào trong một bộ kiểm thử như sau:

TS1: Gồm các trường hợp kiểm thử 1, 2, 3, 4, 5, 6, 7, 8, 9

B.2.5.6.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Do chỉ có một bộ kiểm thử nên có thể kết hợp bộ kiểm thử này vào trong một thủ tục kiểm thử.

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.5.6.5 Tính độ bao phủ kiểm thử từng cặpSử dụng công thức đã nêu trong điều 6.2.5.2 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(cặp giátr ị )=2121

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử từng cặp đạt được là 100%.

B.2.5.7 Kiểm thử từng lựa chọn B.2.5.7.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử từng lựa chon (hoặc kiểm thử 1-wise), các hạng mục bao phủ kiểm thử là một tập các cặp P-V. Do đó, đối với ví dụ về sở thích du lịch, có thể xác định được các hạng mục bao phủ kiểm thử sau đây:

TCOVER1: Nơi đến - Paris (đối với TCOND1)

TCOVER2: Nơi đến - London (đối với TCOND2)

TCOVER3: Nơi đến - Sydney (đối với TCOND3)

TCOVER4: Hạng nhất (đối với TCOND4)

TCOVER5: Hạng thương gia (đối với TCOND5)

TCOVER6: Hạng phổ thông (đối với TCOND6)

TCOVER7: Chỗ ngồi cạnh lối đi (đối với TCOND7)

TCOVER8: Chỗ ngồi cạnh cửa sổ (đối với TCOND8)

B.2.5.7.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử từng lựa chon được xây dựng bằng cách lựa chon một hoặc nhiều cặp PV cho các trường hợp kiểm thử hiện có, lựa chon các giá trị hợp lệ bất kỳ cho các biến số đầu vào khác theo yêu cầu của các trường hợp kiểm thử, xác định các kết quả mong đợi và lặp đi lặp lại cho đến khi

78

Page 79: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

tất cả các cặp PV có trong ít nhất một trường hợp kiểm thử. Đối với ví dụ này, chỉ có ba trường hợp kiểm thử được tạo ra:

Bảng B.24 - Các trường hợp kiểm thử đối với kiểm thử từng lựa chọn

Trường hợp kiểm

thử

Các giá trị đầu vào Kết quả mong đợi

Hạng mục bao phủ kiểm thửNơi đến Hạng ghế Chỗ ngồi

1 Paris Hạng nhất Cạnh lối đi Chấp nhận

TCOVER1, TCOVER4, TCOVER7

2 Luân Đôn Hạng thương gia Cạnh cửa sổ Chấp nhận

TCOVER2, TCOVER5, TCOVER8

3 Sydney Hạng phổ thông Cạnh lối đi Chấp nhận

TCOVER3, TCOVER6, TCOVER7

Lưu ý: Có thể tạo ra được các trường hợp kiểm thử khác đạt được mức độ bao phủ quy định.

B.2.5.7.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Do có ít các trường hợp kiểm thử được tao ra ở bảng trên nên có thể kết hợp chúng vào trong một bộ kiểm thử như sau:

TS1: Gồm các trường hợp kiểm thử 1, 2, 3

B.2.5.7.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì tất cả các trường hợp kiểm thử nằm trong bộ một bộ kiểm thử nên chúng ta có thể tạo ra được một thủ tục kiểm thử

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.5.7.5 Độ bao kiểm thử phủ từng lựa chọnSử dụng công thức đã nêu trong điều 6.2.5.3 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ (từng lựachọn)=88

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử từng lựa chon đạt được là 100%.

B.2.5.8 Kiểm thử lựa chọn cơ sở B.2.5.8.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Đối với kiểm thử lựa chon cơ sở, các hạng mục bao phủ kiểm thử được lựa chon bằng cách lựa chon một giá trị "lựa chon cơ sở" cho từng tham số. Ví dụ, lựa chon cơ sở có thể được lựa chon từ các hồ sơ hoạt động, từ đường đi chính trong kiểm thử trường hợp sử dụng hoặc từ những hạng mục bao phủ kiểm thử mà được tạo ra trong khi phân vùng tương đương. Trong ví dụ này, các giá trị đầu vào dưới đây sẽ được chon là lựa chon cơ sở.

TCOVER1 Nơi đến - London, Hạng phổ thông, Chỗ ngồi cạnh cửa sổ (Bao phủ TCOND2,

TCOND6 và TCOND8)

Các hạng mục bao phủ kiểm thử còn lại được xác định bằng cách xác định tất cả các cặp PV còn lại:

TCOVER2 Nơi đến - Paris Hạng phổ thông Chỗ ngồi cạnh cửa sổ (Bao phủ TCOND1,

TCOND6 và TCOND8)

TCOVER3 Nơi đến - Sydney Hạng phổ thông Chỗ ngồi cạnh cửa sổ (Bao phủ TCOND3,

TCOND6 và TCOND8)

TCOVER4 Nơi đến - London Hạng nhất Chỗ ngồi cạnh cửa sổ (Bao phủ TCOND2 ,

79

Page 80: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND4 và TCOND8)

TCOVER5 Nơi đến - London Hạng thương gia Chỗ ngồi cạnh cửa sổ (bao phủ TCOND2 ,

TCOND5 và TCOND8)

TCOVER6 Nơi đến - London Hạng phổ thông, Chỗ ngồi cạnh lối đi (Bao phủ TCOND2 ,

TCOND6 và TCOND7)

TCOVER2 Nơi đến - Paris Hạng phổ thông Chỗ ngồi cạnh cửa sổ (Bao phủ TCOND1,

TCOND6 và TCOND8)

B.2.5.8.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Một trường hợp kiểm thử lựa chon cơ sở có thể được xây dựng bằng cách kết hợp các hạng mục bao phủ kiểm thử:

Lựa chon cơ sở: London, Hạng phổ thông, Chỗ ngồi cạnh cửa sổ

Đây là trường hợp kiểm thử thứ nhất trong bảng dưới đây. Các trường hợp kiểm thử còn lại có thể được xây dựng bằng cách thay thế một cặp PV bằng trường kiểm thử lựa chon cơ sở và lặp đi lặp lại cho đến khi tất cả các cặp PV được bao phủ.

Bảng B.25 - Các trường hợp kiểm thử đối với kiểm thử lựa chọn cơ sở

Trường hợp kiểm

thử

Các giá trị đầu vào Kết quả mong đợi

Hạng mục bao phủ kiểm thửNơi đến Hạng ghế Chỗ ngồi

1 Luân Đôn Hạng phổ thông Cạnh cửa sổ Chấp nhận TCOVER1

2 Paris Hạng phổ thông Cạnh cửa sổ Chấp nhận TCOVER2

3 Sydney Hạng phổ thông Cạnh cửa sổ Chấp nhận TCOVER3

4 Luân Đôn Hạng nhất Cạnh cửa sổ Chấp nhận TCOVER4

5 Luân Đôn Hạng thương gia Cạnh cửa sổ Chấp nhận TCOVER5

6 Luân Đôn Hạng phổ thông Cạnh lối đi Chấp nhận TCOVER6

B.2.5.8.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì chỉ có một số lượng nhỏ các trường hợp kiểm thử được xây dựng trong ví dụ này, nên có thể kết hợp các trường hợp kiểm thử đó vào một bộ kiểm thử.

TS1: Gồm các trường hợp kiểm thử 1, 2, 3, 4, 5, 6

B.2.5.8.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì tất cả các trường hợp kiểm thử nằm trong bộ một bộ kiểm thử nên chúng ta có thể tạo ra được một thủ tục kiểm thử

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.5.8.5 Độ bao phủ kiểm thử lựa chọn cơ sở Sử dụng công thức đã nêu trong điều 6.2.5.4 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ (lựa chọnc ơ sở )=66

x 100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với cơ sở kiểm thử đạt được là 100%.

B.2.6 Kiểm thử bảng quyết địnhB.2.6.1 Giới thiệu

80

Page 81: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Mục đích của kiểm thử bảng quyết định là xây dựng một bộ các trường hợp kiểm thử mà bao phủ các kết hợp logic giữa các đầu vào và đầu ra (mà đại diện là một chuỗi các điều kiện và các hành động) được kết hợp bởi các quy tắc quyết định theo mức độ bao phủ điều kiện và hành động.

B.2.6.2 Đặc tảHãy xem xét hàm ghi nợ séc có đầu vào là số tiền ghi nợ, loại tài khoản và số dư hiện tại và có đầu ra là số dư mới và mã hành động. Loại tài khoản có thể là loại tài khoản bưu điện ('p') hoặc tài khoản counter (‘c’). Mã hành động có thể 'D và L', 'D', 'S và L' hoặc 'L', tương ứng với 'chỉ thực hiện ghi nợ’, 'thực hiện ghi nợ và gửi thư thông báo', ‘Tạm treo tài khoản và gửi thư thông báo' và 'chỉ gửi thư thông báo'. Hàm này có các cơ sở kiểm thử sau:

Nếu có đủ tiền trong tài khoản hoặc số dư mới nằm trong hạn mức thấu chi được ủy quyền thì việc ghi nợ được thực hiện. Nếu số dư mới vượt quá hạn mức thấu chi được ủy quyền thì ghi nợ không được thực hiện và nếu nó là một tài khoản bưu điện nó sẽ bị treo. Thư được gửi đến cho tất cả các giao dịch trên tài khoản bưu điện và cho các tài khoản không phải là tài khoản bưu điện nếu có đủ tiền (tức là tài khoản không phải là thẻ tín dụng).

B.2.6.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục bao phủ kiểm thử được xác định trong cơ sở kiểm thử nên chỉ có một tập tính năng được xác định:

FS1: Hàm ghi nợ (cheque debit)

B.2.6.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Các điều kiện kiểm thử chính là các điều kiện và hành động có thể được xác định từ cơ sở kiểm thử. 

Đối với các điều kiện (C), có các điều kiện kiểm thử sau:

TCOND1 (C1): Số dư mới trong thẻ (đối với tập tính năng FS1)

TCOND2 (C2): Rút quá số dư mới nhưng vẫn nằm trong

giới hạn cho phép

(đối với tập tính năng FS1)

TCOND3 (C3): Tài khoản bưu điện (đối với tập tính năng FS1)

Đối với các hành động (A), có các điều kiện kiểm thử sau:

TCOND4 (A1): Thực hiện ghi nợ (đối với tập tính năng FS1)

TCOND5 (A2): Tạm treo tài khoản (đối với tập tính năng FS1)

TCOND6 (A3): Gửi thư thông báo (đối với tập tính năng FS1)

B.2.6.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Bảng quyết định cho phép xác định các hạng mục bao phủ kiểm thử dựa trên các quy tắc quyết định trong bảng quyết định. Mỗi cột của bảng quyết định là một quy tắc quyết định. Bảng quyết định bao gồm hai phần. Trong phần thứ nhất, từng quy tắc quyết định được lập thành bảng dựa vào các điều kiện. Chữ T biểu thị rằng điều kiện là ĐÚNG đối với các quy tắc quyết định áp dụng, chữ 'F' biểu thị rằng điều kiện là SAI đối với các quy tắc quyết định áp dụng. Trong phần thứ hai, từng quy tắc quyết định được lập thành bảng dựa vào các hành động. Chữ “T” biểu thị rằng các hành động được thực hiện, chữ “F” biểu thị rằng các hành động sẽ không được thực hiện, dấu sao (*) biểu thị sự kết hợp của các điều kiện không khả thi và do đó không xác định được hành động nào cho các quy tắc quyết định. Hai hoặc nhiều cột có thể được kết hợp với nhau nếu chúng có chứa một điều kiện Boolean mà không ảnh hưởng đến kết quả bất kể giá trị của nó.

Ví dụ có bảng quyết định sau đây, có 8 quy tắc quyết định, 6 trong số đó là khả thi và do đó xác định được 6 hạng mục bao phủ kiểm thử:

Bảng B.26 - Bảng quyết định của hàm ghi nợ sécCác quy tắc quyết định: 1 2 3 4 5 6 7 8

81

Page 82: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C1: Số dư mới trong thẻ F F F F T T T T

C2: Rút quá số dư mới nhưng vẫn nằm trong giới hạn cho phép

F F T T F F T T

C3: Tài khoản bưu điện F T F T F T F T

A1: Thực hiện ghi nợ F F T T T T * *

A2: Tạm treo tài khoản F T F F F F * *

A3: Gửi thư thông báo T T T T F T * *CHÚ THÍCH 1: Mặc dù chữ T và F đã được sử dụng trong bảng quyết định trên có nghĩa là "Đúng" và "Sai", cũng có thể sử dụng các ký hiệu khác (ví dụ, có thể sử dụng các từ “đúng” và “sai” thay thế).

CHÚ THÍCH 2: Trong bảng trên, cả các điều kiện (C) và các hành động (A) là các điều kiện nhị phân (T hoặc F) nên bảng này sẽ được coi là bảng quyết định "có đầu vào giới hạn". Trong bảng quyết định "có đầu vào được mở rộng", các điều kiện và/ hoặc các hành động có thể có nhiều giá trị.

B.2.6.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một hoặc nhiều quy tắc quyết định khả thi có thể thực hiện được từ bảng quyết định khi chúng chưa được bao phủ bởi một trường hợp kiểm thử nào, xác định các đầu vào để thực hiện (các) điều kiện và (các) hành động của các quy tắc quyết định và xác định các giá trị hợp lệ cho bất kỳ biến đầu vào khác theo yêu cầu của các trường hợp kiểm thử, xác định kết quả mong đợi và lặp lại các bước này cho đến khi đạt được mức độ bao phủ kiểm thử quy định. Các trường hợp kiểm thử dưới đây sẽ được tạo ra từ các quy tắc quyết định nêu trong bảng trên đạt được độ 100% bao phủ bảng quyết định, các trường hợp kiểm thử này tương ứng với các quy tắc quyết định trong bảng quyết định nêu trên (đối với quy tắc quyết định 7 và 8, không có trường hợp kiểm thử được tạo ra vì chúng không khả thi):

Bảng B.27 - Bảng trường hợp kiểm thử của hàm ghi nợ

Trường hợp kiểm thử

Các nguyên nhân/ đầu vào Các kết quả/ đầu ra Hạng mục bao phủ kiểm

thửLoại tài khoản

Hạn mức thấu chi

Số dư hiện tại

Số tiền ghi nợ

Số dư mới

Mã hành động

1 c £100 -£70 £50 -£70 L 1

2 p £1500 £420 £2000 £420 SvàL 2

3 c £250 £650 £800 -£150 D và L 3

4 p £750 -£500 £200 -£700 D và L 4

5 c £1000 £2100 £1200 £900 D 5

6 p £500 £250 £150 £100 D và L 6

B.2.6.5 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì chỉ có sáu trường hợp kiểm thử được tạo ra ở trên bao phủ tất cả các quy tắc quyết định nên tất cả các trường hợp kiểm thử này sẽ được thực hiện bằng tay và sẽ được đặt trong một bộ kiểm thử.

TS1: Gồm các trường hợp kiểm thử 1, 2, 3, 4, 5, 6

B.2.6.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì tất cả các trường hợp kiểm thử nằm trong bộ một bộ kiểm thử nên chúng ta có thể tạo ra được một thủ tục kiểm thử dưới đây:

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.6.9 Độ bao phủ kiểm thử bảng quyết định Sử dụng công thức đã nêu trong điều 6.2.6 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

82

Page 83: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

C1

C2

C3

A1

A2

A3

TCVN xxxx-4:2019

Đ ộbao phủ (kiể mthử bảng quyế t đ ị nh )=66

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử bảng quyết định đạt được là 100%.

B.2.7 Đồ thị nguyên nhân - kết quảB.2.7.1 Giới thiệuMục đích của đồ thị nguyên nhân - kết quả là xây dựng các trường hợp kiểm thử mà bao phủ các mối quan hệ logic giữa các nguyên nhân (ví dụ: các đầu vào) và các kết quả (ví dụ: các đầu ra) của một hạng mục kiểm thử theo một mức độ bao phủ được lựa chon. Kỹ thuật này sử dụng một ký hiệu trong thiết kế đồ thị nguyên nhân - kết quả của hạng mục kiểm thử để minh hoa mối quan hệ giữa nguyên nhân và kết quả cũng như những ràng buộc đối với các nguyên nhân và kết quả. Kỹ thuật này khác với kiểm thử bảng quyết định do những ràng buộc không được nêu ra cụ thể. Tuy nhiên, kỹ thuật này chỉ có hiệu quả trong phạm vi các mô hình mà có các cơ sở kiểm thử của các hạng mục kiểm thử.

B.2.7.2 Đặc tảHãy xem xét một chức năng kiểm tra hàm ghi nợ séc có đầu vào là số tiền ghi nợ, loại tài khoản và số dư hiện tại và có đầu ra là số dư mới và mã hành động. Loại tài khoản có thể là loại tài khoản bưu điện ('p') hoặc tài khoản counter (‘c’). Mã hành động có thể là 'D và L', 'D', 'S và L' hoặc 'L', tương ứng với 'chỉ thực hiện ghi nợ’, 'thực hiện ghi nợ và gửi thư thông báo', ‘Tạm treo tài khoản và gửi thư thông báo' và 'chỉ gửi thư thông báo'. Hàm này có các cơ sở kiểm thử sau:

Nếu có đủ tiền trong tài khoản hoặc số dư mới nằm trong hạn mức thấu chi được ủy quyền thì việc ghi nợ được thực hiện. Nếu số dư mới vượt quá hạn mức thấu chi được ủy quyền thì ghi nợ không được thực hiện và nếu nó là một tài khoản bưu điện nó sẽ bị treo. Thư được gửi đến cho tất cả các giao dịch trên tài khoản bưu điện và cho các tài khoản không phải là tài khoản bưu điện nếu có đủ tiền (tức là tài khoản không phải là thẻ tín dụng).

B.2.7.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục bao phủ kiểm thử được định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng được xác định:

FS1: Hàm ghi nợ (cheque debit)

B.2.7.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Các điều kiện kiểm thử chính là các nguyên nhân và kết quả mà có thể được tạo ra từ cơ sở kiểm thử. 

Đối với các nguyên nhân, có các điều kiện kiểm thử sau:

TCOND1 (C1): Số dư mới trong thẻ (đối với tập tính năng FS1)

TCOND2 (C2): Rút quá số dư mới nhưng vẫn

nằm trong giới hạn cho phép

(đối với tập tính năng FS1)

TCOND3 (C3): Tài khoản qua bưu điện (đối với tập tính năng FS1)

Đối với các kết quả, có các điều kiện kiểm thử sau:

TCOND4 (A1): Thực hiện ghi nợ (đối với tập tính năng FS1)

TCOND5 (A2): Tạm treo tài khoản (đối với tập tính năng FS1)

TCOND6 (A3): Gửi thư thông báo (đối với tập tính năng FS1)

Đồ thị nguyên nhân - kết quả cho thấy mối quan hệ giữa nguyên nhân và kết quả thông qua một ký hiệu được sử dụng bởi các nhà thiết kế các mạch logic phần cứng. Cơ sở kiểm thử được mô hình hóa bằng đồ thị dưới đây.

83

Page 84: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

Y

XX

Y

Y

Hàmđồng nhất

X

YX

Hàm NOT

Nút Y chỉ đúng nếu X đúngNếu X = T thì Y = T không thì Y = F

Nút Y chỉ đúng nếu X saiNếu X = T thì Y = T không thì Y = F

Nút Z chỉ đúng nếu cả nút X và Y đúngNếu X = T hoặc Y = T thì Z = T không thì Z = F

Nút Z chỉ đúng nếu nút X đúng hoặc nút Y đúngNếu X = T hoặc Y = F thì Z = F không thì Z = T

Nút Z chỉ đúng nếu nút X đúng hoặc nút Y đúng hoặc cả 2 đều đúngNếu X = F hoặc Y = F thì Z = F không thì Z = T

Nút Z chỉ đúng nếu nút X sai hoặc nút Y saiNếu X = T hoặc Y = T thì Z = F không thì Z = T

ZX

XX

XX

Y

Y

Hàm AND

Hàm OR

Hàm NAND

Hàm NOR

TCVN xxxx-4:2019

Hình B.10 - Đồ thị nguyên nhân - kết quả của hàm ghi nợ (xem ký hiệu các hình dưới đây)CHÚ THÍCH 1: Nút "trống" nối các nút C1/C2 với A1/A2/A3 là một nút liên kết được sử dụng để kết hợp hai hoặc nhiều nguyên nhân lại với nhau.

Hình B.11 - Ký hiệu minh họa mối quan hệ giữa các nguyên nhân và các kết quả trong đồ thị nguyên nhân - kết quả

CHÚ THÍCH 2: Mặc dù những ký hiệu "ràng buộc" dưới đây không được quy định đối với ví dụ được đưa ra trong điều khoản này nhưng chúng được đưa ra để xác định mối quan hệ giữa các nguyên nhân và mối quan hệ giữa các kết quả. Các mối quan hệ ràng buộc như vậy không được đưa ra trong bảng quyết định và thường có trong các đặc tả.  Những ký hiệu này dùng để xác minh tính toàn vẹn của đồ thị nguyên nhân - kết quả, bảng quyết định và các trường hợp kiểm thử được xây dựng từ đồ thị nguyên nhân - kết quả.

84

Page 85: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

X

Y

Các ràng buộc nguyên nhân:Ràng buộc E (loại trừ) E

Ràng buộc I (bao hàm) I

Ràng buộc O (chỉ một) O

Ràng buộc R (yêu cầu) R

Các ràng buộc kết quả:Ràng buộc M (mặt nạ)

X

Y

X

Y

X

Y

X

Y

Nguyên nhân X và Y không thể cùng đúng đồng thờiNếu X = 1 thì Y = 0, nếu X = 0 thì Y = 1, có thể cùng sai đồng thời

Nguyên nhân X và Y không thể cùng sai đồng thờiNếu X = 0 thì Y = 1, nếu X = 1 thì Y = 0, có thể cùng đúng đồng thời

Chỉ có duy nhất một nguyên nhân X hoặc Y đúngNếu X = 1 thì Y = 0, nếu Y = 1 thì X = 0, có thể cùng sai đồng thời

Nguyên nhân Y đúng nếu nguyên nhân X đúngNếu X = 1 thì Y = 0, Nếu X = 0 thì Y = 1 hoặc Y = 0

Kết quả Y sẽ bị sai nếu kết quả X đúngNếu X = 1 thì Y = 0

M

TCVN xxxx-4:2019

Hình B.12 - Các ký hiệu ràng buộc giữa nguyên nhân và kết quả trong đồ thị nguyên nhân - kết quả

B.2.7.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Đồ thị nguyên nhân - kết quả sử dụng lại các nội dung của bảng quyết định (ví dụ: xem ví dụ (Myers đưa ra năm 1979) và (Nursimulu và Probert đưa ra năm 1995)), nó cho phép xác định các hạng mục bao phủ kiểm thử (tức là các quy tắc quyết định khả thi trong bảng quyết định). Mỗi cột của bảng quyết định là một quy tắc quyết định. Bảng quyết định bao gồm hai phần. Trong phần thứ nhất này từng quy tắc quyết định được lập bảng dựa theo các nguyên nhân. Chữ “T” biểu thị rằng các nguyên nhân là ĐÚNG đối với quy tắc quyết định áp dụng, chữ “F” biểu thị rằng các nguyên nhân là SAI đối với quy tắc quyết định áp dụng. Trong phần thứ hai, từng quy tắc quyết định được lập bảng dựa theo các kết quả. Chữ “T” biểu thị rằng các kết quả sẽ xảy ra; chữ “F” biểu thị rằng kết quả sẽ không xảy ra; dấu sao (*) biểu thị sự kết hợp của những nguyên nhân là không khả thi và do đó không xác định được kết quả nào cho các quy tắc quyết định.

Ví dụ có bảng quyết định sau đây, xác định được 6 hạng mục bao phủ kiểm thử (quy tắc quyết định 7 và 8 đều không phải là các hạng mục bao phủ kiểm thử vì chúng không khả thi):

Bảng B.28 - Bảng quyết định của hàm ghi nợ séc

Các quy tắc quyết định: 1 2 3 4 5 6 7 8

C1: Số dư mới trong thẻ F F F F T T T T

C2: Rút quá số dư mới nhưng vẫn nằm trong giới hạn cho phép

F F T T F F T T

C3: Tài khoản bưu điện F T F T F T F T

85

Page 86: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Các quy tắc quyết định: 1 2 3 4 5 6 7 8

A1: Thực hiện ghi nợ F F T T T T * *

A2: Tạm treo tài khoản F T F F F F * *

A3: Gửi thư thông báo T T T T F T * *

B.2.7.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một hoặc nhiều quy tắc quyết định khả thi từ bảng quyết định chưa được bao gồm trong một trường hợp kiểm thử, xác định các đầu vào để thực hiện các nguyên nhân và kết quả của quy tắc quyết định, xác định các giá trị hợp lệ tùy ý cho bất kỳ biến đầu vào khác quy định bởi các trường hợp kiểm thử, xác định các kết quả mong đợi của các trường hợp kiểm thử, và lặp đi lặp lại các bước này cho đến khi tất cả các quy tắc quyết định khả thi được bao phủ. Các trường hợp kiểm thử sau đây đạt được 100% độ bao phủ nguyên nhân - kết quả và tương ứng với các quy tắc quyết định trong bảng quyết định trên (đối với quy tắc quyết định 7 và 8, không có trường hợp kiểm thử được tạo ra vì chúng không khả thi):

Bảng B.29 - Bảng trường hợp kiểm thử của hàm ghi nợ séc

Trường hợp kiểm thử

Các nguyên nhân/ đầu vào Các kết quả/ đầu ra Hạng mục bao phủ kiểm

thửLoại tài khoản

Hạn mức thấu chi

Số dư hiện tại

Số tiền ghi nợ

Số dư mới

Mã hành động

1 c £100 -£70 £50 -£70 ‘L’ 1

2 p £1500 £420 £2000 £420 ‘S và L’ 2

3 c £250 £650 £800 -£150 ‘D và L’ 3

4 p £750 -£500 £200 -£700 ‘D và L’ 4

5 c £1000 £2100 £1200 £900 D 5

6 p £500 £250 £150 £100 ‘D và L’ 6

B.2.7.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì chỉ có sáu trường hợp kiểm thử được tạo ra ở trên bao phủ tất cả các quy tắc quyết định nên tất cả các trường hợp kiểm thử này sẽ được thực hiện bằng tay và sẽ được đặt trong một bộ kiểm thử.

TS1: Gồm các trường hợp kiểm thử 1, 2, 3, 4, 5, 6

B.2.7.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì tất cả các trường hợp kiểm thử nằm trong bộ một bộ kiểm thử nên chúng ta có thể tạo ra được một thủ tục kiểm thử dưới đây:

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.7.9 Độ bao phủ đồ thị nguyên nhân - kết quả Sử dụng công thức đã nêu trong điều 6.2.7 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(đồ thị nguyênnhân k ế t quả)=66

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với đồ thị nguyên nhân - kết quả đạt được là 100%.

B.2.8 Kiểm thử chuyển đổi trạng thái B.2.8.1 Giới thiệuMục đích của kiểm thử chuyển đổi trạng thái là xây dựng một bộ các trường hợp kiểm thử bao phủ

86

Page 87: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

Đầu vào

Chuyển đổi trạng thái

Trạng thái 1

Trạng thái 2

Sự kiệnHành động Đầu ra

TCVN xxxx-4:2019

những chuyển đổi và/hoặc những trạng thái của hạng mục kiểm thử theo mức độ bao phủ được lựa chon. Kỹ thuật này được dựa trên phân tích cơ sở kiểm thử của hạng mục kiểm thử để mô phỏng các hành vi của nó bằng những chuyển đổi trạng thái.

B.2.8.2 Đặc tảHãy xem xét một hạng mục kiểm thử quản lý hiển thị những thay đổi với cơ sở kiểm thử sau đây:

Hạng mục kiểm thử đáp ứng các yêu cầu đầu vào để thay đổi chế độ hiển thị bên ngoài đối với một thiết bị hiển thị thời gian. Chế độ hiển thị bên ngoài có thể được thiết lập một trong bốn giá trị: hai giá trị tương ứng với hiển thị thời gian hoặc hiển thị ngày, hai giá trị còn lại tương ứng với các để chế độ được sử dụng khi thay đổi giờ hoặc ngày.

Có bốn yêu cầu đầu vào: 'Thay đổi chế độ', 'Thiết lập lại', 'Thiết lập thời gian' và 'Thiết lập ngày'.  Yêu cầu đầu vào 'Thay đổi chế độ' sẽ làm cho chế độ hiển thị di chuyển giữa các giá trị 'Hiển thị thời gian' và ‘Hiển thị ngày’. Nếu chế độ hiển thị được thiết lập là "Hiển thị thời gian" hoặc "Hiển thị ngày” thì yêu cầu đầu vào 'Thiết lập' tạo ra chế độ hiển thị được thiết lập các chế độ ‘thiết lập thời gian' hoặc 'thiết lập ngày’ tương ứng. Yêu cầu đầu vào ‘Thiết lập thời gian' sẽ làm cho các chế độ hiển thị quay trở lại 'hiển thị thời gian' từ 'thay đổi thời gian’ trong khi yêu cầu đầu vào ‘thiết lập ngày’ sẽ làm cho chế độ hiển thị quay trở lại 'hiển thị ngày' từ 'thay đổi ngày'.

B.2.8.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được định nghĩa trong cơ sở kiểm thử, chỉ xác định được một tính năng:

FS1: Quản lý hiển thị những thay đổi (manage_display_changes)

B.2.8.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Một mô hình trạng thái được tạo ra là các điều kiện kiểm thử. Sơ đồ chuyển đổi trạng thái (STD) thường được sử dụng như mô hình trạng thái và ký hiệu của chúng được minh chứng dưới đây. Một STD bao gồm các trạng thái, sự chuyển tiếp, các sự kiện và các hành động (xem Hình B.13). Sự kiện luôn luôn được tạo ra bởi đầu vào. Tương tự như vậy, hành động tạo ra đầu ra. Đầu ra của một hành động có thể xác định tình trạng hiện tại của hạng mục kiểm thử. Sự chuyển tiếp được xác định bởi trạng thái hiện tại và sự kiện và nó thường được goi một cách đơn giản là các sự kiện và hành động. Như đã nêu trong điều 5.2.8.1, trong kiểm thử chuyển đổi trạng thái các điều kiện kiểm thử có thể là tất cả các trạng thái của mô hình trạng thái, tất cả sự chuyển tiếp của mô hình trạng thái hoặc toàn bộ mô hình trạng thái, tùy thuộc vào các yêu cầu bao phủ của kiểm thử.

Hình B.14 - Mô hình trạng thái tổng quátSơ đồ chuyển đổi trạng thái (STD) đối với hạng mục kiểm thử quản lý hiển thị những thay đổi được trình bày dưới đây (trong ví dụ này là điều kiện kiểm thử TCOND1):

87

Page 88: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

“Thiết lập lại” (R)Đổi thời gian (AT)

“Thiết lập thời gian” (TS)Hiển thị thời gian (T)

“Thay đổi chế độ” (CM)Hiển thị ngày (D)

“Thiết lập lại” (R)Đổi ngày (AD)

“Thiết lập ngày” (DS)Hiển thị ngày (D)

“Thay đổi chế độ” (CM)Hiển thị thời gian (T)

HIỂN THỊ NGÀY (S2) THAY ĐỔI NGÀY (S4)

HIỂN THỊ THỜI GIAN (S1) THAY ĐỔI THỜI GIAN (S3)

TCVN xxxx-4:2019

Hình B.14 - Sơ đồ chuyển đổi trạng thái của hàm quản lý hiển thị những thay đổiB.2.8.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử 0-Switch và “tất cả các chuyển tiếp” (TD3)Giả sử mức độ bao phủ được lựa chon là "tất cả các chuyển tiếp", một bảng trạng thái có thể được tạo ra đại diện cho tất cả các chuyển tiếp hợp lệ và không hợp lệ (các hạng mục bao phủ kiểm thử). Để đạt được độ bao phủ 0-switch hoàn toàn thì chỉ cần phải thực hiện những chuyển tiếp hợp lệ.

Hạn chế của độ bao phủ 0-switch là các trường hợp kiểm thử được xây dựng chỉ để thực hiện các chuyển tiếp hợp lệ trong các hạng mục kiểm thử. Việc kiểm thử kỹ hơn các hạng mục kiểm thử cũng sẽ làm cho các chuyển tiếp không hợp lệ xuất hiện ("tất cả các chuyển tiếp"). STD cho thấy các chuyển tiếp hợp lệ (tất cả các chuyển tiếp không được hiển thị được coi là không hợp lệ).  Ví dụ về mô hình trạng thái mà thể hiện khá rõ cả chuyển tiếp hợp lệ và không hợp lệ chính là bảng trạng thái, một đại diện khác nữa của mô hình trạng thái là một sơ đồ chuyển trạng thái bao gồm một trạng thái "bất thường" mà tại đó kết thúc tất cả các chuyển tiếp không hợp lệ. Một ký hiệu sử dụng cho bảng trạng thái được mô tả ngắn gon dưới đây:

Bảng B.30 - Ký hiệu sử dụng cho bảng trạng thái

Đầu vào 1 Đầu vào 2 v.v...

Trạng thái bắt đầu 1 Lối vào A Lối vào B v.v...

Trạng thái bắt đầu 2 Lối vào C Lối vào D v.v...

v.v... v.v... v.v... v.v...

Bảng trạng thái đối với quản lý hiển thị những thay đổi được trình bày dưới đây:

Bảng B.31 - Bảng trạng thái đối với quản lý hiển thị những thay đổi

CM R TS DS

S1 S2/D S3/AT S1/- S1/-

S2 S1/T S4/AD S2/- S2/-

S3 S3/- S3/- S1/T S3/-

S4 S4/- S4/- S4/- S2/D

88

Page 89: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bất kỳ đầu vào nào mà trạng thái giống nhau và các hành động có chứa dấu (-) đại diện cho sự chuyển tiếp không null, nếu xảy ra chuyển tiếp thực tế sẽ xuất hiện một lỗi. Đây là kiểm thử các chuyển tiếp null bị bỏ qua bởi các bộ kiểm thử được thiết kế chỉ để đạt được Độ bao phủ các hạng mục bao phủ kiểm thử hợp lệ (0-switch). Vì vậy, một bộ kiểm thử hoàn chỉnh hơn ("tất cả các chuyển tiếp") sẽ kiểm thử cả chuyển tiếp có thể xảy ra và các chuyển tiếp null, có nghĩa là kiểm thử phản ứng của các hạng mục kiểm thử cho tất cả các đầu vào trong các cơ sở kiểm thử trong tất cả các trạng thái có thể. Dựa vào bảng trạng thái chúng ta sẽ xác định được các hạng mục bao phủ kiểm thử để bao phủ các chuyển tiếp null (đối với bao phủ "tất cả các chuyển tiếp").

Có 16 mục đầu vào trong bảng trạng thái trên đại diện cho một trong bốn đầu vào hợp lệ mà có thể xuất hiện trên một trong bốn trạng thái hợp lệ, tạo thành 16 hạng mục bao phủ kiểm thử đối với bao phủ "tất cả các chuyển tiếp" mà có thể đoc được từ bảng trạng thái được trình bày dưới đây:

Bảng B.32 - Bảng trạng thái đối với quản lý hiển thị thay đổi

CM R TS DS

S1

S2/D

(TCOVER1)

S3/AT

(TCOVER2)

S1/-

(TCOVER3)

S1/-

(TCOVER4)

S2

S1/T

(TCOVER5)

S4/AD

(TCOVER6)

S2/-

(TCOVER7)

S2/-

(TCOVER8)

S3

S3/-

(TCOVER9)

S3/-

(TCOVER10)

S1/T

(TCOVER11)

S3/-

(TCOVER12)

S4

S4/-

(TCOVER13)

S4/-

(TCOVER14)

S4/-

(TCOVER15)

S2/D

(TCOVER16)

Do đó, đối với bao phủ "tất cả các chuyển tiếp", các hạng mục bao phủ kiểm thử (hợp lệ và không hợp lệ) dưới đây được xác định dựa theo bảng trạng thái trên:

TCOVER1: S1 chuyển sang S2 có đầu vào là CM (đối với FS1, trạng thái hợp lệ)

TCOVER2: S1 chuyển sang S3 có đầu vào là R (đối với FS1, trạng thái hợp lệ)

TCOVER3: S1 chuyển sang S1 có đầu vào là TS (đối với FS1, trạng thái không hợp lệ)

TCOVER4: S1 chuyển sang S1 có đầu vào là DS (đối với FS1, trạng thái không hợp lệ)

TCOVER5: S2 chuyển sang S1 có đầu vào là CM (đối với FS1, trạng thái hợp lệ)

TCOVER6: S2 chuyển sang S4 có đầu vào là R (đối với FS1, trạng thái hợp lệ)

TCOVER7: S2 chuyển sang S2 có đầu vào là TS (đối với FS1, trạng thái không hợp lệ)

TCOVER8: S2 chuyển sang S2 có đầu vào là DS (đối với FS1, trạng thái không hợp lệ)

TCOVER9: S3 chuyển sang S3 có đầu vào là CM (đối với FS1, trạng thái không hợp lệ)

TCOVER10: S3 chuyển sang S3 có đầu vào là R (đối với FS1, trạng thái không hợp lệ)

TCOVER11: S3 chuyển sang S1 có đầu vào là TS (đối với FS1, trạng thái hợp lệ)

TCOVER12: S3 chuyển sang S3 có đầu vào là DS (đối với FS1, trạng thái không hợp lệ)

TCOVER13: S4 chuyển sang S4 có đầu vào là CM (đối với FS1, trạng thái không hợp lệ)

TCOVER14: S4 chuyển sang S4 có đầu vào là R (đối với FS1, trạng thái không hợp lệ)

TCOVER15: S4 chuyển sang S4 có đầu vào là TS (đối với FS1, trạng thái không hợp lệ)

TCOVER16: S4 chuyển sang S2 có đầu vào là DS (đối với FS1, trạng thái hợp lệ)

89

Page 90: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

B.2.8.6 Bước 4: Xây dựng các trường hợp kiểm thử hợp lệ (TD4)B.2.8.6.1 Các Tùy chọnCác trường hợp kiểm thử có thể được xây dựng để thực hiện một trong những chuyển tiếp có thể (sử dụng các ký hiệu STD viết tắt). Các đầu vào thực hiện (các) chuyển tiếp mà được bao phủ bởi từng trường hợp kiểm thử có thể được xác định từ STD, như thể các kết quả mong đợi, mà có thể được xác định bằng cách kết hợp đầu ra mong đợi và trạng thái cuối cùng của sự chuyển tiếp trong STD. Các trường hợp kiểm thử có thể được xây dựng để bao phủ một đến n chuyển tiếp trên một trường hợp kiểm thử, trong đó n là số chuyển tiếp tối đa có thể xảy ra. Ví dụ, các trường hợp kiểm thử có thể được tạo ra đối với bao phủ 0-switch hoặc bao phủ 1-switch (mặc dù trong thực tế không cần thiết phải xây dựng cả trường hợp kiểm thử 0-switch và 1-switch, điều này được minh hoa dưới đây chỉ đơn giản là để giải thích phương pháp thực hiện). Các trường hợp kiểm thử cũng có thể được xây dựng để bao phủ chuyển tiếp không hợp lệ. Ba kịch bản này được minh hoa dưới đây.

B.2.8.6.2 Bước 4a: Xây dựng các trường hợp kiểm thử 0-Switch (các chuyển tiếp hợp lệ)Sáu trường hợp kiểm thử sau đây cung cấp độ bao phủ kiểm thử 0-switch. Mỗi trường hợp kiểm thử được tạo ra bằng cách lựa chon một chuyển tiếp và xác định các đầu vào, đầu ra mong đợi và trạng thái cuối cùng từ STD cho đến khi tất cả các chuyển tiếp được bao phủ bởi một trường hợp kiểm thử.

Bảng B.33 - Các trường hợp kiểm thử 0-switch đối với quản lý hiển thị những thay đổiTrường hợp kiểm thử 1 2 3 4 5 6

Trạng thái bắt đầu S1 S1 S2 S2 S3 S4

Đầu vào CM R CM R TS DS

Đầu ra mong đợi D AT T AD T D

Trạng thái kết thúc S2 S3 S1 S4 S1 S2

Hạng mục bao phủ kiểm thử 1 2 5 6 11 16CHÚ THÍCH: Một thủ tục kiểm thử có thể được viết cho sáu trường hợp kiểm thử trong bảng trên sẽ cho phép chúng thực hiện tuần tự vì thế "trạng thái kết thúc" cho một trường hợp kiểm thử này sẽ là trạng thái bắt đầu cho trường hợp kiểm thử tiếp theo (ví dụ: thứ tự thực hiện 5, 1, 4, 6, 3, 2). Điều này được xây dựng tỉ mỉ ở Bước 5.

Bảng này cho thấy, đối với trường hợp kiểm thử thứ 1 thì trạng thái bắt đầu là HIỂN THỊ THỜI GIAN (S1), đầu vào là “thay đổi chế độ”(CM), đầu ra mong đợi là “hiển thị ngày”(D), và trạng thái kết thúc là HIỂN THỊ NGÀY (S2) .

Sáu trường hợp kiểm thử này thực hiện một trong số các chuyển tiếp "hợp lệ" và do đó đạt được độ bao phủ 0-switch (Cho đưa ra năm 1987). Các trường hợp kiểm thử được thiết kế để đạt được mức độ bao phủ này bị giới hạn về khả năng phát hiện một số loại lỗi vì chúng phát hiện được các đầu ra và các chuyển tiếp không chính xác một cách rõ ràng nhất, chúng sẽ không phát hiện được các lỗi có mức độ tinh vi hơn mà chỉ có thể phát hiện thông qua trình tự thực hiện chuyển tiếp.

B.2.8.6.3 Bước 4b: Xây dựng các trường hợp kiểm thử đối với chuyển tiếp không hợp lệCác trường hợp kiểm thử bao phủ các chuyển tiếp không hợp lệ có thể được xác định như sau, trong đó dấu "-" đại diện cho một sự chuyển tiếp null:

Bảng B.34 - Các trường hợp kiểm thử không hợp lệ đối với quản lý hiển thị những thay đổiTrường hợp kiểm thử 7 8 9 10 11 12 13 14 15 16

Trạng thái bắt đầu S1 S1 S2 S2 S3 S3 S3 S4 S4 S4

Đầu vào TS DS TS DS CM R DS CM R TS

Đầu ra mong đợi - - - - - - - - - -

Trạng thái kết thúc S1 S1 S2 S2 S3 S3 S3 S4 S4 S4

Hạng mục bao phủ kiểm thử 3 4 7 8 9 10 12 13 14 15

90

Page 91: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng trên cho thấy các trường hợp kiểm thử mà bao phủ các hạng mục bao phủ kiểm thử không hợp lệ sẽ không tạo ra sự chuyển tiếp từ trạng thái bắt đầu. Kết hợp các trường hợp kiểm thử trong hai bảng trên sẽ đạt được độ bao phủ "tất cả các chuyển tiếp".

B.2.8.6.4 Bước 4c: Xác định các hạng mục bao phủ kiểm thử 1-Switch (TD3)Các hạng mục bao phủ kiểm thử sau đây có thể được xác định từ STD để đạt được độ bao phủ 1-switch:

TCOVER17: S1 chuyển sang S2 chuyển sang S1 có đầu vào là CM và CM (đối với FS1)

TCOVER18: S1 chuyển sang S2 chuyển sang S4 có đầu vào là CM và R (đối với FS1)

TCOVER19: S1 chuyển sang S3 chuyển sang S1 có đầu vào là R và TS (đối với FS1)

TCOVER20: S3 chuyển sang S1 chuyển sang S2 có đầu vào là TS và CM (đối với FS1)

TCOVER21 S3 chuyển sang S1 chuyển sang S3 có đầu vào là TS và R (đối với FS1)

TCOVER22: S2 chuyển sang S1 chuyển sang S2 có đầu vào là CM và CM (đối với FS1)

TCOVER23: S2 chuyển sang S1 chuyển sang S3 có đầu vào là CM và R (đối với FS1)

TCOVER24: S2 chuyển sang S4 chuyển sang S2 có đầu vào là R và DS (đối với FS1)

TCOVER25: S4 chuyển sang S2 chuyển sang S1 có đầu vào là DS và CM (đối với FS1)

TCOVER26: S4 chuyển sang S2 chuyển sang S4 có đầu vào là DS và R (đối với FS1)

B.2.8.6.5 Bước 4d: Xây dựng các trường hợp kiểm thử 1-Switch (TD4)Nếu độ bao phủ kiểm thử được lựa chon trong bước TD3 bao phủ tất cả các chuyển tiếp 1-switch thì có thể viết được các trường hợp kiểm thử để thực hiện tất cả các cặp chuyển tiếp tuần tự có thể có. Trong ví dụ này, có mười trường hợp kiểm thử 1-switch được xác định dưới đây:

Bảng B.35 - Các trường hợp kiểm thử 1-switch đối với quản lý hiển thị những thay đổi

Trường hợp kiểm thử 17 18 19 20 21 22 23 24 25 26

Trạng thái bắt đầu S1 S1 S1 S3 S3 S2 S2 S2 S4 S4

Đầu vào CM CM R TS TS CM CM R DS DS

Đầu ra mong đợi D D AT T T T T AD D D

Trạng thái tiếp theo S2 S2 S3 S1 S1 S1 S1 S4 S2 S2

Đầu vào CM R TS CM R CM R DS CM R

Đầu ra mong đợi T AD T D AT D AT D T AD

Trạng thái kết thúc S1 S4 S1 S2 S3 S2 S3 S2 S1 S4

Hạng mục bao phủ kiểm thử 17 18 19 20 21 22 23 24 25 26

Bảng trên cho thấy trường hợp kiểm thử 17 bao gồm hai chuyển tiếp. Đối với chuyển tiếp thứ nhất thì trạng thái bắt đầu là HIỂN THỊ THỜI GIAN (S1), đầu vào thứ nhất là “thay đổi chế độ” (CM), đầu ra mong đợi trung gian là hiển thị ngày (D) và trạng thái tiếp theo là HIỂN THỊ NGÀY (S2).  Đối với chuyển tiếp thứ hai, đầu vào thứ hai là “thay đổi chế độ” (CM), đầu ra mong đợi cuối cùng là hiển thị thời gian (T), và trạng thái kết thúc là HIỂN THỊ THỜI GIAN (S1). Lưu ý rằng các trạng thái trung gian, các đầu vào và đầu ra cho mỗi quá trình chuyển tiếp phải được xác định một cách rõ ràng.

Có thể kiểm thử các chuỗi chuyển tiếp dài hơn để đạt được độ bao phủ switch cao hơn, tùy thuộc vào mức độ kiểm thử yêu cầu.

B.2.8.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Tất cả các trường hợp kiểm thử 0-switch (bao gồm các chuyển tiếp hợp lệ) sẽ được tập hợp vào một bộ kiểm thử thứ nhất, tất các trường hợp kiểm thử "tất cả các chuyển tiếp" bao phủ chuyển tiếp không

91

Page 92: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

hợp lệ được tập hợp trong một bộ kiểm thử thứ hai và tất cả các trường hợp kiểm thử 1-switch vào bộ kiểm thử thứ ba như trình bày sau đây:

TS1: Các trường hợp kiểm thử 0-switch, bao gồm các trường hợp kiểm thử: 1, 2, 3, 4, 5, 6.

TS2: Các trường hợp kiểm thử “tất cả các chuyển tiếp” không hợp lệ, bao gồm các trường hợp kiểm thử: 7, 8, 9, 10, 11, 12, 13, 14, 15, 16.

TS3: Các trường hợp kiểm thử 1-switch, bao gồm các trường hợp kiểm thử: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26.CHÚ THÍCH 1: Trong một số trường hợp, đòi hỏi phải xây dựng các trường hợp kiểm thử riêng lẻ chẳng hạn như "trạng thái kết thúc" của một trường hợp kiểm thử là trạng thái bắt đầu của trường hợp kiểm thử kế tiếp.  Việc này có thể nâng cao hiệu quả trong quá trình thực thi kiểm thử. Khả năng để làm điều này phụ thuộc vào mô hình trạng thái cụ thể đang được kiểm thử. Trong ví dụ trên, thứ tự sau đây của các trường hợp kiểm thử sẽ đạt được mục tiêu này: TS1: các trường hợp kiểm thử 0 switch là các trường hợp kiểm thử 5, 1, 4, 6, 3, 2.

CHÚ THÍCH 2: Vì các trường hợp kiểm thử 1-switch xác định ở trên bao phủ tất cả các đường đi trong các trường hợp kiểm thử 0-switch nên không cần thiết phải xác định các bộ kiểm thử và thủ tục kiểm thử cho các trường hợp kiểm thử 0-switch. Tuy nhiên, chúng vẫn được đưa ra đầy đủ ở đây.

B.2.8.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Một thủ tục kiểm thử có thể được xác định để thực hiện tất cả các trường hợp kiểm thử theo thứ tự mà chúng được định nghĩa trong Bước 5:

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, TS2 và TS3, theo thứ tự được định nghĩa trong các bộ kiểm thử.

B.2.8.9 Độ bao phủ kiểm thử chuyển đổi trạng thái Sử dụng công thức đã nêu trong điều 6.2.8 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(kiểm thử 0−switch )=66

x 100%=100%

Đ ộbao phủ(kiểm thử t ấ t c ả các chuyểntiế p )=1616

x100%=100%

Đ ộbao phủ (kiể mthử 1−switch )=1010

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử 0-switch, kiểm thử 1-switch và kiểm thử tất cả chuyển đổi trạng thái đạt được là 100%.

B.2.9 Kiểm thử kịch bảnB.2.9.1 Giới thiệuMục đích của kiểm thử kịch bản là xây dựng các trường hợp kiểm thử mà bao phủ các kịch bản của hạng mục kiểm thử tùy theo mức độ bao phủ đã chon. Kiểm thử kịch bản dựa trên sự phân tích cơ sở kiểm thử để tạo ra một mô hình hành vi của chúng bằng các chuỗi hành động mà tạo thành luồng công việc thông qua các hạng mục kiểm thử.

Có hai kiểu kiểm thử kịch bản được minh hoa dưới đây. Ví dụ thứ nhất được dựa trên một dạng chung của kỹ thuật này, ví dụ thứ hai là một ví dụ cụ thể dựa trên các trường hợp sử dụng.

B.2.9.2 Ví dụ 1B.2.9.2.1 Đặc tảHãy xem xét một hạng mục kiểm thử rút tiền mặt từ cây ATM với cơ sở kiểm thử sau đây:

Hàm rút tiền mặt cho phép khách hàng có tài khoản ngân hàng rút tiền từ tài khoản của mình thông qua cây ATM. Việc rút tiền chỉ có thể được thực hiện khi người dùng có tài khoản mở ở ngân hàng, thẻ hợp lệ, mã pin phù hợp và cây ATM đang làm việc. Sau khi việc rút tiền hoàn tất, số dư tài khoản được ghi nợ theo số tiền rút ra, biên lai rút tiền được in ra, cây ATM sẵn sàng cho người dùng tiếp theo.

Các kịch bản sau đây đã được xây dựng theo yêu cầu của khách hàng:

92

Page 93: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Kịch bản tiêu biểu- Rút tiền thành công từ tài khoản.

Các kịch bản thay thếViệc rút tiền không thực hiện được, bởi vì:

- Thẻ ngân hàng của người dùng bị từ chối vì cây ATM không nhận biết được.

- Người dùng nhập mã PIN không chính xác đến 2 lần.

- Người dùng nhập mã PIN sai ba lần nên bị cây ATM nuốt thẻ.

- Người dùng lựa chọn gửi tiền hoặc chuyển khoản thay vì rút tiền.

- Người dùng nhập số tài khoản không chính xác mà không tồn tại trên thẻ.

- Người dùng nhập số tiền rút không hợp lệ.

- Không có đủ tiền mặt tại cây ATM.

- Người dùng nhập số tiền không chia hết cho mệnh giá tối thiểu.

- Người dùng nhập số tiền rút vượt số tiền cho phép rút tối đa một ngày.

- Không có đủ tiền trong tài khoản của người dùng.CHÚ THÍCH: Trong thực tế, các kịch bản bổ sung cũng có thể được đưa ra đối với tình huống người dùng nhấn nút hủy bỏ tại bất kỳ thời điểm nào trong quá trình rút tiền.

B.2.9.2.2 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được xác định trong cơ sở kiểm thử, chỉ cần phải xác định một tập tính năng là:

FS1: Hàm rút tiền mặt (withdraw_cash function)

B.2.9.2.3 Bước 2: Xác định các điều kiện kiểm thử (TD2)Để có thể xác định được các điều kiện kiểm thử, phải tạo ra một mô hình các hạng mục kiểm thử để xác định các kịch bản kiểm thử (và các hoạt động trong kịch bản) trong mỗi kịch bản. Mô hình ví dụ dưới đây là một sơ đồ dòng chảy của các sự kiện. Trong mô hình này, đường đi "chính" được biểu diễn là một đường màu đen đậm, các điểm bắt đầu và điểm kết thúc của luồng công việc này đều được ghi nhãn, mỗi hành động được gắn thẻ với một định danh duy nhất để biết đó là hành động của người dùng (U) hoặc của hệ thống (S) (tức là hạng mục kiểm thử).

93

Page 94: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

U1Người dùng nhét thẻ vào

Bắt đầu

S4.1U3.1Ấn nút rút tiền

S2.1Mã PIN chính xác

U3.2Ấn nút rút tiền hoặc c/khoản

S10Xuất hiện màn hình rút tền hoặc chuyển khoản

Kết thúc

Quay lại

U4Lựa chọn tài khoản

S4.2Tài khoản không hợp lệ

U2Nhập mã PIN

S2.2Nhập mã PIN sai < 3 lần

S2.3Nhập mã PIN sai

3 lần

S3Thẻ bị nuốt

Kết thúc

S1.1Hệ thống nhận thẻ

S1.2Hệ thống không nhận thẻ

S9

U6Người dùng lấy thẻ ra

Kết thúc

S5.1Số tiền hợp lệ

S6Hệ thống đẩy tiền mặt ra

S7Số dư nợ

S8Hệ thống in biên lai nhận tiền

S8Hệ thống đẩy thẻ ra

S4.1Tài khoản hợp lệ U5

Nhập số tiền rút

Quay lạiU5

Quay lạiU5

Quay lạiU5

Quay lạiU5

Quay lạiU5

TCVN xxxx-4:2019

Hình B.15 - Sơ đồ dòng chảy của các sự kiện đối với Hàm rút tiền mặt Trong kiểm thử kịch bản, các điều kiện kiểm thử là các kịch bản chính và kịch bản thay thế mà được bao phủ trong suốt quá trình kiểm thử (tức là chúng là các chuỗi tương tác giữa người dùng và hệ thống thông qua sơ đồ dòng chảy của các sự kiện mà tạo thành một kịch bản). Có 11 kịch bản được mô tả trong đặc tả, trong đó có một kịch bản chính và mười kịch bản thay thế. Các kịch bản này có thể

94

S5.2Số tiền không hợp lệ

S5.4Số tiền không

chia hết cho mệnh giá tối tiểu

S5.3Tiền trong cây ATM không đủ

S5.6Tiền trong tài khoản không đủ

S5.5Số tiền rút

vượt số lượng cho

phép trong ngày

Page 95: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

được mô tả như các điều kiện kiểm thử (bao phủ FS1) như sau:

TCOND1: Rút tiền thành công (bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.1, S6, S7, S8, S9, U6)

TCOND2: Cây ATM không nhận biết được thẻ (bao gồm U1, S1.2, S9, U6)

TCOND3: Người dùng nhập mã PIN không chính xác < 3 lần

(bao gồm U1, S1.1, U2, S2.2)

TCOND4: Người dùng nhập mã PIN không chính xác 3 lần

(bao gồm U1, S1.1, U2, S2.2, U2, S2.2, U2, S2.3, S3)

TCOND5: Người dùng lựa chon gửi tiền hoặc chuyển khoản thay vì rút tiền

(bao gồm U1, S1.1, U2, S2.1, U3.2, S10)

TCOND6: Người dùng lựa chon một tài khoản không chính xác

(bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.2)

TCOND7: Người dùng nhập số tiền rút không hợp lệ (bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.2)

TCOND8: Không có đủ tiền mặt tại cây ATM (bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.3)

TCOND9: Người dùng nhập số tiền không chia hết cho mệnh giá tối thiểu

(bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.4)

TCOND10: Người dùng nhập số tiền rút vượt quá số tiền cho phép rút tối đa một ngày

(bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.5)

TCOND11: Không có đủ tiền trong tài khoản của người dùng

(bao gồm U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.6)

B.2.9.2.4 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử kịch bản, các điều kiện kiểm thử là những kịch bản tiêu biểu và những kịch bản thay thế, giống như các hạng mục bao phủ kiểm thử.

TCOVER1 = TCOND1 TCOVER4 = TCOND4 TCOVER7 = TCOND7 TCOVER10 = TCOND10

TCOVER2 = TCOND2 TCOVER5 = TCOND5 TCOVER8 = TCOND8 TCOVER11 = TCOND11

TCOVER3 = TCOND3 TCOVER6 = TCOND6 TCOVER9 = TCOND9

B.2.9.2.5 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một kịch bản để bao phủ, xác định các đầu vào để thực hiện đường đi được bao phủ bởi các trường hợp kiểm thử, xác định các kết quả mong đợi của các kiểm thử và lặp đi lặp lại cho đến khi tất cả các kịch bản được bao phủ theo yêu cầu. Các bước xây dựng các trường hợp kiểm thử thường được diễn đạt ở dạng ngôn ngữ tự nhiên. Giả sử xác định được một trường hợp kiểm thử bao phủ từng hạng mục bao phủ kiểm thử thì có thể xây dựng được các trường hợp kiểm thử dưới đây.CHÚ THÍCH 1 Trong mỗi trường hợp kiểm thử, có một loạt các giá trị đầu vào có thể được lựa chon cho từng trường đầu vào. Có thể sử dụng kỹ thuật phân vùng tương đương để tạo ra một bộ các giá trị cho vào từng trường đầu vào.

Bảng B.36 - Các trường hợp kiểm thử đối với kiểm thử kịch bản

Trường hợp kiểm thử 1

Tên trường hợp kiểm thử Rút tiền thành công từ tài khoản

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.1, S6, S7, S8, S9, U6

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

95

Page 96: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Số dư trong thẻ ATM - $50,000

Số dư tài khoản khách hàng - $100

Số tiền rút - $50

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Rút tiền thành công từ tài khoản khách hàng

Số dư trong thẻ ATM là $49,950

Số dư tài khoản khách hàng là $50

Cây ATM vẫn mở, đang hoạt động và chờ khách hàng cho thẻ vào.

Hạng mục bao phủ kiểm thử TCOVER1

Bảng B.37 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 2

Tên trường hợp kiểm thử Cây ATM không nhận được thẻ của người dùng

Đường đi kịch bản U1, S1.2, S9, U6

Đầu vào Thẻ hết hiệu lực

Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Điều kiện tiên quyết

Kết quả mong đợi Thẻ bị cây ATM từ chối với một thông báo lỗi báo rằng thẻ không hợp lệ.  Cây ATM chờ khách hàng rút thẻ hết hiệu lực ra.

Hạng mục bao phủ kiểm thử TCOVER2

Bảng B.38 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 3

Tên trường hợp kiểm thử Người dùng nhập mã PIN không chính xác < 3 lần

Đường đi kịch bản U1, S1.1, U2, S2,2

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Nhập mã PIN không hợp lệ 2 lần - giả sử 0000 là mã không hợp lệ và không phù hợp với thẻ.

Số dư trong thẻ ATM - $100

Số dư tài khoản khách hàng - $500

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Mã PIN bị cây ATM từ chối. Hệ thống nhắc nhở người dùng phải nhập lại mã pin.

Hạng mục bao phủ kiểm thử TCOVER3

96

Page 97: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng B.39 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 4

Tên trường hợp kiểm thử Người dùng nhập mã PIN 3 lần không chính xác

Đường đi kịch bản U1, S1.1, U2, S2.2, U2, S2.2, U2, S2.3, S3

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Nhập mã PIN không hợp lệ 3 lần - giả sử 0000 là mã không hợp lệ và không phù hợp với thẻ.

Số dư trong thẻ ATM - $100

Số dư tài khoản khách hàng - $500

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Mỗi lần nhập mã PIN không hợp lệ, hệ thống sẽ hiển thị thông báo rằng mã PIN không chính xác và nhắc nhở người dùng nhập lại mã PIN. Nếu cố nhập lần thứ ba mà vẫn không chính xác, hệ thống sẽ nuốt thẻ và hiển thị thông báo rằng thẻ đã bị nuốt và người dùng nên liên hệ với ngân hàng để lấy lại thẻ. Cây ATM nuốt thẻ của người dùng. ATM mở, vẫn hoạt động và chờ thẻ khách hàng tiếp theo cho vào.

Hạng mục bao phủ kiểm thử TCOVER4

Bảng B.40 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 5

Tên trường hợp kiểm thử Người dùng lựa chon hình thức gửi tiền hoặc chuyển tiền

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.2, S10

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Loại giao dịch - Tiền gửi

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo nhắc nhở người dùng nhập các chi tiết tiền gửi.

Hạng mục bao phủ kiểm thử TCOVER5

Bảng B.41 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 6

Tên trường hợp kiểm thử Người dùng lựa chon tài khoản không chính xác

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.2

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

97

Page 98: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Số dư trong thẻ ATM - $100

Khách hàng chon tài khoản không chính xác mà không tồn tại trên thẻ.

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo rằng tài khoản đã nhập không hợp lệ và nhắc nhở người dùng lựa chon một tài khoản mới

Hạng mục bao phủ kiểm thử TCOVER6

Bảng B.42 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 7

Tên trường hợp kiểm thử Người dùng nhập số tiền rút không hợp lệ

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.2

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Số dư trong thẻ ATM - $100

Số dư tài khoản khách hàng - $20

Số tiền rút - $17

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo số tiền nhập vào không hợp lệ và nhắc người dùng nhập số tiền rút mới

Hạng mục bao phủ kiểm thử TCOVER7

Bảng B.43 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 8

Tên trường hợp kiểm thử Thiếu tiền mặt tại cây ATM

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.3

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Số dư trong thẻ ATM - $100

Số dư tài khoản khách hàng - $500

Số tiền rút - $200

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo không có đủ tiền trong cây ATM, và nhắc người dùng nhập số tiền rút mới.

98

Page 99: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Hạng mục bao phủ kiểm thử TCOVER8

Bảng B.44 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 9

Tên trường hợp kiểm thử Người dùng nhập số tiền không chia hết cho mệnh giá tối thiểu

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.4

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Số dư trong thẻ ATM - $100, và cây ATM chỉ có $50

Số dư tài khoản khách hàng - $1,000

Số tiền rút - $20

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo rằng loại tiền mà người dùng muốn rút không có trong cây ATM và nhắc người dùng nhập số tiền rút mới.

Hạng mục bao phủ kiểm thử TCOVER9

Bảng B.45 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 10

Tên trường hợp kiểm thử Người dùng nhập số tiền vượt quá giới hạn cho phép rút hàng ngày

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.5

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Số dư trong thẻ ATM - $100, và cây ATM chỉ còn các tờ tiền $50

Số dư tài khoản khách hàng - $3,000

Số tiền cho phép rút tối đa trong ngày - $1,000

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo số tiền rút vượt quá số tiền rút tối đa hàng ngày và nhắc người dùng nhập số tiền rút mới.

Hạng mục bao phủ kiểm thử TCOVER10

Bảng B.46 - Các trường hợp kiểm thử đối với kiểm thử kịch bản (tiếp theo)

Trường hợp kiểm thử 11

Tên trường hợp kiểm thử Không đủ tiền trong tài khoản của người dùng

Đường đi kịch bản U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.6

99

Page 100: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Đầu vào Thẻ còn hiệu lực với tài khoản khách hàng hợp lệ - giả sử 293910982246 là số tài khoản hợp lệ

Mã PIN hợp lệ - giả sử 5652 là hợp lệ và phù hợp với thẻ

Số dư trong thẻ ATM - $50,000

Số dư tài khoản khách hàng - $20

Số tiền rút - $50

Điều kiện tiên quyết Việc rút tiền chỉ có thể được thực hiện bởi người dùng có tài khoản mở ở ngân hàng, thẻ còn hiệu lực, mã pin phù hợp và cây ATM đang hoạt động.

Kết quả mong đợi Hệ thống hiển thị thông báo không đủ tiền trong tài khoản của người dùng và nhắc người dùng nhập số tiền rút mới.

Hạng mục bao phủ kiểm thử TCOVER11CHÚ THÍCH 2: Các trường hợp kiểm thử ở trên được chứa trong một bảng riêng biệt cho dễ đoc. Trong thực tế, chúng có thể được chứa trong một bảng cho tiện theo dõi.

B.2.9.2.6 Bước 5: Tập hợp các bộ kiểm thử (TD5)Các trường hợp kiểm thử ở trên có thể được nhóm lại thành hai bộ kiểm thử dưới đây, một bộ bao phủ kịch bản chính và một bộ bao phủ các kịch bản thay thế:

TS1: Bao gồm trường hợp kiểm thử 1.

TS2: Bao gồm các trường hợp kiểm thử 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.

B.2.9.2.7 Bước 6: Xác định các thủ tục kiểm thử (TD6)Có 2 thủ tục kiểm thử yêu cầu dưới đây:

TP1: Bao phủ các trường hợp kiểm thử trong TS1, theo thứ tự quy định trong bộ kiểm thử.

TP2: bao phủ các trường hợp kiểm thử trong TS2, theo thứ tự quy định trong bộ kiểm thử.

B.2.9.2.8 Độ bao phủ kiểm thử kịch bảnSử dụng công thức đã nêu trong điều 6.2.9 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ (kịchbản )=1111

x100%=100%

B.2.9.3 Ví dụ 2B.2.9.3.1 Giới thiệuKiểm thử trường hợp sử dụng là một dạng của kiểm thử kịch bản, trong đó việc xây dựng các trường hợp kiểm thử được dựa trên một mô hình trường hợp sử dụng của các hạng mục kiểm thử. Ở đây người ta đưa ra một ví dụ về kiểm thử trường hợp sử dụng để cung cấp cho người sử dụng tiêu chuẩn này kỹ thuật thiết kế kiểm thử trường hợp sử dụng.

B.2.9.3.2 Đặc tảHãy xem xét ví dụ sau đây về kiểm thử trường hợp sử dụng đối với hạng mục kiểm thử thay đổi mật khẩu:

Bảng B.47 - Ví dụ về kiểm thử trường hợp sử dụng đối với Thay đổi mật khẩu

Số ID của trường hợp sử dụng

UC001

Trường hợp sử dụng Thay đổi mật khẩuMục đích Cho phép người dùng thay đổi mật khẩu hiện tại của ho sang mật khẩu mớiTác nhân Người dùng

100

Page 101: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Số ID của trường hợp sử dụng

UC001

Mô tả Kiểm thử trường hợp sử dụng cho phép người dùng thay đổi mật khẩu hiện tại của ho sang mật khẩu mới.

Hành động Người dùng nhấn nút Change Password trên màn hình Main MenuĐiều kiện tiên quyết Người dùng đã đăng nhập được vào hệ thống

Tên kịch bản Bước Hành độngLuồng cơ bản 1 Người dùng nhấn nút Change Password

2 Hệ thống sẽ hiển thị màn hình Change Password3 Người dùng nhập chính xác mật khẩu hiện tại của ho4 Người dùng nhập chính xác mật khẩu mới5 Người dùng nhập lại chính xác mật khẩu mới6 Người dùng nhấn nút OK7 Hệ thống hiển thị thông báo “Mật khẩu thay đổi thành công”

Luồng thay thế - Mật khẩu hiện tại không chính xác

3.1 Người dùng nhập không chính xác mật khẩu hiện tại của ho3.2 Người dùng nhập chính xác mật khẩu mới3.3 Người dùng nhập chính xác mật khẩu mới3.4 Người dùng nhấn nút OK3.5 Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu hiện tại nhập

không chính xác. Xin hãy thử lại.” và hiện sáng tất cả các chữ trong trường mật khẩu hiện tại

Luồng thay thế - Mật khẩu mới ít hơn 8 ký tự

4.1 Người dùng nhập mật khẩu mới ít hơn 8 ký tự4.2 Người dùng nhấn nút OK4.3 Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu mới phải có độ

dài tối thiểu là 8 ký tự. Xin hãy thử lại.”Luồng thay thế - Mật khẩu mới tương tự như mật khẩu hiện tại

5.1 Người dùng nhập mật khẩu mới giống mật khẩu hiện tại5.2 Người dùng nhấn nút OK5.3 Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu mới không

được giống mật khẩu hiện tại. Xin hãy thử lại.”Luồng thay thế - Mật khẩu mới không phù hợp

6.1 Người dùng nhập lại mật khẩu mới mà không khớp với mật khẩu mới mà ho đã nhập tại bước 4

6.2 Người dùng nhấn nút OK6.3 Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu mới không phù

hợp. Xin hãy thử lại.”Các biến và những ngoại lệ

Không có

Quy luật Mật khẩu mới phải khác mật khẩu hiện tạiMật khẩu mới phải có độ dài tối thiểu là 8 ký tựHệ thống sẽ hiển thị các ký tự của mật khẩu hiện tại và mật khẩu mới bằng một dấu sao (*)

Tần suất Được sử dụng lần đầu tiên khi người dùng mới đăng nhập vào hệ thống.Thông thường mỗi người sử dụng 2 lần/nămCó thể được goi bất cứ lúc nào khi người dùng nhấn nút “Change Password”

CHÚ THÍCH: Cũng có thể có các kịch bản bổ sung đối với tình huống người dùng nhập các ký tự không hợp lệ vào mật khẩu mới của ho.

B.2.9.3.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được xác định trong cơ sở kiểm thử, chỉ cần phải xác định một

101

Page 102: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

tập tính năng là:

FS1: Hàm thay đổi mật khẩu

B.2.9.3.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Các điều kiện kiểm thử có thể là các kịch bản tiêu biểu và kịch bản thay thế hiện có trong trường hợp sử dụng. Trong ví dụ này, có các điều kiện kiểm thử sau:

TCOND1: Luồng chính (đối với FS1)

TCOND2: Luồng thay thế - Mật khẩu hiện tại không đúng (đối với FS1)

TCOND3: Luồng thay thế - Mật khẩu mới có độ dài ít hơn 8 kí tự (đối với FS1)

TCOND4: Luồng thay thế - Mật khẩu mới giống mật khẩu hiện tại (đối với FS1)

TCOND5: Luồng thay thế - Mật khẩu mới không phù hợp (đối với FS1)

B.2.9.3.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Các hạng mục bao phủ kiểm thử trong kiểm thử trường hợp sử dụng là những kịch bản tiêu biểu và những kịch bản thay thế như sau:

TCOVER1: Luồng chính (đối với TCOND1)

TCOVER2: Luồng thay thế - Mật khẩu hiện tại không đúng (đối với TCOND2)

TCOVER3: Luồng thay thế - Mật khẩu mới có độ dài ít hơn 8 kí tự (đối với TCOND3)

TCOVER4: Luồng thay thế - Mật khẩu mới giống mật khẩu hiện tại (đối với TCOND4)

TCOVER5: Luồng thay thế - Mật khẩu mới không phù hợp (đối với TCOND5)

B.2.9.3.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách lựa chon một kịch bản, xác định các đầu vào để thực hiện đường đi được bao phủ bởi các trường hợp kiểm thử, xác định các kết quả mong đợi và lặp đi lặp lại cho đến khi tất cả các kịch bản trường hợp sử dụng được bao phủ theo yêu cầu.

Bảng B.48 - Các trường hợp kiểm thử đối với kiểm thử trường hợp sử dụngTên trường hợp sử dụng Thay đổi mật khẩu

Tên trường hợp kiểm thử Luồng chính

Mô tả Người dùng thay đổi mật khẩu thành công

Tác nhân Người dùng

Hạng mục bao phủ kiểm thử TCOVER1

Các bước kiểm thử trường hợp sử dụng

1, 2, 3, 4, 5, 6, 7

Điều kiện tiên quyết Người dùng đã đăng nhập được vào hệ thống

Các bước thực hiện Kết quả mong đợi

1 Người dùng nhấn nút Change Password

Hệ thống sẽ hiển thị màn hình Change Password

2 Người dùng nhập chính xác mật khẩu hiện tại của ho

Mật khẩu hiện tại được hiển thị bằng dấu sao (*)

3 Người dùng nhập chính xác mật khẩu mới

Mật khẩu mới được hiển thị bằng dấu sao (*)

4 Người dùng nhập lại chính xác mật khẩu mới

Mật khẩu mới nhập lại được hiển thị bằng dấu sao (*)

5 Người dùng nhấn nút OK Hệ thống hiển thị thông báo “Mật khẩu thay đổi thành công”

102

Page 103: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng B.49 - Các trường hợp kiểm thử đối với kiểm thử trường hợp sử dụng tiếp

Tên trường hợp sử dụng Thay đổi mật khẩu

Tên trường hợp kiểm thử Luồng thay thế - Mật khẩu hiện tại không chính xác

Mô tả Người dùng cố gắng để thay đổi mật khẩu nhưng ho nhập mật khẩu hiện tại không chính xác

Tác nhân Người dùng

Hạng mục bao phủ kiểm thử TCOND2

Các bước kiểm thử trường hợp sử dụng

1, 2, 3.1, 3.2, 3.3, 3.4, 3.5

Điều kiện tiên quyết Người dùng đã đăng nhập được vào hệ thống

Các bước thực hiện Kết quả mong đợi

1 Người dùng nhấn nút Change Password

Hệ thống sẽ hiển thị màn hình Change Password

2 Người dùng nhập mật khẩu hiện tại không chính xác

Mật khẩu hiện tại được hiển thị bằng các dấu sao (*)

3 Người dùng nhập chính xác mật khẩu mới

Mật khẩu mới được hiển thị bằng các dấu sao (*)

4 Người dùng nhập chính xác mật khẩu mới

Mật khẩu mới được hiển thị bằng các dấu sao (*)

5 Người dùng nhấn nút OK Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu hiện tại nhập không chính xác. Xin hãy thử lại.”

Bảng B.50 - Các trường hợp kiểm thử đối với kiểm thử trường hợp sử dụng tiếp

Tên trường hợp sử dụng Thay đổi mật khẩu

Tên trường hợp kiểm thử Luồng thay thế - Mật khẩu mới ít hơn 8 ký tự

Mô tả Người dùng muốn thay đổi mật khẩu nhưng ho nhập mật khẩu ít hơn 8 ký tự

Tác nhân Người dùng

Hạng mục bao phủ kiểm thử TCOND3

Các bước kiểm thử trường hợp sử dụng

1, 2, 3, 4.1, 4.2, 4.3

Điều kiện tiên quyết Người dùng đã đăng nhập được vào hệ thống

Các bước thực hiện Kết quả mong đợi

1 Người dùng nhấn nút Change Password

Hệ thống sẽ hiển thị màn hình Change Password

2 Người dùng nhập mật khẩu hiện tại không chính xác.

Mật khẩu hiện tại được hiển thị bằng các dấu sao (*)

3 Người dùng nhập mật khẩu mới ít hơn 8 ký tự

Mật khẩu mới được hiển thị bằng các dấu sao (*)

4 Người dùng nhấn nút OK Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu mới phải có độ dài tối thiểu là 8 ký tự. Xin hãy thử lại.”

103

Page 104: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

104

Page 105: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng B.51 - Các trường hợp kiểm thử đối với kiểm thử trường hợp sử dụng tiếp

Tên trường hợp sử dụng Thay đổi mật khẩu

Tên trường hợp kiểm thử Luồng thay thế - Mật khẩu mới tương tự như mật khẩu hiện tại

Mô tả Người dùng cố gắng để thay đổi mật khẩu nhưng ho nhập mật khẩu mới giống với mật khẩu cũ

Tác nhân Người dùng

Hạng mục bao phủ kiểm thử TCOND4

Các bước kiểm thử trường hợp sử dụng

1, 2, 3, 5.1, 5.2, 5.3

Điều kiện tiên quyết Người dùng đã đăng nhập được vào hệ thống

Các bước thực hiện Kết quả mong đợi

1 Người dùng nhấn nút Change Password

Hệ thống sẽ hiển thị màn hình Change Password

2 Người dùng nhập mật khẩu không chính xác.

Mật khẩu hiện tại được hiển thị bằng các dấu sao (*)

3 Người dùng nhập mật khẩu mới giống mật khẩu hiện tại

Mật khẩu mới được hiển thị bằng các dấu sao (*)

4 Người dùng nhấn nút OK Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu mới không được giống mật khẩu hiện tại. Xin hãy thử lại.”

Bảng B.52 - Các trường hợp kiểm thử đối với kiểm thử trường hợp sử dụng tiếp

Tên trường hợp sử dụng Thay đổi mật khẩu

Tên trường hợp kiểm thử Luồng thay thế - Mật khẩu mới không phù hợp

Mô tả Người dùng cố gắng để thay đỏi mật khẩu nhưng mật khẩu mới không phù hợp

Tác nhân Người dùng

Hạng mục bao phủ kiểm thử TCOND5

Các bước kiểm thử trường hợp sử dụng

1, 2, 3, 4, 6.1, 6.2, 6.3

Điều kiện tiên quyết Người dùng đã đăng nhập được vào hệ thống

Các bước thực hiện Kết quả mong đợi

1 Người dùng nhấn nút Change Password

Hệ thống sẽ hiển thị màn hình Change Password

2 Người dùng nhập mật khẩu hiện tại không chính xác

Mật khẩu hiện tại được hiển thị bằng các dấu sao (*)

3 Người dùng nhập chính xác mật khẩu mới

Mật khẩu mới được hiển thị bằng các dấu sao (*)

4 Người dùng nhập lại mật khẩu mới không phù hợp với mật khẩu mới đã nhập ở bước 3

Mật khẩu nhập lại được hiển thị bằng các dấu sao (*)

5 Người dùng nhấn nút OK Hệ thống sẽ hiển thị thông báo lỗi “Mật khẩu mới không phù hợp. Xin hãy thử lại.”

105

Page 106: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

B.2.9.3.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Các trường hợp kiểm thử ở trên có thể được nhóm lại thành hai bộ kiểm thử dưới đây, một bộ bao phủ kịch bản tiêu biểu và một bộ bao phủ các kịch bản thay thế:

TS1: Bao gồm trường hợp kiểm thử 1.

TS2: Bao gồm các trường hợp kiểm thử 2, 3, 4, 5.

B.2.9.3.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Chỉ cần đến một thủ tục kiểm thử dưới đây:

TP1: Bao phủ các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử. TP2: bao phủ các trường hợp kiểm thử trong bộ kiểm thử TS2, theo thứ tự quy định trong bộ kiểm thử.

B.2.9.3.9 Độ bao phủ kiểm thử trường hợp sử dụng Sử dụng công thức tính độ bao phủ kiểm thử kịch bản đã nêu trong điều 6.2.9 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ (ki ể mthử tr ư ờnghợp sử dụng )=55

x 100%=100%

B.2.10 Kiểm thử ngẫu nhiênB.2.10.1 Giới thiệuMục đích của kiểm thử ngẫu nhiên là xây dựng một bộ các trường hợp kiểm thử mà bao phủ các tham số đầu vào của một hạng mục kiểm thử sử dụng các giá trị được lựa chon theo một phân bố đầu vào. Kỹ thuật này không đòi hỏi phải phân vùng miền đầu vào các hạng mục kiểm thử, chỉ đơn giản đòi hỏi các giá trị đầu vào được chon từ miền đầu vào ngẫu nhiên này.

B.2.10.2 Đặc tảHãy xem xét một hạng mục kiểm thử chuyển đổi trục toa độ với cơ sở kiểm thử sau đây:

Thành phần sẽ chuyển đổi toa độ Đề-các (x, y) của các vị trí trên màn hình thành các giá trị phân cực tương đương (r, H) bằng phương trình: r=√x2+ y2 và cos H = x / r. Gốc của trục toa độ Đề-các và cực của các toa độ cực sẽ là tâm của màn hình và trục x được coi là đường kẻ đầu tiên cho các toa độ cực quay ngược chiều kim đồng hồ. Tất cả các đầu vào và đầu ra sẽ được biểu diễn như các số điểm cố định bao gồm cả phạm vi và độ chính xác. Các đầu vào và đầu ra sẽ là:

Các đầu vào:

x nằm trong khoảng từ -320 đến +320, với các bước tăng là 1/26

y nằm trong khoảng từ -240 đến +240, với các bước tăng là 1/27

Các đầu ra:

r nằm trong khoảng từ 0 đến 400, với các bước tăng là 1/26

H nằm trong khoảng từ 0 đến ((2*π)-1/26), với các bước tăng là 1/26

B.2.10.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được xác định trong cơ sở kiểm thử, chỉ cần phải xác định một tập tính năng, đó là:

FS1: Hàm chuyển đổi toa độ

B.2.10.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Các điều kiện kiểm thử trong kiểm thử ngẫu nhiên là các miền của tất cả các đầu vào có thể mà từ đó có thể chon được các giá trị đầu vào kiểm thử cho từng tham số đầu vào. Các điều kiện kiểm thử đó là:

TCOND1: x - nằm trong khoảng từ -320 đến +320, với các bước tăng là 1/26 (đối với FS1)

106

Page 107: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND2: y - nằm trong khoảng từ -240 đến +240, với các bước tăng là 1/27 (đối với FS1)

B.2.10.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Không có hạng mục bao phủ kiểm thử được xác định từ kiểm thử ngẫu nhiên.

B.2.10.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử có thể được xây dựng bằng cách lựa chon phân bố đầu vào và sau đó áp dụng phân bố đầu vào đó cho từng điều kiện kiểm thử và xác định kết quả mong đợi của từng trường hợp kiểm thử (được trình bày như 'đầu ra' cho hai tham số đầu ra 'r' và 'H' trong bảng dưới đây). Vì không có thông tin về việc phân bố hoạt động của các tham số đầu vào cho các hạng mục kiểm thử trong ví dụ này nên một phân bố đều được chon. Từ các định nghĩa chúng ta có thể thấy rằng trong bất kỳ đầu vào được lựa chon ngẫu nhiên đối với đầu vào x có thể lấy một trong 41.024 giá trị (641 x 26), trong khi đầu vào y có thể lấy một trong các giá trị 61.568 (481 x 27). Nên cẩn thận nếu sử dụng một phân bố hoạt động mong đợi chứ không phải là một phân bố đều. Một phân bố mong đợi bỏ qua các phần của miền đầu vào có thể dẫn đến các điều kiện lỗi không mong muốn chưa được kiểm tra.

Vì từng trường hợp kiểm thử lựa chon một giá trị đầu vào kiểm thử ngẫu nhiên từ các điều kiện kiểm thử cho cả đầu vào x và y nên mỗi trường hợp kiểm thử sẽ bao phủ cả hai điều kiện kiểm thử. Trong một phân bố đều, tất cả các giá trị đầu vào trong phạm vi của x và y có cùng xác xuất được chon làm đầu vào cho trường hợp kiểm thử. Ví dụ, có thể xác định được bốn trường hợp kiểm thử sau đây.

Bảng B.53 - Các trường hợp kiểm thử đối với Kiểm thử ngẫu nhiên

Trường hợp kiểm thử 1 2 3 4

Đầu vào (x) -126.125 11.015625 283.046875 -99.109375

Đầu vào (y) 238.046875 78.03125 -156.054688 -9.0625

Điều kiện kiểm thử TCOND1 TCOND2

TCOND1 TCOND2

TCOND1 TCOND2

TCOND1 TCOND2

Đầu ra r tính toán được (r=√x2+ y2))

269.395305 78.804949 323.216025 99.522847

Đầu ra H tính toán được (cos H = x/r))

2.058024 1.430554 0.503870 3.050407

B.2.10.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Giả sử tất cả các trường hợp kiểm thử được thực hiện thủ công và theo thứ tự mà chúng được xác định trong bảng trường hợp kiểm thử thì chúng ta có thể xác định một bộ kiểm thử như sau:

TS1: Kiểm thử thủ công, bao gồm các trường hợp kiểm thử 1, 2, 3, 4.

B.2.10.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì chỉ có một bộ kiểm thử để thực thi, nên chỉ xác định được một thủ tục kiểm thử như sau:

TP1: Kiểm thử thủ công, bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

B.2.10.9 Độ bao phủ kiểm thử ngẫu nhiênNhư đã nêu trong điều 6.2.10 hiện tại không có phương pháp tính độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử ngẫu nhiên.

B.2.10.10 Kiểm thử ngẫu nhiên tự động Kiểm thử ngẫu nhiên có thể được thực hiện bằng tay hoặc tự động. Kiểm thử ngẫu nhiên rất tốn kém khi thực hiện tự động hoàn toàn vì nó có rất nhiều bài kiểm thử được thực hiện tự động mà không cần can thiệp bằng tay. Tuy nhiên, để đạt được tự động hoàn toàn thì phải:

- Tạo ra các đầu vào kiểm thử ngẫu nhiên một cách tự động; 

- Tạo ra các kết quả mong muốn một cách tự động từ cơ sở kiểm thử; 

107

Page 108: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

- Tự động kiểm tra đầu ra kiểm thử dựa trên cơ sở kiểm thử.

Việc tạo các giá trị đầu vào kiểm thử ngẫu nhiên tự động không khó, chúng ta có thể sử dụng một bộ tạo số giả ngẫu nhiên miễn là các đầu vào của hạng mục kiểm thử được xác định rõ. Nếu các giá trị kiểm thử đầu vào được tạo ra bằng cách sử dụng bộ tạo số giả ngẫu nhiên thì những giá trị này không cần phải được ghi lại vì có thể tạo lại cùng một bộ tương tự. Việc sử dụng giá trị "hạt giống" để cung cấp cho bộ tạo số giả ngẫu nhiên là hoàn toàn bình thường và phải ghi lại giá trị này.

Tuy nhiên, việc tạo ra các đầu ra mong đợi tự động hoặc kiểm tra tự động đầu ra vẫn là vấn đề còn phải bàn nhiều. Nói chung là không thực tế để tự động tạo ra đầu ra mong đợi hoặc kiểm tra tự động đầu ra dựa vào cơ sở kiểm thử, tuy nhiên đối với các hạng mục kiểm thử thì có thể, chẳng hạn như nếu:

- Phần mềm được tạo ra độc lập đáng tin cây thực hiện chức năng giống như các hạng mục kiểm thử có sẵn (có thể không đáp ứng được những ràng buộc như tốc độ xử lý, ngôn ngữ thực hiện, vv);

- Việc kiểm thử chỉ được xem xét xem liệu các hạng mục kiểm thử có bị sự cố hay không (vì vậy kết quả mong đợi là "không xảy ra sự cố");

- Bản chất của đầu ra của các hạng mục kiểm thử là dễ dàng kiểm tra kết quả. Ví dụ như một hàm sắp xếp có nhiệm vụ kiểm tra xem tự động các đầu ra xem đã được sắp xếp chính xác hay chưa;

- Có thể tạo ra các đầu vào từ các đầu ra dễ dàng (sử dụng nghịch đảo của hàm hạng mục kiểm thử). Ví dụ như một hàm căn bậc hai mà ở đó chỉ đơn giản tính bình phương đầu ra sẽ tạo ra đầu vào.

Ở ví dụ trong điều B.2.10.2, hạng mục kiểm thử chuyển đổi toa độ có thể được kiểm tra tự động bằng cách sử dụng phương pháp hàm nghịch đảo. Trong trường hợp này, rcosH = x có thể được lấy trực tiếp từ cơ sở kiểm thử cho các hạng mục kiểm thử. Theo một số phân tích thì có thể suy ra được rsinH = y. Nếu hai phương trình này thỏa mãn độ dung sai số hợp lý thì các hạng mục kiểm thử chuyển đổi toa độ một cách chính xác.

Ngay cả khi không thể thực hiện tự động hoàn toàn kiểm thử ngẫu nhiên thì việc sử dụng nó vẫn cần phải được xem xét vì nó không tốn nhiều chi phí thiết kế các trường hợp kiểm thử theo như yêu cầu của các kỹ thuật phi ngẫu nhiên.

Đối với các hạng mục kiểm thử có các tập đầu vào lớn hơn so với ví dụ ở điều B.2.10.2, cây SIDA –(Tách các thuộc tính đầu vào theo các ký hiệu”) (Cho 1987) là một phương pháp hữu ích để tổ chức miền đầu vào cho lấy mẫu ngẫu nhiên trước thiết kế trường hợp kiểm thử.

108

Page 109: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Phụ lục C(Tham khảo)

Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc

C.1 Hướng dẫn và ví dụ về các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc C.1.1 Tổng quanPhụ lục này đưa ra hướng dẫn về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả nêu trong điều 5.3 và tính độ bao phủ từng kỹ thuật kiểm thử dựa trên đặc tả trong điều 6.3 bằng các ví dụ cụ thể. Mỗi ví dụ đều dựa theo các bước trong quy trình thiết kế và chuẩn bị kiểm thử được định nghĩa trong ISO/IEC/ IEEE 29119-2. Có một số ứng dụng và ngôn ngữ lập trình được sử dụng trong các ví dụ này. Mặc dù mỗi ví dụ được áp dụng cho kỹ thuật kiểm thử dựa trên cấu trúc, nhưng trong thực tế, như đã nêu trong điều 5.1 thì hầu hết các kỹ thuật kiểm thử được định nghĩa trong tiêu chuẩn này có thể được sử dụng thay thế cho nhau.

C.2 Các ví dụ về kỹ thuật thiết kế kiểm thử dựa trên cấu trúcC.2.1 Kiểm thử câu lệnh C.2.1.1 Giới thiệuMục đích của kiểm thử câu lệnh là đưa ra một bộ các trường hợp kiểm thử mà bao gồm các câu lệnh của các hạng mục kiểm thử theo mức phủ kiểm thử câu lệnh đã lựa chon. Kỹ thuật thiết kế kiểm thử dựa trên cấu trúc này được dựa trên sự phân chia các hạng mục kiểm thử thành các câu lệnh thành phần.

Có 2 câu hỏi chính cần lưu ý, đó là:

- Câu lệnh là gì?

- Câu lệnh nào có thể được thực hiện?

Nói chung, câu lệnh là một hành động nguyên tử; đó là một câu lệnh sẽ được thực hiện một cách tron vẹn hoặc không thực hiện chút nào hết. Ví dụ:

IF a THEN b ENDIF

Trên đây có thể được coi là có nhiều hơn một câu lệnh vì b có thể được thực hiện hoặc có thể không được thực hiện tùy thuộc vào điều kiện a. Định nghĩa câu lệnh được sử dụng cho kiểm thử câu lệnh không nhất thiết phải là một câu lệnh được sử dụng trong định nghĩa của ngôn ngữ.

Người ta cho rằng các câu lệnh được liên kết với ngôn ngữ máy tính được coi là có thể thực thi được. Chẳng hạn như những mục dưới đây được coi là có thể thực thi được.

- Các phép gán;

- Các vòng lặp và những lựa chon;

- Lời goi hàm và lời goi thương thức;

- Khai báo biến với khởi tạo rõ ràng;

- Phân bố biến lưu trữ trong một khối xếp.

Tuy nhiên, hầu hết việc khai báo biến có thể được coi là không thể thực thi được. Hãy xem đoạn mã sau:

a;if (b) { c;}d;

Bất kỳ trường hợp kiểm thử nào mà b ĐÚNG sẽ đạt được độ bao phủ hoàn toàn. Lưu ý rằng, độ

109

Page 110: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

bao phủ câu lệnh hoàn toàn có thể đạt được mà không cần thực hiện với b SAI.

C.2.1.2 Đặc tảHãy xem xét các hạng mục kiểm thử sau đây được viết bằng ngôn ngữ lập trình Ada, chúng được thiết kế để phân loại số nguyên dương thành số nguyên tố và số không phải là nguyên tố và chúng được thiết kế và đưa ra các thừa số nguyên tố của các số mà không phải là nguyên tố.

1 READ (Num);2 WHILE NOT End of File DO3 Prime := TRUE;4 For Factor := 2 TO Num DIV 2 DO5 IF Num - (Num DIV Factor)*Factor =

0 THEN6 WRITE (Factor, ` is a factor

of', Num);7 Prime := FALSE;8 ENDIF;9 ENDFOR;10 IF Prime = TRUE THEN11 WRITE (Num, `is prime');12 ENDIF;13 READ (Num);14 ENDWHILE;15 WRITE (`End of prime number program');

C.2.1.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng được xác định, đó là:

FS1: Xác định hàm chứa các số nguyên tố và số không phải là nguyên tố.

C.2.1.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Trong kiểm thử câu lệnh, các điều kiện kiểm thử chính là những câu lệnh có thể thực hiện được trong đoạn mã nguồn. Bằng cách đánh số từng dòng mã sẽ biết được số các điều kiện kiểm thử. Ví dụ, câu lệnh 1 cho phép định nghĩa một điều kiện kiểm thử:

TCOND1: READ (Num); Câu lệnh 1 (đối với FS1)

Các điều kiện kiểm thử còn lại có thể được xác định mà không cần lặp lại mã nguồn của từng điều kiện kiểm thử mà nó liên quan đến:

TCOND2: Câu lệnh 2 (đối với FS1)TCOND3: Câu lệnh 3 (đối với FS1)TCOND4: Câu lệnh 4 (đối với FS1)TCOND5: Câu lệnh 5 (đối với FS1)TCOND6: Câu lệnh 6 (đối với FS1)TCOND7: Câu lệnh 7 (đối với FS1)TCOND8: Câu lệnh 10 (đối với FS1)TCOND9: Câu lệnh 11 (đối với FS1)

TCOND10: Câu lệnh 13 (đối với FS1)

110

Page 111: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND11: Câu lệnh 15 (đối với FS1)

C.2.1.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3) Trong kiểm thử câu lệnh, các hạng mục bao phủ kiểm thử tương tự với các điều kiện kiểm thử:

TCOVER1: Câu lệnh 1 (đối với điều kiện kiểm thử TCOND1)

TCOVER2: Câu lệnh 2 (đối với điều kiện kiểm thử TCOND2)

TCOVER3 Câu lệnh 3 (đối với điều kiện kiểm thử TCOND3)

TCOVER4: Câu lệnh 4 (đối với điều kiện kiểm thử TCOND4)

TCOVER5: Câu lệnh 5 (đối với điều kiện kiểm thử TCOND5)

TCOVER6: Câu lệnh 6 (đối với điều kiện kiểm thử TCOND6)

TCOVER7: Câu lệnh 7 (đối với điều kiện kiểm thử TCOND7)

TCOVER8: Câu lệnh 10 (đối với điều kiện kiểm thử TCOND8)

TCOVER9: Câu lệnh 11 (đối với điều kiện kiểm thử TCOND9)

TCOVER10: Câu lệnh 13 (đối với điều kiện kiểm thử TCOND13)

TCOVER11: Câu lệnh 15 (đối với điều kiện kiểm thử TCOND11)

C.2.1.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Trong kiểm thử câu lệnh, mỗi câu lệnh phải được bao phủ bởi ít nhất một trường hợp kiểm thử. Các trường hợp kiểm thử được xây dựng bởi các đường đi con thứ nhất trong đồ thị luồng điều khiển mà thực thi một hoặc nhiều câu lệnh thực thi mà chưa được bao phủ bởi một trường hợp kiểm thử. Các đầu vào để thực hiện các đường đi sau đó được xác định, cùng với kết quả mong đợi. Quy trình này được lặp đi lặp lại cho đến khi đạt được mức độ bao phủ kiểm thử qui định. Trong ví dụ này, chỉ cần có một trường hợp kiểm thử để bao phủ tất cả các câu lệnh trong đoạn mã chương trình, bởi vì có sự lặp đi lặp lại trong đoạn mã chương trình mà cho phép nó được bao phủ bởi chỉ hai giá trị đầu vào (tức là để đạt được 100% độ phủ câu lệnh).

Bảng C.1 - Các trường hợp kiểm thử đối với kiểm thử câu lệnh

Trường hợp kiểm thử Đầu vào Kết quả mong đợi Hạng mục bao phủ kiểm thử

1 2 2 là số nguyên tố 1, 2, 3, 4, 9, 10, 11, 12, 13, 14

4 2 là thừa số nguyên tố của 4 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14

EOF Kết thúc chương trình là số nguyên tố

2, 15

CHÚ THÍCH: Trong ví dụ này, chỉ có một trường hợp kiểm thử, nhưng có ba bộ giá trị đầu vào riêng biệt và các kết quả mong đợi khác nhau vì có sự lặp lại trong đoạn mã chương trình.

C.2.1.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Do chỉ có một trường hợp kiểm thử được tạo ra ở trên nên nó có thể được đặt trong một bộ kiểm thử như sau:

TS1: Trường hợp kiểm thử 1.

C.2.1.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Chỉ có một thủ tục dưới đây:

TP1: Bao gồm các trường hợp kiểm thử trong bộ kiểm thử TS1.

C.2.1.9 Độ bao phủ câu lệnh

111

Page 112: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Sử dụng các công thức đã nêu trong điều 6.3.1 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(ki ể mthử câulệnh)=1111

x 100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử câu lệnh đạt được là 100%.

112

Page 113: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.2 Kiểm thử nhánh/ kiểm thử quyết định C.2.2.1 Giới thiệuĐộ bao phủ nhánh và bao phủ quyết định có liên quan chặt chẽ với nhau. Đối với các hạng mục kiểm thử mà có độ phủ nhánh 100% sẽ tương đương với độ phủ quyết định 100%, mặc dù thực tế có thể chỉ đạt mức độ bao phủ thấp hơn. Cả hai mức độ bao phủ này sẽ được minh hoa bằng một ví dụ.

C.2.2.2 Đặc tảThành phần sẽ xác định vị trí của một từ trong một bảng có các từ được sắp xếp theo thứ tự abc. Ngoài các từ và bảng ra, các thành phần cũng sẽ được đi qua một số từ trong bảng mà tìm kiếm được. Các thành phần sẽ quay lại vị trí các từ trong bảng (bắt đầu từ số 0) nếu nó được tìm thấy, nếu không nó sẽ quay trở lại "-1".

Các mã tương ứng được Kernighan và Ritchie viết năm 1998. Có Ba quyết định được đánh dấu đậm ở đoạn mã dưới đây:

int binsearch (char *word, struct key tab[ ], int n) {int cond;int low, high, mid;low = 0;high = n - 1;while (low <= high) {

mid = (low+high) / 2;if ((cond = strcmp(word, tab[mid].word)) < 0)

high = mid - 1; else if (cond > 0)

low = mid + 1; else

return mid;}return -1;

}

C.2.2.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng cần thiết được định nghĩa:

FS1: Hàm binsearch

C.2.2.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)C.2.2.4.1 Các tùy chọn khi xác định các điều kiện kiểm thử Việc xác định các điều kiện kiểm thử cho kiểm thử nhánh/kiểm thử quyết định có thể được minh hoa bằng việc tạo một đồ thị luồng điều khiển của chương trình. Bước đầu tiên để xây dựng một đồ thị luồng điều khiển là phân chia nó thành các khối cơ bản. Đó là những chỉ dẫn không có các nhánh trong các khối (ngoại trừ những chỉ dẫn đầu tiên) và không có các nhánh bên ngoài khối (ngoại trừ những chỉ lệnh cuối cùng). Các câu lệnh trong mỗi khối cơ bản sẽ được thực thi cùng nhau hoặc không được thực thi gì cả. Chương trình trên có các khối cơ bản sau đây:

int binsearch (char *word, struct key tab[], int n) {int cond;int low, high, mid;

B1 low = 0;high = n - 1;

B2 while (low <= high) {mid = (low+high) / 2if ((cond = strcmp(word,

113

Page 114: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

tab[mid].word)) < 0) B4 high = mid - 1; B5 else if (cond > 0) B6 low = mid + 1; B7 else

return mid;

B8 }B9 return -1;}

Đồ thị luồng điều khiển có thể được tạo ra bằng cách tạo từng khối cơ bản bằng một nút và vẽ một vòng cung cho mỗi lần chuyển đổi luồng điều khiển từ một khối cơ bản này đến khối cơ bản khác.  Có thể có những chuyển tiếp luồng điều khiển sau:

B1B2 B3 B4 B5 B6 B6 B8

B2 B3 B3 B5 B5 B7 B8 B2

B2 B9Kết quà là chúng ta có được đồ thị luồng điều khiển được trình bày trong hình C.1. Đồ thị này có một điểm bắt đầu là B1 và hai điểm kết thúc là B7 và B9.

Hình C.1 - Đồ thị luồng điều khiển đối với hàm binsearchĐồ thị luồng điều khiển ở trên sẽ không nhất thiết phải được vẽ bằng tay, có thể sử dụng một công cụ để thể hiện các quyết định/nhánh đã được thực hiện.

Các điều kiện kiểm thử đối với phủ nhánh sẽ khác so với các điều kiện kiểm thử đối với phủ quyết định. Điều này được thể hiện ở các bước tùy chon 2a và 2b dưới đây:

C.2.2.4.2 Tùy chọn 2a: Xác định các điều kiện kiểm thử đối với bao phủ nhánh (TD2) Đối với bao phủ nhánh, các điều kiện kiểm thử (BRANCH-TCOND) là các nhánh (các cung) được đại diện bởi các mũi tên trong đồ thị luồng điều khiển ở Hình C.1. Do đó có tổng cộng mười điều kiện kiểm thử, đó là:

BRANCH-TCOND1: B1 B2 (đối với tập tính năng FS1)

BRANCH-TCOND2: B2 B3 (đối với tập tính năng FS1)

BRANCH-TCOND3: B2 B9 (đối với tập tính năng

114

Page 115: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

FS1)BRANCH-TCOND4: B3 B4 (đối với tập tính năng

FS1)BRANCH-TCOND5: B3 B5 (đối với tập tính năng

FS1)BRANCH-TCOND6: B4 B8 (đối với tập tính năng

FS1)BRANCH-TCOND7: B5 B6 (đối với tập tính năng

FS1)BRANCH-TCOND8: B5 B7 (đối với tập tính năng

FS1)BRANCH-TCOND9: B6 B8 (đối với tập tính năng

FS1)BRANCH-TCOND10: B8 B2 (đối với tập tính năng

FS1)C.2.2.4.3 Tùy chọn 2b: Xác định các điều kiện kiểm thử đối với bao phủ quyết định (TD2)Đối với bao phủ quyết định, các điều kiện kiểm thử (DECISION-TCOND) là các quyết định đại diện là các nút trong đồ thị luồng điều khiển trong Hình C.1 mà có nhiều hơn một mũi tên ra. Trong ví dụ này, có 3 điều kiện kiểm thử, đó là:

DECISION-TCOND1: B2 (đối với tập tính năng FS1)

DECISION-TCOND2: B3 (đối với tập tính năng FS1)

DECISION-TCOND3: B5 (đối với tập tính năng FS1)

C.2.2.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)C.2.2.5.1 Những tùy chọn khi xác định các hạng mục bao phủ kiểm thử Các hạng mục bao phủ kiểm thử đối với bao phủ nhánh sẽ khác với các hạng mục kiểm thử đối với bao phủ quyết định. Điều này được thể hiện ở các tùy chon 3a và 3b dưới đây.

C.2.2.5.2 Tùy chọn 3a: Xác định các hạng mục bao phủ kiểm thử đối với bao phủ nhánh (TD3)Đối với bao phủ nhánh, các hạng mục bao phủ kiểm thử là các nhánh trong đồ thị luồng điều khiển, chúng tương tự như các điều kiện kiểm thử. Trong ví dụ này có mười hạng mục kiểm thử đối với bao phủ nhánh dưới đây:

BRANCH-TCOVER1: B1 B2 (đối với điều kiện kiểm thử BRANCH-TCOND1)

BRANCH-TCOVER2: B2 B3 (đối với điều kiện kiểm thử BRANCH-TCOND2)

BRANCH-TCOVER3: B2 B9 (đối với điều kiện kiểm thử BRANCH-TCOND3)

BRANCH-TCOVER4: B3 B4 (đối với điều kiện kiểm thử BRANCH-TCOND4)

BRANCH-TCOVER5: B3 B5 (đối với điều kiện kiểm thử BRANCH-TCOND5)

115

Page 116: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

BRANCH-TCOVER6: B4 B8 (đối với điều kiện kiểm thử BRANCH-TCOND6)

BRANCH-TCOVER7: B5 B6 (đối với điều kiện kiểm thử BRANCH-TCOND7)

BRANCH-TCOVER8: B5 B7 (đối với điều kiện kiểm thử BRANCH-TCOND8)

BRANCH-TCOVER9: B6 B8 (đối với điều kiện kiểm thử BRANCH-TCOND9)

BRANCH-TCOVER10: B8 B2 (đối với điều kiện kiểm thử BRANCH-TCOND10)

C.2.2.5.3 Tùy chọn 3b: Xác định các hạng mục bao phủ kiểm thử đối với phủ quyết định (TD3)Đối với bao phủ quyết định, các kết quả (tức là đúng,sai) của mỗi quyết định là những hạng mục bao phủ kiểm thử. Trong ví dụ này, mỗi quyết định có hai kết quả tương ứng với các giá trị đúng và sai của các quyết định; do đó có sáu hạng mục bao phủ kiểm thử đối với phủ quyết định dưới đây:

DECISION-TCOVER1: B2 = đúng (đối với DECISION-TCOND1)

DECISION-TCOVER2: B2 = sai (đối với DECISION-TCOND1)

DECISION-TCOVER3: B3 = đúng (đối với DECISION-TCOND2)

DECISION-TCOVER4: B3 = sai (đối với DECISION-TCOND2)

DECISION-TCOVER5: B5 = đúng (đối với DECISION-TCOND3)

DECISION-TCOVER6: B5 = sai (đối với DECISION-TCOND3)

Thường thì một quyết định có nhiều hơn hai kết quả, sẽ tăng số lượng các hạng mục bao phủ kiểm thử mà cần được tạo ra.

116

Page 117: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.2.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử đối với kiểm thử nhánh được tạo ra bằng cách xác định các đường đi con của luồng điều khiển mà đến được một hoặc nhiều nhánh (các hạng mục bao phủ kiểm thử) mà chưa được thực thi trong quá trình kiểm thử, xác định đầu vào mà thực hiện những đường đi con đó, xác định kết quả mong đợi của mỗi kiểm thử, lặp đi lặp lại cho đến khi đạt được mức độ bao phủ kiểm thử qui định.

Tương tự, các trường hợp kiểm thử đối với kiểm thử quyết định được tạo ra bằng cách xác định đường đi con của luồng điều khiển mà đến được một hoặc nhiều quyết định chưa được thực thi trong quá trình kiểm thử, xác định các đầu vào và đầu ra mong đợi cho mỗi bài kiểm thử. Đối với cả độ bao phủ nhánh và bao phủ quyết định, bất kỳ kiểm thử riêng biệt nào của hạng mục kiểm thử sẽ thực hiện một đường đi con và do đó khả năng sẽ có nhiều quyết định và nhiều nhánh.

Hãy xem xét một trường hợp kiểm thử mà thực hiện đường đi con B1 B2 B9. Trường hợp này xảy ra khi n = 0, có nghĩa là khi bảng được tìm kiếm không có điểm bắt đầu. Đường đi con này thực thi một quyết định (B2 B9) và do đó đạt được độ bao phủ là 1/6 = 16,7%. Các đường đi thực hiện 2 trong tổng số 10 nhánh, sẽ đạt độ bao phủ 20% (không giống như độ phủ cho các quyết định).

Hãy xem xét trường hợp kiểm thử thực thi đường đi con sau:

B1B2B3B4B8B2B3B5B6B8B2B3B5B7

Đường đi này xuất hiện khi tìm kiếm lần đầu tiên cho thấy điểm bắt đầu nằm trong nửa đầu tiên của bảng, tiếp đó là nửa thứ hai của bảng (tức là, phần tư thứ 2) và sau đó tìm được điểm bắt đầu.  Lưu ý rằng hai trường hợp kiểm thử đạt được 100% độ bao phủ quyết định và độ bao phủ nhánh.

Các trường hợp kiểm thử đối với hàm binsearch được trình bày trong bảng dưới đây

Bảng C.2 - Các trường hợp kiểm thử đối với hàm binsearch

Trường hợp kiểm thử

Các đầu vàoCác quyết định được thực hiện (chữ in hoa

được gạch chân)Hạng mục bao phủ kiểm

thửKết quả

mong đợiWord Tab n

1 chas Alf

Bert

Chas

Dick

Eddy

Fred

Geoff

7 B1B2B3B4B8

B2B3B5B6B8

B2B3B5B7

BRANCH-TCOVER

1, 2, 4, 5, 6, 7, 8, 9, 10 và

DECISION-TCOVER 1, 3, 4, 5, 6

2

2 chas ‘empty

table’

0 B1B2B9 BRANCH-TCOVER 1, 3 và

DECISION-TCOVER 2

-1

Cả độ bao phủ nhánh và bao phủ quyết định thường được xác định bằng công cụ phần mềm.

C.2.2.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì chỉ tạo được hai trường hợp kiểm thử như bảng trên nên có thể kết hợp chúng vào một bộ kiểm thử.

TS1: Các trường hợp kiểm thử 1 và 2.

C.2.2.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì chỉ có hai trường hợp kiểm thử và một bộ kiểm thử nên chỉ có thể xác định được một thủ tục kiểm thử dưới đây:

117

Page 118: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TP1: Bao phủ tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

C.2.2.9 Độ bao phủ kiểm thử nhánh Sử dụng các công thức đã nêu trong điều 6.3.2 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(ki ể mthử nhánh )=1010

x100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử nhánh đạt được là 100%.

C.2.2.10 Độ bao phủ kiểm thử quyết định Sử dụng các công thức đã nêu trong điều 6.3.3 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Độ bao phủ( kiểmthử quyế t định)=66

x100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử quyết định đạt được là 100%.

C.2.3 Kiểm thử điều kiện nhánh, kiểm thử kết hợp điều kiện nhánh và kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)C.2.3.1 Giới thiệuKiểm thử điều kiện nhánh, kiểm thử kết hợp điều kiện nhánh và kiểm thử bao phủ quyết định điều kiện thay đổi có mối quan hệ mật thiết với nhau. Mục đích của ba kỹ thuật thiết kế kiểm thử này là xây dựng một bộ các trường hợp kiểm thử bao phủ các điều kiện trong các quyết định của hạng mục kiểm thử dựa theo một mức bao phủ đã lựa chon. Để thuận tiện, các phương pháp thiết kế trường hợp kiểm thử và các phương pháp tính độ bao phủ kiểm thử được minh hoa bằng một ví dụ dưới đây.

C.2.3.2 Đặc tảHãy xem xét đoạn mã sau đây:

if A or (B and C) then do_something;else do_something_else;end if;

Các điều kiện Boolean trong điều kiện quyết định là A, B và C. Bản thân các điều kiện này có thể bao gồm các biểu thức phức tạp liên quan đến các toán tử quan hệ. Ví dụ, điều kiện Boolean A có thể là một biểu thức X ≥ Y. Tuy nhiên, để rõ ràng hơn, các ví dụ sau đây coi A, B và C là các điều kiện Boolean đơn giản.

C.2.3.3 Bước 1: Xác định các tập tính năng (TD1)Do ví dụ về ba kỹ thuật thiết kế kiểm thử được dựa trên các hạng mục kiểm thử tương tự (đoạn mã ở trên) nên có thể xác định được một tập tính năng cho cả ba kỹ thuật:

FS1: Đoạn mã điều kiện

C.2.3.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Trong ba kỹ thuật thiết kế kiểm thử, mỗi quyết định trong đồ thị luồng điều khiển là một điều kiện kiểm thử. Trong ví dụ này, có một quyết định nên có một điều kiện kiểm thử, đó là:

TCOND1: A or (B and C) (đối với tập tính năng FS1)

Điều kiện kiểm thử này được áp dụng cho kiểm thử điều kiện nhánh, kiểm thử kết hợp điều kiện nhánh và kiểm thử bao phủ quyết định điều kiện thay đổi.

118

Page 119: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.3.5 Kiểm thử điều kiện nhánh C.2.3.5.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Kiểm thử điều kiện nhánh kiểm thử các điều kiện riêng biệt trong các quyết định đa điều kiện, với mục đích là từng điều kiện riêng biệt và từng quyết định sẽ nhận cả giá trị ĐÚNG và SAI. Các hạng mục bao phủ kiểm thử là những giá trị Boolean (đúng/sai) của các điều kiện trong các quyết định. Trong ví dụ này, kỹ thuật này sẽ đòi hỏi điều kiện Boolean A được nhận cả giá trị ĐÚNG và SAI, điều kiện Boolean B nhận cả giá trị ĐÚNG và SAI và điều kiện Boolean C cũng nhận cả giá trị ĐÚNG và SAI. Do đó, các hạng mục bao phủ kiểm thử cho kỹ thuật này là:

TCOVER1: A = ĐÚNG (đối với TCOND1)

TCOVER2: A = SAI (đối với TCOND1)

TCOVER3 B = ĐÚNG (đối với TCOND1)

TCOVER4: B = SAI (đối với TCOND1)

TCOVER5: C = ĐÚNG (đối với TCOND1)

TCOVER6: C = SAI (đối với TCOND1)

TCOVER7: A or (B and C) = ĐÚNG (đối với TCOND1)

TCOVER8: A or (B and C) = SAI (đối với TCOND1)

C.2.3.5.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử bao phủ điều kiện nhánh được ra ra bằng cách xác định các đường đi con của luồng điều khiển mà đến được một hoặc nhiều hạng mục bao phủ kiểm thử chưa được thực thi trong quá trình kiểm thử, xác định các đầu vào sẽ thực thi những đường đi con này và xác định kết quả mong đợi của quá trình kiểm thử, lặp đi lặp lại cho đến khi đạt được độ bao phủ yêu cầu. Trong ví dụ này, có thể tạo được một bộ các đầu vào kiểm thử sau (chú ý các bộ đầu vào kiểm thử khác cũng sẽ đạt được độ bao phủ điều kiện nhánh qui định):

Bảng C.3 - Các trường hợp kiểm thử đối với kiểm thử điều kiện nhánh

Trường hợp kiểm thử A B C A or (B and C) Các hạng mục bao

phủ kiểm thử1 SAI SAI SAI SAI TCOVER 2, 4, 6

2 ĐÚNG ĐÚNG ĐÚNG ĐÚNG TCOVER 1, 3, 5CHÚ THÍCH: Các trường hợp kiểm thử trong bảng trên chưa "đầy đủ" vì chúng không bao gồm các kết quả mong đợi.

Bao phủ điều kiện nhánh thường có thể đạt được chỉ với hai trường hợp kiểm thử, không kể số lượng các điều kiện Boolean thực tế bao gồm toàn bộ điều kiện.

C.2.3.5.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì chỉ có hai trường hợp kiểm thử được tạo ra ở bảng trên nên có thể kết hợp chúng vào một bộ kiểm thử sau.

TS1: Các trường hợp kiểm thử 1 và 2.

C.2.3.5.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì chỉ có hai trường hợp kiểm thử và một bộ kiểm thử nên chỉ có thể xác định được một thủ tục kiểm thử dưới đây:

TP1: Bao gồm tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

C.2.3.5.5 Độ bao phủ kiểm thử điều kiện nhánh Sử dụng các công thức đã nêu trong điều 6.3.4 và các hạng mục bao phủ kiểm thử được xác định ở

119

Page 120: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

trên, ta có:

Đ ộbao phủ(kiểm thửđi ề ukiệ nnhánh )=88

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử điều kiện nhánh đạt được là 100%.

C.2.3.6 Kiểm thử kết hợp điều kiện nhánh C.2.3.6.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử kết hợp điều kiện nhánh, các hạng mục bao phủ kiểm thử là sự kết hợp của các giá trị Boolean của các điều kiện trong các quyết định. Trong ví dụ này, kỹ thuật này sẽ đòi hỏi tất cả các kết hợp của các điều kiện Boolean A, B và C. Do đó, các hạng mục bao phủ kiểm thử cho kỹ thuật này bao gồm:

TCOVER1: A = SAI, B = SAI, C = SAI (đối với TCOND1)

TCOVER2: A = ĐÚNG, B = SAI, C = SAI (đối với TCOND1)

TCOVER3: A = SAI, B = ĐÚNG, C = SAI (đối với TCOND1)

TCOVER4: A = ĐÚNG, B = ĐÚNG, C = SAI (đối với TCOND1)

TCOVER5: A = SAI, B = SAI, C = ĐÚNG (đối với TCOND1)

TCOVER6: A = ĐÚNG, B = SAI, C = ĐÚNG (đối với TCOND1)

TCOVER7: A = SAI, B = ĐÚNG, C = ĐÚNG (đối với TCOND1)

TCOVER8: A = ĐÚNG, B = ĐÚNG, C = ĐÚNG (đối với TCOND1)

C.2.3.6.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách xác các đường đi con của luồng điều khiển mà đến được một hoặc nhiều hạng mục bao phủ kiểm thử chưa được thực thi trong quá trình kiểm thử, xác định các đầu vào mà sẽ thực thi những đường đi con và xác định kết quả mong đợi của quá trình kiểm thử, lặp đi lặp lại cho đến khi đạt được độ bao phủ yêu cầu. Trong ví dụ này, có thể đạt được bằng cách xây dựng các trường hợp kiểm thử sau:

Bảng C.4 - Các trường hợp kiểm thử đối với kiểm thử kết hợp điều nhánh

Trường hợp kiểm thử A B C Các hạng mục bao phủ

kiểm thử1 SAI SAI SAI TCOVER1

2 ĐÚNG SAI SAI TCOVER2

3 SAI ĐÚNG SAI TCOVER3

4 ĐÚNG ĐÚNG SAI TCOVER4

5 SAI SAI ĐÚNG TCOVER5

6 ĐÚNG SAI ĐÚNG TCOVER6

7 ALSE ĐÚNG ĐÚNG TCOVER7

8 ĐÚNG ĐÚNG ĐÚNG TCOVER8CHÚ THÍCH: Các trường hợp kiểm thử trong bảng trên không "đầy đủ" vì chúng không bao gồm các kết quả mong đợi.

Độ bao phủ kết hợp điều kiện nhánh rất lớn, đòi hỏi 2n trường hợp kiểm thử để đạt được độ phủ 100% của một điều kiện có chứa n điều kiện Boolean. Đối với các điều kiện phức tạp thì không thể đạt được độ bao phủ này.

120

Page 121: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.3.6.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Tất cả các trường hợp kiểm thử đối với kỹ thuật này được tạo ra ở bảng trên được kết hợp trong một bộ kiểm thử dưới đây:

TS1: Các trường hợp kiểm thử 1, 2, 3, 4, 5, 6, 7, 8.

C.2.3.6.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì chỉ có một bộ kiểm thử TS1, chỉ xác định được một thủ tục kiểm thử tương ứng như sau đây:

TP1: Bao gồm tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, thực hiện theo trình tự quy định trong bộ kiểm thử.

C.2.3.6.5 Độ bao phủ kiểm thử kết hợp điều kiện nhánh Sử dụng các công thức đã nêu trong điều 6.3.5 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(kiểm thửkết hợpđiều kiệnnhánh )=88

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử kết hợp điều kiện nhánh đạt được là 100%.

C.2.3.7 Kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC) Kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC) cần các trường hợp kiểm thử ít hơn độ bao phủ kết hợp điều kiện nhánh. Loại kiểm thử này được sử dụng rộng rãi trong việc phát triển các phần mềm hệ thống điện tử, như quy định trong tiêu chuẩn RTCA / DO-178C. Kiểm thử MCDC đòi hỏi các trường hợp kiểm thử chứng minh rằng mỗi điều kiện Boolean (A, B and C) có thể ảnh hưởng độc lập đến kết quả của quyết định. Nó ít hơn tổng số của tất cả các kết hợp (như quy định bởi độ bao phủ kết hợp điều kiện).

C.2.3.7.1 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Trong kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC), các hạng mục bao phủ kiểm thử là các kết hợp khác nhau của các giá trị Boolean riêng biệt của điều kiện trong các quyết định mà cho phép một điều kiện Boolean duy nhất ảnh hưởng độc lập đến kết quả.

Đối với điều kiện quyết định [A or (B and C)], sẽ tạo ra 2 hạng mục bao phủ kiểm thử, mà sự thay đổi đổi trạng thái của A sẽ làm thay đổi kết quả, nhưng B và C giữ nguyên, tức là điều kiện A có thể ảnh hưởng độc lập đến kết quả của điều kiện này như sau:

TCOVER1: A = SAI, B = SAI, C = ĐÚNG Kết quả = SAI (đối với TCOND1)

TCOVER2: A = ĐÚNG, B = SAI, C = ĐÚNG Kết quả = ĐÚNG (đối với TCOND1)

Tương tự đối với B, cần phải có 2 trường hợp kiểm thử mà cho thấy rằng B có thể ảnh hưởng độc lập đến kết quả, A và C giữ nguyên:

TCOVER3: A = SAI, B = SAI, C = ĐÚNG Kết quả = SAI (đối với TCOND1)

TCOVER4: A = SAI, B = ĐÚNG, C = ĐÚNG Kết quả = ĐÚNG (đối với TCOND1)

Cuối cùng đối với C, cần phải có 2 hợp kiểm thử mà cho thấy rằng C có thể ảnh hưởng độc lập đến kết quả, A và B giữ nguyên:

TCOVER5: A = SAI, B = ĐÚNG, C = SAI Kết quả = SAI (đối với TCOND1)

TCOVER6: A = SAI, B = ĐÚNG, C = ĐÚNG Kết quả = ĐÚNG (đối với TCOND1)

Sau khi tạo ra các cặp điều kiện kiểm thử cho từng điều kiện quyết định, chúng ta có thể thấy rằng TCOVER1 và TCOVER3, TCOVER4 và TCOVER6 giống nhau. Do đó, các điều kiện kiểm thử trùng lặp TCOVER3 và TCOVER6 sẽ không được sử dụng làm cơ sở để xây dựng các trường hợp kiểm thử trong các bước tiếp theo.

121

Page 122: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.3.7.2 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử được xây dựng bằng cách xác định đường đi con của luồng điều khiển mà đến được một hoặc nhiều hạng hạng mục bao phủ kiểm thử chưa được thực hiện trong quá trình kiểm thử, xác định các đầu vào mà sẽ thực hiện những đường đi đó và kết quả mong đợi của quá trình kiểm thử và lặp đi lặp lại cho đến khi đạt được độ bao phủ quy định. Trong ví dụ này, có thể đạt được độ bao phủ với một bộ các trường hợp kiểm thử dưới đây:CHÚ THÍCH: Các trường hợp kiểm thử nêu trong bảng dưới đây không "đầy đủ" vì nó không bao gồm kết quả mong đợi.

Bảng C.5 - Các trường hợp kiểm thử

Trường hợp kiểm thử A B C Kết quả mong đợi Hạng mục bao phủ

kiểm thử1 SAI SAI ĐÚNG SAI TCOVER1, TCOVER3

2 ĐÚNG SAI ĐÚNG ĐÚNG TCOVER2

3 SAI ĐÚNG ĐÚNG ĐÚNG TCOVER4, TCOVER6

4 SAI ĐÚNG SAI SAI TCOVER5

Tóm lại:

- Điều kiện A được chứng tỏ có ảnh hưởng độc lập đến kết quả của điều kiện quyết định của trường hợp kiểm thử 1 và 2;

- Điều kiện B được chứng tỏ có ảnh hưởng độc lập đến kết quả của điều kiện quyết định của trường hợp kiểm thử 1 và 3;

- Điều kiện C được chứng tỏ có ảnh hưởng độc lập đến kết quả của điều kiện quyết định của trường hợp kiểm thử 3 và 4.

Lưu ý rằng có thể có giải pháp thay thế để đạt được MCDC. Ví dụ, A có thể được chứng tỏ có ảnh hưởng độc lập đến kết quả của điều kiện của hai trường hợp kiểm thử sau đây.

Bảng C.6 - Các trường hợp kiểm thử MCDC

Trường hợp kiểm thử A B C Kết quảX SAI ĐÚNG SAI SAI

Y ĐÚNG ĐÚNG SAI ĐÚNG

Trường hợp kiểm thử X giống trường hợp kiểm thử 4 ở trên nhưng trường hợp kiểm thử Y là một trường hợp kiểm thử mà chưa được sử dụng trước đó. Tuy nhiên, vì đã đạt được độ bao phủ MCDC nên trường hợp kiểm thử Y là không cần thiết cho mục đích tính độ bao phủ.

Để đạt được 100% độ phủ quyết định điều kiện thay đổi đòi hỏi tối thiểu phải có n+1 trường hợp kiểm thử và tối đa 2n trường hợp kiểm thử, trong đó n là số điều kiện Boolean trong điều kiện quyết định. Ngược lại, đối với độ bao phủ kết hợp điều kiện nhánh đòi hỏi phải có 2n trường hợp kiểm thử. Do đó MCDC là một thỏa hiệp có có rủi ro thấp trong thực tế với độ bao phủ kết hợp điều kiện nhánh trong đó các biểu thức điều kiện liên quan đến nhiều hơn một vài điều kiện Boolean.

C.2.3.7.3 Bước 5: Tập hợp các bộ kiểm thử (TD5)Giả sử tất cả các trường hợp kiểm thử được xây dựng trong Bảng C.5 cho kỹ thuật này được kết hợp vào các bộ kiểm thử, như sau:

TS1: Các trường hợp kiểm thử 1, 2, 3, 4.

C.2.3.7.4 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì chỉ có một bộ kiểm thử, chỉ xác định được một thủ tục kiểm thử tương ứng như sau:

TP1: Bao gồm tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

122

Page 123: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.3.7.5 Độ bao phủ kiểm thử bao phủ quyết định điều kiện thay đổi Sử dụng các công thức đã nêu trong điều 6.3.6 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(kiểm thử MCDC )=44

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC) đạt được là 100%.

C.2.3.8 Các biểu thức Boolean khácMột nhược điểm của ba kỹ thuật thiết kế kiểm thử này và các phương pháp tính độ bao phủ kiểm thử của các kỹ thuật này là chúng dễ bị ảnh hưởng bởi sự bố trí của các biểu thức Boolean khi các quyết định điều khiển được đặt ở bên ngoài các điều kiện quyết định thực tế. Ví dụ:

FLAG := A or (B and C);if FLAG then do_something;else do_something_else;end if;

Để chống lại điểm yếu này, việc thay đổi ba kỹ thuật thiết kế kiểm thử và các phương pháp tính độ bao phủ là thiết kế các bài kiểm thử cho tất cả các biểu thức Boolean, chứ không chỉ những biểu thức được sử dụng trực tiếp trong các quyết định luồng điều khiển.

C.2.3.9 Các biểu thức tối ưu Đối với một số ngôn ngữ lập trình và các trình biên dịch "ngắn mạch", việc đánh giá của các toán tử logic thực hiện bằng cách bỏ qua moi thành phần của một biểu thức mà không có ảnh hưởng trực tiếp đến kết quả của biểu thức đó.

Ví dụ, ngôn ngữ lập trình C và C ++ luôn ngắn mạch các toán từ "and" (&&) và "or" (||), ngôn ngữ lập trình Ada cung cấp các toán ngắn mạch đặc biệt and then và or else. Với những ví dụ này, khi có thể xác định được kết quả của một toán tử Boolean từ các điều kiện đầu tiên thì các điều kiện thứ hai sẽ không được đánh giá.

Kết quả là sẽ không thể hiển thị độ bao phủ một giá trị của điều kiện thứ hai. Đối với một toán từ ngắn mạch "and", các kết hợp khả thi là Đúng:Đúng, Đúng:Sai và Sai:X, trong đó X chưa biết. Đối với một toán tử ngắn mạch "or", các kết hợp khả thi là Sai:Sai, Sai:Đúng và Đúng:X

Các ngôn ngữ và trình biên dịch khác có thể ngắn mạch việc đánh giá của các toán tử logic theo bất kỳ thứ tự nào. Trong trường hợp này, kết hợp khả thi không được biết đến. Mức độ tối ưu hóa ngắn mạch của các toán tử Boolean có thể phụ thuộc vào các switches biên dịch hoặc có thể là ngoài tầm kiểm soát của người dùng.

Các dạng kiểm soát ngắn mạch không gây trở ngại đến độ bao phủ điều kiện nhánh hoặc độ bao phủ quyết định điều kiện thay đổi, nhưng chúng gây cản trở đối với việc tính độ bao phủ kết hợp điều kiện nhánh. Có những trường hợp có thể thiết kế được các trường hợp kiểm thử mà đạt 100% độ bao phủ (trên lý thuyết), nhưng thực tế không thể tính được độ bao phủ mà đạt được 100%.

C.2.3.10 Các nhánh và các quyết định khác Những mô tả về kiểm thử điều kiện nhánh, kiểm thử kết hợp điều kiện nhánh và kiểm thử MCDC ở trên và các phương pháp tính độ bao phủ tương ứng của chúng được đưa ra trong các điều khoản của các nhánh hoặc quyết định được kiểm soát bởi các điều kiện Boolean. Các nhánh và các quyết định khác như các nhánh đa chiều (được thực hiện bởi câu lệnh "case", "switch" hoặc câu lệnh "goto" ), và các vòng lặp tính toán (được thực hiện bằng các vòng lặp “for” hoặc “do” không có bất kỳ điều kiện nào) không sử dụng các điều kiện boolean và do đó không được mô tả.

Có một cách xử lý kịch bản này là sử dụng một trong ba kỹ thuật thiết kế kiểm thử và phương pháp tính độ bao phủ chúng làm một phần bổ sung cho kiểm thử nhánh và độ bao phủ nhánh hoặc độ bao phủ quyết định. Kiểm thử nhánh sẽ đề cập đến tất cả các quyết định đơn giản, các quyết định đa chiều

123

Page 124: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

và tất cả các vòng. Kiểm thử điều sẽ đề cập đến các quyết định mà bao gồm các điều kiện Boolean.

Trong thực tế, các trường hợp kiểm thử đạt được 100% độ bao phủ bởi một trong các tùy chon này cũng sẽ đạt được 100% độ phủ bởi một tùy chon khác. Tuy nhiên, không thể so sánh được mức độ bao phủ thấp hơn giữa hai tùy chon.

C.2.4 Kiểm thử luồng dữ liệu C.2.4.1 Giới thiệuMục đích của kiểm thử luồng dữ liệu là xây dựng một bộ các trường hợp kiểm thử mà bao phủ các đường đi giữa các định nghĩa và các sử dụng biến trong một hạng mục kiểm thử theo một mức độ bao phủ định nghĩa - sử dụng đã chon. Kiểm thử luồng dữ liệu là kỹ thuật thiết kế kiểm thử dựa trên cấu trúc nhằm thực thi các đường đi con từ các điểm nơi mà mỗi biến trong một hạng mục kiểm thử được định nghĩa đến các điểm mà nó được tham chiếu. Những đường đi con trong đồ thị luồng điều khiển được goi là các cặp định nghĩa - sử dụng. Các tiêu chí bao phủ luồng dữ liệu khác nhau đòi hỏi các cặp định nghĩa - sử dụng và các đường đi con được thực thi khác nhau. Các bộ kiểm thử được tạo ra ở đây đạt được 100% độ bao phủ (nếu có) đối với một trong những tiêu chí đó.CHÚ THÍCH: Kiểm thử luồng dữ liệu đòi hỏi phải xác định các đối tượng dữ liệu có liên quan. Các công cụ phần mềm thường sẽ coi một mảng hoặc một bản ghi là một mục dữ liệu duy nhất chứ không phải là một mục phức hợp với nhiều cấu thành. Bỏ qua các cấu thành của các đối tượng phức hợp mà làm giảm hiệu quả của kiểm thử luồng dữ liệu.

C.2.4.2 Đặc tảHãy xem kiểm thử luồng dữ liệu của mục kiểm thử sau đây được viết bằng ngôn ngữ lập trình Ada:procedure Solve_Quadratic(A, B, C: in Float; Is_Complex: out Boolean; R1, R2: out Float) is-- Is_Complex is true if the roots are not real.-- If the two roots are real, they are produced in R1, R2.

Discrim : Float := B*B - 4.0*A*C; -- 1R1, R2: Float;

-- 2begin -- 3

if Discrim < 0.0 then -- 4 Is_Complex := true; -- 5

else -- 6 Is_Complex := false; -- 7

end if; -- 8 if not Is_Complex then -- 9 R1 := (-B + Sqrt(Discrim))/ (2.0*A); -- 10 R2 := (-B - Sqrt(Discrim))/ (2.0*A); -- 11

end if; -- 12 end Solve_Quadratic; -- 13

Lưu ý rằng dòng thứ hai không phải là một định nghĩa (của R1 và R2) mà là một tuyên bố. (Đối với các ngôn ngữ có khởi tạo mặc định, nó sẽ là một định nghĩa.)

C.2.4.3 Bước 1: Xác định các tập tính năng (TD1)Do chỉ có một hàm kiểm thử, nên chỉ có thể xác định được một tập tính năng:

FS1: Solve_Quadratic function .

C.2.4.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Bước đầu tiên là liệt kê các biến được sử dụng trong hạng mục kiểm thử. Các biến đó là: A, B, C,

124

Page 125: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Discrim, Is_Complex, R1 và R2. Tiếp theo, mỗi lần xuất hiện của một biến trong các hạng mục kiểm thử được tham chiếu chéo dựa vào danh sách chương trình và gán một loại hình của biến (định nghĩa của một biến, sử dụng biến để kiểm tra điều kiện hoặc sử dụng biến để tính toán).

125

Page 126: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng C.7 - Sự xuất hiện của các biến và các loại hình của nó

LoạiDòng lệnh Định nghĩa c-use p-use

0 A, B, C1 Discrim A, B, C234 Discrim5 Is_Complex67 Is_Complex89 Is_Complex

10 R1 A, B, Discrim11 R2 A, B, Discrim1213 R1, R2, Is_Complex

Các điều kiện kiểm thử là các cặp định nghĩa - sử dụng.

Bước tiếp theo là xác định các cặp định nghĩa - sử dụng và kiểu sử dụng (c-use hoặc p-use) của chúng, mỗi cặp trong số đó là các hạng mục phủ kiểm thử, bằng cách xác định những liên kết từ mỗi đầu vào trong cột định nghĩa đến mỗi đầu vào tiếp theo đối với biến đó trong cột c-use hoặc p-use.

Bảng C.8 - Các cặp định nghĩa - sử dụng và kiểu sử dụng của chúng

Cặp định nghĩa - sử dụng

(dòng bắt đầu dòng kết thúc)

Các biến Điều kiện kiểm thửc-use p-use

0 1 A TCOND1

B TCOND2

C TCOND3

0 11 A TCOND4

B TCOND5

0 11 A TCOND6

B TCOND7

1 4 Discrim TCOND8

1 10 Discrim TCOND9

1 11 Discrim TCOND10

5 9 Is_Complex TCOND11

7 9 Is_Complex TCOND12

10 13 R1 TCOND13

126

Page 127: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

11 13 R2 TCOND14

5 13 Is_Complex TCOND15

7 13 Is_Complex TCOND16

Lưu ý: không cần thiết phải tạo ra tất cả các cặp định nghĩa - sử dụng (như đã được tạo ra ở đây) khi xác định các hạng mục bao phủ kiểm thử (tùy thuộc vào kỹ thuật đang được sử dụng).

C.2.4.5 Kiểm thử tất cả các định nghĩa của biếnC.2.4.5.1 Bước 3a: Xác định các hạng mục bao phủ kiểm thử (TD3) - Kiểm thử tất cả các định nghĩa của biếnTrong kiểm thử tất cả các định nghĩa của biến, các hạng mục bao phủ kiểm thử là các đường đi con của đồ thị luồng điều khiển từ một định nghĩa của biến đến một số kiểu sử dụng (c-use hoặc p-use) của định nghĩa đó.

Bảng sau đây cho thấy một tập các cặp định nghĩa - sử dụng thỏa mãn được tiêu chí này.

Bảng C.9 - Kiểm thử tất cả các định nghĩa của biến

Hạng mục bao phủ kiểm thử

Tất cả các định nghĩa của biếnCác biến Cặp định nghĩa - sử dụng Điều kiện kiểm thử

TCOVER1 A 0 1 TCOND1

TCOVER2 B 0 1 TCOND2

TCOVER3 C 0 1 TCOND3

TCOVER4 Discrim 1 4 TCOND8

TCOVER5 Is_Complex 5 9 TCOND11

TCOVER6 Is_Complex 7 9 TCOND12

TCOVER7 R1 10 13 TCOND13

TCOVER8 R2 11 13 TCOND14

C.2.4.5.2 Bước 4a: Xây dựng các trường hợp kiểm thử (TD4) - Kiểm thử tất cả các định nghĩa của biếnCác trường hợp kiểm thử được xây dựng bằng cách xác định các đường đi con của luồng điều khiển mà đến được một hoặc nhiều hạng mục bao phủ kiểm thử chưa được thực hiện trong khi kiểm thử, xác định các đầu vào mà sẽ thực thi những đường đi con này và kết quả mong đợi của kiểm thử và lặp đi lặp lại cho đến khi đạt được độ bao phủ quy định. Để đạt được 100% độ bao phủ kiểm thử luồng dữ liệu tất cả các định nghĩa của biến thì ít nhất một đường đi con từ mỗi định nghĩa đến một vài sử dụng của định nghĩa đó (p-use hoặc c-use) phải được thực thi. Bộ kiểm thử dưới đây sẽ thỏa mãn yêu cầu này:

Bảng C.10 - Các trường hợp kiểm thử đối với kiểm thử tất cả các định nghĩa của biến

Trường hợp kiểm thử

Tất cả các định nghĩa của biến Đầu vào Kết quả mong đợiCác biến Các cặp

định nghĩa -

sử dụng

Các đường đi con

Các hạng mục bao phủ kiểm

thử

A B C Is_Complex R1 R2

1 Is_Complex 7 9 7-8-9 TCOVER6 1 2 1 SAI -1 -1R1 10 13 10-11-

12-13TCOVER7

R2 11 13 11-12-13

TCOVER8

127

Page 128: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

2 A,B,C,

Discrim

0 1

1 4

0-1

1-2-3-4

TCOVER1, TCOVER2, TCOVER3TCOVER4

1 2 3 ĐÚNG Không xác định

Không xác định

3 Is_Complex 5 9 5-8-9 TCOVER5

C.2.4.5.3 Độ bao phủ kiểm thử tất cả các định nghĩa của biến

Sử dụng các công thức đã nêu trong điều 6.3.7.1 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(t ấ t c ảcác đ ị nh nghĩac ủabi ế n )=88

x 100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử tất cả các định nghĩa của biến đạt được là 100%.

C.2.4.6 Kiểm thử tất cả các C-Uses C.2.4.6.1 Bước 3b: Xác định các hạng mục bao phủ kiểm thử (TD3) - Kiểm thử tất cả các C-UsesTrong tất kiểm thử các c-uses, các hạng mục bao phủ kiểm thử là các đường đi con của đồ thị luồng điều khiển từ một định nghĩa của biến đến moi c-use của định nghĩa đó. Bảng sau đây cho thấy một tập các cặp định nghĩa - sử dụng thỏa mãn tiêu chí này.

Bảng C.11 - Kiểm thử tất cả c-uses

Hạng mục bao phủ kiểm thử

Tất cả các c-uses

Các biếnCặp định

nghĩa - sử dụng

Đường đi con Các điều kiện kiểm thử

TCOVER1 A 0 1 0-1 TCOND1

TCOVER2 B 0 1 0-1 TCOND2

TCOVER3 C 0 1 0-1 TCOND3

TCOVER4 A 0 10 0-1-2-3-4-6-7-8-9-10 TCOND4

TCOVER5 B 0 10 0-1-2-3-4-6-7-8-9-10 TCOND5

TCOVER6 A 0 11 0-1-2-3-4-6-7-8-9-10-11 TCOND6

TCOVER7 B 0 11 0-1-2-3-4-6-7-8-9-10-11 TCOND7

TCOVER8 Discrim 1 10 1-2-3-4-6-7-8-9-10 TCOND9

TCOVER9 Discrim 1 11 1-2-3-4-6-7-8-9-10-11 TCOND10

TCOVER10 R1 10 13 10-11-12-13 TCOND13

TCOVER11 R2 11 13 11-12-13 TCOND14

TCOVER12 Is_Complex 5 13 5-8-9-12-13 TCOND15

TCOVER13 Is_Complex 7 13 7-8-9-10-11-12-13 TCOND16

128

Page 129: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

C.2.4.6.2 Bước 4b: Xây dựng các trường hợp kiểm thử (TD4) - Kiểm thử tất cả c-uses Các trường hợp kiểm thử được xây dựng bằng cách xác định các đường đi con của luồng điều khiển đến được một hoặc nhiều hạng mục bao phủ kiểm thử chưa được thực hiện trong khi kiểm thử, xác định các đầu vào mà sẽ thực thi những đường đi con này và kết quả mong đợi của kiểm thử và lặp đi lặp lại cho đến khi đạt được độ bao phủ quy định. Để đạt được 100% độ bao phủ kiểm thử luồng dữ liệu tất cả c-uses thì ít nhất một đường đi con từ mỗi định nghĩa của biến đến moi c-uses của định nghĩa đó phải được thực thi. 

129

Page 130: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng C.12 - Các trường hợp kiểm thử đối với kiểm thử tất cả c-uses

Trường hợp kiểm thử

Tất cả các c-uses Đầu vào Kết quả mong đợi

Các biếnCác cặp

định nghĩa - sử dụng

Các đường đi

con

Các hạng mục bao phủ kiểm

thửA B C Is_Complex R1 R2

1 A, B, C 0 1 0-1 TCOVER1, TCOVER2, TCOVER3

1 2 1 SAI -1 -1

A, B 0 10, 0-1-2-3-4-6-7-8-9-10

TCOVER4, TCOVER5

A, B 0 11 0-1-2-3-4-6-7-8-9-10-11

TCOVER6, TCOVER7

Discrim 1 10 1-2-3-4-6-7-

8-9-10

TCOVER8

1 11 1-2-3-4-6-7-8-9-10-11

TCOVER9

R1 10 13 10-11-12-13 TCOVER10

R2 11 13 11-12-13 TCOVER11

Is_Complex 7 13 7-8-9-10-11-

12-13

TCOVER13

2 Is_Complex 5 13 5-8-9-12-13 TCOVER12 1 1 1 ĐÚNG Không xác định

Không xác định

C.2.4.6.3 Độ bao phủ kiểm thử tất cả các C-Uses Sử dụng các công thức đã nêu trong điều 6.3.7.2 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(kiể mthử t ât c ảcác c−uses)=1313

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử tất cả các c-uses đạt được là 100%.

C.2.4.7 Kiểm thử tất cả các P-UsesC.2.4.7.1 Bước 3c: Xác định các hạng mục bao phủ kiểm thử (TD3) - Kiểm thử tất cả các P-UsesTrong tất kiểm thử tất cả các p-uses, các hạng mục bao phủ kiểm thử là các đường đi con của đồ thị luồng điều khiển từ một định nghĩa của biến đến tất cả p-uses của định nghĩa đó. 

Bảng sau đây cho thấy một tập các cặp định nghĩa - sử dụng thỏa mãn tiêu chí này.

Bảng C.13 - Kiểm thử tất cả các p-uses

Hạng mục bao phủ kiểm thử

Tất cả các p-usesCác biến Cặp định nghĩa - sử dụng Điều kiện kiểm thử

TCOVER1 Discrim 1 4 TCOND8

TCOVER2 Is_Complex 5 9 TCOND11

130

Page 131: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER3 Is_Complex 7 9 TCOND12

C.2.4.7.2 Bước 4c: Xây dựng các trường hợp kiểm thử (TD4) - Kiểm thử tất cả các p-usesCác trường hợp kiểm thử được xây dựng bằng cách xác định các đường đi con của luồng điều khiển đến được một hoặc nhiều hạng mục bao phủ kiểm thử chưa được thực hiện trong khi kiểm thử, xác định các đầu vào mà sẽ thực thi những đường đi con này và kết quả mong đợi của kiểm thử và lặp đi lặp lại cho đến khi đạt được độ bao phủ quy định. Để đạt được 100% độ bao phủ kiểm thử luồng dữ liệu p-uses thì ít nhất một đường đi con từ mỗi định nghĩa của biến đến moi p-uses của định nghĩa đó phải được thực thi. Bộ kiểm thử dưới đây sẽ đáp ứng yêu cầu này:

Bảng C.14 - Các trường hợp kiểm thử đối với kiểm thử tất cả các p-uses

Trường hợp kiểm thử

Tất cả các p-uses Đầu vào Các kết quả mong đợi

Các biếnCác cặp

định nghĩa - sử dụng

Các đường đi

con

Hạng mục bao phủ kiểm thử

A B C Is_Complex R1 R2

1 Is_Complex 7 9 7-8-9 TCOVER3 1 2 1 SAI -1 -1

2 Discrim 1 4 1-2-3-4 TCOVER1 1 1 1 ĐÚNG Không xác định

Không xác địnhIs_Complex 5 9 5-8-9 TCOVER2

C.2.4.7.3 Độ bao phủ kiểm thử tất cả các p-uses Sử dụng các công thức đã nêu trong điều 6.3.7.3 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(kiểm thử t ấ t c ảcác p−uses)=33

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử tất cả các p-uses đạt được là 100%.

C.2.4.8 Kiểm thử tất cả các sử dụng biếnC.2.4.8.1 Bước 3d: Xác định các hạng mục bao phủ kiểm thử (TD3) - Kiểm thử tất cả các sử dụngTrong kiểm thử tất cả các sử dụng, các hạng mục bao phủ kiểm thử là các đường đi con của đồ thị luồng điều khiển từ một định nghĩa của biến đến moi sử dụng (cả c-use và p-use) của định nghĩa đó.

Bảng sau đây cho thấy một tập các cặp định nghĩa - sử dụng thỏa mãn tiêu chí này

Bảng C.15 - Kiểm thử tất cả các sử dụng biến

Các hạng mục bao phủ kiểm

thử

Tất cả các sử dụng biến/ Tất cả các đường định nghĩa - sử dụng

Các biến Cặp định nghĩa - sử dụng Đường đi conCác điều kiện kiểm

thử

TCOVER1 A 0 1 0-1 TCOND1

TCOVER2 B 0 1 0-1 TCOND2

TCOVER3 C 0 1 0-1 TCOND3

TCOVER4 A 0 10 0-1-2-3-4-6-7-8-9-10 TCOND4

TCOVER5 B 0 10 0-1-2-3-4-6-7-8-9-10 TCOND5

131

Page 132: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER6 A 0 11 0-1-2-3-4-6-7-8-9-10-11 TCOND6

TCOVER7 B 0 11 0-1-2-3-4-6-7-8-9-10-11 TCOND7

TCOVER8 Discrim 1 4 1-2-3-4 TCOND8

TCOVER9 Discrim 1 10 1-2-3-4-6-7-8-9-10 TCOND9

TCOVER10 Discrim 1 11 1-2-3-4-6-7-8-9-10-11 TCOND10

TCOVER11 Is_Complex

5 9 5-8-9 TCOND11

TCOVER12 Is_Complex

7 9 7-8-9 TCOND12

TCOVER13 R1 10 13 10-11-12-13 TCOND13

TCOVER14 R2 11 13 11-12-13 TCOND14

TCOVER15 Is_Complex

5 13 5-8-9-12-13 TCOND15

TCOVER16 Is_Complex

7 13 7-8-9-10-11-12-13 TCOND16

C.2.4.8.2 Bước 4d: Xây dựng các trường hợp kiểm thử (TD4) - Kiểm thử tất cả các sử dụngCác trường hợp kiểm thử được xây dựng bằng cách xác định các đường đi con của luồng điều khiển đến được một hoặc nhiều hạng mục bao phủ kiểm thử chưa được thực hiện trong khi kiểm thử, xác định các đầu vào mà sẽ thực thi những đường đi con này và kết quả mong đợi của kiểm thử và lặp đi lặp lại cho đến khi đạt được độ bao phủ quy định. Để đạt được 100% độ bao phủ kiểm thử luồng dữ liệu tất cả các sử dụng thì ít nhất một đường đi con từ mỗi định nghĩa của biến đến moi sử dụng của định nghĩa đó (cả p-use và c-use) phải được thực thi. Bộ kiểm thử dưới đây sẽ đáp ứng yêu cầu này:

Bảng C.16 - Các trường hợp kiểm thử đối với kiểm thử tất cả các sử dụng

Trường hợp kiểm thử

Tất cả các sử dụng Đầu vào Kết quả mong đợi

Các biếnCặp định

nghĩa - sử dụng

Đường đi con

Hạng mục bao phủ kiểm thử

A B C Is_Complex R1 R2

1 A, B, C 0 1 0-1 TCOVER1, TCOVER2, TCOVER3

1 2 1 SAI -1 -1

A, B 0 10 0-1-2-3-4-6-

7-8-9-10

TCOVER4, TCOVER5

A, B 0 11 0-1-2-3-4-6-

7-8-9-10-11

TCOVER6, TCOVER7

Discrim 1 4 1-2-3-4 TCOVER8

1 10 1-2-3-4-6-

7-8-9-10

TCOVER9

1 11 1-2-3-4-6-

7-8-9-10-11

TCOVER10

Is_Complex 7 9 7-8-9 TCOVER12

R1 10 13 10-11-12-13 TCOVER13

132

Page 133: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

R2 11 13 11-12-13 TCOVER14

Is_Complex 7 13 7-8-9-10-11-

12-13

TCOVER16

2 Is_Complex 5 9 5-8-9 TCOVER11 1 1 1 ĐÚNG Không xác định

Không xác địnhIs_Complex 5 13 5-8-9-12-13 TCOVER15

C.2.4.8.3 Độ bao phủ kiểm thử tất cả các sử dụng biếnSử dụng các công thức đã nêu trong điều 6.3.7.4 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ(ki ể mthử tất cảcác sử dụng biế n )=1616

x100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử tất cả các sử dụng biến đạt được là 100%.

C.2.4.9 Kiểm thử tất cả các đường định nghĩa - sử dụng (All-DU-Paths Testing)C.2.4.9.1 Bước 3e: Xác định các hạng mục bao phủ kiểm thử (TD3) - Kiểm thử tất cả các đường định nghĩa - sử dụng Để đạt được 100% độ bao phủ tất cả các đường định nghĩa - sử dụng thì moi "đường đi con đơn giản" từ mỗi định nghĩa của biến đến moi sử dụng của định nghĩa đó phải được thực thi. Điều này khác với kiểm thử tất cả các sử dụng trong đó mỗi đường đi con đơn giản giữa các cặp định nghĩa - sử dụng phải được thực thi. Chỉ thoáng nhìn thì có vẻ như có hai đường đi qua hạng mục kiểm thử mà vẫn chưa được xác định trong các trường hợp kiểm thử tất cả các sử dụng. Đó là đường đi 0-1-4-5-9-10 và đường đi 1-4-5-9-10. Tuy nhiên, cả hai đường đi này không khả thi (và do đó không có trường hợp kiểm thử nào có thể được tạo ra). Do đó, các đường đi này không được coi là "đường đi con đơn giản" cho kiểm thử tất cả các đường định nghĩa - sử dụng.

Bảng C.17 - Kiểm thử tất cả các đường định nghĩa - sử dụng

Các hạng mục bao phủ kiểm

thử

Tất cả các đường định nghĩa - sử dụngCác biến Cặp định nghĩa -

sử dụngĐường đi Các điều kiện

kiểm thử

TCOVER1 A 0 1 0-1 TCOND1

TCOVER2 B 0 1 0-1 TCOND2

TCOVER3 C 0 1 0-1 TCOND3

TCOVER4 A 0 10 0-1-2-3-4-6-7-8-9-10 TCOND4

TCOVER5 B 0 10 0-1-2-3-4-6-7-8-9-10 TCOND5

TCOVER6 A 0 11 0-1-2-3-4-6-7-8-9-10-11 TCOND6

TCOVER7 B 0 11 0-1-2-3-4-6-7-8-9-10-11 TCOND7

TCOVER8 Discrim 1 4 1-2-3-4 TCOND8

TCOVER9 Discrim 1 10 1-2-3-4-6-7-8-9-10 TCOND9

TCOVER10 Discrim 1 11 1-2-3-4-6-7-8-9-10-11 TCOND10

133

Page 134: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOVER11 Is_Complex 5 9 5-8-9 TCOND11

TCOVER12 Is_Complex 7 9 7-8-9 TCOND12

TCOVER13 R1 10 13 10-11-12-13 TCOND13

TCOVER14 R2 11 13 11-12-13 TCOND14

TCOVER15 Is_Complex 5 13 5-8-9-12-13 TCOND15

TCOVER16 Is_Complex 7 13 7-8-9-10-11-12-13 TCOND16

C.2.4.9.2 Bước 4e: Xây dựng các trường hợp kiểm thử (TD4) - Kiểm thử tất cả các đường định nghĩa - sử dụngGiờ thì có thể xây dựng được các trường hợp kiểm thử cho tất cả các đường định nghĩa - sử dụng. Một bộ các trường hợp kiểm thử được xây dựng cho tất cả các sử dụng cũng đạt được mức độ bao phủ kiểm thử tối đa đối với tất cả các đường định nghĩa - sử dụng trong ví dụ này.

Bảng C.18 - Các trường hợp kiểm thử cho kiểm thử tất cả các đường định nghĩa - sử dụng

Trường hợp kiểm thử

Tất cả các đường định nghĩa - sử dụng Đầu vào Kết quả mong đợi

Các biếnCác cặp

định nghĩa - sử dụng

Đường điHạng mục bao phủ kiểm thử

A B C Is_Complex R1 R2

1 A, B, C 0 1 0-1 TCOVER1, TCOVER2, TCOVER3

1 2 1 SAI -1 -1

A, B 0 10 0-1-2-3-4-6-

7-8-9-10

TCOVER4, TCOVER5

0 11 0-1-2-3-4-6-

7-8-9-10-11

TCOVER6, TCOVER7

Discrim 1 4 1-2-3-4 TCOVER8

1 10 1-2-3-4-6-

7-8-9-10

TCOVER9

Is_Complex 1 11 1-2-3-4-6-

7-8-9-10-11

TCOVER10

7 9 7-8-9 TCOVER12

R1 10 13 10-11-12-13 TCOVER13

R2 11 13 11-12-13 TCOVER14

Is_Complex 7 13 7-8-9-10-11-

12-13

TCOVER16

2 Is_Complex 5 9 5-8-9 TCOVER11 1 1 1 ĐÚNG Không xác định

Không xác địnhIs_Complex 5 13 5-8-9-12-13 TCOVER15

C.2.4.9.3 Tính độ bao phủ kiểm thử tất cả các đường định nghĩa - sử dụng Sử dụng các công thức đã nêu trong điều 6.3.7.5 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

134

Page 135: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Đ ộbao phủ(ki ể mthử tấ t c ảcácđườngđịnhnghĩa−sử dụng )=1616

x 100%=100%

Do đó, độ bao phủ các hạng mục bao phủ kiểm thử đối với kiểm thử tất cả các đường định nghĩa - sử dụng đạt được là 100%.

C.2.4.9.4 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì các trường hợp kiểm thử được xây dựng bao phủ tất cả các hạng mục bao phủ kiểm thử nên chúng sẽ được sử dụng làm ví dụ để xác định các bộ kiểm thử. Tất cả các trường hợp kiểm thử mà làm cho biến Is_Complex tính toán nhận kết quả SAI có thể được gộp vào một bộ kiểm thử, tất cả các trường hợp kiểm thử có biến tính toán nhận kết quả ĐÚNG sẽ được gộp vào một bộ kiểm thử khác, như sau:

TS1: Gồm trường hợp kiểm thử 1.

TS2: Gồm trường hợp kiểm thử 2.

C.2.4.9.5 Bước 6: Xác định các thủ tục kiểm thử (TD6)Tất cả các bộ kiểm thử có thể được kết hợp vào một thủ tục một kiểm thử được thực hiện theo thứ tự tuần tự, đó là:

TP1: Bao gồm tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, tiếp theo là những trường hợp kiểm thử trong bộ kiểm thử TS2, theo thứ tự quy định tại các bộ kiểm thử

135

Page 136: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Phụ lục D(Tham khảo)

Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm

D1. Hướng dẫn và ví dụ kiểm thử dựa trên kinh nghiệmD.1.1 Tổng quanPhụ lục này đưa ra hướng dẫn về việc áp dụng các kỹ thuật thiết kế kiểm thử dựa trên đặc tả nêu trong điều 5.4 và và tính độ bao phủ từng kỹ thuật kiểm thử dựa trên đặc tả nêu trong điều 6.4 bằng các ví dụ cụ thể. Ví dụ trong phụ lục này dựa theo quy trình Thiết kế và chuẩn bị kiểm thử được định nghĩa trong TCVN xxxx-2:2019 (ISO/IEC/IEEE 29119-2:2013).

D.2 Các ví dụ về kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm D.2.1 Đoán lỗiD.2.1.1 Giới thiệuMục đích của đoán lỗi là để tạo ra một bộ các trường hợp kiểm thử mà bao gồm các lỗi có thể xảy ra trong quá trình kiểm thử, kỹ thuật này đòi hỏi phải sử dụng kiến thức và kinh nghiệm của kỹ sư kiểm thử về các hạng mục kiểm thử trước đó. Các trường hợp kiểm thử được xây dựng để khắc phục từng loại lỗi được kỹ sư kiểm thử xác định là có khả năng xuất hiện trong hạng mục kiểm thử hiện hành. Kỹ thuật này thường sẽ được áp dụng sau các kỹ thuật thiết kế kiểm thử dựa trên đặc tả như phân vùng tương đương và phân tích giá trị biên để bổ sung các loại lỗi được tạo ra bởi những kỹ thuật đó.

D.2.1.2 Đặc tảHãy xem xét một hạng mục kiểm thử tạo điểm được sử dụng làm ví dụ về phân tích giá trị biên với cơ sở kiểm thử sau:

Nếu thành phần nhận được điểm thi (theo thang điểm 75) và điểm luận văn (c/w) (theo thang điểm 25) là các đầu vào, từ đó có thể tính được điểm cho khóa học, điểm của khóa học được phân loại thành các điểm từ loại 'A' đến điểm loại 'D'. Các điểm này được đưa ra căn cứ vào cách tính toán điểm tổng. Điểm tổng bằng điểm thi và điểm luận văn (c/w) cộng với nhau, do đó chúng ta có các phân vùng sau:

Điểm tổng lớn hơn hoặc bằng 70 - đạt điểm A

Điểm tổng lớn hơn hoặc bằng 50, nhưng nhỏ hơn 70 - đạt điểm B

Điểm tổng lớn hơn hoặc bằng 30, nhưng nhỏ hơn 50 - đạt điểm C

Điểm tổng nhỏ hơn 30 - đạt điểm D

Nếu phát hiện (các) đầu vào không hợp lệ (ví dụ như điểm nằm ngoài giới hạn quy định) thì sẽ xuất hiện bản tin lỗi ( 'FM'). Tất cả các điểm đầu vào mà đạt phải là các số nguyên.

D.2.1.3 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được định nghĩa trong cơ sở kiểm thử nên chỉ có một tập tính năng (FS) được tạo ra, đó là:

FS1: Hàm tạo điểm

D.2.1.4 Bước 2: Xác định các điều kiện kiểm thử (TD2)Các điều kiện kiểm thử được xác định bằng cách tạo ra một danh sách các loại lỗi tiềm ẩn có thể có mặt trong các hạng mục kiểm thử, dựa trên kiến thức và kinh nghiệm về các lỗi tương tự xuất hiện trong các hạng mục kiểm thử khác đã được kiểm thử trước đó. Đối với hàm tạo điểm, có thể xác định được các điều kiện kiểm thử sau đây:

TCOND1: Nhập NULL (đối với FS1)

TCOND2: Nhập số 0 (đối với FS1)

136

Page 137: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

TCOND3: Nhập số âm (đối với FS1)

TCOND4: Nhập đầu vào theo thứ tự đảo ngược (đối với FS1)

TCOND5: Nhập số gồm nhiều chữ số (ví dụ: 10 chữ số) (đối với FS1)

TCOND6: Nhập chuỗi gồm nhiều chữ cái alphabet (ví dụ: 10 chữ cái

trong bộ chữ cái)

(đối với FS1)

D.2.1.5 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Mỗi loại lỗi là một hạng mục bao phủ kiểm thử (tức là các hạng mục bao phủ kiểm thử tương tự các điều kiện kiểm thử). Do đó, có thể xác định được các hạng mục bao phủ kiểm thử sau đây:TCOVER1: Nhập NULL (đối với TCOND1)

TCOVER2: Nhập số 0 (đối với TCOND2)

TCOVER3: Nhập số âm (đối với TCOND3)

TCOVER4: Nhập đầu vào theo thứ tự đảo ngược (đối với TCOND4)

TCOVER5: Nhập số gồm nhiều chữ số (ví dụ: 10 chữ số) (đối với TCOND5)

TCOVER6 Nhập chuỗi gồm nhiều chữ cái alphabet (ví dụ: 10 chữ cáitrong bộ chữ cái)

(đối với TCOND6)

D.2.1.6 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử có thể được xây dựng bằng cách lựa chon một loại lỗi cho các trường hợp kiểm thử hiện có, xác định (các) đầu vào để thực hiện các tham số của trường hợp kiểm thử theo các loại lỗi được lựa chon, xác định kết quả mong đợi và lặp đi lặp lại cho đến khi tất cả các hạng mục bao phủ kiểm thử đã bao gồm trong một trường hợp kiểm thử. Đối với ví dụ này, có thể có các trường hợp kiểm thử sau.

Bảng D.1 - Các trường hợp kiểm thử đối với đoán lỗi

Trường hợp kiểm thử 1 2 3 4Đầu vào (điểm thi) NULL 25 NULL 0Đầu vào (điểm luận văn) 20 NULL NULL 20Điểm tổng (theo tính toán) 20 25 NULL 20Hạng mục bao phủ kiểm thử TCOVER1

điểm thiTCOVER1điểm luận

văn

TCOVER1điểm thi và điểm

luận văn

TCOVER2 điểm thi

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi Bản tin lỗi

Bảng D.2 - Các trường hợp kiểm thử đối với đoán lỗi (tiếp theo)

Trường hợp kiểm thử 5 6 7 8Đầu vào (điểm thi) 25 0 -25 25Đầu vào (điểm luận văn) 0 0 20 -25Điểm tổng (theo tính toán) 25 0 -5 0Hạng mục bao phủ kiểm thử TCOVER2

điểm luận văn

TCOVER2điểm thi và điểm

luận văn

TCOVER3điểm thi

TCOVER3điểm luận văn

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi Bản tin lỗi

137

Page 138: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Bảng D.3 - Các trường hợp kiểm thử đối với đoán lỗi (tiếp theo)

Trường hợp kiểm thử 9 10 11 12

Đầu vào (điểm thi) -25 20 1234567890 25

Đầu vào (điểm luận văn) -50 55 20 1234567890

Điểm tổng (theo tính toán) -75 75 1234567910 1234567915

Hạng mục bao phủ kiểm thử TCOVER3

điểm thi và điểm luận văn

TCOVER4

điểm thi và điểm luận văn

TCOVER5

điểm thi

TCOVER5

điểm luận văn

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi Bản tin lỗi

Bảng D.4 - Các trường hợp kiểm thử đối với đoán lỗi (tiếp theo)

Trường hợp kiểm thử 13 14 15 16

Đầu vào (điểm thi) 1234567890 abcdefghij 25 abcdefghij

Đầu vào (điểm luận văn) 1234567890 20 abcdefghij abcdefghij

Điểm tổng (theo tính toán) 2469135780 NULL NULL NULL

Hạng mục bao phủ kiểm thử TCOVER5

điểm thi và điểm luận văn

TCOVER6 điểm thi

TCOVER6

điểm luận văn

TCOVER6

điểm thi và điểm luận văn

Đầu ra mong đợi Bản tin lỗi Bản tin lỗi Bản tin lỗi Bản tin lỗi

D.2.1.7 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì tất cả các trường hợp kiểm thử được xây dựng ở trên đều không hợp lệ nên đã xuất hiện một bản tin lỗi, tất các các trường hợp kiểm thử không hợp lệ này có thể được đặt trong cùng một bộ kiểm thử như sau:

TS1: Gồm các trường hợp kiểm thử: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16.

D.2.1.8 Bước 6: Xác định các thủ tục kiểm thử (TD6)Chỉ có một thủ tục được yêu cầu như sau:

TP1: Bao gồm các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

D.2.1.9 Độ bao phủ kiểm thử đoán lỗiNhư đã nêu trong điều 6.4.1, không có phương pháp để tính toán độ bao phủ kiểm thử đoán lỗi.

138

Page 139: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

B1K/động

B2Nhập tên đăng nhập

B6Kết thúc

(hệ thống bị khóa)

(Nhập tên đăng nhập sai < 3 lần, thời gian nhập ≤ 20 giây)(Nhập mật khẩu sai < 3 lần, thời gian nhập ≤ 20 giây)

(Thời gian nhập > 20 giây hoặc đã nhập 3 lần)

(Thời gian nhập > 20 giây hoặc đã nhập 3 lần)

(Tên đăngnhập đúng) B4

Nhập mật khẩuB3(Mật khẩu

đúng)

B7Kết thúc

(đăng nhập được)B5

TCVN xxxx-4:2019

Phụ lục E(Tham khảo)

Hướng dẫn và ví dụ về việc áp dụng các kỹ thuật thiết kế kiểm thử thay thế cho nhau

E.1 Hướng dẫn và ví dụ về các kỹ thuật thiết kế kiểm thử thay đổi cho nhauE.1.1 Tổng quátMặc dù các kỹ thuật kiểm thử trình bày trong tiêu chuẩn này được phân loại thành các kỹ thuật thiết kế kiểm thử dựa trên đặc tả, các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc và các kỹ thuật thiết kế kiểm thử dựa trên kinh nghiệm, nhưng trong thực tế một số kỹ thuật kiểm thử có thể được sử dụng thay thế cho nhau (xem điều 5.1). Điều này được thể hiện trong ví dụ dưới đây, ví dụ dưới đây minh hoa cách kiểm thử nhánh (kỹ thuật kiểm thử này thuộc kỹ thuật thiết kế kiểm thử dựa trên cấu trúc) có thể được áp dụng thay cho kỹ thuật kiểm thử dựa trên đặc tả.

E.1.2 Kiểm thử nhánh áp dụng như kỹ thuật kiểm thử dựa trên đặc tả E.1.2.1 Đặc tảHãy xem đặc tả ví dụ sau đây, nó định nghĩa một hàm đăng nhập mà có tên người dùng và mật khẩu là đầu vào để xác định liệu người dùng có hợp lệ không:

Thành phần sẽ yêu cầu phải có tên đăng nhập và mật khẩu. Người dùng phải nhập tên đăng nhập và mật khẩu tương ứng để đăng nhập vào hệ thống. Người dùng chỉ được phép nhập tên và mật khẩu ba lần và mỗi lần 20 giây. Nếu người dùng không nhập đúng tên và mật khẩu trong 3 lần và mỗi lần trong vòng 20 giây thì hệ thống sẽ bị khóa và không cho phép đăng nhập nữa.

Đồ thị luồng điều khiển cho thành phần này được trình bày trong hình dưới đây:

Hình E.1 - Đồ thị luồng điều khiển đối với hàm đăng nhậpE.1.2.2 Bước 1: Xác định các tập tính năng (TD1)Vì chỉ có một hạng mục kiểm thử được xác định trong cơ sở kiểm thử, chỉ có một tính năng được xác định dưới đây:

FS1: Hàm đăng nhập

E.1.2.2 Bước 2: Xác định các điều kiện kiểm thử (TD2)Đồ thị luồng điều khiển cung cấp một cái nhìn tổng quan về tính năng và hỗ trợ việc xác định các điều kiện cho kiểm thử nhánh. Các khối hình vuông trong đồ thị luồng điều khiển đại diện cho các đoạn mã nguồn của chương trình trong thành phần, các khối hình thoi đại diện cho các quyết định. Các hình mũi

139

Page 140: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

tên ở phía ngoài mỗi hình thoi đại diện cho kết quả quyết định. Các luồng chuyển đổi là:

B1 B2 B3 B4 B5 B4

B2 B3 B3 B6 B5 B6

B3 B2 B4 B5 B5 B7

Các điều kiện kiểm thử là các nhánh được đại diện bởi các mũi tên trong đồ thị luồng điều khiển.  Đối với tập tính năng hàm đăng nhập, có tổng cộng chín điều kiện kiểm thử dưới đây:

TCOND1: B1 B2 (đối với tập tính năng FS1)

TCOND2: B2 B3 (đối với tập tính năng FS1)

TCOND3: B3 B2 (đối với tập tính năng FS1)

TCOND4: B3 B4 (đối với tập tính năng FS1)

TCOND5: B3 B6 (đối với tập tính năng FS1)

TCOND6: B4 B5 (đối với tập tính năng FS1)

TCOND7: B5 B4 (đối với tập tính năng FS1)

TCOND8: B5 B6 (đối với tập tính năng FS1)

TCOND9: B5 B7 (đối với tập tính năng FS1)

E.1.2.4 Bước 3: Xác định các hạng mục bao phủ kiểm thử (TD3)Đối với bao phủ nhánh, các hạng mục bao phủ kiểm thử là các nhánh trong đồ thị luồng điều khiển, các hạng mục bao phủ này tương tự như các điều kiện kiểm thử. Trong ví dụ này có chín hạng mục bao phủ kiểm thử bao phủ nhánh sau đây:

TCOVER1: B1 B2 (đối với TCOND1)

TCOVER2: B2 B3 (đối với TCOND2)

TCOVER3: B3 B2 (đối với TCOND3)

TCOVER4: B3 B4 (đối với TCOND4)

TCOVER5: B3 B6 (đối với TCOND5)

TCOVER6: B4 B5 (đối với TCOND6)

TCOVER7: B5 B4 (đối với TCOND7)

TCOVER8: B5 B6 (đối với TCOND8)

TCOVER9: B5 B7 (đối với TCOND9)

E.1.2.5 Bước 4: Xây dựng các trường hợp kiểm thử (TD4)Các trường hợp kiểm thử đối với kiểm thử nhánh được xây dựng bằng cách xác định các đường con của luồng điều khiển đi đến một hoặc nhiều nhánh (các hạng mục bao phủ kiểm thử) mà chưa được thực hiện trong thời gian kiểm thử, xác định đầu vào mà thực hiện các đường con này, xác định kết quả mong đợi của mỗi bài kiểm thử, lặp đi lặp lại cho đến khi đạt được mức bao phủ kiểm thử quy định. Đối với bao phủ nhánh, bất kỳ trường hợp kiểm thử riêng lẻ nào sẽ thực hiện một đường con và do đó có nhiều quyết định và nhiều nhánh.

Hãy xem xét một trường hợp kiểm thử mà thực thi đường đi con của luồng điều khiển: B1 B2 B3 B4 B5 B7. Trường hợp này chỉ xảy ra khi tên người dùng và mật khẩu hợp lệ được nhập đúng trong lần đầu tiên. Các đường đi thực hiện 5 trong 9 nhánh, đạt được độ bao phủ 56% (không giống như độ bao phủ các quyết định).

Bây giờ hãy xem xét một trường hợp kiểm thử mà thực thi đường đi con của luồng điều khiển: B1 B2

140

Page 141: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

B3 B2 B3 B4 B5 B4 B5 B6. Đường đi này chỉ xuất hiện khi nhập tên người dùng không hợp lệ và mật khẩu không chính xác và nhập mật khẩu chính xác không không đúng thời gian quy định là 20 giây. Bây giờ tất cả các nhánh đã được bao phủ trừ nhánh B3 B6. Nhánh này có thể được bao phủ nếu tên người dùng không hợp lệ được nhập đến ba lần trong hoặc thời gian chờ nhập mật khẩu hợp lệ quá lâu. Sau đó, tất cả các nhánh đã được bao phủ, bao gồm tất cả các quyết định. Lưu ý rằng một số điều kiện trong các quyết định không được bao phủ

Các trường hợp kiểm thử bao phủ từng đường đi của đồ thị luồng điều khiển được trình bày trong bảng dưới đây:

Bảng E.1 - Các trường hợp kiểm thử đối với hàm đăng nhập

Trường hợp kiểm

thử

Đầu vào

Đường điHạng mục

bao phủ kiểm thử

Kết quả mong đợiTên đăng

nhập

T/g chờ nhập tên

đăng nhập (giây)

Mật khẩu

T/g chờ nhập mật

khẩu (giây)

1 Andy ≤ 20 Warhol ≤ 20 B1B2B3B4

B5B7

TCOVER1,

TCOVER2,

TCOVER4,

TCOVER6,

TCOVER9

Đăng nhập được

2 InVaLiD

Andy

≤ 20

≤ 20

-

InVaLiD

Warhol

-

≤ 20

≥ 21

B1B2B3B2

B3B4B5

B4B5B6

TCOVER1, TCOVER2, TCOVER3, TCOVER4, TCOVER6,

TCOVER7, TCOVER8

Hệ thống bị khóa

3 Brandy ≥ 21 - B1B2B3B6 TCOVER1, TCOVER2, TCOVER5

Hệ thống bị khóa

E.1.2.6 Bước 5: Tập hợp các bộ kiểm thử (TD5)Vì chỉ có ba trường hợp kiểm thử được tạo ra ở bảng trên, nên có kết hợp chúng vào trong một bộ kiểm thử dưới đây:

TS1: Các trường hợp kiểm thử 1, 2 và 3.

E.1.2.7 Bước 6: Xác định các thủ tục kiểm thử (TD6)Vì chỉ có ba trường hợp kiểm thử và một bộ kiểm thử, nên có thể xác định được một thủ tục kiểm thử dưới đây:

TP1: Bao gồm tất cả các trường hợp kiểm thử trong bộ kiểm thử TS1, theo thứ tự quy định trong bộ kiểm thử.

E.1.2.8 Độ bao phủ kiểm thử nhánhSử dụng công thức đã nêu trong điều 6.3.2 và các hạng mục bao phủ kiểm thử được xác định ở trên, ta có:

Đ ộbao phủ (kiể mthử nhánh )=99

x100%=100%

Như vậy, độ bao phủ các hạng mục bao phủ kiểm thử nhánh đạt được là 100%

141

Page 142: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Phụ lục F(Tham khảo)

Hiệu quả bao phủ của kỹ thuật thiết kế kiểm thửF.1 Hiệu quả bao phủ của kỹ thuật thiết kế kiểm thửF.1.1 Hướng dẫnTiêu chuẩn này không cung cấp hướng dẫn về việc lựa chon các kỹ thuật thiết kế kiểm thử hoặc điều kiện kết thúc kiểm thử, ngoại trừ những hướng dẫn được lựa chon từ điều 5 và 6. Lý do chính là không có sự đồng thuận về những kỹ thuật và tiêu chí mà có hiệu quả nhất. Chỉ có sự đồng thuận duy nhất là việc lựa chon phải khác nhau vì nó phụ thuộc vào một số yếu tố như rủi ro, lĩnh vực ứng dụng và chi phí. Nghiên cứu về hiệu quả của các kỹ thuật thiết kế và kiểm thử và phương pháp tính độ bao phủ kiểm thử đã không đưa ra các kết quả rõ ràng.

Không yêu cầu nào được đưa ra khi lựa chon các phương pháp thiết kế trường hợp kiểm thử và các phương pháp tính độ bao phủ kiểm thử tương ứng. Các kỹ thuật thiết kế kiểm thử dựa trên đặc tả rất hiệu quả trong việc phát hiện các lỗi bỏ sót các yêu cầu (errors of omission), trong khi các kỹ thuật thiết kế kiểm thử dựa trên cấu trúc chỉ có thể phát hiện lỗi sai yêu cầu (errors of commission). Vì vậy, bản kế hoạch kiểm thử thường yêu cầu phải sử dụng kỹ thuật phân tích giá trị biên để tạo ra một bộ các trường hợp kiểm thử đầu tiên trong khi vẫn phải đạt được 100% độ bao phủ nhánh. Phương pháp kết hợp này có thể phải sử dụng kiểm thử nhánh để tạo ra bất kỳ trường hợp kiểm thử bổ sung nào để đạt được bao phủ của moi nhánh bị bỏ qua bởi bộ các trường hợp kiểm thử phân tích giá trị biên.

Lý tưởng là độ bao phủ kiểm thử được chon làm điều kiện kết thúc kiểm thử sẽ đạt 100%. Các định nghĩa chặt chẽ về các mức bao phủ kiểm thử đôi khi làm cho mức độ bao phủ kiểm thử này không thể tính được, tuy nhiên các định nghĩa nêu trong điều 6 cho phép các hạng mục bao phủ không cần tính toán mà vẫn đạt mức độ bao phủ 100%.

Với điều kiện kết thúc kiểm thử 100% (và chỉ có 100%) có thể sắp xếp chúng theo một thứ tự, nếu các tiêu chí được trình bày xếp vào hoặc bao gồm các tiêu chí khác. Một tiêu chí được xếp vào loại tiêu chí khác nếu đối với tất cả hạng mục kiểm thử và các cơ sở kiểm thử của chúng, moi trường hợp kiểm thử đáp ứng các tiêu chí đầu tiên cũng sẽ đáp ứng tiêu chí thứ hai. Ví dụ, bao phủ nhánh được xếp vào loại bao phủ câu lệnh vì nếu bao phủ nhánh đạt được độ bao phủ (100%) thì độ bao phủ câu lệnh cũng sẽ đạt được độ bao phủ 100%.

Cần lưu ý rằng mối quan hệ "ghép" được mô tả ở đây liên kết chặt chẽ với các tiêu chí bao phủ kiểm thử (chứ không phải là kỹ thuật thiết kế kiểm thử) và do đó chỉ thể hiện hiệu quả tương đối của các kỹ thuật thiết kế kiểm thử.

Không phải tất cả các tiêu chí bao phủ kiểm thử có thể liên hệ với nhau bằng cách sắp xếp ghép và các tiêu chí dựa trên đặc tả và các tiêu chí dựa trên cấu trúc không liên quan gì với nhau. Sự sắp xếp thứ tự của tiêu chí bao phủ kiểm thử dựa trên cấu trúc được minh hoa trong Hình F.1 dưới đây, trong đó mũi tên đi từ tiêu chí này đến tiêu chí khác chỉ ra rằng tiêu chí thứ nhất có thể ghép vào tiêu chí thứ hai. Nếu tiêu chí bao phủ kiểm thử không xuất hiện theo thứ tự thì nó không liên hệ ghép tới bất kỳ tiêu chí nào.

142

Page 143: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

BCC

Trong đó:AU:Bao phủ tất cả các sử dụng biếnACU:Bao phủ tất cả các c-useADU:Bao phủ tất cả các đường định nghĩa – sử dụngAPU:Bao phủ tất cả các p-useBD:Bao phủ quyết định/ nhánhBC:Bao phủ điều kiện nhánhBCC:Bao phủ kết hợp điều kiện nhánhMCDC: Bao phủ quyết định điều kiện kết hợp nâng caoS:Bao phủ câu lệnh

MCDC

BC

BD

S

All Paths

AU

ACU

ADU

APU

TCVN xxxx-4:2019

Hình F.1 - Sự sắp xếp thứ tự các tiêu chí bao phủ kiểm thử dựa trên cấu trúc (Reid 1996)Mặc dù việc sắp xếp dễ hiểu nhưng mối quan hệ ghép có một số hạn chế cần được xem xét trước khi sử dụng nó để chon lựa tiêu chí kết thúc kiểm thử:

- Thứ nhất nó chỉ liên quan đến một tập con các tiêu chí kết thúc kiểm thử có sẵn và tập con này không mang tính hiệu quả cao, vì vậy các tiêu chí khác không được trình bày trong hình trên vẫn cần được xem xét.

- Thứ hai, mối quan hệ ghép không cung cấp phương pháp mà một tiêu chí ghép với một tiêu khác và do đó cũng không cung cấp bất kỳ phương pháp hiệu quả có giá trị nào.

- Thứ ba, sự xắp thứ tự các tiêu chí bao phủ chỉ áp dụng đối với một tiêu chí trong khi người ta khuyến cáo rằng có thể áp dụng đối với nhiều hơn một tiêu chí được sử dụng, có ít nhất một tiêu chí bao phủ kiểm thử dựa trên chức năng và một tiêu chí bao phủ kiểm thử dựa trên cấu trúc.

- Cuối cùng và quan trong nhất, quan hệ ghép không nhất thiết phải đặt tiêu chí kết thúc kiểm thử theo khả năng xuất hiện các lỗi (hiệu quả kiểm thử của nó). Ví dụ, đối với một số hạng mục kiểm thử, để đạt được 100% độ bao phủ đường đi có thể không có hiệu quả bằng một số các tiêu chí mà nó ghép vào, chẳng hạn những tiêu chí có liên quan với luồng dữ liệu. Bởi vì một vài lỗi là nhạy cảm với số liệu và sẽ không được phát hiện ra bằng cách đơn giản là thực thi đường đi của chúng và cũng đòi hỏi các biến mang một giá trị riêng (ví dụ sự phân chia "không được bảo vệ" bởi một biến số nguyên có thể có một lỗi lớn trong một hạng mục kiểm thử mà chỉ không đạt nếu biến đó mang một giá trị âm). Việc thỏa mãn các tiêu chí luồng dữ liệu có thể tập trung việc kiểm thử vào các khía cạnh của một hành vi của một hạng mục kiểm thử, nhờ đó tăng khả năng bộc lộ những lỗi này. Người ta chỉ ra rằng trong một số trường hợp hiệu quả kiểm thử được tăng lên bằng cách kiểm thử một tập con các đường đi quy định theo một tiêu chí cụ thể nhưng thực hiện tập con này với nhiều trường hợp kiểm thử hơn.

Các mối quan hệ ghép phụ thuộc nhiều vào định nghĩa của độ bao phủ đối với một tiêu chí, mặc dù hình trên là đúng với các định nghĩa tại điều 5 nhưng nó không thể áp dụng cho các định nghĩa khác được sử dụng ở các phần khác.

143

Page 144: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Phụ lục G(Tham khảo)

Đối chiếu kỹ thuật thiết kế kiểm thử trong tiêu chuẩn này với BS 7925-2

Phụ lục này đối chiếu các kỹ thuật thiết kế kiểm thử của tiêu chuẩn này và tiêu chuẩn BS 7925-2

Bảng G.1 - Ánh xạ các kỹ thuật thiết kế kiểm thử trong BS 7925-2:1998 đến tiêu chuẩn này (ISO/IEC/IEEE 29119-4:2015)

BS 7925-2:1998 ISO/IEC/IEEE 29119-4:2015Các kỹ thuật thiết kế kiểm thử

3.1 Phân vùng tương đương 5.2.1 Phân vùng tương đương

3.2 Phân tích giá trị biên 5.2.3 Phân tích giá trị biên

3.3 Kiểm thử chuyển đổi trạng thái 5.2.8 Kiểm thử chuyển đổi trạng thái

3.4 Đồ thị nguyên nhân - kết quả 5.2.7 Đồ thị nguyên nhân - kết quả

3.5 Kiểm thử cú pháp 5.2.4 Kiểm thử cú pháp

3.6 Kiểm thử câu lệnh 5.3.1 Kiểm thử câu lệnh

3.7

Kiểm thử nhánh/ kiểm thử dựa trên bảng quyết định

5.3.2 Kiểm thử nhánh

5.3.3 Kiểm thử dựa trên bảng quyết định

3.8 Kiểm thử luồng dữ liệu 5.3.7 Kiểm thử luồng dữ liệu

3.9 Kiểm thử điều kiện nhánh 5.3.4 Kiểm thử điều kiện nhánh

3.10 Kiểm thử kết hợp điều nhánh 5.3.5 Kiểm thử kết hợp điều nhánh

3.11 Kiểm thử quyết định điều kiện kết hợp nâng cao

5.3.6 Kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)

3.13 Kiểm thử ngẫu nhiên 5.2.10 Kiểm thử ngẫu nhiên

Phương pháp tính độ bao phủ kiểm thử

3.1 Độ bao phủ phân vùng tương đương

6.2.2 Độ bao phủ phân vùng tương đương

3.2 Độ bao phủ phân tích giá trị biên 6.2.3 Độ bao phủ phân tích giá trị biên

3.3 Độ bao phủ chuyển đổi trạng thái 6.2.8 Độ bao phủ kiểm thử chuyển đổi trạng thái

3.4 Độ bao phủ nguyên nhân - kết quả

6.2.7 Độ bao phủ đồ thị nguyên nhân - kết quả

3.5 Độ bao phủ cú pháp 6.2.4 Độ bao phủ kiểm thử cú pháp

3.6 Độ bao phủ câu lệnh 6.3.1 Độ bao phủ kiểm thử câu lệnh

3.7 Độ bao phủ quyết định và nhánh

6.3.2 Độ bao phủ kiểm thử nhánh

6.3.3 Độ bao phủ kiểm thử dựa trên bảng quyết định

3.8 Độ bao phủ luồng dữ liệu 6.3.7 Độ bao phủ kiểm thử luồng dữ liệu

3.9 Độ bao phủ điều kiện nhánh 6.3.4 Độ bao phủ kiểm thử điều kiện nhánh

3.10 Độ bao phủ kết hợp điều kiện nhánh

6.3.5 Độ bao phủ kiểm thử kết hợp điều nhánh

3.11 Độ bao phủ quyết định điều kiện 6. 3.6 Độ bao phủ kiểm thử quyết định điều kiện

144

Page 145: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

BS 7925-2:1998 ISO/IEC/IEEE 29119-4:2015thay đổi thay đổi (MCDC)

3.13 Kiểm thử ngẫu nhiên 6.2.10 Độ bao phủ kiểm thử ngẫu nhiên

Hướng dẫn áp dụng các kỹ thuật đo và thiết kế kiểm thử

B.1 Phân vùng tương đương B.2.1 Phân vùng tương đương

B.2 Phân tích giá trị biên B.2.3 Phân tích giá trị biên

B.3 Kiểm thử chuyển đổi trạng thái B.2.8 Kiểm thử chuyển đổi trạng thái

B.4 Đồ thị nguyên nhân - kết quả B.2.7 Đồ thị nguyên nhân - kết quả

B.5 Kiểm thử cú pháp B.2.4 Kiểm thử cú pháp

B.6 Kiểm thử câu lệnh C.2.1 Kiểm thử câu lệnh

B.7 Kiểm thử nhánh/ kiểm thử dựa trên bảng quyết định

C.2.2 Kiểm thử nhánh/ kiểm thử dựa trên bảng quyết định

B.8 Kiểm thử luồng dữ liệu C.2.4 Kiểm thử luồng dữ liệu

B.9 Kiểm thử điều kiện nhánh

C.2.3

Kiểm thử điều kiện nhánh, Kiểm thử kết hợp điều nhánh và kiểm thử bao phủ quyết định điều kiện thay đổi (kiểm thử MCDC)B.10 Kiểm thử kết hợp điều nhánh

B.11 Kiểm thử quyết định điều kiện thay đổi

B.13 Kiểm thử ngẫu nhiên B.2.10 Kiểm thử ngẫu nhiên

Những hiệu quả của kỹ thuật kiểm thử

Phụ lục C

Hiệu quả của các kỹ thuật kiểm thử

Phụ lục F

Hiệu quả bao phủ kỹ thuật kiểm thử

145

Page 146: Lời nói đầu€¦ · Web viewVí dụ 3: Kỹ thuật phân tích giá trị biên có thể được sử dụng để lựa chọn các giá trị đầu vào kiểm thử,

TCVN xxxx-4:2019

Thư mục tài liệu tham khảo

[1] ISO/IEC/IEEE 29119-4:2015, Software and systems engineering -Software testing - Part 4: Test Techniques (ISO/IEC/IEEE 29119-4:2015, Kỹ thuật hệ thống và phần mềm - Kiểm thử phần mềm - Phần 2: Kỹ thuật kiểm thử).

146