Em hãy chạy chương trình với các bộ dữ liệu kiểm thử để kiểm tra tính đúng đắn của sơ đồ vừa tạo.
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
Ở 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ử.
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:
Đọ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.
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?
Dựa trên kết quả của 10 bộ dữ liệu kiểm thử, với 9 lần đúng và 1 lần sai, không thể kết luận chương trình đó là đúng hoặc sai một cách chắc chắn. Kết quả này chỉ cho thấy chương trình có khả năng hoạt động chính xác trên hầu hết các trường hợp, nhưng vẫn có một trường hợp đặc biệt nào đó mà chương trình không xử lý đúng.
Việc phát hiện được một lỗi trong 1 lần kiểm thử không đồng nghĩa với việc chương trình đó là sai. Có thể có nhiều nguyên nhân dẫn đến kết quả sai trong lần kiểm thử đó, chẳng hạn như dữ liệu đầu vào đặc biệt, điều kiện biên, hay một vấn đề trong việc cấu hình môi trường kiểm thử.
Vì vậy, để đưa ra đánh giá chính xác về tính đúng của chương trình, cần phải tiếp tục kiểm thử với nhiều bộ dữ liệu kiểm thử khác nhau, đánh giá kết quả và phân tích sâu hơn về nguyên nhân của lỗi nếu có. Sau đó, cần tiến hành sửa chữa lỗi và thực hiện kiểm thử lại để đảm bảo tính đúng đắn của chương trình trước khi có thể kết luận chương trình là đúng hoặc sai.
THAM KHẢO!
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.
Vân muốn kiểm tra nhận định “Các bạn học sinh nam yêu thích các chương trình thể thao hơn các bạn nữ”.
Hãy lập bảng hỏi và thu thập dữ liệu để kiểm tra nhận định này.
Giới tính:…
Khoanh tròn vào ý kiến của bạn
Bạn có thích các chương trình thể thao không: Có Không
Hãy xây dựng các bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n! với n là một số nguyên dương nhập từ bàn phím.
n=int(input(“nhập số n:”))
if n>0:
giaithua=1
for i in range(1,n+1):
giaithua = giaithua*i
print(n,”giai thừa bằng:”,giaithua)
Dưới đây là một số bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n!:
Số nguyên dương: n = 5 Kết quả mong đợi: 5! = 120
Số nguyên âm: n = -3 Kết quả mong đợi: Lỗi - Số nguyên dương được yêu cầu
Số 0: n = 0 Kết quả mong đợi: Lỗi - Số nguyên dương được yêu cầu
Số nguyên lớn: n = 10 Kết quả mong đợi: 10! = 3628800
Số chẵn: n = 6 Kết quả mong đợi: 6! = 720
Số lẻ: n = 7 Kết quả mong đợi: 7! = 5040
Số nguyên tối đa: n = 12 Kết quả mong đợi: 12! = 479001600
Số nguyên tối thiểu: n = 1 Kết quả mong đợi: 1! = 1
Số nguyên dương lớn nhất: n = 999 Kết quả mong đợi: Kết quả chưa đúng do số quá lớn vượt quá giới hạn của kiểu dữ liệu int
Số nhập không phải số nguyên: n = "abc" Kết quả mong đợi: Lỗi - Số nguyên dương được yêu cầu
Những bộ dữ liệu này giúp kiểm thử chương trình với các trường hợp đặc biệt và tiềm ẩn lỗi, như số âm, số 0, số nguyên tối đa, số nhập không phải số nguyên, giúp đảm bảo tính đúng đắn và hoạt động ổn định của chương trình tính n!.
tham khảo!
Giúp em với đánh code trên python ạ Viết chương trình 3 số tự nhiên day, month, year nghĩa là ngày, tháng, năm tương ứng. Kiểm tra xem bộ dữ liệu nhập hợp lí hay không.
Em hãy khám phá các phép toán cơ sở với mảng trong Python, sao chép lại và chạy thử các câu lệnh ở Hình 3 và Hình 4; thêm dẫn từng dòng lệnh, sau đó thực hiện các công việc sau:
1) Đoán trước kết quả và chạy chương trình để kiểm tra.
2) Xem kết quả và cho biết có sự tương tự giữa mảng với danh sách hay không.
Tham khảo:
1) Đoán trước kết quả và chạy chương trình để kiểm tra.
In ra 8. 0
2) Xem kết quả và cho biết có sự tương tự giữa mảng với danh sách hay không.