Các phương pháp dựa trên đặc tả

Một phần của tài liệu Đại cương về công nghệ phần mềm (Trang 100 - 101)

Những phương pháp này cịn được gọi là thử nghiệm chức năng (funchương trìnhional testing), ha thử nghiệm này, người ta khơng chú ý đến chương trình, mà chỉ làm việc với đặc tả chức năng của chương trình. Người ta cĩ thể thiết kế tập dữ liệu thử trước khi viết chương trình.

a) Các thử nghiệm tồn thể (Exhaustive Testing)

Người ta thử nghiệm chương trình với tất cả dữ liệu cĩ thể về mặt lý thuyết, điều này chỉ làm được nếu tập hợp dữ liệu thử là hữu hạn. Thực tế, ngay cả khi tập hợp dữ liệu là hữu hạn thì thời gian thực hiện chương trình cho các thử nghiệm tồn thể là quá lớn trong phần lớn trường hợp.

Ví dụ :

1. Tính √⎯x , với x nguyên giữa 0 và 231

Với thời gian một thử nghiệm là 1s, khi đĩ mất 231 = 2147483648 s. Một năm cĩ 365 x 24 x 3600s = 31536000s.

Vậy thời gian một thực nghiệm tồn thể là ≈ 68 năm. 2. Thử nghiệm phép cộng các sĩ nguyên giữa 0 và 231

Thời gian thử nghiệm một phép cộng là 1 µs. Số lượng dữ liệu là : 231 x 231 = 262 ≈ 9.22 x 1018

Thời gian thử nghiệm tồn thể là trên 292 471 năm.

b) Các thử nghiệm bởi các lớp tương đương (Equivalence partioning)

Nguyên lý : Phân hoạch tập hợp dữ liệu thành một số hữu hạn lớp và lựa một phân tử (hay một mẫu phân tử) trong mỗi lớp. Người ta đặt trong cùng một lớp các

Chú ý cần thử nghiệm các dữ liệu nằm ở phạm vi giáp ranh giữa các lớp tương đương để phát hiện các lỗi sai kiểu ≤ thường lẫn với <, v.v . . .

c) Thử nghiệm định hướng bởi cú pháp (Syntax Controlled Testing)

Khi dữ liệu là tập hợp các chuỗi ký tự (các ngơn ngữ lập trình), chúng được đặc tả bởi các ơtomat hữu hạn, hoặc bởi các văn phạm phi ngữ cảnh.

Ví dụ, nếu phần mềm được thử nghiệm cĩ tính tương tác qua lại, như các hệ điều hành, thì tập hợp dãy các hành động cĩ thể được định nghĩa bởi một ơtơmat hữu hạn.

Người ta cĩ thể định nghĩa các tập dữ liệu thử phủ các trạng thái đạt được, các cung, các lộ trình cĩ độ dài bị chặn, v.v . . .

Khi tập hợp dữ liệu được định nghĩa bởi một văn phạm vi ngữ cảnh, người ta cĩ thể xây dựng phép thử phủ các quy tắc của văn phạm (mỗi quy tắc được áp dụng ít nhất một lần để tiến hành một thử nghiệm).

Chú ý rằng lúc này, người ta chỉ cĩ thể nhận được dữ liệu đúng, việc nhận được các dữ liệu sai bởi cùng phương pháp cần thiết phải viết một văn phạm sản sinh ra tập hợp các dữ liệu sai, điều này lại là một vấn đề hĩc búa (vì rằng bù của một ngơn ngữ PNC chưa chắc đã là PNC).

d) Các thử nghiệm ngẫu nhiên (Random Testing)

Đây là tập dữ liệu thử sử dụng các dữ liệu lấy ngẫu nhiên, tuân theo luật xác suất, chẳng hạn luật đồng đều, dễ tiến hành nhưng thường là kém hiệu quả.

Một phần của tài liệu Đại cương về công nghệ phần mềm (Trang 100 - 101)

Tải bản đầy đủ (PDF)

(154 trang)