btvn.vn
Tìm kiếm Đăng nhập

Lập bộ dữ liệu kiểm thử có kết quả mong đợi

Lưu trên thiết bị này
Lỗi và kiểm thử chương trình Python · Chọn bài khác

Mỗi bộ thử cần một kết quả để đối chiếu

Giả sử quy tắc **giả định**: điểm từ 50 trở lên là “Đạt”, dưới 50 là “Chưa đạt”. Viết hàm đúng và chạy với các giá trị quanh mốc: ```python def xep(diem): if diem >= 50: return "Đạt" return "Chưa đạt" for diem in [49, 50, 51]: print(diem, xep(diem)) ``` Kết quả cần là `49 Chưa đạt`, `50 Đạt`, `51 Đạt`. Nếu nhầm `>=` thành `>`, ca 49 và 51 vẫn đúng nhưng ca **50** sai. Vì vậy bảng thử phải có giá trị ngay tại mốc, không chỉ những giá trị cách xa. Đây là ngưỡng của ví dụ lập trình, không phải quy chế điểm thật.

Bài luyện

Với quy tắc giả định từ 50 trở lên là Đạt, bộ nào dễ phát hiện lỗi viết `>` thay `>=`?
Chọn một đáp án

Bài luyện

Theo mã đúng trong bài, `xep(50)` trả gì?
Chọn một đáp án

Ca thường, ca biên và dữ liệu sai

Một bảng kiểm thử nhỏ cho hàm `xep` nên ghi **đầu vào → kết quả mong đợi → kết quả chạy**. Có thể thử 20→Chưa đạt, 49→Chưa đạt, 50→Đạt, 51→Đạt, 90→Đạt. Nếu phạm vi nhận điểm là 0–100, cần quyết định rõ cách xử lí -1, 101 hoặc xâu chữ; hàm đơn giản trong bài **chưa kiểm phạm vi hay kiểu**, nên không gọi nó là chương trình nhập điểm hoàn chỉnh. Một số ca đạt làm tăng tin cậy nhưng không chứng minh chương trình đúng cho mọi đầu vào. Khi phát hiện một ca sai, cần lưu chính ca đó để kiểm lại sau khi sửa.

Bài luyện

Nếu hàm `xep` trong bài nhận 101, kết luận nào đúng?
Chọn một đáp án

Bài luyện

Vài bộ kiểm thử đều đúng cho phép kết luận gì?
Chọn một đáp án

Đang học