Câu hỏi:
18/08/2024 1,620
Đâu không là công cụ để kiểm thử chương trình?
Đâu không là công cụ để kiểm thử chương trình?
A. Công cụ in biến trung gian.
B. Công cụ sinh các bộ dữ liệu test.
C. Công cụ thống kê dữ liệu
D. Công cụ điểm dừng trong phần mềm soạn thảo lập trình.
Trả lời:
Đáp án đúng là: C
Một số công cụ để kiểm thử chương trình như Công cụ in biến trung gian, công cụ sinh các bộ dữ liệu test, công cụ điểm dừng trong phần mềm soạn thảo lập trình,...
* Một vài phương pháp kiểm thử chương trình
a) Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
Nếu chương trình có lỗi Runtime (đang chạy mà dừng lại), cần quan sát các mã lỗi để kiểm tra vị trí dòng lệnh sinh lỗi này. Từ đó tìm và sửa lỗi.
b) Kiểm thử chương trình với các bộ dữ liệu test
- Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu phụ thuộc đặc thù của bài toán và kết quả đầu ra đã biết trước.
- Cần chú ý:
+ Cần có nhiều bộ test (theo các tiêu chí khác nhau).
+ Cần có bộ test ngẫu nhiên.
+ Cần có bộ test dữ liệu ở vùng biên. Ví dụ dữ liệu đầu vào là cặp (x, y) xác định trên miền [0, 1]. Khi đó cần kiểm tra với bộ dữ liệu biên (0, 0), (0; 1), (1; 0), (1; 1). Thực tế cho thấy lỗi thường phát sinh tại vùng biên hoặc lân cận của biên.
c) In các thông số trung gian
- Bổ sung vào giữa các dòng lệnh câu lệnh print() để in ra biến trung gian, kiểm tra quy trình hay thuật toán.
- Giả sử chương trình có đầu vào là (x1, x2) đầu ra là (a1, a2) nhưng sử sụng biến trung gian (y1, y2). Khi đó bổ sung thêm các dòng lệnh để in ra các giá trị trung gian, từ đó sẽ dễ tìm lỗi hơn.
d) Sử dụng công cụ break point (điểm dừng)
- Công cụ break point cho phép tạo ra các điểm dừng bên trong chương trình. Khi chạy, chương trình sẽ tạm dừng tại các điểm dừng cho phép người kiểm thử có thể quan sát các thông tin khác bên trong chương trình, kiểm tra tính đúng đắn của chương trình.
Xem thêm các bài viết liên quan hay và chi tiết khác:
Lý thuyết Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình
Đáp án đúng là: C
Một số công cụ để kiểm thử chương trình như Công cụ in biến trung gian, công cụ sinh các bộ dữ liệu test, công cụ điểm dừng trong phần mềm soạn thảo lập trình,...
* Một vài phương pháp kiểm thử chương trình
a) Quan sát mã lỗi Runtime và bắt lỗi ngoại lệ
Nếu chương trình có lỗi Runtime (đang chạy mà dừng lại), cần quan sát các mã lỗi để kiểm tra vị trí dòng lệnh sinh lỗi này. Từ đó tìm và sửa lỗi.
b) Kiểm thử chương trình với các bộ dữ liệu test
- Chương trình cần được thử với một số bộ dữ liệu test gồm đầu vào tiêu biểu phụ thuộc đặc thù của bài toán và kết quả đầu ra đã biết trước.
- Cần chú ý:
+ Cần có nhiều bộ test (theo các tiêu chí khác nhau).
+ Cần có bộ test ngẫu nhiên.
+ Cần có bộ test dữ liệu ở vùng biên. Ví dụ dữ liệu đầu vào là cặp (x, y) xác định trên miền [0, 1]. Khi đó cần kiểm tra với bộ dữ liệu biên (0, 0), (0; 1), (1; 0), (1; 1). Thực tế cho thấy lỗi thường phát sinh tại vùng biên hoặc lân cận của biên.
c) In các thông số trung gian
- Bổ sung vào giữa các dòng lệnh câu lệnh print() để in ra biến trung gian, kiểm tra quy trình hay thuật toán.
- Giả sử chương trình có đầu vào là (x1, x2) đầu ra là (a1, a2) nhưng sử sụng biến trung gian (y1, y2). Khi đó bổ sung thêm các dòng lệnh để in ra các giá trị trung gian, từ đó sẽ dễ tìm lỗi hơn.
d) Sử dụng công cụ break point (điểm dừng)
- Công cụ break point cho phép tạo ra các điểm dừng bên trong chương trình. Khi chạy, chương trình sẽ tạm dừng tại các điểm dừng cho phép người kiểm thử có thể quan sát các thông tin khác bên trong chương trình, kiểm tra tính đúng đắn của chương trình.
Xem thêm các bài viết liên quan hay và chi tiết khác:
Lý thuyết Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?
Câu 2:
Chương trình sau mắc lỗi gì?
def func(n)
a, b = 0, 1
while a < n:
print(a, end=' ')
a, b = b, a+b
print()
print(func(1000))
Câu 3:
Chương trình sau nên sửa như thế nào. Chọn phương án đúng nhất.
fruits = ['Banana', 'Apple', 'Lime']
print(fruits[4])
Câu 4:
Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?
Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?
Câu 5:
Chương trình sau có lỗi ở dòng lệnh nào?
n = int(input("Nhập số tự nhiên n: "))
s = ""
for i in range(10):
s = s + i
Chương trình sau có lỗi ở dòng lệnh nào?
n = int(input("Nhập số tự nhiên n: "))
s = ""
for i in range(10):
s = s + i
Câu 6:
Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?
Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào?
Câu 7:
Trong các phát biểu sau, phát biểu nào chưa chính xác về kiểm thử chương trình?
Câu 8:
Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?
>>> fruits = ['Banana', 'Apple', 'Lime']
>>> loud_fruits = [fruit.upper() for fruit in fruits]
>>> print(loud_fruits)
>>> list(enumerate(fruits))
Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?
>>> fruits = ['Banana', 'Apple', 'Lime']
>>> loud_fruits = [fruit.upper() for fruit in fruits]
>>> print(loud_fruits)
>>> list(enumerate(fruits))
Câu 10:
Phát biểu nào sau đây đúng nhất khi nói về các bộ dữ liệu test khi kiểm thử chương trình?
Phát biểu nào sau đây đúng nhất khi nói về các bộ dữ liệu test khi kiểm thử chương trình?
Câu 11:
Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?
Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?
Câu 12:
Số phát biểu đúng trong các phát biểu sau:
1) Cần chú ý nên có nhiều bộ test khi test các bộ dữ liệu.
2) Việc sinh ngẫu nhiên dữ liệu đầu vào trong miền xác định của chương trình làm tăng khả năng tìm lỗi.
3) Thực tế cho thấy ít khi phát sinh lỗi tại các vùng biên hoặc lân cận biên.
4) Không thể sử dụng các lệnh print() để in ra các biến trung gian.
Số phát biểu đúng trong các phát biểu sau:
1) Cần chú ý nên có nhiều bộ test khi test các bộ dữ liệu.
2) Việc sinh ngẫu nhiên dữ liệu đầu vào trong miền xác định của chương trình làm tăng khả năng tìm lỗi.
3) Thực tế cho thấy ít khi phát sinh lỗi tại các vùng biên hoặc lân cận biên.
4) Không thể sử dụng các lệnh print() để in ra các biến trung gian.
Câu 13:
Để tính giá trị trung bình của một danh sách số A, người lập trình đã dùng lệnh gttb = sum(A) / len(A). Những mã lỗi ngoại lệ nào có thể xảy ra ?
Để tính giá trị trung bình của một danh sách số A, người lập trình đã dùng lệnh gttb = sum(A) / len(A). Những mã lỗi ngoại lệ nào có thể xảy ra ?
Câu 14:
Hoàn thành phát biểu sau: “Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai”
Hoàn thành phát biểu sau: “Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích … của chương trình và …, … các lỗi phát sinh trong tương lai”