Giả sử một chương trình kiểm thử với 10 bộ dữ liệu cho kết quả 9 lần đúng, 1 lần sai. Chương trình đó là sai hay đúng?
Giả sử em thiết lập chương trình giải bài toán nào đó. Em đã kiếm thử với 10 bộ dữ liệu và tất cả các kết quả đều đúng. Khi đó có thể kết luận chương trình đó đúng hay chưa?
THAM KHẢO!
Dựa trên việc kiểm thử với 10 bộ dữ liệu và tất cả các kết quả đều đúng, em có thể có một sự đánh giá tích cực về độ tin cậy của chương trình, nhưng không thể kết luận chắc chắn rằng chương trình đó đã hoàn toàn đúng.
Lý do là vì 10 bộ dữ liệu kiểm thử không đủ lớn và đa dạng để đảm bảo tính đúng đắn của chương trình trên mọi trường hợp có thể xảy ra trong thực tế. Có thể vẫn tồn tại các trường hợp đặc biệt hoặc dữ liệu đầu vào ngoại lệ mà chương trình chưa xử lý đúng, dẫn đến lỗi ở những bộ dữ liệu khác.
Ở lớp 10, em đã học một số phương pháp kiểm thử chương trình. Em hãy thảo luận với các bạn về các phương pháp kiểm thử sau, nêu ý nghĩa của chúng trong việc đánh giá độ tin cậy và chứng minh tính đúng của chương trình:
1.Tạo các bộ dữ liệu kiểm thử (test) để kiểm tra dữ liệu đầu ra có chính xác hay không.
2.Thiết lập điểm dừng hoặc cho chương trình chạy theo từng lệnh để kiểm tra và tìm ra lỗi (bug) của chương trình.
3.Thực hiện in dữ liệu trung gian trong quá trình kiểm thử để tìm ra lỗi của chương trình (nếu có).
THAM KHẢO!
1.Tạo các bộ dữ liệu kiểm thử để kiểm tra dữ liệu đầu ra: Phương pháp này giúp đánh giá tính chính xác của dữ liệu đầu ra của chương trình. Bằng cách tạo ra các bộ dữ liệu kiểm thử đa dạng và phong phú, ta có thể đảm bảo rằng chương trình hoạt động đúng trên nhiều trường hợp khác nhau, từ đó đánh giá được độ tin cậy của chương trình. Nếu chương trình không đáp ứng được kết quả mong đợi trên các bộ dữ liệu kiểm thử, ta có thể suy ra rằng chương trình chưa hoạt động chính xác hoặc có thể chứa các lỗi còn chưa được phát hiện.
2.Thiết lập điểm dừng hoặc kiểm tra từng lệnh của chương trình: Phương pháp này giúp kiểm tra từng bước thực thi của chương trình, từ đó giúp tìm ra các lỗi hoặc bug của chương trình. Bằng cách dừng chương trình ở các điểm kiểm tra hoặc theo dõi từng lệnh, ta có thể kiểm tra giá trị của các biến, xác nhận tính đúng đắn của các phép tính, kiểm tra điều kiện của các câu lệnh rẽ nhánh, v.v. Nếu phát hiện lỗi trong quá trình này, ta có thể xác định nguyên nhân và sửa chữa chúng.
3.Thực hiện in dữ liệu trung gian trong quá trình kiểm thử: Phương pháp này giúp theo dõi dữ liệu giữa các bước trong quá trình kiểm thử. Bằng cách in ra dữ liệu trung gian, ta có thể xác nhận tính đúng đắn của các giá trị được sử dụng trong chương trình, theo dõi dòng dữ liệu từ đầu vào đến đầu ra của chương trình, từ đó giúp phát hiện và sửa chữa lỗi nếu có. Điều này giúp đảm bảo tính đúng đắn của kết quả của chương trình trong quá trình kiểm thử.
Có một chương trình giải bài toán:“Nhập từ bàn phím hai số thực a và b. Hãy tìm nghiệm của phương trình ax + b = 0”Em hãy nêu một vài bộ dữ liệu kiểm thử để kiểm định tính đúng đắn của chương trình đó.
Test 1:
a=2; b=4
=>-2
Test 2:
a=0; b=0;
=>Vô số nghiệm
Hình 6 là kết quả kiểm thử chương trình ở Hình 4. Em hãy quan sát Hình 6 và cho biết:
a) Lỗi được phát hiện khi thực hiện chương trình với những bộ dữ liệu nào?
b) Câu lệnh nào trực tiếp tạo ra lỗi? Câu lệnh nào liên quan đến lỗi?
c) Nguyên nhân gây ra lỗi này là gì?
Tham khảo!
a) Lỗi được phát hiện khi thực hiện chương trình với bộ dữ liệu Hình 6b: a = 0, b = 2 và Hình 6c: a = 0, b = 0.
b) Câu lệnh trực tiếp tạo ra lỗi là:
Câu lệnh liên quan đến lỗi là:
c) Nguyên nhân gây ra lỗi này là: lỗi logic vì phép chia cho 0 là không xác định.
Thực hành theo các yêu cầu sau:
a) Tạo chương trình ở Hình 4.
b) Chạy thử chương trình với các bộ dữ liệu thử em đã đề xuất ở hoạt động làm của Mục 1 để phát hiện lỗi chương trình.
c) Thực hiện gỡ lỗi để chương trình tính đúng nghiệm của phương trình ax + b = 0 với mọi cặp số a, b.
a) Học sinh tự thực hiện tạo chương trình như Hình 4.
b) Chạy thử với bộ dữ liệu thử: a = 0, b = 2 và a = 0, b = 0.
c) Gỡ lỗi:
Tạo chương trình ở Hình 2, thực hiện kiểm thử, gỡ lỗi để chương trình đưa ra kết quả đúng với mọi cặp số a, b.
- Học sinh tự tạo chương trình theo Hình 2.
- Chương trình đưa ra kết quả sai khi giá trị a, b bằng nhau.
- Gỡ lỗi: Thay đổi đoạn chương trình so sánh hai số a, b với 3 trường hợp như sau
PYTHON
Viết chương trình cho phép người dùng nhập vào 1 list gồm N phần tử
Chương trình sẽ kết thúc khi người dùng nhập "stop"
Kết quả
- Nhập "stop" khi muốn dừng
- Nhập dữ liệu:2
- Nhập dữ liệu:4
- Nhập dữ liệu:6
- Nhập dữ liệu:8
- Nhập dữ liệu:10
- Nhập dữ liệu: stop
-Kết thúc chương trình; ['2', '4', '6', '8', '10']
Giúp em với ạ, em đang cần gấp
Đọc dữ liệu từ tập và tổ chức dữ liệu trong chương trình. Viết chương trình thực hiện hàm nhapTuTep và chạy thử kiểm tra. Hướng dẫn thực hiện:
- Tạo tập dữ liệu đầu vào Một cách đơn giản là cắt dán cả khối ô cần thiết từ cửa số phần mềm bảng tính điện tử vào tập đang soạn thảo trong IDE của Python. Lưu thành tập có đuôi tên "txt". Để tiện trình bày, ta đặt tên tập đầu vào, ví dụ là “bangDiem.txt". Bổ sung thêm vào dòng đầu tiên của tập hai số nguyên dương a, x là số học sinh và số môn học.
- Mo lepo che do "doc":
- Viết các câu lệnh đọc dữ liệu từ tập kế thừa, sử dụng các câu lệnh đã viết trong các bài thực hành về cấu trúc mảng một và hai chiều. Kết quả đầu ra:
Tham khảo:
+ Danh sách tenfES: từ cột Tên của bangDiem
+ Danh sách tenlfon từ hàng tên cột của bangDiem.
+ Mảng hai chiều n - m, mỗi hàng là dãy điểm của một học sinh.
Đóng tập sau khi đọc xong.
Hãy sắp xếp các việc dưới đây theo trình tự để phát hiện, gỡ lỗi chương trình.
A. Xây dựng bộ dữ liệu thử với các tình huống có thể xảy ra khi đưa chương trình vào sử dụng.
B. Tìm câu lệnh, cấu trúc điều khiển gây ra lỗi.
C. Thực hiện chương trình với các bộ dữ liệu thử.
D. Sửa lỗi cho chương trình.
E. Xác định nguyên nhân gây lỗi.
Sắp xếp theo trình tự, lần lượt sẽ là : A-C-B-E-D.