15+ Đề Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn nào mà kiểm thử và đánh giá chương trình đóng vai trò quan trọng nhất trong việc đảm bảo chất lượng sản phẩm cuối cùng?

  • A. Giai đoạn phân tích yêu cầu
  • B. Giai đoạn thiết kế hệ thống
  • C. Giai đoạn lập trình (coding)
  • D. Giai đoạn nghiệm thu và triển khai

Câu 2: Một nhóm phát triển phần mềm quyết định chỉ sử dụng phương pháp kiểm thử hộp đen (black-box testing). Hạn chế lớn nhất của phương pháp này là gì?

  • A. Tốn kém nhiều thời gian và nguồn lực
  • B. Có thể bỏ sót các lỗi liên quan đến cấu trúc bên trong và logic mã nguồn
  • C. Khó xác định được bộ dữ liệu kiểm thử phù hợp
  • D. Chỉ phù hợp với các chương trình nhỏ và đơn giản

Câu 3: Để đánh giá hiệu quả của thuật toán sắp xếp trộn (merge sort) so với thuật toán sắp xếp nổi bọt (bubble sort) khi xử lý một lượng lớn dữ liệu (ví dụ, 1 triệu phần tử), tiêu chí nào sau đây là quan trọng nhất để so sánh?

  • A. Độ phức tạp thời gian trung bình và trường hợp xấu nhất
  • B. Độ phức tạp không gian sử dụng
  • C. Tính dễ cài đặt và bảo trì mã nguồn
  • D. Số dòng code cần thiết để cài đặt thuật toán

Câu 4: Trong tình huống nào, việc sử dụng phương pháp chứng minh tính đúng đắn của thuật toán bằng lôgic toán học trở nên đặc biệt quan trọng và cần thiết hơn so với kiểm thử bằng bộ dữ liệu?

  • A. Khi chương trình có giao diện người dùng phức tạp
  • B. Khi thời gian phát triển chương trình bị hạn chế
  • C. Khi chương trình được sử dụng trong các hệ thống quan trọng, ví dụ như điều khiển máy bay hoặc thiết bị y tế
  • D. Khi chương trình cần chạy trên nhiều nền tảng hệ điều hành khác nhau

Câu 5: Giả sử bạn có một chương trình tính toán thuế thu nhập cá nhân. Bạn thiết kế một bộ dữ liệu kiểm thử bao gồm các trường hợp thu nhập khác nhau (từ thấp đến cao), các khoản giảm trừ khác nhau, và các tình huống đặc biệt (ví dụ, người phụ thuộc, thu nhập từ nhiều nguồn). Mục tiêu chính của việc thiết kế bộ dữ liệu kiểm thử đa dạng này là gì?

  • A. Đảm bảo chương trình chạy nhanh hơn
  • B. Tăng khả năng phát hiện lỗi trong nhiều tình huống và điều kiện khác nhau
  • C. Giảm dung lượng bộ nhớ chương trình sử dụng
  • D. Làm cho mã nguồn chương trình dễ đọc và dễ hiểu hơn

Câu 6: Trong kiểm thử phần mềm, khái niệm "độ bao phủ mã" (code coverage) dùng để chỉ điều gì?

  • A. Số lượng lỗi được phát hiện trên một đơn vị mã nguồn
  • B. Mức độ chi tiết của tài liệu đặc tả yêu cầu phần mềm
  • C. Phần trăm mã nguồn đã được thực thi bởi bộ dữ liệu kiểm thử
  • D. Thời gian cần thiết để kiểm thử toàn bộ chương trình

Câu 7: Xét một thuật toán tìm kiếm nhị phân (binary search). Để chứng minh tính đúng đắn của thuật toán này, phương pháp lập luận logic nào thường được sử dụng?

  • A. Kiểm thử bằng bộ dữ liệu biên
  • B. Phân tích trường hợp xấu nhất
  • C. Sử dụng phương pháp quy nạp toán học trực tiếp
  • D. Sử dụng bất biến vòng lặp để đảm bảo điều kiện đúng sau mỗi bước lặp

Câu 8: Khi đánh giá độ phức tạp thời gian của một thuật toán, chúng ta thường quan tâm đến trường hợp nào nhất?

  • A. Trường hợp trung bình
  • B. Trường hợp xấu nhất
  • C. Trường hợp tốt nhất
  • D. Trường hợp điển hình

Câu 9: Lợi ích chính của việc kiểm thử chương trình thường xuyên và liên tục trong suốt quá trình phát triển phần mềm (ví dụ, kiểm thử hồi quy - regression testing) là gì?

  • A. Giảm chi phí phát triển phần mềm ban đầu
  • B. Tăng tốc độ phát triển các tính năng mới
  • C. Đảm bảo rằng các thay đổi mới không gây ra lỗi cho các chức năng đã hoạt động ổn định trước đó
  • D. Giúp tài liệu hóa mã nguồn chương trình tốt hơn

Câu 10: Trong ngữ cảnh kiểm thử chương trình, "test case" (trường hợp kiểm thử) bao gồm những thành phần chính nào?

  • A. Dữ liệu đầu vào, điều kiện thực hiện, và kết quả mong đợi
  • B. Mô tả lỗi, mức độ nghiêm trọng, và người phát hiện lỗi
  • C. Tên module kiểm thử, người thực hiện kiểm thử, và ngày kiểm thử
  • D. Mục tiêu kiểm thử, phương pháp kiểm thử, và công cụ kiểm thử sử dụng

Câu 11: Khi phân tích độ phức tạp không gian của thuật toán, yếu tố nào sau đây thường được xem xét?

  • A. Thời gian thực thi thuật toán trên các loại dữ liệu khác nhau
  • B. Lượng bộ nhớ cần thiết để lưu trữ dữ liệu đầu vào và các biến tạm trong quá trình thực thi
  • C. Số lượng phép toán số học và logic mà thuật toán thực hiện
  • D. Độ dài mã nguồn của thuật toán

Câu 12: Trong quy trình kiểm thử, khi nào thì việc kiểm thử "hộp trắng" (white-box testing) được ưu tiên sử dụng hơn so với kiểm thử "hộp đen" (black-box testing)?

  • A. Khi kiểm thử giao diện người dùng của ứng dụng
  • B. Khi kiểm thử hiệu năng của hệ thống
  • C. Khi kiểm thử tích hợp giữa các module khác nhau
  • D. Khi cần kiểm tra chi tiết các nhánh và đường dẫn thực thi trong mã nguồn, ví dụ trong kiểm thử đơn vị

Câu 13: Để so sánh hiệu quả của hai thuật toán giải cùng một bài toán, bạn chạy thử nghiệm cả hai thuật toán với cùng một bộ dữ liệu đầu vào và đo thời gian thực thi. Phương pháp đánh giá này thuộc loại nào?

  • A. Phân tích độ phức tạp thuật toán
  • B. Chứng minh tính đúng đắn của thuật toán
  • C. Đánh giá hiệu năng thực nghiệm
  • D. Kiểm thử chức năng

Câu 14: Một chương trình sau khi sửa lỗi có thể phát sinh lỗi mới ở những khu vực khác. Loại kiểm thử nào giúp phát hiện các lỗi mới phát sinh do sửa đổi mã nguồn?

  • A. Kiểm thử đơn vị (Unit testing)
  • B. Kiểm thử hồi quy (Regression testing)
  • C. Kiểm thử tích hợp (Integration testing)
  • D. Kiểm thử chấp nhận (Acceptance testing)

Câu 15: Trong quá trình kiểm thử hộp đen, kỹ thuật phân vùng tương đương (equivalence partitioning) giúp ích gì?

  • A. Giảm số lượng bộ dữ liệu kiểm thử cần thiết bằng cách chia miền giá trị đầu vào thành các lớp tương đương
  • B. Tăng cường khả năng kiểm tra cấu trúc bên trong của chương trình
  • C. Tự động sinh ra các trường hợp kiểm thử ngẫu nhiên
  • D. Đo lường độ bao phủ mã của bộ dữ liệu kiểm thử

Câu 16: Mục tiêu của việc đánh giá chương trình không chỉ dừng lại ở việc phát hiện lỗi mà còn hướng đến điều gì quan trọng hơn?

  • A. Tối ưu hóa tốc độ thực thi của chương trình
  • B. Giảm thiểu dung lượng bộ nhớ chương trình sử dụng
  • C. Làm cho giao diện người dùng trở nên hấp dẫn hơn
  • D. Đảm bảo chất lượng tổng thể của chương trình, đáp ứng yêu cầu của người dùng và các tiêu chuẩn chất lượng

Câu 17: Trong kiểm thử hiệu năng (performance testing), "stress testing" (kiểm thử chịu tải) được sử dụng để làm gì?

  • A. Đo thời gian phản hồi của hệ thống trong điều kiện sử dụng bình thường
  • B. Kiểm tra tính ổn định của hệ thống khi chạy trong thời gian dài
  • C. Xác định điểm giới hạn chịu tải và khả năng phục hồi của hệ thống khi vượt quá tải
  • D. Đánh giá khả năng mở rộng của hệ thống khi tăng số lượng người dùng

Câu 18: Phương pháp quy nạp toán học được áp dụng để chứng minh tính đúng đắn của thuật toán thường dựa trên nguyên tắc nào?

  • A. Kiểm tra thuật toán với một số lượng lớn các bộ dữ liệu kiểm thử khác nhau
  • B. Chứng minh tính đúng đắn cho trường hợp cơ sở và sau đó chứng minh nếu nó đúng cho trường hợp thứ k thì cũng đúng cho trường hợp thứ k+1
  • C. Phân tích độ phức tạp thời gian và không gian của thuật toán
  • D. Sử dụng các công cụ kiểm thử tự động để tìm kiếm lỗi trong mã nguồn

Câu 19: Khi nào thì việc sử dụng "phương pháp làm mịn dần" (stepwise refinement) trong thiết kế chương trình có thể giúp cho việc kiểm thử và đánh giá chương trình trở nên dễ dàng hơn?

  • A. Khi chương trình có yêu cầu về hiệu năng rất cao
  • B. Khi chương trình cần được phát triển trong thời gian rất ngắn
  • C. Khi chương trình có cấu trúc phức tạp và nhiều module tương tác với nhau
  • D. Khi chương trình cần được bảo mật cao

Câu 20: Trong kiểm thử tích hợp (integration testing), phương pháp "top-down" (từ trên xuống) có ưu điểm gì?

  • A. Dễ dàng kiểm thử các module ở mức độ thấp trước
  • B. Giúp phát hiện sớm các lỗi liên quan đến giao diện và tương tác giữa các module cấp cao
  • C. Yêu cầu ít stub (module giả lập) hơn so với phương pháp bottom-up
  • D. Phù hợp với các hệ thống có cấu trúc dữ liệu phức tạp

Câu 21: Giả sử bạn viết một hàm tính giai thừa. Để kiểm thử hàm này, bạn nên thiết kế bộ dữ liệu kiểm thử tập trung vào các trường hợp nào?

  • A. Các trường hợp biên (ví dụ, 0, 1) và các giá trị điển hình, cũng như các giá trị lớn để kiểm tra giới hạn
  • B. Chỉ các giá trị ngẫu nhiên trong phạm vi đầu vào dự kiến
  • C. Chỉ các giá trị là số nguyên tố
  • D. Chỉ các giá trị là số chẵn và số lẻ

Câu 22: Trong kiểm thử chương trình, thuật ngữ "bug" (lỗi) và "defect" (sai sót) thường được dùng để chỉ điều gì?

  • A. Các vấn đề liên quan đến hiệu năng của chương trình
  • B. Các lỗi trong tài liệu hướng dẫn sử dụng chương trình
  • C. Các sai sót hoặc lỗi trong mã nguồn chương trình dẫn đến hành vi không đúng
  • D. Các yêu cầu chức năng chưa được thực hiện đầy đủ

Câu 23: Khi đánh giá hiệu quả của thuật toán, tại sao độ phức tạp tính toán lại quan trọng hơn thời gian chạy thực tế trên một máy tính cụ thể?

  • A. Thời gian chạy thực tế dễ đo lường hơn độ phức tạp tính toán
  • B. Độ phức tạp tính toán không phản ánh đúng hiệu năng của thuật toán trong thực tế
  • C. Thời gian chạy thực tế phụ thuộc vào ngôn ngữ lập trình và trình biên dịch
  • D. Độ phức tạp tính toán cho biết cách thời gian hoặc không gian tăng lên theo kích thước đầu vào một cách tổng quát, không phụ thuộc vào phần cứng cụ thể

Câu 24: Trong kiểm thử chấp nhận (acceptance testing), ai là người chịu trách nhiệm chính trong việc xác định chương trình có đạt yêu cầu và có thể được chấp nhận hay không?

  • A. Nhóm phát triển phần mềm
  • B. Khách hàng hoặc người dùng cuối
  • C. Nhóm kiểm thử chất lượng (QA)
  • D. Quản lý dự án

Câu 25: Để cải thiện độ tin cậy của chương trình, ngoài việc kiểm thử và sửa lỗi, biện pháp nào sau đây cũng rất quan trọng?

  • A. Tăng cường tài liệu hướng dẫn sử dụng chương trình
  • B. Tối ưu hóa giao diện người dùng
  • C. Áp dụng các nguyên tắc thiết kế chương trình tốt và quy trình phát triển phần mềm chất lượng
  • D. Sử dụng ngôn ngữ lập trình mới nhất

Câu 26: Trong kiểm thử hộp trắng, kỹ thuật "kiểm thử đường dẫn cơ bản" (basis path testing) tập trung vào việc gì?

  • A. Kiểm tra tất cả các biến và cấu trúc dữ liệu
  • B. Kiểm tra tất cả các vòng lặp với số lần lặp khác nhau
  • C. Kiểm tra tất cả các trường hợp lỗi có thể xảy ra
  • D. Đảm bảo rằng mỗi đường dẫn độc lập trong mã nguồn được thực thi ít nhất một lần

Câu 27: Giả sử bạn có một thuật toán với độ phức tạp thời gian O(n^2). Nếu kích thước dữ liệu đầu vào tăng gấp đôi, thời gian thực thi của thuật toán sẽ tăng lên khoảng bao nhiêu lần?

  • A. Gấp đôi
  • B. Gấp bốn
  • C. Không đổi
  • D. Tăng theo hàm mũ

Câu 28: Trong môi trường phát triển phần mềm Agile, kiểm thử thường được thực hiện ở giai đoạn nào?

  • A. Liên tục và song song với quá trình phát triển, trong mỗi sprint
  • B. Chỉ được thực hiện sau khi hoàn thành giai đoạn lập trình
  • C. Chỉ được thực hiện trước khi chuyển giao sản phẩm cho khách hàng
  • D. Thực hiện theo từng giai đoạn lớn (ví dụ, kiểm thử hệ thống sau khi kiểm thử đơn vị)

Câu 29: Mục đích chính của việc "đánh giá độ phức tạp thời gian thuật toán" là gì?

  • A. Tìm ra lỗi trong thuật toán
  • B. Chứng minh tính đúng đắn của thuật toán
  • C. So sánh hiệu quả của các thuật toán khác nhau và dự đoán hiệu suất của thuật toán khi kích thước đầu vào tăng lên
  • D. Đo thời gian chạy thực tế của thuật toán trên máy tính

Câu 30: Loại kiểm thử nào tập trung vào việc xác minh rằng chương trình đáp ứng các yêu cầu chức năng đã được xác định?

  • A. Kiểm thử hiệu năng (Performance testing)
  • B. Kiểm thử chức năng (Functional testing)
  • C. Kiểm thử bảo mật (Security testing)
  • D. Kiểm thử khả năng sử dụng (Usability testing)

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn nào mà kiểm thử và đánh giá chương trình đóng vai trò quan trọng nhất trong việc đảm bảo chất lượng sản phẩm cuối cùng?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 2: Một nhóm phát triển phần mềm quyết định chỉ sử dụng phương pháp kiểm thử hộp đen (black-box testing). Hạn chế lớn nhất của phương pháp này là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 3: Để đánh giá hiệu quả của thuật toán sắp xếp trộn (merge sort) so với thuật toán sắp xếp nổi bọt (bubble sort) khi xử lý một lượng lớn dữ liệu (ví dụ, 1 triệu phần tử), tiêu chí nào sau đây là quan trọng nhất để so sánh?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 4: Trong tình huống nào, việc sử dụng phương pháp chứng minh tính đúng đắn của thuật toán bằng lôgic toán học trở nên đặc biệt quan trọng và cần thiết hơn so với kiểm thử bằng bộ dữ liệu?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 5: Giả sử bạn có một chương trình tính toán thuế thu nhập cá nhân. Bạn thiết kế một bộ dữ liệu kiểm thử bao gồm các trường hợp thu nhập khác nhau (từ thấp đến cao), các khoản giảm trừ khác nhau, và các tình huống đặc biệt (ví dụ, người phụ thuộc, thu nhập từ nhiều nguồn). Mục tiêu chính của việc thiết kế bộ dữ liệu kiểm thử đa dạng này là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 6: Trong kiểm thử phần mềm, khái niệm 'độ bao phủ mã' (code coverage) dùng để chỉ điều gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 7: Xét một thuật toán tìm kiếm nhị phân (binary search). Để chứng minh tính đúng đắn của thuật toán này, phương pháp lập luận logic nào thường được sử dụng?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 8: Khi đánh giá độ phức tạp thời gian của một thuật toán, chúng ta thường quan tâm đến trường hợp nào nhất?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 9: Lợi ích chính của việc kiểm thử chương trình thường xuyên và liên tục trong suốt quá trình phát triển phần mềm (ví dụ, kiểm thử hồi quy - regression testing) là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 10: Trong ngữ cảnh kiểm thử chương trình, 'test case' (trường hợp kiểm thử) bao gồm những thành phần chính nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 11: Khi phân tích độ phức tạp không gian của thuật toán, yếu tố nào sau đây thường được xem xét?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 12: Trong quy trình kiểm thử, khi nào thì việc kiểm thử 'hộp trắng' (white-box testing) được ưu tiên sử dụng hơn so với kiểm thử 'hộp đen' (black-box testing)?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 13: Để so sánh hiệu quả của hai thuật toán giải cùng một bài toán, bạn chạy thử nghiệm cả hai thuật toán với cùng một bộ dữ liệu đầu vào và đo thời gian thực thi. Phương pháp đánh giá này thuộc loại nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 14: Một chương trình sau khi sửa lỗi có thể phát sinh lỗi mới ở những khu vực khác. Loại kiểm thử nào giúp phát hiện các lỗi mới phát sinh do sửa đổi mã nguồn?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 15: Trong quá trình kiểm thử hộp đen, kỹ thuật phân vùng tương đương (equivalence partitioning) giúp ích gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 16: Mục tiêu của việc đánh giá chương trình không chỉ dừng lại ở việc phát hiện lỗi mà còn hướng đến điều gì quan trọng hơn?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 17: Trong kiểm thử hiệu năng (performance testing), 'stress testing' (kiểm thử chịu tải) được sử dụng để làm gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 18: Phương pháp quy nạp toán học được áp dụng để chứng minh tính đúng đắn của thuật toán thường dựa trên nguyên tắc nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 19: Khi nào thì việc sử dụng 'phương pháp làm mịn dần' (stepwise refinement) trong thiết kế chương trình có thể giúp cho việc kiểm thử và đánh giá chương trình trở nên dễ dàng hơn?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 20: Trong kiểm thử tích hợp (integration testing), phương pháp 'top-down' (từ trên xuống) có ưu điểm gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 21: Giả sử bạn viết một hàm tính giai thừa. Để kiểm thử hàm này, bạn nên thiết kế bộ dữ liệu kiểm thử tập trung vào các trường hợp nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 22: Trong kiểm thử chương trình, thuật ngữ 'bug' (lỗi) và 'defect' (sai sót) thường được dùng để chỉ điều gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 23: Khi đánh giá hiệu quả của thuật toán, tại sao độ phức tạp tính toán lại quan trọng hơn thời gian chạy thực tế trên một máy tính cụ thể?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 24: Trong kiểm thử chấp nhận (acceptance testing), ai là người chịu trách nhiệm chính trong việc xác định chương trình có đạt yêu cầu và có thể được chấp nhận hay không?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 25: Để cải thiện độ tin cậy của chương trình, ngoài việc kiểm thử và sửa lỗi, biện pháp nào sau đây cũng rất quan trọng?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 26: Trong kiểm thử hộp trắng, kỹ thuật 'kiểm thử đường dẫn cơ bản' (basis path testing) tập trung vào việc gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 27: Giả sử bạn có một thuật toán với độ phức tạp thời gian O(n^2). Nếu kích thước dữ liệu đầu vào tăng gấp đôi, th???i gian thực thi của thuật toán sẽ tăng lên khoảng bao nhiêu lần?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 28: Trong môi trường phát triển phần mềm Agile, kiểm thử thường được thực hiện ở giai đoạn nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 29: Mục đích chính của việc 'đánh giá độ phức tạp thời gian thuật toán' là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 1

Câu 30: Loại kiểm thử nào tập trung vào việc xác minh rằng chương trình đáp ứng các yêu cầu chức năng đã được xác định?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 02 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình kiểm thử hộp đen, người kiểm thử chủ yếu tập trung vào khía cạnh nào của chương trình?

  • A. Cấu trúc mã nguồn và thuật toán bên trong chương trình.
  • B. Chức năng và hành vi của chương trình dựa trên đặc tả yêu cầu.
  • C. Hiệu suất sử dụng bộ nhớ và thời gian thực thi của chương trình.
  • D. Tính dễ đọc và khả năng bảo trì của mã nguồn chương trình.

Câu 2: Phương pháp kiểm thử nào sau đây thường được sử dụng để xác minh rằng một chương trình đáp ứng các yêu cầu chức năng đã định?

  • A. Kiểm thử chức năng (Functional Testing).
  • B. Kiểm thử hiệu năng (Performance Testing).
  • C. Kiểm thử cấu trúc (Structural Testing).
  • D. Kiểm thử tích hợp (Integration Testing).

Câu 3: Giả sử bạn có một hàm tính giai thừa với đầu vào là số nguyên dương n. Để kiểm thử hàm này, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra các trường hợp biên và thông thường?

  • A. {2, 3, 4, 5}
  • B. {10, 20, 30, 40}
  • C. {0, 1, 5, 10, 20}
  • D. {-1, 0, 1, 2}

Câu 4: Khi đánh giá độ phức tạp thời gian của một thuật toán, chúng ta thường quan tâm đến điều gì?

  • A. Thời gian thực thi trung bình của thuật toán trên các bộ dữ liệu ngẫu nhiên.
  • B. Mức độ tăng thời gian thực thi của thuật toán khi kích thước dữ liệu đầu vào tăng lên.
  • C. Thời gian thực thi tốt nhất của thuật toán trong điều kiện lý tưởng.
  • D. Tổng thời gian cần thiết để viết mã và kiểm thử thuật toán.

Câu 5: Trong tình huống nào thì việc tối ưu hóa độ phức tạp không gian (bộ nhớ) của chương trình trở nên đặc biệt quan trọng?

  • A. Khi chương trình cần xử lý dữ liệu với tốc độ cực nhanh.
  • B. Khi chương trình được chạy trên các máy chủ có tài nguyên tính toán lớn.
  • C. Khi chương trình chạy trên các thiết bị di động hoặc hệ thống nhúng với bộ nhớ hạn chế.
  • D. Khi chương trình cần được phát triển và bảo trì một cách nhanh chóng.

Câu 6: Để chứng minh tính đúng đắn của một thuật toán sắp xếp, phương pháp nào sau đây là phù hợp nhất?

  • A. Kiểm thử thuật toán với một lượng lớn dữ liệu ngẫu nhiên.
  • B. So sánh hiệu suất thuật toán với các thuật toán sắp xếp khác.
  • C. Phân tích mã nguồn để tìm ra lỗi tiềm ẩn.
  • D. Sử dụng phương pháp chứng minh bằng quy nạp toán học.

Câu 7: Xét một thuật toán tìm kiếm tuyến tính trong mảng. Trong trường hợp xấu nhất, độ phức tạp thời gian của thuật toán này là bao nhiêu, nếu n là số phần tử của mảng?

  • A. O(log n)
  • B. O(n)
  • C. O(n log n)
  • D. O(1)

Câu 8: Ưu điểm chính của việc sử dụng kiểm thử tự động so với kiểm thử thủ công là gì?

  • A. Kiểm thử tự động có thể tìm ra nhiều loại lỗi phức tạp hơn.
  • B. Kiểm thử tự động đòi hỏi người kiểm thử có chuyên môn cao hơn.
  • C. Kiểm thử tự động giúp tiết kiệm thời gian và giảm thiểu lỗi do con người.
  • D. Kiểm thử tự động luôn đảm bảo độ bao phủ kiểm thử cao hơn.

Câu 9: Khi nào thì kiểm thử hộp trắng (white-box testing) được ưu tiên sử dụng hơn so với kiểm thử hộp đen (black-box testing)?

  • A. Khi cần kiểm tra chi tiết các đường dẫn và cấu trúc bên trong của mã nguồn.
  • B. Khi chỉ có đặc tả yêu cầu chức năng mà không có mã nguồn.
  • C. Khi muốn đánh giá hiệu năng tổng thể của chương trình.
  • D. Khi kiểm thử các giao diện người dùng.

Câu 10: Trong quá trình kiểm thử hồi quy (regression testing), mục tiêu chính là gì?

  • A. Tìm kiếm các lỗi mới trong các chức năng chưa được kiểm thử trước đó.
  • B. Đánh giá hiệu năng của chương trình sau khi cập nhật.
  • C. Kiểm tra tính tương thích của chương trình với môi trường mới.
  • D. Đảm bảo rằng các thay đổi mã nguồn mới không gây ra lỗi cho các chức năng hiện có.

Câu 11: Để kiểm thử một hàm sắp xếp, bạn thiết kế một bộ dữ liệu kiểm thử bao gồm mảng đã được sắp xếp, mảng rỗng và mảng chứa các phần tử trùng lặp. Loại dữ liệu kiểm thử này tập trung vào khía cạnh nào?

  • A. Kiểm thử hiệu năng của thuật toán sắp xếp.
  • B. Kiểm thử các trường hợp biên và các tình huống đặc biệt.
  • C. Kiểm thử tính dễ đọc và bảo trì của mã nguồn.
  • D. Kiểm thử khả năng mở rộng của thuật toán.

Câu 12: Trong phân tích độ phức tạp thuật toán, ký hiệu Big O (O-lớn) thường được sử dụng để mô tả điều gì?

  • A. Thời gian thực thi chính xác của thuật toán trong điều kiện tốt nhất.
  • B. Thời gian thực thi trung bình của thuật toán trên dữ liệu ngẫu nhiên.
  • C. Tốc độ tăng trưởng giới hạn trên của thời gian thực thi hoặc không gian bộ nhớ khi kích thước đầu vào tăng.
  • D. Thời gian thực thi tối ưu của thuật toán khi chạy trên phần cứng mạnh nhất.

Câu 13: Giả sử một thuật toán có độ phức tạp thời gian O(n^2). Nếu kích thước đầu vào tăng gấp đôi, thời gian thực thi dự kiến sẽ tăng lên khoảng bao nhiêu lần?

  • A. 2 lần
  • B. 3 lần
  • C. 2.5 lần
  • D. 4 lần

Câu 14: Phát biểu nào sau đây là đúng về mối quan hệ giữa kiểm thử chương trình và chứng minh tính đúng đắn của thuật toán?

  • A. Kiểm thử chương trình có thể chứng minh tính đúng đắn tuyệt đối của thuật toán.
  • B. Kiểm thử chương trình giúp phát hiện lỗi và tăng độ tin cậy, nhưng không chứng minh được tính đúng đắn của thuật toán cho mọi trường hợp.
  • C. Chứng minh tính đúng đắn của thuật toán là không cần thiết nếu chương trình đã được kiểm thử kỹ lưỡng.
  • D. Kiểm thử chương trình và chứng minh tính đúng đắn của thuật toán là hai phương pháp hoàn toàn tương đương.

Câu 15: Trong quy trình kiểm thử phần mềm, giai đoạn nào thường được thực hiện sau khi giai đoạn phát triển mã nguồn hoàn tất?

  • A. Giai đoạn phân tích yêu cầu.
  • B. Giai đoạn thiết kế hệ thống.
  • C. Giai đoạn kiểm thử và đánh giá.
  • D. Giai đoạn triển khai và bảo trì.

Câu 16: Để đánh giá hiệu quả của thuật toán sắp xếp trộn (Merge Sort) so với sắp xếp chèn (Insertion Sort) trên dữ liệu lớn, tiêu chí nào sau đây là quan trọng nhất?

  • A. Độ phức tạp thời gian trong trường hợp xấu nhất.
  • B. Độ phức tạp không gian sử dụng.
  • C. Tính đơn giản của mã nguồn.
  • D. Số lượng dòng mã cần thiết để cài đặt.

Câu 17: Hãy xem xét đoạn mã sau (giả sử đã hoàn chỉnh và không lỗi cú pháp): `function calculate(n) { if (n < 2) return 1; else return calculate(n-1) + calculate(n-2); }`. Để kiểm thử hàm này, bạn nên tập trung vào loại kiểm thử nào?

  • A. Kiểm thử hiệu năng.
  • B. Kiểm thử bảo mật.
  • C. Kiểm thử giao diện người dùng.
  • D. Kiểm thử chức năng và kiểm thử đơn vị (unit testing).

Câu 18: Trong kiểm thử phần mềm, thuật ngữ "độ bao phủ mã" (code coverage) dùng để chỉ điều gì?

  • A. Số lượng lỗi được phát hiện trên mỗi dòng mã.
  • B. Phần trăm mã nguồn đã được thực thi bởi các bộ kiểm thử.
  • C. Mức độ chi tiết của tài liệu đặc tả yêu cầu.
  • D. Số lượng người tham gia vào quá trình kiểm thử.

Câu 19: Khi thiết kế bộ kiểm thử cho một ứng dụng web, bạn cần chú ý đặc biệt đến loại kiểm thử nào để đảm bảo trải nghiệm người dùng trên các trình duyệt và thiết bị khác nhau là nhất quán?

  • A. Kiểm thử tải (load testing).
  • B. Kiểm thử bảo mật (security testing).
  • C. Kiểm thử tương thích (compatibility testing).
  • D. Kiểm thử hiệu năng (performance testing).

Câu 20: Trong kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT), ai là người thực hiện kiểm thử chính?

  • A. Nhà phát triển phần mềm.
  • B. Nhóm kiểm thử chuyên nghiệp.
  • C. Quản lý dự án.
  • D. Người dùng cuối hoặc đại diện người dùng.

Câu 21: Để kiểm thử một chương trình quản lý thư viện, bạn cần thiết kế các trường hợp kiểm thử cho chức năng thêm sách, mượn sách, trả sách, tìm kiếm sách. Đây là ví dụ của loại kiểm thử nào?

  • A. Kiểm thử chức năng.
  • B. Kiểm thử hiệu năng.
  • C. Kiểm thử cấu trúc.
  • D. Kiểm thử hộp trắng.

Câu 22: Khi đánh giá độ phức tạp không gian của thuật toán, chúng ta quan tâm đến lượng bộ nhớ nào?

  • A. Tổng bộ nhớ máy tính cần thiết để chạy chương trình.
  • B. Bộ nhớ cache sử dụng trong quá trình thực thi.
  • C. Bộ nhớ phụ trợ mà thuật toán sử dụng thêm vào ngoài dữ liệu đầu vào.
  • D. Bộ nhớ cần thiết để lưu trữ mã nguồn chương trình.

Câu 23: Trong quá trình kiểm thử hiệu năng, bạn đo thời gian phản hồi của hệ thống khi có số lượng lớn người dùng truy cập đồng thời. Loại kiểm thử hiệu năng này được gọi là gì?

  • A. Kiểm thử độ bền (Endurance Testing).
  • B. Kiểm thử tải (Load Testing).
  • C. Kiểm thử ứng suất (Stress Testing).
  • D. Kiểm thử quy mô (Scalability Testing).

Câu 24: Để chứng minh tính đúng đắn của thuật toán, phương pháp lập luận logic nào thường được sử dụng để xác định trạng thái đúng đắn của chương trình tại mỗi bước lặp?

  • A. Phản chứng (Proof by contradiction).
  • B. Chứng minh trực tiếp (Direct proof).
  • C. Chứng minh bằng quy nạp (Proof by induction).
  • D. Bất biến vòng lặp (Loop invariant).

Câu 25: Giả sử bạn có một thuật toán tìm kiếm nhị phân trên mảng đã sắp xếp. Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán này là bao nhiêu?

  • A. O(n)
  • B. O(log n)
  • C. O(n log n)
  • D. O(1)

Câu 26: Trong mô hình chữ V (V-model) của quy trình phát triển phần mềm, giai đoạn kiểm thử đơn vị (unit testing) tương ứng với giai đoạn phát triển nào?

  • A. Phân tích yêu cầu.
  • B. Thiết kế chi tiết.
  • C. Thiết kế hệ thống.
  • D. Triển khai.

Câu 27: Mục tiêu của việc "làm mịn dần" (stepwise refinement) trong thiết kế chương trình là gì?

  • A. Tăng tốc độ thực thi của chương trình.
  • B. Giảm độ phức tạp không gian của chương trình.
  • C. Chia nhỏ bài toán lớn thành các bài toán nhỏ hơn, dễ quản lý và giải quyết.
  • D. Tối ưu hóa mã nguồn để dễ đọc và bảo trì hơn.

Câu 28: Khi kiểm thử một API (Application Programming Interface), bạn cần tập trung vào việc xác minh điều gì?

  • A. Tính đúng đắn của các yêu cầu và phản hồi API, cũng như giao thức giao tiếp.
  • B. Giao diện người dùng của ứng dụng sử dụng API.
  • C. Hiệu năng của máy chủ API.
  • D. Bảo mật của toàn bộ hệ thống tích hợp API.

Câu 29: Trong kiểm thử cấu trúc (structural testing), phương pháp "kiểm thử đường dẫn cơ sở" (basis path testing) nhằm mục đích gì?

  • A. Kiểm tra tất cả các trường hợp đầu vào có thể.
  • B. Đảm bảo mỗi đường dẫn độc lập trong chương trình được thực thi ít nhất một lần.
  • C. Đánh giá hiệu năng của các đường dẫn quan trọng nhất.
  • D. Tìm kiếm các lỗi cú pháp trong cấu trúc mã nguồn.

Câu 30: Phát biểu nào sau đây mô tả đúng nhất về mối quan hệ giữa độ tin cậy (reliability) và kiểm thử chương trình?

  • A. Kiểm thử chương trình là phương pháp duy nhất để đảm bảo độ tin cậy tuyệt đối.
  • B. Độ tin cậy của chương trình không liên quan đến quá trình kiểm thử.
  • C. Kiểm thử chương trình giúp tăng độ tin cậy bằng cách phát hiện và giảm số lượng lỗi.
  • D. Độ tin cậy chỉ phụ thuộc vào chất lượng mã nguồn ban đầu, không phụ thuộc vào kiểm thử.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 1: Trong quá trình kiểm thử hộp đen, người kiểm thử chủ yếu tập trung vào khía cạnh nào của chương trình?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 2: Phương pháp kiểm thử nào sau đây thường được sử dụng để xác minh rằng một chương trình đáp ứng các yêu cầu chức năng đã định?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 3: Giả sử bạn có một hàm tính giai thừa với đầu vào là số nguyên dương n. Để kiểm thử hàm này, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra các trường hợp biên và thông thường?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 4: Khi đánh giá độ phức tạp thời gian của một thuật toán, chúng ta thường quan tâm đến điều gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 5: Trong tình huống nào thì việc tối ưu hóa độ phức tạp không gian (bộ nhớ) của chương trình trở nên đặc biệt quan trọng?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 6: Để chứng minh tính đúng đắn của một thuật toán sắp xếp, phương pháp nào sau đây là phù hợp nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 7: Xét một thuật toán tìm kiếm tuyến tính trong mảng. Trong trường hợp xấu nhất, độ phức tạp thời gian của thuật toán này là bao nhiêu, nếu n là số phần tử của mảng?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 8: Ưu điểm chính của việc sử dụng kiểm thử tự động so với kiểm thử thủ công là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 9: Khi nào thì kiểm thử hộp trắng (white-box testing) được ưu tiên sử dụng hơn so với kiểm thử hộp đen (black-box testing)?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 10: Trong quá trình kiểm thử hồi quy (regression testing), mục tiêu chính là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 11: Để kiểm thử một hàm sắp xếp, bạn thiết kế một bộ dữ liệu kiểm thử bao gồm mảng đã được sắp xếp, mảng rỗng và mảng chứa các phần tử trùng lặp. Loại dữ liệu kiểm thử này tập trung vào khía cạnh nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 12: Trong phân tích độ phức tạp thuật toán, ký hiệu Big O (O-lớn) thường được sử dụng để mô tả điều gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 13: Giả sử một thuật toán có độ phức tạp thời gian O(n^2). Nếu kích thước đầu vào tăng gấp đôi, thời gian thực thi dự kiến sẽ tăng lên khoảng bao nhiêu lần?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 14: Phát biểu nào sau đây là đúng về mối quan hệ giữa kiểm thử chương trình và chứng minh tính đúng đắn của thuật toán?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 15: Trong quy trình kiểm thử phần mềm, giai đoạn nào thường được thực hiện sau khi giai đoạn phát triển mã nguồn hoàn tất?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 16: Để đánh giá hiệu quả của thuật toán sắp xếp trộn (Merge Sort) so với sắp xếp chèn (Insertion Sort) trên dữ liệu lớn, tiêu chí nào sau đây là quan trọng nhất?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 17: Hãy xem xét đoạn mã sau (giả sử đã hoàn chỉnh và không lỗi cú pháp): `function calculate(n) { if (n < 2) return 1; else return calculate(n-1) + calculate(n-2); }`. Để kiểm thử hàm này, bạn nên tập trung vào loại kiểm thử nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 18: Trong kiểm thử phần mềm, thuật ngữ 'độ bao phủ mã' (code coverage) dùng để chỉ điều gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 19: Khi thiết kế bộ kiểm thử cho một ứng dụng web, bạn cần chú ý đặc biệt đến loại kiểm thử nào để đảm bảo trải nghiệm người dùng trên các trình duyệt và thiết bị khác nhau là nhất quán?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 20: Trong kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT), ai là người thực hiện kiểm thử chính?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 21: Để kiểm thử một chương trình quản lý thư viện, bạn cần thiết kế các trường hợp kiểm thử cho chức năng thêm sách, mượn sách, trả sách, tìm kiếm sách. Đây là ví dụ của loại kiểm thử nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 22: Khi đánh giá độ phức tạp không gian của thuật toán, chúng ta quan tâm đến lượng bộ nhớ nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 23: Trong quá trình kiểm thử hiệu năng, bạn đo thời gian phản hồi của hệ thống khi có số lượng lớn người dùng truy cập đồng thời. Loại kiểm thử hiệu năng này được gọi là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 24: Để chứng minh tính đúng đắn của thuật toán, phương pháp lập luận logic nào thường được sử dụng để xác định trạng thái đúng đắn của chương trình tại mỗi bước lặp?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 25: Giả sử bạn có một thuật toán tìm kiếm nhị phân trên mảng đã sắp xếp. Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán này là bao nhiêu?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 26: Trong mô hình chữ V (V-model) của quy trình phát triển phần mềm, giai đoạn kiểm thử đơn vị (unit testing) tương ứng với giai đoạn phát triển nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 27: Mục tiêu của việc 'làm mịn dần' (stepwise refinement) trong thiết kế chương trình là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 28: Khi kiểm thử một API (Application Programming Interface), bạn cần tập trung vào việc xác minh điều gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 29: Trong kiểm thử cấu trúc (structural testing), phương pháp 'kiểm thử đường dẫn cơ sở' (basis path testing) nhằm mục đích gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 2

Câu 30: Phát biểu nào sau đây mô tả đúng nhất về mối quan hệ giữa độ tin cậy (reliability) và kiểm thử chương trình?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 03 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong giai đoạn phát triển phần mềm, kiểm thử hộp đen (black-box testing) chủ yếu tập trung vào khía cạnh nào sau đây của chương trình?

  • A. Cấu trúc mã nguồn và logic bên trong của chương trình.
  • B. Chức năng và hành vi bên ngoài của chương trình dựa trên đặc tả yêu cầu.
  • C. Độ phức tạp thời gian và không gian của thuật toán.
  • D. Mức độ sử dụng bộ nhớ và tài nguyên hệ thống của chương trình.

Câu 2: Để kiểm thử một hàm sắp xếp danh sách số nguyên, bộ dữ liệu kiểm thử nào sau đây được xem là đa dạnghiệu quả nhất trong việc phát hiện lỗi?

  • A. Dãy số đã được sắp xếp tăng dần: [1, 2, 3, 4, 5]
  • B. Dãy số ngẫu nhiên nhỏ: [7, 2, 9, 1, 5]
  • C. Dãy số bao gồm số âm, số dương và số 0, gần như đảo ngược: [-3, 0, 5, 2, 1, -10]
  • D. Dãy số chỉ gồm số dương lớn: [1000, 2000, 3000, 4000]

Câu 3: Giả sử bạn có một chương trình tính tổng các số chẵn trong một mảng. Điều kiện dừng vòng lặp nào sau đây trong chương trình có thể dẫn đến lỗi vô hạn nếu mảng đầu vào không chứa số chẵn nào?

  • A. Vòng lặp `while (chưa_tim_thay_so_chan)`
  • B. Vòng lặp `for i in range(len(mang)) if mang[i] % 2 == 0:`
  • C. Vòng lặp `do...while (tong < 100)`
  • D. Vòng lặp `for each number in mang:`

Câu 4: Trong kiểm thử phần mềm, "test case" (tình huống kiểm thử) bao gồm những thành phần chính nào?

  • A. Đầu vào và mã nguồn chương trình.
  • B. Mô tả chức năng và giao diện người dùng.
  • C. Yêu cầu phần mềm và sơ đồ thuật toán.
  • D. Đầu vào kiểm thử, các bước thực hiện, và kết quả mong đợi.

Câu 5: Phương pháp kiểm thử "hộp trắng" (white-box testing) khác biệt cơ bản so với "hộp đen" ở điểm nào?

  • A. Hộp trắng kiểm thử chức năng, hộp đen kiểm thử hiệu năng.
  • B. Hộp trắng dựa trên cấu trúc mã, hộp đen dựa trên đặc tả yêu cầu.
  • C. Hộp trắng phát hiện lỗi logic, hộp đen phát hiện lỗi cú pháp.
  • D. Hộp trắng dùng cho kiểm thử đơn vị, hộp đen dùng cho kiểm thử hệ thống.

Câu 6: Khi đánh giá độ phức tạp thời gian của một thuật toán sắp xếp, trường hợp tốt nhất (best case) thường xảy ra khi nào?

  • A. Dữ liệu đầu vào là ngẫu nhiên và phân bố đều.
  • B. Dữ liệu đầu vào chứa nhiều giá trị trùng lặp.
  • C. Dữ liệu đầu vào đã được sắp xếp hoặc gần như đã sắp xếp.
  • D. Dữ liệu đầu vào có kích thước rất lớn.

Câu 7: Trong quá trình kiểm thử một chương trình quản lý thư viện, bạn phát hiện ra rằng chức năng "tìm kiếm sách theo tên tác giả" không hoạt động đúng với tên tác giả có dấu tiếng Việt. Đây là loại lỗi gì?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi chức năng (Functional error)
  • C. Lỗi thời gian chạy (Runtime error)
  • D. Lỗi hiệu suất (Performance error)

Câu 8: Để cải thiện độ tin cậy của một chương trình tính toán phức tạp, biện pháp nào sau đây là quan trọng nhất?

  • A. Tối ưu hóa mã nguồn để chạy nhanh hơn.
  • B. Thêm nhiều chú thích vào mã nguồn để dễ hiểu hơn.
  • C. Sử dụng ngôn ngữ lập trình bậc cao.
  • D. Thực hiện kiểm thử toàn diện với nhiều bộ dữ liệu và tình huống khác nhau.

Câu 9: Khi phân tích độ phức tạp thuật toán, ký hiệu "Big O" (O-lớn) thường được sử dụng để mô tả điều gì?

  • A. Giới hạn trên của tốc độ tăng trưởng thời gian thực hiện hoặc không gian bộ nhớ khi kích thước đầu vào tăng.
  • B. Thời gian thực hiện trung bình của thuật toán trên các bộ dữ liệu điển hình.
  • C. Thời gian thực hiện tốt nhất của thuật toán trong điều kiện lý tưởng.
  • D. Độ chính xác của kết quả mà thuật toán đưa ra.

Câu 10: Cho đoạn mã Python sau:
```python
def tim_kiem(danh_sach, phan_tu):
for i in range(len(danh_sach)):
if danh_sach[i] == phan_tu:
return True
return False
```
Độ phức tạp thời gian trường hợp xấu nhất của hàm `tim_kiem` này là bao nhiêu?

  • A. O(1)
  • B. O(n)
  • C. O(log n)
  • D. O(n^2)

Câu 11: Trong quy trình kiểm thử phần mềm, kiểm thử "tích hợp" (integration testing) được thực hiện sau giai đoạn nào?

  • A. Kiểm thử hệ thống (System testing)
  • B. Kiểm thử chấp nhận (Acceptance testing)
  • C. Kiểm thử đơn vị (Unit testing)
  • D. Kiểm thử hồi quy (Regression testing)

Câu 12: Mục tiêu chính của việc "gỡ lỗi" (debugging) chương trình là gì?

  • A. Tăng tốc độ thực thi của chương trình.
  • B. Xác định và sửa chữa các lỗi (bugs) trong chương trình.
  • C. Đánh giá hiệu suất sử dụng bộ nhớ của chương trình.
  • D. Cải thiện giao diện người dùng của chương trình.

Câu 13: Kiểu kiểm thử nào sau đây thường được thực hiện bởi người dùng cuối hoặc khách hàng để đảm bảo phần mềm đáp ứng yêu cầu và mong đợi của họ?

  • A. Kiểm thử tích hợp (Integration testing)
  • B. Kiểm thử hệ thống (System testing)
  • C. Kiểm thử đơn vị (Unit testing)
  • D. Kiểm thử chấp nhận (Acceptance testing)

Câu 14: Trong kiểm thử hộp trắng, độ bao phủ mã (code coverage) là một chỉ số quan trọng. Độ bao phủ lệnh (statement coverage) đo lường điều gì?

  • A. Số lượng lỗi được phát hiện trên mỗi dòng mã.
  • B. Mức độ phức tạp của các lệnh trong mã nguồn.
  • C. Tỷ lệ phần trăm các lệnh trong mã nguồn đã được thực thi ít nhất một lần.
  • D. Thời gian cần thiết để thực thi mỗi lệnh trong mã nguồn.

Câu 15: Cho một thuật toán tìm kiếm nhị phân trên mảng đã sắp xếp. Trong trường hợp xấu nhất, số phép so sánh cần thực hiện tỉ lệ với logarit cơ số 2 của kích thước mảng (log2(n)). Điều này có nghĩa là độ phức tạp thời gian của thuật toán là:

  • A. Tuyến tính (O(n))
  • B. Bình phương (O(n^2))
  • C. Logarit (O(log n))
  • D. Hằng số (O(1))

Câu 16: Phương pháp chứng minh tính đúng của thuật toán bằng "bất biến vòng lặp" (loop invariant) dựa trên nguyên tắc nào?

  • A. Kiểm thử bằng các bộ dữ liệu đầu vào khác nhau.
  • B. Duy trì một điều kiện đúng trước, trong và sau mỗi lần lặp của vòng lặp.
  • C. Phân tích tất cả các trường hợp có thể xảy ra của đầu vào.
  • D. Đo lường thời gian và bộ nhớ sử dụng của thuật toán.

Câu 17: Khi đánh giá hiệu quả của hai thuật toán cùng giải quyết một bài toán, tiêu chí nào sau đây thường được ưu tiên hơn nếu bài toán đó cần xử lý dữ liệu rất lớn?

  • A. Độ phức tạp thời gian (Thời gian thực hiện)
  • B. Độ phức tạp không gian (Bộ nhớ sử dụng)
  • C. Tính dễ hiểu và dễ cài đặt của thuật toán
  • D. Số lượng dòng mã lệnh của thuật toán

Câu 18: Trong ngữ cảnh kiểm thử phần mềm, "regression testing" (kiểm thử hồi quy) được thực hiện khi nào?

  • A. Trước khi phát hành phiên bản phần mềm đầu tiên.
  • B. Trong giai đoạn thiết kế kiến trúc phần mềm.
  • C. Sau khi thực hiện sửa đổi hoặc cập nhật phần mềm.
  • D. Khi phát hiện lỗi nghiêm trọng trong quá trình sử dụng thực tế.

Câu 19: Để kiểm thử một hàm tính giai thừa số nguyên, bộ dữ liệu kiểm thử nào sau đây bao gồm trường hợp biên và trường hợp thông thường?

  • A. [1, 2, 3, 4, 5]
  • B. [-1, 0, 1, 5, 10]
  • C. [10, 20, 30, 40, 50]
  • D. [100, 200, 300, 400, 500]

Câu 20: Một chương trình có thể vượt qua tất cả các bộ dữ liệu kiểm thử nhưng vẫn có thể chứa lỗi. Điều này minh họa cho hạn chế nào của phương pháp kiểm thử bằng dữ liệu?

  • A. Kiểm thử bằng dữ liệu tốn kém thời gian và công sức.
  • B. Bộ dữ liệu kiểm thử có thể không đủ lớn.
  • C. Kiểm thử bằng dữ liệu không phát hiện được lỗi hiệu suất.
  • D. Kiểm thử bằng dữ liệu không thể bao phủ hết tất cả các trường hợp có thể xảy ra.

Câu 21: Trong kiểm thử hộp trắng, "branch coverage" (độ bao phủ nhánh) quan trọng hơn "statement coverage" (độ bao phủ lệnh) vì lý do gì?

  • A. Độ bao phủ nhánh dễ đo lường hơn độ bao phủ lệnh.
  • B. Độ bao phủ nhánh kiểm tra cả các điều kiện rẽ nhánh, giúp phát hiện lỗi logic trong các nhánh khác nhau.
  • C. Độ bao phủ nhánh giúp tối ưu hóa hiệu suất mã nguồn tốt hơn.
  • D. Độ bao phủ nhánh giảm thời gian kiểm thử so với độ bao phủ lệnh.

Câu 22: Để đánh giá tính hiệu quả của một thuật toán tìm kiếm, tiêu chí nào sau đây là phù hợp nhất?

  • A. Thời gian tìm kiếm trung bình và trường hợp xấu nhất.
  • B. Dung lượng bộ nhớ cần thiết để lưu trữ dữ liệu tìm kiếm.
  • C. Độ phức tạp của mã nguồn thuật toán.
  • D. Tính dễ sử dụng của thuật toán đối với người dùng.

Câu 23: Cho hàm Python sau:
```python
def chia_het(a, b):
if b == 0:
return

  • A. a = 10, b = 2
  • B. a = -5, b = 1
  • C. a = 7, b = 0
  • D. a = 100, b = 10

Câu 24: Trong kiểm thử phần mềm, thuật ngữ "bug" (lỗi) thường được dùng để chỉ điều gì?

  • A. Một yêu cầu chức năng chưa được thực hiện.
  • B. Một sai sót hoặc khuyết điểm trong mã nguồn gây ra hành vi không đúng.
  • C. Sự chậm trễ trong quá trình phát triển phần mềm.
  • D. Một thông báo lỗi hiển thị cho người dùng cuối.

Câu 25: Phương pháp chứng minh tính đúng của thuật toán nào sau đây thường được sử dụng cho các thuật toán đệ quy?

  • A. Kiểm thử hộp đen
  • B. Kiểm thử hộp trắng
  • C. Bất biến vòng lặp
  • D. Quy nạp toán học

Câu 26: Để kiểm thử một chức năng đăng nhập vào hệ thống, tình huống kiểm thử nào sau đây thuộc loại "tình huống biên"?

  • A. Nhập đúng tên đăng nhập và mật khẩu.
  • B. Nhập sai tên đăng nhập nhưng đúng mật khẩu.
  • C. Nhập sai mật khẩu liên tục vượt quá số lần cho phép.
  • D. Để trống cả tên đăng nhập và mật khẩu.

Câu 27: Khi so sánh độ phức tạp thời gian O(n log n) và O(n^2), thuật toán nào hiệu quả hơn cho dữ liệu đầu vào lớn?

  • A. O(n log n)
  • B. O(n^2)
  • C. Cả hai tương đương nhau.
  • D. Không thể so sánh nếu không biết kích thước n.

Câu 28: Trong quy trình phát triển phần mềm, giai đoạn kiểm thử thường diễn ra vào thời điểm nào?

  • A. Chỉ sau khi hoàn thành giai đoạn viết mã.
  • B. Xuyên suốt quá trình phát triển phần mềm, từ giai đoạn đầu đến giai đoạn cuối.
  • C. Chỉ trước khi bàn giao phần mềm cho khách hàng.
  • D. Chỉ khi có yêu cầu thay đổi hoặc cập nhật phần mềm.

Câu 29: Loại lỗi nào sau đây thường dễ phát hiện nhất trong quá trình biên dịch chương trình?

  • A. Lỗi logic (Logic error)
  • B. Lỗi thời gian chạy (Runtime error)
  • C. Lỗi cú pháp (Syntax error)
  • D. Lỗi hiệu suất (Performance error)

Câu 30: Để kiểm thử một ứng dụng web, loại kiểm thử nào sau đây tập trung vào khả năng chịu tải và đáp ứng của hệ thống khi có nhiều người dùng đồng thời truy cập?

  • A. Kiểm thử chức năng (Functional testing)
  • B. Kiểm thử giao diện người dùng (UI testing)
  • C. Kiểm thử bảo mật (Security testing)
  • D. Kiểm thử hiệu năng (Performance testing)

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 1: Trong giai đoạn phát triển phần mềm, kiểm thử hộp đen (black-box testing) chủ yếu tập trung vào khía cạnh nào sau đây của chương trình?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 2: Để kiểm thử một hàm sắp xếp danh sách số nguyên, bộ dữ liệu kiểm thử nào sau đây được xem là *đa dạng* và *hiệu quả* nhất trong việc phát hiện lỗi?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 3: Giả sử bạn có một chương trình tính tổng các số chẵn trong một mảng. Điều kiện dừng vòng lặp nào sau đây trong chương trình có thể dẫn đến lỗi *vô hạn* nếu mảng đầu vào không chứa số chẵn nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 4: Trong kiểm thử phần mềm, 'test case' (tình huống kiểm thử) bao gồm những thành phần chính nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 5: Phương pháp kiểm thử 'hộp trắng' (white-box testing) khác biệt cơ bản so với 'hộp đen' ở điểm nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 6: Khi đánh giá độ phức tạp thời gian của một thuật toán sắp xếp, trường hợp *tốt nhất* (best case) thường xảy ra khi nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 7: Trong quá trình kiểm thử một chương trình quản lý thư viện, bạn phát hiện ra rằng chức năng 'tìm kiếm sách theo tên tác giả' không hoạt động đúng với tên tác giả có dấu tiếng Việt. Đây là loại lỗi gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 8: Để cải thiện độ tin cậy của một chương trình tính toán phức tạp, biện pháp nào sau đây là *quan trọng nhất*?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 9: Khi phân tích độ phức tạp thuật toán, ký hiệu 'Big O' (O-lớn) thường được sử dụng để mô tả điều gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 10: Cho đoạn mã Python sau:
```python
def tim_kiem(danh_sach, phan_tu):
for i in range(len(danh_sach)):
if danh_sach[i] == phan_tu:
return True
return False
```
Độ phức tạp thời gian trường hợp xấu nhất của hàm `tim_kiem` này là bao nhiêu?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 11: Trong quy trình kiểm thử phần mềm, kiểm thử 'tích hợp' (integration testing) được thực hiện sau giai đoạn nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 12: Mục tiêu chính của việc 'gỡ lỗi' (debugging) chương trình là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 13: Kiểu kiểm thử nào sau đây thường được thực hiện bởi người dùng cuối hoặc khách hàng để đảm bảo phần mềm đáp ứng yêu cầu và mong đợi của họ?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 14: Trong kiểm thử hộp trắng, độ bao phủ mã (code coverage) là một chỉ số quan trọng. Độ bao phủ *lệnh* (statement coverage) đo lường điều gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 15: Cho một thuật toán tìm kiếm nhị phân trên mảng đã sắp xếp. Trong trường hợp *xấu nhất*, số phép so sánh cần thực hiện tỉ lệ với logarit cơ số 2 của kích thước mảng (log2(n)). Điều này có nghĩa là độ phức tạp thời gian của thuật toán là:

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 16: Phương pháp chứng minh tính đúng của thuật toán bằng 'bất biến vòng lặp' (loop invariant) dựa trên nguyên tắc nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 17: Khi đánh giá hiệu quả của hai thuật toán cùng giải quyết một bài toán, tiêu chí nào sau đây thường được ưu tiên hơn nếu bài toán đó cần xử lý dữ liệu rất lớn?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 18: Trong ngữ cảnh kiểm thử phần mềm, 'regression testing' (kiểm thử hồi quy) được thực hiện khi nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 19: Để kiểm thử một hàm tính giai thừa số nguyên, bộ dữ liệu kiểm thử nào sau đây bao gồm trường hợp biên và trường hợp thông thường?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 20: Một chương trình có thể vượt qua tất cả các bộ dữ liệu kiểm thử nhưng vẫn có thể chứa lỗi. Điều này minh họa cho hạn chế nào của phương pháp kiểm thử bằng dữ liệu?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 21: Trong kiểm thử hộp trắng, 'branch coverage' (độ bao phủ nhánh) quan trọng hơn 'statement coverage' (độ bao phủ lệnh) vì lý do gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 22: Để đánh giá tính hiệu quả của một thuật toán tìm kiếm, tiêu chí nào sau đây là phù hợp nhất?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 23: Cho hàm Python sau:
```python
def chia_het(a, b):
if b == 0:
return "Lỗi chia cho 0"
else:
return a / b
```
Để kiểm thử hàm này, bộ dữ liệu nào sau đây là quan trọng *nhất* cần được thêm vào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 24: Trong kiểm thử phần mềm, thuật ngữ 'bug' (lỗi) thường được dùng để chỉ điều gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 25: Phương pháp chứng minh tính đúng của thuật toán nào sau đây thường được sử dụng cho các thuật toán đệ quy?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 26: Để kiểm thử một chức năng đăng nhập vào hệ thống, tình huống kiểm thử nào sau đây thuộc loại 'tình huống biên'?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 27: Khi so sánh độ phức tạp thời gian O(n log n) và O(n^2), thuật toán nào hiệu quả hơn cho dữ liệu đầu vào lớn?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 28: Trong quy trình phát triển phần mềm, giai đoạn kiểm thử thường diễn ra vào thời điểm nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 29: Loại lỗi nào sau đây thường dễ phát hiện nhất trong quá trình biên dịch chương trình?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 3

Câu 30: Để kiểm thử một ứng dụng web, loại kiểm thử nào sau đây tập trung vào khả năng chịu tải và đáp ứng của hệ thống khi có nhiều người dùng đồng thời truy cập?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn kiểm thử (testing) đóng vai trò quan trọng, nhưng mục tiêu chính của kiểm thử không phải là:

  • A. Phát hiện và báo cáo các lỗi (bugs) tiềm ẩn trong chương trình.
  • B. Đảm bảo rằng phần mềm đáp ứng các yêu cầu chức năng và phi chức năng đã đề ra.
  • C. Nâng cao độ tin cậy và chất lượng tổng thể của sản phẩm phần mềm.
  • D. Chứng minh một cách tuyệt đối rằng chương trình là hoàn toàn không có lỗi.

Câu 2: Phương pháp kiểm thử hộp đen (black-box testing) tập trung chủ yếu vào khía cạnh nào sau đây của chương trình?

  • A. Cấu trúc mã nguồn và logic bên trong của chương trình.
  • B. Chức năng và hành vi bên ngoài của chương trình dựa trên đặc tả yêu cầu.
  • C. Độ phức tạp thuật toán và hiệu suất sử dụng tài nguyên của chương trình.
  • D. Mức độ bao phủ của kiểm thử đối với tất cả các nhánh và đường dẫn thực thi.

Câu 3: Để kiểm thử một hàm (function) tính giai thừa số nguyên dương, bộ dữ liệu kiểm thử nào sau đây được xem là đa dạnghiệu quả nhất trong việc phát hiện lỗi?

  • A. Chỉ các số nguyên dương nhỏ, ví dụ: {1, 2, 3, 4, 5}.
  • B. Chỉ các số nguyên dương lớn, ví dụ: {10, 15, 20, 25, 30}.
  • C. {0, 1, 2, 5, 10, 15, 20} bao gồm giá trị biên (0, 1) và các giá trị khác nhau.
  • D. Chỉ các số chẵn và số lẻ xen kẽ, ví dụ: {2, 3, 4, 5, 6, 7}.

Câu 4: Trong kiểm thử phần mềm, "độ bao phủ mã" (code coverage) là một chỉ số quan trọng. Độ bao phủ nhánh (branch coverage) đo lường điều gì?

  • A. Tỷ lệ phần trăm số dòng mã lệnh đã được thực thi ít nhất một lần.
  • B. Tỷ lệ phần trăm các nhánh rẽ (ví dụ: if/else) trong mã nguồn đã được thực thi cả hai hướng (true và false).
  • C. Số lượng test case đã được thực hiện thành công trên tổng số test case.
  • D. Mức độ chi tiết của tài liệu đặc tả yêu cầu so với mã nguồn.

Câu 5: Khi đánh giá hiệu quả của thuật toán sắp xếp, tiêu chí nào sau đây thể hiện "độ phức tạp thời gian"?

  • A. Số lượng phép so sánh và hoán đổi trung bình cần thực hiện để sắp xếp một danh sách có kích thước n.
  • B. Dung lượng bộ nhớ tối đa mà thuật toán sử dụng trong quá trình sắp xếp.
  • C. Tính dễ hiểu và dễ cài đặt của thuật toán sắp xếp.
  • D. Số dòng mã lệnh cần thiết để cài đặt thuật toán sắp xếp.

Câu 6: Cho đoạn chương trình kiểm tra số nguyên tố. Để kiểm thử trường hợp biên (boundary case), dữ liệu kiểm thử nào sau đây là phù hợp nhất?

  • A. Các số nguyên tố lớn ngẫu nhiên, ví dụ: {101, 223, 547}.
  • B. Các số chẵn và số lẻ xen kẽ, ví dụ: {2, 3, 4, 5, 6, 7}.
  • C. {0, 1, 2, 3} bao gồm các giá trị nhỏ nhất và các trường hợp đặc biệt (0, 1, 2, 3 là các số đầu tiên cần xét).
  • D. Các số chính phương, ví dụ: {4, 9, 16, 25}.

Câu 7: Trong kiểm thử hồi quy (regression testing), mục đích chính là gì?

  • A. Kiểm tra tất cả các chức năng của phần mềm một cách toàn diện từ đầu.
  • B. Đảm bảo rằng các thay đổi hoặc sửa lỗi mới không làm phát sinh lỗi ở các chức năng đã hoạt động ổn định trước đó.
  • C. Đo lường hiệu suất và tốc độ của chương trình sau khi tối ưu hóa.
  • D. Xác định mức độ tuân thủ đặc tả yêu cầu của phần mềm ở phiên bản hiện tại.

Câu 8: Phương pháp chứng minh tính đúng đắn của thuật toán bằng "bất biến vòng lặp" (loop invariant) dựa trên nguyên tắc nào?

  • A. Kiểm thử chương trình với một lượng lớn dữ liệu ngẫu nhiên.
  • B. Phân tích mã nguồn để tìm ra các lỗi logic tiềm ẩn.
  • C. Xây dựng một mệnh đề (bất biến) luôn đúng trước, trong và sau mỗi lần lặp của vòng lặp, và chứng minh rằng bất biến này dẫn đến kết quả mong muốn khi vòng lặp kết thúc.
  • D. So sánh kết quả của thuật toán với kết quả của một thuật toán đã được chứng minh là đúng.

Câu 9: Trong ngữ cảnh kiểm thử hiệu năng (performance testing), "kiểm thử chịu tải" (load testing) nhằm mục đích gì?

  • A. Đánh giá khả năng đáp ứng và độ ổn định của hệ thống khi có một số lượng người dùng đồng thời hoặc khối lượng công việc lớn.
  • B. Tìm ra giới hạn tối đa về số lượng người dùng hoặc khối lượng công việc mà hệ thống có thể xử lý trước khi bị lỗi.
  • C. So sánh hiệu năng của hệ thống hiện tại với các phiên bản trước đó.
  • D. Đo thời gian phản hồi của hệ thống cho các giao dịch đơn lẻ.

Câu 10: Khi thiết kế bộ dữ liệu kiểm thử cho một chương trình, nguyên tắc "phân vùng tương đương" (equivalence partitioning) giúp:

  • A. Tăng số lượng test case để kiểm tra mọi khả năng.
  • B. Giảm số lượng test case bằng cách chia miền đầu vào thành các phân vùng tương đương và chọn đại diện từ mỗi phân vùng.
  • C. Tự động sinh ra các test case ngẫu nhiên.
  • D. Ưu tiên kiểm thử các chức năng quan trọng nhất của chương trình.

Câu 11: Trong các loại lỗi chương trình, lỗi cú pháp (syntax error) thường được phát hiện ở giai đoạn nào của quá trình phát triển phần mềm?

  • A. Biên dịch (compilation) hoặc thông dịch (interpretation).
  • B. Kiểm thử đơn vị (unit testing).
  • C. Kiểm thử tích hợp (integration testing).
  • D. Kiểm thử hệ thống (system testing).

Câu 12: Để đánh giá độ phức tạp không gian của thuật toán, chúng ta quan tâm đến yếu tố nào?

  • A. Thời gian thực thi của thuật toán trên các bộ dữ liệu khác nhau.
  • B. Số lượng phép toán số học mà thuật toán thực hiện.
  • C. Lượng bộ nhớ (RAM) cần thiết để thuật toán hoạt động, thường là theo kích thước đầu vào.
  • D. Độ dài của mã nguồn chương trình cài đặt thuật toán.

Câu 13: Tình huống nào sau đây không phải là mục tiêu của kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT)?

  • A. Xác nhận rằng phần mềm đáp ứng các yêu cầu nghiệp vụ và mong đợi của người dùng cuối.
  • B. Đảm bảo rằng người dùng cuối có thể sử dụng phần mềm một cách hiệu quả trong môi trường thực tế.
  • C. Thu thập phản hồi từ người dùng cuối để cải thiện phần mềm trước khi phát hành chính thức.
  • D. Đánh giá hiệu suất và khả năng chịu tải của hệ thống trong môi trường sản xuất.

Câu 14: Trong kiểm thử hiệu suất, "kiểm thử độ bền" (endurance testing) còn được gọi là "kiểm thử ngâm" (soak testing), tập trung vào việc kiểm tra điều gì?

  • A. Thời gian phản hồi trung bình của hệ thống dưới tải trọng cao.
  • B. Khả năng hệ thống phục hồi sau sự cố.
  • C. Độ ổn định và khả năng duy trì hiệu suất của hệ thống khi hoạt động liên tục trong thời gian dài, ví dụ như rò rỉ bộ nhớ.
  • D. Số lượng giao dịch tối đa mà hệ thống có thể xử lý trong một đơn vị thời gian.

Câu 15: Để kiểm thử một thuật toán tìm kiếm nhị phân (binary search), dữ liệu kiểm thử nào sau đây là quan trọng nhất?

  • A. Dữ liệu ngẫu nhiên không sắp xếp.
  • B. Dữ liệu đã sắp xếp, bao gồm trường hợp phần tử cần tìm ở đầu, cuối, giữa mảng, và trường hợp không tồn tại phần tử cần tìm.
  • C. Dữ liệu chỉ chứa các số âm.
  • D. Dữ liệu có kích thước rất lớn để kiểm tra hiệu suất.

Câu 16: Trong quy trình kiểm thử, "test case" (ca kiểm thử) bao gồm những thành phần chính nào?

  • A. Mã nguồn chương trình và tài liệu đặc tả yêu cầu.
  • B. Chỉ dữ liệu đầu vào và kết quả thực tế.
  • C. Điều kiện tiên quyết, dữ liệu đầu vào, các bước thực hiện, và kết quả mong đợi.
  • D. Báo cáo lỗi và nhật ký kiểm thử.

Câu 17: Khi so sánh độ phức tạp thuật toán, ký hiệu "O(log n)" thường biểu thị điều gì?

  • A. Độ phức tạp tuyến tính, thời gian thực thi tăng tỉ lệ thuận với kích thước đầu vào.
  • B. Độ phức tạp logarit, thời gian thực thi tăng chậm hơn nhiều so với kích thước đầu vào khi kích thước đầu vào tăng lên.
  • C. Độ phức tạp bậc hai, thời gian thực thi tăng theo bình phương kích thước đầu vào.
  • D. Độ phức tạp hằng số, thời gian thực thi không đổi dù kích thước đầu vào thay đổi.

Câu 18: Trong kiểm thử tích hợp (integration testing), phương pháp "top-down" (từ trên xuống) tiếp cận việc tích hợp và kiểm thử các module như thế nào?

  • A. Bắt đầu tích hợp và kiểm thử từ các module cấp cao nhất (module chính) xuống các module cấp thấp hơn, sử dụng "stub" (module giả lập) cho các module chưa được tích hợp.
  • B. Bắt đầu tích hợp và kiểm thử từ các module cấp thấp nhất lên các module cấp cao hơn, sử dụng "driver" (module điều khiển) để gọi các module cấp thấp.
  • C. Tích hợp và kiểm thử tất cả các module cùng một lúc.
  • D. Chọn ngẫu nhiên thứ tự tích hợp và kiểm thử các module.

Câu 19: Phát biểu nào sau đây mô tả đúng nhất về mối quan hệ giữa "kiểm thử chương trình" và "chứng minh tính đúng đắn của thuật toán"?

  • A. Kiểm thử chương trình là phương pháp duy nhất để chứng minh tính đúng đắn của thuật toán.
  • B. Chứng minh tính đúng đắn của thuật toán là không cần thiết nếu chương trình đã được kiểm thử kỹ lưỡng.
  • C. Kiểm thử chương trình giúp tăng độ tin cậy nhưng không thể chứng minh tính đúng đắn tuyệt đối của thuật toán, trong khi chứng minh toán học có thể làm được điều này.
  • D. Kiểm thử chương trình và chứng minh tính đúng đắn của thuật toán là hai phương pháp hoàn toàn độc lập và không liên quan đến nhau.

Câu 20: Trong kiểm thử hộp trắng (white-box testing), kỹ thuật "kiểm thử đường dẫn cơ bản" (basic path testing) tập trung vào việc thiết kế test case dựa trên yếu tố nào?

  • A. Đặc tả yêu cầu và chức năng của chương trình.
  • B. Các phân vùng tương đương của dữ liệu đầu vào.
  • C. Kinh nghiệm và trực giác của người kiểm thử.
  • D. Cấu trúc điều khiển của chương trình, đảm bảo mỗi đường dẫn độc lập trong biểu đồ luồng điều khiển được thực thi ít nhất một lần.

Câu 21: Khi nào thì việc sử dụng phương pháp "kiểm thử tự động" (automated testing) mang lại lợi ích rõ rệt nhất so với "kiểm thử thủ công" (manual testing)?

  • A. Khi kiểm thử các yêu cầu phi chức năng như khả năng sử dụng.
  • B. Khi cần khám phá và tìm hiểu sâu về hành vi của phần mềm.
  • C. Khi thực hiện kiểm thử hồi quy thường xuyên sau mỗi lần thay đổi mã nguồn.
  • D. Khi kiểm thử các giao diện người dùng phức tạp đòi hỏi sự đánh giá chủ quan.

Câu 22: Trong quá trình kiểm thử, "lỗi" (fault/bug) và "sai sót" (failure) khác nhau như thế nào?

  • A. Lỗi và sai sót là hai thuật ngữ đồng nghĩa và có thể sử dụng thay thế cho nhau.
  • B. Lỗi là một khiếm khuyết trong mã nguồn, còn sai sót là hành vi không đúng của chương trình do lỗi đó gây ra khi thực thi.
  • C. Lỗi là do người lập trình gây ra, còn sai sót là do môi trường thực thi.
  • D. Lỗi được phát hiện trong giai đoạn kiểm thử, còn sai sót chỉ xuất hiện khi phần mềm được đưa vào sử dụng thực tế.

Câu 23: Để đánh giá hiệu quả của thuật toán sắp xếp trộn (merge sort), độ phức tạp thời gian trường hợp tốt nhất (best-case time complexity) là gì?

  • A. O(1)
  • B. O(n)
  • C. O(n^2)
  • D. O(n log n)

Câu 24: Trong kiểm thử phần mềm, "test harness" (khung kiểm thử) có vai trò gì?

  • A. Cung cấp một môi trường để thực thi các test case, bao gồm các công cụ hỗ trợ thiết lập, chạy test và kiểm tra kết quả.
  • B. Là tập hợp các test case được thiết kế cho một module cụ thể.
  • C. Là tài liệu mô tả quy trình kiểm thử phần mềm.
  • D. Là đội ngũ nhân viên thực hiện công việc kiểm thử.

Câu 25: Kỹ thuật kiểm thử nào thường được sử dụng để kiểm thử giao diện người dùng (UI testing) của một ứng dụng web?

  • A. Kiểm thử hiệu năng (performance testing).
  • B. Kiểm thử chức năng (functional testing) và kiểm thử khả năng sử dụng (usability testing) tập trung vào giao diện.
  • C. Kiểm thử bảo mật (security testing).
  • D. Kiểm thử hộp trắng (white-box testing).

Câu 26: Trong ngữ cảnh kiểm thử bảo mật (security testing), "vulnerability scanning" (quét lỗ hổng bảo mật) là gì?

  • A. Thực hiện các cuộc tấn công mô phỏng vào hệ thống để kiểm tra khả năng phòng thủ.
  • B. Đánh giá các chính sách và quy trình bảo mật của tổ chức.
  • C. Sử dụng công cụ tự động để tìm kiếm các lỗ hổng bảo mật đã biết trong hệ thống và phần mềm.
  • D. Kiểm tra quyền truy cập và xác thực người dùng của hệ thống.

Câu 27: Tiêu chí nào sau đây không phải là một khía cạnh của "chất lượng phần mềm"?

  • A. Tính đúng đắn (correctness) - phần mềm hoạt động đúng theo yêu cầu.
  • B. Độ tin cậy (reliability) - phần mềm hoạt động ổn định trong thời gian dài.
  • C. Hiệu suất (performance) - phần mềm hoạt động nhanh và hiệu quả.
  • D. Độ phức tạp mã nguồn (code complexity) - mã nguồn khó hiểu và bảo trì.

Câu 28: Trong kiểm thử phi chức năng (non-functional testing), "kiểm thử khả năng sử dụng" (usability testing) tập trung vào việc đánh giá điều gì?

  • A. Mức độ dễ dàng và hiệu quả mà người dùng có thể sử dụng phần mềm để đạt được mục tiêu của mình.
  • B. Hiệu suất và tốc độ của phần mềm khi xử lý dữ liệu lớn.
  • C. Mức độ bảo mật của phần mềm trước các mối đe dọa.
  • D. Khả năng phần mềm hoạt động trên các nền tảng và môi trường khác nhau.

Câu 29: Để kiểm thử một hàm (function) nhận vào một chuỗi ký tự và trả về độ dài của chuỗi, trường hợp kiểm thử "chuỗi rỗng" (empty string) thuộc loại kiểm thử nào?

  • A. Kiểm thử giá trị hợp lệ (valid input testing).
  • B. Kiểm thử giá trị không hợp lệ (invalid input testing).
  • C. Kiểm thử trường hợp biên (boundary value testing).
  • D. Kiểm thử hiệu năng (performance testing).

Câu 30: Phương pháp "làm mịn dần" (stepwise refinement) trong thiết kế chương trình có liên quan mật thiết đến giai đoạn nào trong quy trình kiểm thử?

  • A. Kiểm thử hệ thống (system testing).
  • B. Kiểm thử đơn vị (unit testing) và kiểm thử tích hợp (integration testing) do cấu trúc module rõ ràng.
  • C. Kiểm thử chấp nhận người dùng (user acceptance testing).
  • D. Kiểm thử hiệu năng (performance testing).

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 1: Trong quá trình phát triển phần mềm, giai đoạn kiểm thử (testing) đóng vai trò quan trọng, nhưng mục tiêu chính của kiểm thử *không phải* là:

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 2: Phương pháp kiểm thử hộp đen (black-box testing) tập trung chủ yếu vào khía cạnh nào sau đây của chương trình?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 3: Để kiểm thử một hàm (function) tính giai thừa số nguyên dương, bộ dữ liệu kiểm thử nào sau đây được xem là *đa dạng* và *hiệu quả* nhất trong việc phát hiện lỗi?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 4: Trong kiểm thử phần mềm, 'độ bao phủ mã' (code coverage) là một chỉ số quan trọng. Độ bao phủ nhánh (branch coverage) đo lường điều gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 5: Khi đánh giá hiệu quả của thuật toán sắp xếp, tiêu chí nào sau đây thể hiện 'độ phức tạp thời gian'?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 6: Cho đoạn chương trình kiểm tra số nguyên tố. Để kiểm thử trường hợp biên (boundary case), dữ liệu kiểm thử nào sau đây là phù hợp nhất?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 7: Trong kiểm thử hồi quy (regression testing), mục đích chính là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 8: Phương pháp chứng minh tính đúng đắn của thuật toán bằng 'bất biến vòng lặp' (loop invariant) dựa trên nguyên tắc nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 9: Trong ngữ cảnh kiểm thử hiệu năng (performance testing), 'kiểm thử chịu tải' (load testing) nhằm mục đích gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 10: Khi thiết kế bộ dữ liệu kiểm thử cho một chương trình, nguyên tắc 'phân vùng tương đương' (equivalence partitioning) giúp:

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 11: Trong các loại lỗi chương trình, lỗi cú pháp (syntax error) thường được phát hiện ở giai đoạn nào của quá trình phát triển phần mềm?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 12: Để đánh giá độ phức tạp không gian của thuật toán, chúng ta quan tâm đến yếu tố nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 13: Tình huống nào sau đây *không* phải là mục tiêu của kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT)?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 14: Trong kiểm thử hiệu suất, 'kiểm thử độ bền' (endurance testing) còn được gọi là 'kiểm thử ngâm' (soak testing), tập trung vào việc kiểm tra điều gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 15: Để kiểm thử một thuật toán tìm kiếm nhị phân (binary search), dữ liệu kiểm thử nào sau đây là quan trọng *nhất*?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 16: Trong quy trình kiểm thử, 'test case' (ca kiểm thử) bao gồm những thành phần chính nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 17: Khi so sánh độ phức tạp thuật toán, ký hiệu 'O(log n)' thường biểu thị điều gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 18: Trong kiểm thử tích hợp (integration testing), phương pháp 'top-down' (từ trên xuống) tiếp cận việc tích hợp và kiểm thử các module như thế nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 19: Phát biểu nào sau đây mô tả đúng nhất về mối quan hệ giữa 'kiểm thử chương trình' và 'chứng minh tính đúng đắn của thuật toán'?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 20: Trong kiểm thử hộp trắng (white-box testing), kỹ thuật 'kiểm thử đường dẫn cơ bản' (basic path testing) tập trung vào việc thiết kế test case dựa trên yếu tố nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 21: Khi nào thì việc sử dụng phương pháp 'kiểm thử tự động' (automated testing) mang lại lợi ích rõ rệt nhất so với 'kiểm thử thủ công' (manual testing)?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 22: Trong quá trình kiểm thử, 'lỗi' (fault/bug) và 'sai sót' (failure) khác nhau như thế nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 23: Để đánh giá hiệu quả của thuật toán sắp xếp trộn (merge sort), độ phức tạp thời gian trường hợp tốt nhất (best-case time complexity) là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 24: Trong kiểm thử phần mềm, 'test harness' (khung kiểm thử) có vai trò gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 25: Kỹ thuật kiểm thử nào thường được sử dụng để kiểm thử giao diện người dùng (UI testing) của một ứng dụng web?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 26: Trong ngữ cảnh kiểm thử bảo mật (security testing), 'vulnerability scanning' (quét lỗ hổng bảo mật) là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 27: Tiêu chí nào sau đây *không* phải là một khía cạnh của 'chất lượng phần mềm'?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 28: Trong kiểm thử phi chức năng (non-functional testing), 'kiểm thử khả năng sử dụng' (usability testing) tập trung vào việc đánh giá điều gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 29: Để kiểm thử một hàm (function) nhận vào một chuỗi ký tự và trả về độ dài của chuỗi, trường hợp kiểm thử 'chuỗi rỗng' (empty string) thuộc loại kiểm thử nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 4

Câu 30: Phương pháp 'làm mịn dần' (stepwise refinement) trong thiết kế chương trình có liên quan mật thiết đến giai đoạn nào trong quy trình kiểm thử?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 05 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quy trình phát triển phần mềm, giai đoạn kiểm thử và đánh giá chương trình thường được thực hiện ở thời điểm nào?

  • A. Trước khi viết mã chương trình.
  • B. Đồng thời với giai đoạn phân tích yêu cầu.
  • C. Chỉ sau khi chương trình đã được triển khai và sử dụng.
  • D. Sau khi viết mã chương trình và trước khi triển khai.

Câu 2: Phương pháp kiểm thử hộp đen (black-box testing) tập trung vào yếu tố nào của chương trình?

  • A. Cấu trúc mã nguồn và thuật toán bên trong chương trình.
  • B. Chức năng và hành vi bên ngoài của chương trình dựa trên đặc tả.
  • C. Hiệu suất sử dụng bộ nhớ và thời gian thực thi của chương trình.
  • D. Mức độ dễ đọc và dễ bảo trì của mã nguồn chương trình.

Câu 3: Để kiểm thử một hàm tính giai thừa với đầu vào là số nguyên dương, bộ dữ liệu kiểm thử nào sau đây được xem là đa dạng và hiệu quả nhất?

  • A. Chỉ các số dương nhỏ (1, 2, 3, 4, 5).
  • B. Các số chẵn và số lẻ trong khoảng từ 10 đến 20.
  • C. Số 0, số 1, số dương nhỏ (ví dụ 5), và số dương lớn hơn (ví dụ 15).
  • D. Các số âm và số dương ngẫu nhiên.

Câu 4: Giả sử bạn có một chương trình sắp xếp danh sách số nguyên. Bạn đã kiểm thử với 100 bộ dữ liệu khác nhau và chương trình luôn cho kết quả đúng. Điều này có đảm bảo chương trình luôn đúng trong mọi trường hợp không?

  • A. Có, vì 100 bộ dữ liệu là đủ lớn để bao phủ mọi trường hợp.
  • B. Không, vì kiểm thử không thể bao quát hết tất cả các trường hợp đầu vào có thể.
  • C. Có, nếu các bộ dữ liệu được chọn ngẫu nhiên.
  • D. Không chắc chắn, cần kiểm tra thêm bằng phương pháp chứng minh toán học.

Câu 5: Độ phức tạp thời gian của một thuật toán được đo lường bằng đơn vị nào?

  • A. Giây (seconds) hoặc mili giây (milliseconds).
  • B. Byte (B) hoặc Kilobyte (KB).
  • C. Số dòng mã lệnh.
  • D. Hàm số mô tả sự tăng trưởng thời gian thực thi theo kích thước đầu vào (ví dụ: O(n), O(n^2), O(log n)).

Câu 6: Khi đánh giá hiệu quả của hai thuật toán cùng giải một bài toán, tiêu chí nào sau đây thường được ưu tiên hơn nếu dữ liệu đầu vào rất lớn?

  • A. Độ phức tạp thời gian.
  • B. Độ phức tạp không gian.
  • C. Tính dễ hiểu và dễ cài đặt của thuật toán.
  • D. Số lượng bộ dữ liệu kiểm thử đã sử dụng.

Câu 7: Cho một thuật toán tìm kiếm tuyến tính trong danh sách có n phần tử. Trong trường hợp xấu nhất, thuật toán này phải thực hiện bao nhiêu phép so sánh?

  • A. O(log n).
  • B. O(1).
  • C. O(n).
  • D. O(n^2).

Câu 8: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường dựa trên nguyên tắc nào?

  • A. Kiểm thử thuật toán với tất cả các trường hợp đầu vào có thể.
  • B. Chứng minh tính đúng cho trường hợp cơ sở và bước quy nạp.
  • C. Phân tích độ phức tạp thời gian và không gian của thuật toán.
  • D. So sánh kết quả của thuật toán với một thuật toán đã được chứng minh là đúng.

Câu 9: Trong kiểm thử hộp trắng (white-box testing), người kiểm thử cần có kiến thức về yếu tố nào sau đây?

  • A. Yêu cầu bài toán và đặc tả chức năng của chương trình.
  • B. Giao diện người dùng và trải nghiệm người dùng.
  • C. Cấu trúc mã nguồn, thuật toán và luồng điều khiển của chương trình.
  • D. Môi trường triển khai và cấu hình hệ thống.

Câu 10: Khi nào việc sử dụng kiểm thử tự động (automated testing) trở nên đặc biệt quan trọng?

  • A. Khi chương trình có kích thước nhỏ và ít chức năng.
  • B. Khi thời gian phát triển chương trình rất ngắn.
  • C. Khi chỉ có một vài người kiểm thử.
  • D. Khi chương trình phức tạp, có nhiều module và cần kiểm thử hồi quy (regression testing) thường xuyên.

Câu 11: Một chương trình được đánh giá là có độ tin cậy cao khi nào?

  • A. Khi chương trình chạy nhanh và sử dụng ít bộ nhớ.
  • B. Khi chương trình hoạt động ổn định, ít hoặc không có lỗi trong quá trình sử dụng.
  • C. Khi chương trình có giao diện đẹp và dễ sử dụng.
  • D. Khi chương trình được viết bằng ngôn ngữ lập trình hiện đại.

Câu 12: Để đánh giá hiệu quả bộ nhớ của chương trình, người ta thường xem xét đến yếu tố nào?

  • A. Thời gian biên dịch chương trình.
  • B. Thời gian thực thi chương trình.
  • C. Độ phức tạp không gian (space complexity).
  • D. Độ phức tạp thời gian (time complexity).

Câu 13: Trong kiểm thử phần mềm, thuật ngữ "test case" (ca kiểm thử) dùng để chỉ điều gì?

  • A. Một bộ dữ liệu đầu vào cụ thể cùng với kết quả đầu ra mong đợi và các điều kiện kiểm thử.
  • B. Một báo cáo về các lỗi phát hiện được trong quá trình kiểm thử.
  • C. Một phương pháp để thiết kế bộ dữ liệu kiểm thử.
  • D. Một công cụ tự động để thực hiện kiểm thử.

Câu 14: Cho đoạn chương trình tính tổng các số từ 1 đến n. Để kiểm thử chức năng này, bạn nên thiết kế bộ dữ liệu kiểm thử nào để kiểm tra cả trường hợp biên và trường hợp thông thường?

  • A. n = 10, 20, 30.
  • B. n = 0, 1, 5, 100.
  • C. n = -1, 0, 1.
  • D. n = 1000, 2000, 3000.

Câu 15: Khi so sánh thuật toán sắp xếp chèn (insertion sort) và sắp xếp nhanh (quicksort) về độ phức tạp thời gian trung bình, thuật toán nào hiệu quả hơn cho dữ liệu lớn?

  • A. Sắp xếp chèn luôn hiệu quả hơn.
  • B. Sắp xếp chèn và sắp xếp nhanh có hiệu quả tương đương.
  • C. Sắp xếp chèn hiệu quả hơn cho dữ liệu lớn.
  • D. Sắp xếp nhanh hiệu quả hơn cho dữ liệu lớn.

Câu 16: Trong ngữ cảnh kiểm thử phần mềm, "lỗi" (bug) khác với "sai sót" (error) như thế nào?

  • A. Lỗi và sai sót là hai thuật ngữ đồng nghĩa, có thể sử dụng thay thế cho nhau.
  • B. Sai sót là lỗi ở mức độ nghiêm trọng hơn.
  • C. Sai sót là nguyên nhân gây ra lỗi, còn lỗi là biểu hiện ra bên ngoài của sai sót đó.
  • D. Lỗi xảy ra trong giai đoạn thiết kế, sai sót xảy ra trong giai đoạn viết mã.

Câu 17: Để giảm độ phức tạp của một thuật toán, biện pháp nào sau đây thường được áp dụng?

  • A. Sử dụng cấu trúc dữ liệu phù hợp và thuật toán hiệu quả hơn.
  • B. Tăng tốc độ CPU của máy tính chạy chương trình.
  • C. Tối ưu hóa mã nguồn ở mức độ thấp (ví dụ: assembly).
  • D. Chia chương trình thành nhiều module nhỏ hơn.

Câu 18: Phương pháp kiểm thử "boundary value analysis" (phân tích giá trị biên) tập trung vào loại dữ liệu kiểm thử nào?

  • A. Dữ liệu ngẫu nhiên.
  • B. Dữ liệu tại biên của miền giá trị đầu vào (giá trị nhỏ nhất, lớn nhất, giá trị lân cận biên).
  • C. Dữ liệu thông thường, nằm trong miền giá trị hợp lệ.
  • D. Dữ liệu không hợp lệ, nằm ngoài miền giá trị cho phép.

Câu 19: Giả sử bạn có một hàm kiểm tra số nguyên tố. Để kiểm thử đầy đủ hàm này, bạn cần kiểm tra với những loại số nào?

  • A. Chỉ các số nguyên tố nhỏ.
  • B. Chỉ các số chẵn và số lẻ.
  • C. Chỉ các số dương.
  • D. Số âm, số 0, số 1, số nguyên tố nhỏ, số hợp số nhỏ, số nguyên tố lớn.

Câu 20: Trong kiểm thử hiệu năng (performance testing), mục tiêu chính là đánh giá yếu tố nào của chương trình?

  • A. Tính đúng đắn về chức năng.
  • B. Tính bảo mật của chương trình.
  • C. Tốc độ, khả năng đáp ứng và độ ổn định của chương trình dưới tải.
  • D. Tính dễ sử dụng và giao diện người dùng.

Câu 21: Khi phân tích độ phức tạp thời gian của thuật toán, chúng ta thường tập trung vào trường hợp nào để đánh giá giới hạn trên về thời gian thực thi?

  • A. Trường hợp trung bình (average case).
  • B. Trường hợp xấu nhất (worst case).
  • C. Trường hợp tốt nhất (best case).
  • D. Tất cả các trường hợp đều được xem xét như nhau.

Câu 22: Trong quá trình kiểm thử phần mềm, nếu phát hiện lỗi, bước tiếp theo quan trọng nhất là gì?

  • A. Bỏ qua lỗi nếu nó không nghiêm trọng.
  • B. Thông báo lỗi cho người dùng cuối.
  • C. Ghi lại lỗi một cách chi tiết và chuyển cho nhóm phát triển để sửa.
  • D. Xóa bỏ bộ dữ liệu kiểm thử gây ra lỗi.

Câu 23: Để chứng minh tính đúng của thuật toán sắp xếp nổi bọt (bubble sort), phương pháp lập luận logic nào có thể được sử dụng?

  • A. Sử dụng bất biến vòng lặp để chứng minh sau mỗi lần lặp, phần tử lớn nhất đã được đặt đúng vị trí.
  • B. Kiểm thử với tất cả các hoán vị có thể của dữ liệu đầu vào.
  • C. Phân tích độ phức tạp thời gian của thuật toán.
  • D. So sánh với thuật toán sắp xếp nhanh đã được chứng minh là đúng.

Câu 24: Khi thiết kế bộ dữ liệu kiểm thử cho một hệ thống thương mại điện tử, loại dữ liệu nào cần được ưu tiên kiểm thử kỹ lưỡng?

  • A. Dữ liệu về sản phẩm và danh mục sản phẩm.
  • B. Dữ liệu về thông tin giao hàng.
  • C. Dữ liệu về đánh giá và nhận xét của khách hàng.
  • D. Dữ liệu về thông tin thanh toán và giao dịch tài chính.

Câu 25: Trong kiểm thử hồi quy (regression testing), mục đích chính là gì?

  • A. Tìm kiếm lỗi mới trong các chức năng chưa được kiểm thử trước đó.
  • B. Đảm bảo rằng các thay đổi hoặc sửa lỗi mới không gây ra lỗi ở các chức năng đã hoạt động tốt trước đó.
  • C. Đo lường hiệu năng của chương trình sau khi cập nhật.
  • D. Kiểm tra tính tương thích của chương trình với các hệ điều hành khác nhau.

Câu 26: Khi nào độ phức tạp không gian của thuật toán trở thành yếu tố quan trọng cần tối ưu?

  • A. Khi dữ liệu đầu vào nhỏ.
  • B. Khi thời gian thực thi là yếu tố duy nhất cần quan tâm.
  • C. Khi chương trình phải chạy trên các thiết bị có bộ nhớ hạn chế (ví dụ: thiết bị nhúng, điện thoại di động).
  • D. Khi chương trình chỉ cần chạy một lần duy nhất.

Câu 27: Cho thuật toán tìm kiếm nhị phân trên mảng đã sắp xếp. Độ phức tạp thời gian tốt nhất của thuật toán này là bao nhiêu?

  • A. O(n).
  • B. O(log n).
  • C. O(1).
  • D. O(n log n).

Câu 28: Trong kiểm thử chấp nhận (acceptance testing), ai là người thực hiện kiểm thử chính?

  • A. Lập trình viên.
  • B. Nhóm kiểm thử chuyên nghiệp.
  • C. Quản lý dự án.
  • D. Người dùng cuối hoặc khách hàng.

Câu 29: Để cải thiện độ tin cậy của chương trình, ngoài kiểm thử, biện pháp nào sau đây cũng rất quan trọng?

  • A. Áp dụng các nguyên tắc lập trình phòng thủ (defensive programming) và viết mã rõ ràng, dễ hiểu.
  • B. Tăng số lượng kiểm thử viên.
  • C. Sử dụng ngôn ngữ lập trình bậc cao.
  • D. Giảm thời gian phát triển chương trình.

Câu 30: Trong tình huống nào, việc đánh đổi giữa độ phức tạp thời gian và độ phức tạp không gian của thuật toán là hợp lý?

  • A. Khi cả thời gian và không gian đều không phải là yếu tố hạn chế.
  • B. Khi có thể giảm đáng kể độ phức tạp thời gian bằng cách tăng một lượng nhỏ độ phức tạp không gian, hoặc ngược lại.
  • C. Khi chỉ cần tối ưu độ phức tạp thời gian mà không quan tâm đến không gian.
  • D. Khi chỉ cần tối ưu độ phức tạp không gian mà không quan tâm đến thời gian.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 1: Trong quy trình phát triển phần mềm, giai đoạn kiểm thử và đánh giá chương trình thường được thực hiện ở thời điểm nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 2: Phương pháp kiểm thử hộp đen (black-box testing) tập trung vào yếu tố nào của chương trình?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 3: Để kiểm thử một hàm tính giai thừa với đầu vào là số nguyên dương, bộ dữ liệu kiểm thử nào sau đây được xem là đa dạng và hiệu quả nhất?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 4: Giả sử bạn có một chương trình sắp xếp danh sách số nguyên. Bạn đã kiểm thử với 100 bộ dữ liệu khác nhau và chương trình luôn cho kết quả đúng. Điều này có đảm bảo chương trình luôn đúng trong mọi trường hợp không?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 5: Độ phức tạp thời gian của một thuật toán được đo lường bằng đơn vị nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 6: Khi đánh giá hiệu quả của hai thuật toán cùng giải một bài toán, tiêu chí nào sau đây thường được ưu tiên hơn nếu dữ liệu đầu vào rất lớn?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 7: Cho một thuật toán tìm kiếm tuyến tính trong danh sách có n phần tử. Trong trường hợp xấu nhất, thuật toán này phải thực hiện bao nhiêu phép so sánh?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 8: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường dựa trên nguyên tắc nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 9: Trong kiểm thử hộp trắng (white-box testing), người kiểm thử cần có kiến thức về yếu tố nào sau đây?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 10: Khi nào việc sử dụng kiểm thử tự động (automated testing) trở nên đặc biệt quan trọng?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 11: Một chương trình được đánh giá là có độ tin cậy cao khi nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 12: Để đánh giá hiệu quả bộ nhớ của chương trình, người ta thường xem xét đến yếu tố nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 13: Trong kiểm thử phần mềm, thuật ngữ 'test case' (ca kiểm thử) dùng để chỉ điều gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 14: Cho đoạn chương trình tính tổng các số từ 1 đến n. Để kiểm thử chức năng này, bạn nên thiết kế bộ dữ liệu kiểm thử nào để kiểm tra cả trường hợp biên và trường hợp thông thường?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 15: Khi so sánh thuật toán sắp xếp chèn (insertion sort) và sắp xếp nhanh (quicksort) về độ phức tạp thời gian trung bình, thuật toán nào hiệu quả hơn cho dữ liệu lớn?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 16: Trong ngữ cảnh kiểm thử phần mềm, 'lỗi' (bug) khác với 'sai sót' (error) như thế nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 17: Để giảm độ phức tạp của một thuật toán, biện pháp nào sau đây thường được áp dụng?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 18: Phương pháp kiểm thử 'boundary value analysis' (phân tích giá trị biên) tập trung vào loại dữ liệu kiểm thử nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 19: Giả sử bạn có một hàm kiểm tra số nguyên tố. Để kiểm thử đầy đủ hàm này, bạn cần kiểm tra với những loại số nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 20: Trong kiểm thử hiệu năng (performance testing), mục tiêu chính là đánh giá yếu tố nào của chương trình?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 21: Khi phân tích độ phức tạp thời gian của thuật toán, chúng ta thường tập trung vào trường hợp nào để đánh giá giới hạn trên về thời gian thực thi?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 22: Trong quá trình kiểm thử phần mềm, nếu phát hiện lỗi, bước tiếp theo quan trọng nhất là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 23: Để chứng minh tính đúng của thuật toán sắp xếp nổi bọt (bubble sort), phương pháp lập luận logic nào có thể được sử dụng?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 24: Khi thiết kế bộ dữ liệu kiểm thử cho một hệ thống thương mại điện tử, loại dữ liệu nào cần được ưu tiên kiểm thử kỹ lưỡng?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 25: Trong kiểm thử hồi quy (regression testing), mục đích chính là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 26: Khi nào độ phức tạp không gian của thuật toán trở thành yếu tố quan trọng cần tối ưu?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 27: Cho thuật toán tìm kiếm nhị phân trên mảng đã sắp xếp. Độ phức tạp thời gian tốt nhất của thuật toán này là bao nhiêu?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 28: Trong kiểm thử chấp nhận (acceptance testing), ai là người thực hiện kiểm thử chính?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 29: Để cải thiện độ tin cậy của chương trình, ngoài kiểm thử, biện pháp nào sau đây cũng rất quan trọng?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 5

Câu 30: Trong tình huống nào, việc đánh đổi giữa độ phức tạp thời gian và độ phức tạp không gian của thuật toán là hợp lý?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 06 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong giai đoạn phát triển phần mềm, hoạt động nào sau đây được thực hiện sau khi viết mã chương trình và trước khi triển khai chính thức cho người dùng?

  • A. Phân tích yêu cầu
  • B. Thiết kế thuật toán
  • C. Viết tài liệu hướng dẫn sử dụng
  • D. Kiểm thử và đánh giá chương trình

Câu 2: Bạn được yêu cầu kiểm thử một hàm sắp xếp danh sách số nguyên. Để kiểm thử hộp đen (black-box testing) hàm này, bạn sẽ chủ yếu tập trung vào điều gì?

  • A. Xem xét cấu trúc mã lệnh và các biến được sử dụng trong hàm.
  • B. Đảm bảo rằng với các đầu vào khác nhau, hàm trả về kết quả sắp xếp đúng.
  • C. Phân tích độ phức tạp thời gian và không gian của thuật toán sắp xếp.
  • D. Kiểm tra xem mã nguồn có tuân thủ các quy ước lập trình hay không.

Câu 3: Phương pháp kiểm thử hộp trắng (white-box testing) khác biệt với hộp đen chủ yếu ở điểm nào?

  • A. Hộp trắng chỉ dùng cho kiểm thử hiệu năng, hộp đen cho kiểm thử chức năng.
  • B. Hộp đen tốn ít thời gian hơn hộp trắng.
  • C. Hộp trắng dựa trên cấu trúc mã nguồn, hộp đen dựa trên đặc tả chức năng.
  • D. Hộp đen phát hiện lỗi logic, hộp trắng phát hiện lỗi cú pháp.

Câu 4: Khi kiểm thử một chương trình tính tổng các số trong một mảng, bộ dữ liệu kiểm thử nào sau đây thể hiện việc kiểm thử giá trị biên (boundary value testing) tốt nhất?

  • A. Mảng rỗng, mảng có một phần tử, mảng có nhiều phần tử.
  • B. Mảng chỉ chứa số dương, mảng chỉ chứa số âm, mảng chứa cả số âm và dương.
  • C. Mảng đã được sắp xếp, mảng chưa sắp xếp, mảng sắp xếp ngược.
  • D. Mảng chứa số nguyên nhỏ, mảng chứa số nguyên lớn, mảng chứa số thực.

Câu 5: Trong quá trình kiểm thử, bạn phát hiện chương trình chạy sai với một số đầu vào cụ thể. Hành động tiếp theo quan trọng nhất bạn nên làm là gì?

  • A. Báo cáo lỗi cho người quản lý dự án và dừng kiểm thử.
  • B. Ghi lại lỗi và tiếp tục kiểm thử với các bộ dữ liệu khác.
  • C. Tìm hiểu nguyên nhân gây ra lỗi và tiến hành sửa lỗi (debug).
  • D. Thay đổi bộ dữ liệu kiểm thử để chương trình chạy đúng.

Câu 6: Độ phức tạp thời gian của một thuật toán thường được biểu diễn bằng ký hiệu Big O (O lớn). Độ phức tạp O(n^2) nghĩa là gì?

  • A. Thời gian chạy thuật toán tỉ lệ nghịch với bình phương kích thước đầu vào.
  • B. Thời gian chạy thuật toán tăng tỉ lệ với bình phương kích thước đầu vào.
  • C. Thuật toán luôn chạy trong thời gian không đổi.
  • D. Thuật toán chỉ chạy đúng với đầu vào kích thước nhỏ hơn n^2.

Câu 7: Thuật toán tìm kiếm nhị phân có độ phức tạp thời gian là O(log n), trong khi tìm kiếm tuyến tính là O(n). Điều này có ý nghĩa gì khi kích thước dữ liệu (n) tăng lên?

  • A. Tìm kiếm nhị phân hiệu quả hơn đáng kể so với tìm kiếm tuyến tính với dữ liệu lớn.
  • B. Tìm kiếm tuyến tính luôn nhanh hơn tìm kiếm nhị phân.
  • C. Cả hai thuật toán có hiệu quả tương đương với dữ liệu lớn.
  • D. Độ phức tạp không ảnh hưởng đến thời gian chạy thực tế.

Câu 8: Để đánh giá hiệu quả sử dụng bộ nhớ của một chương trình, chúng ta quan tâm đến độ phức tạp nào?

  • A. Độ phức tạp thời gian trung bình.
  • B. Độ phức tạp thời gian tốt nhất.
  • C. Độ phức tạp thời gian xấu nhất.
  • D. Độ phức tạp không gian.

Câu 9: Trong tình huống nào thì việc ưu tiên giảm độ phức tạp không gian của thuật toán trở nên đặc biệt quan trọng?

  • A. Khi chương trình cần xử lý dữ liệu rất nhanh.
  • B. Khi chương trình chạy trên thiết bị có bộ nhớ hạn chế (ví dụ: thiết bị nhúng).
  • C. Khi chương trình cần dễ dàng bảo trì và nâng cấp.
  • D. Khi chương trình được phát triển bởi nhiều lập trình viên.

Câu 10: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường bao gồm bước cơ sở và bước nào sau đây?

  • A. Bước kiểm thử
  • B. Bước lặp
  • C. Bước quy nạp
  • D. Bước kết luận

Câu 11: Cho đoạn mã giả thuật toán sắp xếp nổi bọt (Bubble Sort). Để chứng minh tính đúng của thuật toán này bằng quy nạp, bạn cần xác định bất biến vòng lặp nào?

  • A. Mảng đầu vào luôn được sắp xếp sau mỗi lần lặp.
  • B. Sau mỗi vòng lặp ngoài, phần tử lớn nhất (hoặc nhỏ nhất) đã được đặt đúng vị trí cuối cùng (hoặc đầu tiên).
  • C. Số lượng phép so sánh giảm dần sau mỗi vòng lặp.
  • D. Vị trí của các phần tử nhỏ nhất không thay đổi sau mỗi vòng lặp.

Câu 12: Bạn có hai thuật toán giải cùng một bài toán. Thuật toán A có độ phức tạp O(n log n), thuật toán B có độ phức tạp O(n^2). Với kích thước đầu vào lớn, thuật toán nào thường sẽ chạy nhanh hơn?

  • A. Thuật toán A (O(n log n)).
  • B. Thuật toán B (O(n^2)).
  • C. Cả hai thuật toán có tốc độ tương đương.
  • D. Không thể xác định nếu không biết ngôn ngữ lập trình.

Câu 13: Kiểm thử đơn vị (unit testing) tập trung vào việc kiểm tra thành phần nào của chương trình?

  • A. Toàn bộ hệ thống phần mềm sau khi tích hợp.
  • B. Giao diện người dùng và trải nghiệm người dùng.
  • C. Các đơn vị mã nguồn nhỏ nhất, ví dụ như hàm hoặc lớp.
  • D. Sự tương tác giữa chương trình và cơ sở dữ liệu.

Câu 14: Kiểm thử tích hợp (integration testing) được thực hiện sau kiểm thử đơn vị và nhằm mục đích gì?

  • A. Kiểm tra hiệu năng của từng đơn vị mã.
  • B. Kiểm tra sự tương tác và làm việc cùng nhau của các đơn vị mã sau khi tích hợp.
  • C. Kiểm tra tính tuân thủ yêu cầu của toàn bộ hệ thống.
  • D. Kiểm tra khả năng chịu tải và độ ổn định của hệ thống.

Câu 15: Kiểm thử chấp nhận (acceptance testing) thường được thực hiện bởi đối tượng nào?

  • A. Lập trình viên phát triển chương trình.
  • B. Nhóm kiểm thử phần mềm chuyên nghiệp.
  • C. Người quản lý dự án.
  • D. Người dùng cuối hoặc khách hàng.

Câu 16: Giả sử bạn cần viết một chương trình kiểm tra xem một số có phải là số nguyên tố hay không. Bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra tính đúng đắn của chương trình?

  • A. Các số chẵn lớn hơn 2.
  • B. Các số âm và số 0.
  • C. Số 2, số 3, số 4, số 9, số 29, số 100.
  • D. Các số có nhiều chữ số giống nhau (ví dụ: 11, 222, 3333).

Câu 17: Khi đánh giá hiệu quả của thuật toán sắp xếp, tiêu chí thời gian chạy trung bình thường được đo trong trường hợp nào?

  • A. Với bộ dữ liệu đầu vào đã được sắp xếp.
  • B. Với nhiều bộ dữ liệu đầu vào ngẫu nhiên khác nhau.
  • C. Với bộ dữ liệu đầu vào gây ra thời gian chạy lâu nhất.
  • D. Với bộ dữ liệu đầu vào nhỏ nhất.

Câu 18: Trong kiểm thử hồi quy (regression testing), mục đích chính là gì?

  • A. Tìm các lỗi mới trong chương trình.
  • B. Đo hiệu năng của chương trình sau khi sửa lỗi.
  • C. Đảm bảo chương trình chạy nhanh hơn sau khi cập nhật.
  • D. Đảm bảo rằng các thay đổi mã nguồn (ví dụ: sửa lỗi) không gây ra lỗi mới hoặc làm tái xuất hiện các lỗi cũ.

Câu 19: Để cải thiện độ tin cậy của chương trình, ngoài kiểm thử, phương pháp nào sau đây cũng rất quan trọng?

  • A. Tăng tốc độ biên dịch chương trình.
  • B. Sử dụng ngôn ngữ lập trình bậc cao.
  • C. Viết mã nguồn rõ ràng, dễ đọc và tuân thủ quy chuẩn.
  • D. Tối ưu hóa thuật toán để giảm độ phức tạp thời gian.

Câu 20: Trong kiểm thử phần mềm, thuật ngữ "độ bao phủ mã" (code coverage) dùng để chỉ điều gì?

  • A. Phần trăm mã nguồn đã được thực thi bởi các bộ dữ liệu kiểm thử.
  • B. Số lượng lỗi được phát hiện trên mỗi dòng mã.
  • C. Mức độ dễ đọc và dễ hiểu của mã nguồn.
  • D. Tổng số dòng mã trong chương trình.

Câu 21: Giả sử bạn có một hàm tính giai thừa số nguyên. Hãy chọn bộ dữ liệu kiểm thử tốt nhất trong các lựa chọn sau:

  • A. 5, 10, 15, 20
  • B. 0, 1, 2, 5, 10
  • C. -1, 0, 1, 2
  • D. 100, 200, 300, 400

Câu 22: Phương pháp phân vùng tương đương (equivalence partitioning) trong kiểm thử hộp đen giúp đạt được điều gì?

  • A. Kiểm tra tất cả các giá trị đầu vào có thể.
  • B. Tăng độ bao phủ mã lên 100%.
  • C. Giảm số lượng bộ dữ liệu kiểm thử mà vẫn đảm bảo độ bao phủ chức năng.
  • D. Tự động sinh bộ dữ liệu kiểm thử ngẫu nhiên.

Câu 23: Trong kiểm thử hiệu năng (performance testing), chúng ta thường đo lường các chỉ số nào?

  • A. Thời gian phản hồi, thông lượng, mức sử dụng tài nguyên (CPU, bộ nhớ).
  • B. Số lượng lỗi chức năng phát hiện được.
  • C. Độ bao phủ mã đạt được trong quá trình kiểm thử.
  • D. Mức độ tuân thủ các tiêu chuẩn lập trình.

Câu 24: Khi thuật toán có độ phức tạp thời gian là O(2^n), điều gì xảy ra với thời gian chạy khi kích thước đầu vào (n) tăng lên một đơn vị?

  • A. Thời gian chạy tăng lên một lượng không đổi.
  • B. Thời gian chạy tăng lên gấp đôi.
  • C. Thời gian chạy giảm đi một nửa.
  • D. Thời gian chạy tăng lên gấp đôi (xấp xỉ).

Câu 25: Trong kiểm thử tải (load testing), mục tiêu chính là gì?

  • A. Tìm lỗi chức năng khi chương trình chạy dưới tải thấp.
  • B. Đánh giá khả năng chịu tải và độ ổn định của chương trình khi có nhiều người dùng hoặc yêu cầu đồng thời.
  • C. Kiểm tra hiệu năng của chương trình trên các cấu hình phần cứng khác nhau.
  • D. Đảm bảo chương trình tương thích với nhiều hệ điều hành.

Câu 26: Để chứng minh tính đúng của thuật toán, phương pháp nào sau đây cung cấp bằng chứng mạnh mẽ nhất?

  • A. Kiểm thử rộng rãi với nhiều bộ dữ liệu.
  • B. Kiểm thử tự động.
  • C. Chứng minh bằng lập luận logic và toán học.
  • D. Phân tích độ phức tạp thời gian.

Câu 27: Khi nào thì việc sử dụng phương pháp làm mịn dần (stepwise refinement) đặc biệt hữu ích trong thiết kế chương trình?

  • A. Khi giải quyết các bài toán phức tạp, có nhiều bước và nhiều thành phần.
  • B. Khi chương trình cần chạy với tốc độ nhanh nhất.
  • C. Khi chương trình cần tiết kiệm bộ nhớ tối đa.
  • D. Khi chương trình được viết bởi một nhóm lập trình viên lớn.

Câu 28: Trong quá trình kiểm thử, nếu phát hiện lỗi, bước tiếp theo quan trọng là xác định nguyên nhân gốc rễ của lỗi (root cause analysis). Tại sao điều này quan trọng?

  • A. Để sửa lỗi nhanh chóng và tiếp tục kiểm thử.
  • B. Để ngăn chặn các lỗi tương tự xảy ra trong tương lai và cải thiện quy trình phát triển.
  • C. Để đánh giá hiệu suất làm việc của lập trình viên.
  • D. Để giảm chi phí kiểm thử.

Câu 29: Cho một thuật toán tìm kiếm trên mảng đã sắp xếp. Nếu bạn muốn chứng minh tính đúng của thuật toán này bằng quy nạp, bạn có thể quy nạp trên yếu tố nào?

  • A. Giá trị của phần tử cần tìm.
  • B. Kích thước của mảng đầu vào.
  • C. Số lần lặp của thuật toán.
  • D. Khoảng tìm kiếm (ví dụ: quy nạp trên kích thước khoảng tìm kiếm).

Câu 30: Trong thực tế, việc kiểm thử phần mềm không thể chứng minh chương trình hoàn toàn không có lỗi. Tại sao?

  • A. Do chi phí kiểm thử quá cao.
  • B. Do công nghệ kiểm thử chưa đủ phát triển.
  • C. Do không thể kiểm thử hết tất cả các trường hợp đầu vào và trạng thái chương trình.
  • D. Do lập trình viên luôn mắc lỗi.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 1: Trong giai đoạn phát triển phần mềm, hoạt động nào sau đây được thực hiện *sau khi* viết mã chương trình và *trước khi* triển khai chính thức cho người dùng?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 2: Bạn được yêu cầu kiểm thử một hàm sắp xếp danh sách số nguyên. Để kiểm thử *hộp đen* (black-box testing) hàm này, bạn sẽ chủ yếu tập trung vào điều gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 3: Phương pháp kiểm thử *hộp trắng* (white-box testing) khác biệt với *hộp đen* chủ yếu ở điểm nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 4: Khi kiểm thử một chương trình tính tổng các số trong một mảng, bộ dữ liệu kiểm thử nào sau đây thể hiện việc kiểm thử *giá trị biên* (boundary value testing) tốt nhất?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 5: Trong quá trình kiểm thử, bạn phát hiện chương trình chạy *sai* với một số đầu vào cụ thể. Hành động tiếp theo quan trọng nhất bạn nên làm là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 6: Độ phức tạp thời gian của một thuật toán thường được biểu diễn bằng ký hiệu Big O (O lớn). Độ phức tạp O(n^2) nghĩa là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 7: Thuật toán tìm kiếm nhị phân có độ phức tạp thời gian là O(log n), trong khi tìm kiếm tuyến tính là O(n). Điều này có ý nghĩa gì khi kích thước dữ liệu (n) tăng lên?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 8: Để đánh giá hiệu quả sử dụng bộ nhớ của một chương trình, chúng ta quan tâm đến độ phức tạp nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 9: Trong tình huống nào thì việc ưu tiên giảm độ phức tạp *không gian* của thuật toán trở nên đặc biệt quan trọng?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 10: Phương pháp chứng minh tính đúng của thuật toán bằng *quy nạp toán học* thường bao gồm bước cơ sở và bước nào sau đây?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 11: Cho đoạn mã giả thuật toán sắp xếp nổi bọt (Bubble Sort). Để chứng minh tính đúng của thuật toán này bằng quy nạp, bạn cần xác định *bất biến vòng lặp* nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 12: Bạn có hai thuật toán giải cùng một bài toán. Thuật toán A có độ phức tạp O(n log n), thuật toán B có độ phức tạp O(n^2). Với kích thước đầu vào *lớn*, thuật toán nào thường sẽ chạy nhanh hơn?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 13: Kiểm thử đơn vị (unit testing) tập trung vào việc kiểm tra thành phần nào của chương trình?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 14: Kiểm thử tích hợp (integration testing) được thực hiện *sau* kiểm thử đơn vị và nhằm mục đích gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 15: Kiểm thử chấp nhận (acceptance testing) thường được thực hiện bởi đối tượng nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 16: Giả sử bạn cần viết một chương trình kiểm tra xem một số có phải là số nguyên tố hay không. Bộ dữ liệu kiểm thử nào sau đây là *phù hợp nhất* để kiểm tra tính đúng đắn của chương trình?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 17: Khi đánh giá hiệu quả của thuật toán sắp xếp, tiêu chí *thời gian chạy trung bình* thường được đo trong trường hợp nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 18: Trong kiểm thử hồi quy (regression testing), mục đích chính là gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 19: Để cải thiện độ tin cậy của chương trình, ngoài kiểm thử, phương pháp nào sau đây cũng rất quan trọng?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 20: Trong kiểm thử phần mềm, thuật ngữ 'độ bao phủ mã' (code coverage) dùng để chỉ điều gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 21: Giả sử bạn có một hàm tính giai thừa số nguyên. Hãy chọn bộ dữ liệu kiểm thử *tốt nhất* trong các lựa chọn sau:

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 22: Phương pháp *phân vùng tương đương* (equivalence partitioning) trong kiểm thử hộp đen giúp đạt được điều gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 23: Trong kiểm thử hiệu năng (performance testing), chúng ta thường đo lường các chỉ số nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 24: Khi thuật toán có độ phức tạp thời gian là O(2^n), điều gì xảy ra với thời gian chạy khi kích thước đầu vào (n) tăng lên một đơn vị?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 25: Trong kiểm thử tải (load testing), mục tiêu chính là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 26: Để chứng minh tính *đúng* của thuật toán, phương pháp nào sau đây cung cấp bằng chứng mạnh mẽ nhất?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 27: Khi nào thì việc sử dụng phương pháp *làm mịn dần* (stepwise refinement) đặc biệt hữu ích trong thiết kế chương trình?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 28: Trong quá trình kiểm thử, nếu phát hiện lỗi, bước tiếp theo quan trọng là xác định *nguyên nhân gốc rễ* của lỗi (root cause analysis). Tại sao điều này quan trọng?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 29: Cho một thuật toán tìm kiếm trên mảng *đã sắp xếp*. Nếu bạn muốn chứng minh tính đúng của thuật toán này bằng quy nạp, bạn có thể quy nạp trên yếu tố nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 6

Câu 30: Trong thực tế, việc kiểm thử phần mềm *không thể* chứng minh chương trình hoàn toàn không có lỗi. Tại sao?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 07 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quy trình kiểm thử phần mềm, giai đoạn nào tập trung vào việc xác minh rằng tất cả các thành phần của hệ thống làm việc cùng nhau một cách chính xác sau khi đã được tích hợp?

  • A. Kiểm thử đơn vị (Unit testing)
  • B. Kiểm thử tích hợp (Integration testing)
  • C. Kiểm thử hệ thống (System testing)
  • D. Kiểm thử chấp nhận (Acceptance testing)

Câu 2: Một lập trình viên sử dụng phương pháp "in ra giá trị biến" trong quá trình gỡ lỗi. Phương pháp này chủ yếu hỗ trợ hoạt động kiểm thử nào?

  • A. Kiểm thử hộp đen (Black-box testing)
  • B. Kiểm thử hộp trắng (White-box testing)
  • C. Kiểm thử hồi quy (Regression testing)
  • D. Kiểm thử hiệu năng (Performance testing)

Câu 3: Cho đoạn chương trình kiểm tra số nguyên tố. Bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để phát hiện lỗi tiềm ẩn liên quan đến điều kiện biên và các trường hợp đặc biệt?

  • A. {2, 3, 5, 7, 11, 13}
  • B. {100, 200, 300, 400, 500}
  • C. {-1, 0, 1, 2, 3, 4, 5}
  • D. {1000, 1001, 1002, 1003, 1004}

Câu 4: Khi đánh giá độ hiệu quả của thuật toán sắp xếp, tiêu chí nào sau đây thể hiện "chi phí" về mặt thời gian thực thi thuật toán?

  • A. Độ phức tạp không gian (Space complexity)
  • B. Độ phức tạp thời gian (Time complexity)
  • C. Tính dễ đọc của mã nguồn (Code readability)
  • D. Số dòng mã lệnh (Lines of code)

Câu 5: Trong kiểm thử hộp trắng, phương pháp "phủ lệnh" (statement coverage) đảm bảo điều gì?

  • A. Tất cả các nhánh rẽ trong chương trình đều được thực thi.
  • B. Tất cả các cặp giá trị đầu vào đều được kiểm tra.
  • C. Tất cả các đường dẫn thực thi có thể đều được đi qua.
  • D. Mỗi dòng lệnh trong chương trình được thực thi ít nhất một lần.

Câu 6: Một chương trình được kiểm thử kỹ lưỡng với nhiều bộ dữ liệu khác nhau và không phát hiện ra lỗi. Điều này có thể kết luận gì về chương trình?

  • A. Chương trình chắc chắn không có lỗi.
  • B. Chương trình có độ tin cậy cao hơn, nhưng vẫn có thể tồn tại lỗi chưa được phát hiện.
  • C. Thuật toán của chương trình đã được chứng minh là đúng.
  • D. Không cần thiết phải kiểm thử thêm nữa.

Câu 7: Phương pháp chứng minh tính đúng đắn của thuật toán bằng quy nạp toán học dựa trên nguyên tắc nào?

  • A. Kiểm thử chương trình với nhiều bộ dữ liệu khác nhau.
  • B. Phân tích độ phức tạp thời gian và không gian của thuật toán.
  • C. Chứng minh tính đúng cho trường hợp cơ sở và bước quy nạp.
  • D. So sánh kết quả của thuật toán với một thuật toán đã được chứng minh là đúng.

Câu 8: Trong tình huống nào, kiểm thử hồi quy (regression testing) trở nên đặc biệt quan trọng?

  • A. Sau khi thực hiện sửa đổi mã nguồn hoặc thêm chức năng mới.
  • B. Trước khi phát hành phiên bản đầu tiên của phần mềm.
  • C. Khi kiểm thử hiệu năng của chương trình.
  • D. Trong giai đoạn kiểm thử đơn vị.

Câu 9: Xét thuật toán tìm kiếm tuyến tính trong mảng. Trường hợp tốt nhất về độ phức tạp thời gian xảy ra khi nào?

  • A. Khi phần tử cần tìm nằm ở cuối mảng.
  • B. Khi phần tử cần tìm nằm ở đầu mảng.
  • C. Khi mảng đã được sắp xếp.
  • D. Khi phần tử cần tìm không tồn tại trong mảng.

Câu 10: Kiểm thử chấp nhận (acceptance testing) thường được thực hiện bởi đối tượng nào?

  • A. Lập trình viên phát triển phần mềm.
  • B. Nhóm kiểm thử độc lập.
  • C. Người dùng cuối hoặc khách hàng.
  • D. Quản lý dự án phần mềm.

Câu 11: Giả sử bạn có một hàm tính giai thừa. Để kiểm thử hàm này, bộ dữ liệu nào sau đây tập trung vào kiểm tra các giá trị đầu vào hợp lệ và không hợp lệ?

  • A. {1, 2, 3, 4, 5}
  • B. {10, 20, 30, 40, 50}
  • C. {0.5, 1.5, 2.5, 3.5, 4.5}
  • D. {-1, 0, 1, 5, 10}

Câu 12: Trong kiểm thử hộp đen, người kiểm thử KHÔNG cần biết thông tin nào sau đây?

  • A. Cấu trúc mã nguồn của chương trình.
  • B. Yêu cầu chức năng của chương trình.
  • C. Đặc tả đầu vào và đầu ra của chương trình.
  • D. Mục đích sử dụng của chương trình.

Câu 13: Khi thiết kế bộ dữ liệu kiểm thử cho một hàm tính tổng các số trong mảng, loại dữ liệu nào sau đây nên được ưu tiên để phát hiện lỗi "off-by-one"?

  • A. Mảng chứa các số nguyên lớn.
  • B. Mảng có kích thước 0, 1 và 2.
  • C. Mảng chứa các số âm và số dương.
  • D. Mảng chứa các số thực.

Câu 14: Đâu là lợi ích chính của việc sử dụng công cụ kiểm thử tự động so với kiểm thử thủ công?

  • A. Kiểm thử tự động luôn tìm ra nhiều lỗi hơn kiểm thử thủ công.
  • B. Kiểm thử tự động đảm bảo tính đúng đắn tuyệt đối của chương trình.
  • C. Kiểm thử tự động giúp tiết kiệm thời gian và tăng hiệu quả kiểm thử, đặc biệt với các kiểm thử lặp đi lặp lại.
  • D. Kiểm thử tự động dễ dàng thiết kế bộ dữ liệu kiểm thử hơn.

Câu 15: Trong quá trình kiểm thử, một lỗi nghiêm trọng (critical bug) là loại lỗi nào?

  • A. Lỗi nhỏ, không ảnh hưởng đến chức năng chính.
  • B. Lỗi gây khó chịu về mặt thẩm mỹ.
  • C. Lỗi chỉ xảy ra trong trường hợp sử dụng rất hiếm gặp.
  • D. Lỗi gây ra sự cố hệ thống hoặc làm mất dữ liệu quan trọng.

Câu 16: Phương pháp kiểm thử nào thường được sử dụng để đảm bảo rằng các thay đổi mới trong mã nguồn không gây ra lỗi ở các chức năng đã hoạt động tốt trước đó?

  • A. Kiểm thử đơn vị.
  • B. Kiểm thử hồi quy.
  • C. Kiểm thử tích hợp.
  • D. Kiểm thử hiệu năng.

Câu 17: Khi đánh giá thuật toán, độ phức tạp không gian biểu thị điều gì?

  • A. Lượng bộ nhớ máy tính mà thuật toán cần để thực thi.
  • B. Thời gian cần thiết để thuật toán hoàn thành.
  • C. Số lượng dòng mã lệnh của thuật toán.
  • D. Tính dễ hiểu và bảo trì của thuật toán.

Câu 18: Trong kiểm thử hộp trắng, phương pháp "phủ nhánh" (branch coverage) yêu cầu điều gì?

  • A. Mỗi dòng lệnh được thực thi ít nhất một lần.
  • B. Tất cả các đường dẫn thực thi có thể được đi qua.
  • C. Mỗi nhánh rẽ của các cấu trúc điều khiển (if, switch, ...) được thực thi ít nhất một lần.
  • D. Tất cả các biến được khởi tạo và sử dụng đúng cách.

Câu 19: Để kiểm thử một chức năng đăng nhập, bộ dữ liệu kiểm thử nào sau đây là quan trọng nhất?

  • A. Các ký tự đặc biệt trong mật khẩu.
  • B. Tên đăng nhập và mật khẩu có độ dài lớn.
  • C. Tên đăng nhập và mật khẩu bằng tiếng Việt.
  • D. Tên đăng nhập và mật khẩu đúng, sai, và bỏ trống.

Câu 20: Trong kiểm thử hiệu năng, mục tiêu chính là gì?

  • A. Tìm kiếm lỗi logic trong chương trình.
  • B. Đánh giá tốc độ, khả năng chịu tải và độ ổn định của hệ thống.
  • C. Kiểm tra tính tương thích của phần mềm với các hệ điều hành khác nhau.
  • D. Đảm bảo giao diện người dùng thân thiện và dễ sử dụng.

Câu 21: Khi kiểm thử chương trình, việc sử dụng bộ dữ liệu kiểm thử có kích thước lớn và phức tạp nhằm mục đích gì?

  • A. Để chứng minh tính đúng đắn của thuật toán.
  • B. Để đơn giản hóa quá trình kiểm thử.
  • C. Để kiểm tra khả năng chịu tải và hiệu năng của chương trình trong điều kiện gần với thực tế.
  • D. Để giảm thời gian kiểm thử.

Câu 22: Trong kiểm thử phần mềm, "test case" (ca kiểm thử) là gì?

  • A. Một tập hợp các đầu vào, điều kiện thực hiện và kết quả mong đợi để kiểm tra một chức năng cụ thể.
  • B. Một báo cáo lỗi được phát hiện trong quá trình kiểm thử.
  • C. Một công cụ tự động hóa quá trình kiểm thử.
  • D. Một phương pháp chứng minh tính đúng đắn của thuật toán.

Câu 23: Khi nào việc kiểm thử thủ công (manual testing) thường được ưu tiên hơn kiểm thử tự động?

  • A. Khi cần kiểm thử các chức năng lặp đi lặp lại.
  • B. Khi cần kiểm thử hiệu năng với số lượng lớn dữ liệu.
  • C. Khi cần kiểm thử giao diện người dùng trên nhiều nền tảng.
  • D. Khi cần đánh giá tính dễ sử dụng (usability) và trải nghiệm người dùng.

Câu 24: "Bug" (lỗi) trong phần mềm thường được hiểu là gì?

  • A. Một yêu cầu thay đổi chức năng phần mềm.
  • B. Một sai sót, khuyết điểm hoặc lỗi trong mã nguồn hoặc thiết kế phần mềm.
  • C. Một thông báo cảnh báo từ trình biên dịch.
  • D. Một vấn đề liên quan đến hiệu năng phần mềm.

Câu 25: Trong quy trình phát triển phần mềm, kiểm thử thường được thực hiện ở giai đoạn nào?

  • A. Chỉ sau khi hoàn thành giai đoạn lập trình.
  • B. Chỉ trước khi phát hành phần mềm.
  • C. Xuyên suốt các giai đoạn phát triển, từ giai đoạn đầu đến giai đoạn cuối.
  • D. Chỉ trong giai đoạn bảo trì phần mềm.

Câu 26: Khi báo cáo lỗi (bug report), thông tin nào sau đây là QUAN TRỌNG NHẤT cần cung cấp?

  • A. Ý kiến cá nhân về mức độ nghiêm trọng của lỗi.
  • B. Thời điểm phát hiện lỗi.
  • C. Tên của người phát hiện lỗi.
  • D. Các bước để tái hiện lại lỗi một cách chính xác.

Câu 27: Mục tiêu của việc "gỡ lỗi" (debugging) là gì?

  • A. Xác định vị trí và sửa chữa lỗi trong chương trình.
  • B. Tăng tốc độ thực thi của chương trình.
  • C. Tối ưu hóa bộ nhớ sử dụng của chương trình.
  • D. Viết lại mã nguồn chương trình từ đầu.

Câu 28: Trong kiểm thử tải (load testing), hệ thống thường được kiểm tra với điều kiện nào?

  • A. Với dữ liệu đầu vào đơn giản và nhỏ.
  • B. Với số lượng lớn người dùng đồng thời truy cập.
  • C. Trong môi trường phát triển, chưa triển khai thực tế.
  • D. Chỉ với một người dùng duy nhất.

Câu 29: Khi thuật toán có độ phức tạp thời gian là O(n^2), điều gì xảy ra với thời gian thực thi khi kích thước đầu vào (n) tăng gấp đôi?

  • A. Thời gian thực thi giảm đi một nửa.
  • B. Thời gian thực thi tăng gấp đôi.
  • C. Thời gian thực thi tăng lên gấp bốn lần.
  • D. Thời gian thực thi không thay đổi.

Câu 30: Trong kiểm thử bảo mật (security testing), mục tiêu chính là gì?

  • A. Đảm bảo chương trình chạy nhanh nhất có thể.
  • B. Kiểm tra tính dễ sử dụng của giao diện người dùng.
  • C. Xác minh rằng tất cả các chức năng hoạt động đúng theo yêu cầu.
  • D. Phát hiện và khắc phục các lỗ hổng bảo mật để bảo vệ hệ thống và dữ liệu.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 1: Trong quy trình kiểm thử phần mềm, giai đoạn nào tập trung vào việc xác minh rằng tất cả các thành phần của hệ thống làm việc cùng nhau một cách chính xác sau khi đã được tích hợp?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 2: Một lập trình viên sử dụng phương pháp 'in ra giá trị biến' trong quá trình gỡ lỗi. Phương pháp này chủ yếu hỗ trợ hoạt động kiểm thử nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 3: Cho đoạn chương trình kiểm tra số nguyên tố. Bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để phát hiện lỗi tiềm ẩn liên quan đến điều kiện biên và các trường hợp đặc biệt?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 4: Khi đánh giá độ hiệu quả của thuật toán sắp xếp, tiêu chí nào sau đây thể hiện 'chi phí' về mặt thời gian thực thi thuật toán?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 5: Trong kiểm thử hộp trắng, phương pháp 'phủ lệnh' (statement coverage) đảm bảo điều gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 6: Một chương trình được kiểm thử kỹ lưỡng với nhiều bộ dữ liệu khác nhau và không phát hiện ra lỗi. Điều này có thể kết luận gì về chương trình?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 7: Phương pháp chứng minh tính đúng đắn của thuật toán bằng quy nạp toán học dựa trên nguyên tắc nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 8: Trong tình huống nào, kiểm thử hồi quy (regression testing) trở nên đặc biệt quan trọng?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 9: Xét thuật toán tìm kiếm tuyến tính trong mảng. Trường hợp tốt nhất về độ phức tạp thời gian xảy ra khi nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 10: Kiểm thử chấp nhận (acceptance testing) thường được thực hiện bởi đối tượng nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 11: Giả sử bạn có một hàm tính giai thừa. Để kiểm thử hàm này, bộ dữ liệu nào sau đây tập trung vào kiểm tra các giá trị đầu vào hợp lệ và không hợp lệ?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 12: Trong kiểm thử hộp đen, người kiểm thử KHÔNG cần biết thông tin nào sau đây?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 13: Khi thiết kế bộ dữ liệu kiểm thử cho một hàm tính tổng các số trong mảng, loại dữ liệu nào sau đây nên được ưu tiên để phát hiện lỗi 'off-by-one'?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 14: Đâu là lợi ích chính của việc sử dụng công cụ kiểm thử tự động so với kiểm thử thủ công?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 15: Trong quá trình kiểm thử, một lỗi nghiêm trọng (critical bug) là loại lỗi nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 16: Phương pháp kiểm thử nào thường được sử dụng để đảm bảo rằng các thay đổi mới trong mã nguồn không gây ra lỗi ở các chức năng đã hoạt động tốt trước đó?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 17: Khi đánh giá thuật toán, độ phức tạp không gian biểu thị điều gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 18: Trong kiểm thử hộp trắng, phương pháp 'phủ nhánh' (branch coverage) yêu cầu điều gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 19: Để kiểm thử một chức năng đăng nhập, bộ dữ liệu kiểm thử nào sau đây là quan trọng nhất?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 20: Trong kiểm thử hiệu năng, mục tiêu chính là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 21: Khi kiểm thử chương trình, việc sử dụng bộ dữ liệu kiểm thử có kích thước lớn và phức tạp nhằm mục đích gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 22: Trong kiểm thử phần mềm, 'test case' (ca kiểm thử) là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 23: Khi nào việc kiểm thử thủ công (manual testing) thường được ưu tiên hơn kiểm thử tự động?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 24: 'Bug' (lỗi) trong phần mềm thường được hiểu là gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 25: Trong quy trình phát triển phần mềm, kiểm thử thường được thực hiện ở giai đoạn nào?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 26: Khi báo cáo lỗi (bug report), thông tin nào sau đây là QUAN TRỌNG NHẤT cần cung cấp?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 27: Mục tiêu của việc 'gỡ lỗi' (debugging) là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 28: Trong kiểm thử tải (load testing), hệ thống thường được kiểm tra với điều kiện nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 29: Khi thuật toán có độ phức tạp thời gian là O(n^2), điều gì xảy ra với thời gian thực thi khi kích thước đầu vào (n) tăng gấp đôi?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 7

Câu 30: Trong kiểm thử bảo mật (security testing), mục tiêu chính là gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 08 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình phát triển phần mềm, kiểm thử chương trình thường được thực hiện ở giai đoạn nào?

  • A. Chỉ sau khi chương trình đã hoàn thành và triển khai.
  • B. Chỉ trong giai đoạn lập trình.
  • C. Chỉ trước khi chương trình được bàn giao cho người dùng.
  • D. Xuyên suốt quá trình phát triển, từ giai đoạn lập trình đến khi triển khai và bảo trì.

Câu 2: Mục tiêu chính của kiểm thử hộp đen (black-box testing) là gì?

  • A. Kiểm tra cấu trúc bên trong và logic của mã nguồn.
  • B. Đảm bảo chương trình hoạt động đúng theo đặc tả và yêu cầu người dùng.
  • C. Tối ưu hóa hiệu suất và tốc độ thực thi của chương trình.
  • D. Tìm kiếm và sửa lỗi cú pháp trong mã nguồn.

Câu 3: Phương pháp kiểm thử hộp trắng (white-box testing) tập trung vào yếu tố nào?

  • A. Chức năng và hành vi bên ngoài của chương trình.
  • B. Yêu cầu và đặc tả của phần mềm.
  • C. Cấu trúc mã nguồn và các đường dẫn thực thi.
  • D. Giao diện người dùng và trải nghiệm người dùng.

Câu 4: Loại lỗi nào sau đây thường khó phát hiện hơn bằng kiểm thử hộp đen?

  • A. Lỗi logic sâu bên trong cấu trúc chương trình.
  • B. Lỗi giao diện người dùng.
  • C. Lỗi liên quan đến dữ liệu đầu vào không hợp lệ.
  • D. Lỗi hiệu suất chương trình chậm.

Câu 5: Để kiểm thử một hàm (function) tính giai thừa của một số nguyên dương, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra các trường hợp đặc biệt?

  • A. {2, 3, 4, 5, 6}
  • B. {10, 20, 30, 40, 50}
  • C. {0, 1, 2, 10, số âm}
  • D. {1.5, 2.7, 3.9, 4.1, 5.3}

Câu 6: Kỹ thuật kiểm thử biên (boundary value testing) tập trung vào việc kiểm tra các giá trị nào?

  • A. Các giá trị ngẫu nhiên trong phạm vi dữ liệu đầu vào.
  • B. Các giá trị tại biên của miền giá trị đầu vào và đầu ra.
  • C. Các giá trị trung bình và phổ biến nhất.
  • D. Các giá trị không hợp lệ và gây lỗi.

Câu 7: Trong kiểm thử chương trình, "độ bao phủ mã" (code coverage) dùng để đo lường điều gì?

  • A. Số lượng lỗi đã được phát hiện.
  • B. Thời gian thực hiện kiểm thử.
  • C. Số lượng test case đã thực hiện.
  • D. Tỷ lệ phần trăm mã nguồn đã được thực thi bởi các test case.

Câu 8: Xét đoạn mã Python sau:
```python
def kiem_tra_chan_le(n):
if n % 2 == 0:
return

  • A. 1
  • B. 2
  • C. 3
  • D. 4

Câu 9: Đánh giá hiệu quả của thuật toán sắp xếp trộn (merge sort) thường dựa trên tiêu chí nào sau đây?

  • A. Tính dễ hiểu và dễ cài đặt.
  • B. Số dòng mã lệnh cần thiết.
  • C. Độ phức tạp thời gian và không gian.
  • D. Khả năng chạy trên các hệ điều hành khác nhau.

Câu 10: Độ phức tạp thời gian của thuật toán sắp xếp nhanh (quick sort) trong trường hợp tốt nhất và trung bình là O(n log n), nhưng trong trường hợp xấu nhất là O(n^2). Trường hợp xấu nhất này thường xảy ra khi nào?

  • A. Dữ liệu đầu vào là ngẫu nhiên.
  • B. Số lượng phần tử cần sắp xếp rất nhỏ.
  • C. Bộ nhớ máy tính bị hạn chế.
  • D. Dữ liệu đầu vào đã được sắp xếp hoặc gần sắp xếp.

Câu 11: Phương pháp chứng minh tính đúng đắn của thuật toán bằng quy nạp toán học thường được áp dụng cho loại thuật toán nào?

  • A. Thuật toán đệ quy hoặc lặp có cấu trúc vòng lặp.
  • B. Thuật toán tìm kiếm trên đồ thị.
  • C. Thuật toán ngẫu nhiên.
  • D. Thuật toán xử lý song song.

Câu 12: Trong quá trình kiểm thử, nếu phát hiện lỗi, bước tiếp theo quan trọng nhất là gì?

  • A. Bỏ qua lỗi nếu nó không nghiêm trọng.
  • B. Ghi nhận lỗi và tiếp tục kiểm thử.
  • C. Báo cáo lỗi và thực hiện sửa lỗi.
  • D. Xóa bỏ test case gây ra lỗi.

Câu 13: Kiểm thử hồi quy (regression testing) được thực hiện khi nào?

  • A. Trước khi phát triển chương trình.
  • B. Sau khi sửa lỗi hoặc thay đổi mã nguồn.
  • C. Chỉ khi kiểm thử hộp đen không phát hiện lỗi.
  • D. Định kỳ theo lịch trình cố định.

Câu 14: Loại kiểm thử nào tập trung vào việc đảm bảo các module khác nhau của chương trình hoạt động tốt khi được tích hợp với nhau?

  • A. Kiểm thử đơn vị (unit testing).
  • B. Kiểm thử hệ thống (system testing).
  • C. Kiểm thử tích hợp (integration testing).
  • D. Kiểm thử chấp nhận (acceptance testing).

Câu 15: Kiểm thử chấp nhận (acceptance testing) thường được thực hiện bởi đối tượng nào?

  • A. Lập trình viên.
  • B. Nhóm kiểm thử độc lập.
  • C. Quản lý dự án.
  • D. Người dùng cuối hoặc khách hàng.

Câu 16: Trong kiểm thử hiệu năng (performance testing), mục tiêu chính là đánh giá yếu tố nào của chương trình?

  • A. Tính bảo mật và an toàn dữ liệu.
  • B. Khả năng đáp ứng, tốc độ và mức sử dụng tài nguyên.
  • C. Tính dễ sử dụng và giao diện thân thiện.
  • D. Tính tương thích với các hệ điều hành khác nhau.

Câu 17: Kiểm thử tải (load testing) là một dạng của kiểm thử nào?

  • A. Kiểm thử chức năng.
  • B. Kiểm thử tích hợp.
  • C. Kiểm thử hiệu năng.
  • D. Kiểm thử hệ thống.

Câu 18: Giả sử bạn có một chương trình tính căn bậc hai. Để kiểm thử tính chính xác của chương trình, bạn nên sử dụng bộ dữ liệu kiểm thử như thế nào?

  • A. Các số chính phương và các số không chính phương.
  • B. Chỉ các số chính phương.
  • C. Chỉ các số nguyên dương lớn.
  • D. Các số ngẫu nhiên trong khoảng từ 1 đến 100.

Câu 19: Trong kiểm thử, "test case" (ca kiểm thử) là gì?

  • A. Một loại lỗi thường gặp trong chương trình.
  • B. Một tập hợp các đầu vào, điều kiện thực thi và kết quả mong đợi.
  • C. Một công cụ tự động hóa quá trình kiểm thử.
  • D. Một báo cáo về kết quả kiểm thử.

Câu 20: Việc sử dụng công cụ gỡ lỗi (debugger) hỗ trợ tốt nhất cho loại kiểm thử nào?

  • A. Kiểm thử hộp đen.
  • B. Kiểm thử hiệu năng.
  • C. Kiểm thử tích hợp.
  • D. Kiểm thử hộp trắng.

Câu 21: Để đánh giá độ tin cậy của một chương trình, phương pháp nào sau đây là quan trọng nhất?

  • A. Thực hiện kiểm thử kỹ lưỡng với nhiều bộ dữ liệu khác nhau.
  • B. Phân tích độ phức tạp thuật toán.
  • C. Đánh giá giao diện người dùng.
  • D. Kiểm tra tính tương thích hệ thống.

Câu 22: Nhược điểm chính của việc chỉ sử dụng kiểm thử bằng bộ dữ liệu (data-driven testing) là gì?

  • A. Tốn nhiều thời gian và công sức.
  • B. Không phát hiện được lỗi hiệu năng.
  • C. Không đảm bảo bao phủ hết tất cả các trường hợp có thể xảy ra.
  • D. Chỉ phù hợp với chương trình nhỏ.

Câu 23: Trong kiểm thử, "bug" (lỗi) và "defect" (sai sót) có thể được hiểu như thế nào?

  • A. Hai thuật ngữ này hoàn toàn khác nhau, "bug" chỉ lỗi nhỏ còn "defect" là lỗi lớn.
  • B. Trong ngữ cảnh kiểm thử, chúng thường được dùng tương đương nhau để chỉ các sai sót trong chương trình.
  • C. "Bug" là lỗi do lập trình viên gây ra, còn "defect" là lỗi do yêu cầu không rõ ràng.
  • D. "Defect" là lỗi đã được sửa, còn "bug" là lỗi chưa được sửa.

Câu 24: Để cải thiện chất lượng mã nguồn và giảm thiểu lỗi, lập trình viên nên thực hiện điều gì thường xuyên?

  • A. Chỉ kiểm thử sau khi hoàn thành toàn bộ chương trình.
  • B. Viết mã nhanh nhất có thể để kịp tiến độ.
  • C. Kiểm thử đơn vị (unit testing) trong quá trình phát triển.
  • D. Chỉ tập trung vào kiểm thử giao diện người dùng.

Câu 25: Mục đích của việc đánh giá độ phức tạp thuật toán là gì?

  • A. Để chứng minh tính đúng đắn của thuật toán.
  • B. Để tìm ra lỗi trong thuật toán.
  • C. Để tối ưu hóa mã nguồn.
  • D. Để dự đoán hiệu suất của thuật toán khi kích thước đầu vào tăng lên.

Câu 26: Xét thuật toán tìm kiếm tuyến tính (linear search). Trong trường hợp xấu nhất, độ phức tạp thời gian là bao nhiêu?

  • A. O(log n)
  • B. O(n)
  • C. O(n log n)
  • D. O(1)

Câu 27: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất?

  • A. Sắp xếp chèn (insertion sort).
  • B. Sắp xếp chọn (selection sort).
  • C. Sắp xếp nhanh (quick sort).
  • D. Sắp xếp nổi bọt (bubble sort).

Câu 28: Khi đánh giá hiệu quả thuật toán, yếu tố nào sau đây thường được ưu tiên hơn trong bối cảnh dữ liệu lớn?

  • A. Độ phức tạp thời gian.
  • B. Độ phức tạp không gian.
  • C. Tính dễ cài đặt.
  • D. Tính dễ bảo trì.

Câu 29: Trong kiểm thử phần mềm, việc lập kế hoạch kiểm thử (test plan) có vai trò gì?

  • A. Tự động hóa toàn bộ quá trình kiểm thử.
  • B. Sửa lỗi chương trình.
  • C. Đánh giá hiệu năng chương trình.
  • D. Xác định phạm vi, mục tiêu, nguồn lực và lịch trình kiểm thử.

Câu 30: Nếu một chương trình vượt qua tất cả các test case đã thiết kế, điều đó có đảm bảo chương trình không có lỗi không?

  • A. Có, vì kiểm thử đã bao phủ mọi trường hợp.
  • B. Không, vì kiểm thử không thể bao phủ hết tất cả các trường hợp có thể xảy ra.
  • C. Chỉ đảm bảo với kiểm thử hộp trắng.
  • D. Chỉ đảm bảo nếu độ bao phủ mã là 100%.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 1: Trong quá trình phát triển phần mềm, kiểm thử chương trình thường được thực hiện ở giai đoạn nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 2: Mục tiêu chính của kiểm thử hộp đen (black-box testing) là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 3: Phương pháp kiểm thử hộp trắng (white-box testing) tập trung vào yếu tố nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 4: Loại lỗi nào sau đây thường khó phát hiện hơn bằng kiểm thử hộp đen?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 5: Để kiểm thử một hàm (function) tính giai thừa của một số nguyên dương, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra các trường hợp đặc biệt?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 6: Kỹ thuật kiểm thử biên (boundary value testing) tập trung vào việc kiểm tra các giá trị nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 7: Trong kiểm thử chương trình, 'độ bao phủ mã' (code coverage) dùng để đo lường điều gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 8: Xét đoạn mã Python sau:
```python
def kiem_tra_chan_le(n):
if n % 2 == 0:
return "Chẵn"
else:
return "Lẻ"
```
Để đạt độ bao phủ lệnh (statement coverage) 100%, cần bao nhiêu test case?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 9: Đánh giá hiệu quả của thuật toán sắp xếp trộn (merge sort) thường dựa trên tiêu chí nào sau đây?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 10: Độ phức tạp thời gian của thuật toán sắp xếp nhanh (quick sort) trong trường hợp tốt nhất và trung bình là O(n log n), nhưng trong trường hợp xấu nhất là O(n^2). Trường hợp xấu nhất này thường xảy ra khi nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 11: Phương pháp chứng minh tính đúng đắn của thuật toán bằng quy nạp toán học thường được áp dụng cho loại thuật toán nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 12: Trong quá trình kiểm thử, nếu phát hiện lỗi, bước tiếp theo quan trọng nhất là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 13: Kiểm thử hồi quy (regression testing) được thực hiện khi nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 14: Loại kiểm thử nào tập trung vào việc đảm bảo các module khác nhau của chương trình hoạt động tốt khi được tích hợp với nhau?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 15: Kiểm thử chấp nhận (acceptance testing) thường được thực hiện bởi đối tượng nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 16: Trong kiểm thử hiệu năng (performance testing), mục tiêu chính là đánh giá yếu tố nào của chương trình?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 17: Kiểm thử tải (load testing) là một dạng của kiểm thử nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 18: Giả sử bạn có một chương trình tính căn bậc hai. Để kiểm thử tính chính xác của chương trình, bạn nên sử dụng bộ dữ liệu kiểm thử như thế nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 19: Trong kiểm thử, 'test case' (ca kiểm thử) là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 20: Việc sử dụng công cụ gỡ lỗi (debugger) hỗ trợ tốt nhất cho loại kiểm thử nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 21: Để đánh giá độ tin cậy của một chương trình, phương pháp nào sau đây là quan trọng nhất?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 22: Nhược điểm chính của việc chỉ sử dụng kiểm thử bằng bộ dữ liệu (data-driven testing) là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 23: Trong kiểm thử, 'bug' (lỗi) và 'defect' (sai sót) có thể được hiểu như thế nào?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 24: Để cải thiện chất lượng mã nguồn và giảm thiểu lỗi, lập trình viên nên thực hiện điều gì thường xuyên?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 25: Mục đích của việc đánh giá độ phức tạp thuật toán là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 26: Xét thuật toán tìm kiếm tuyến tính (linear search). Trong trường hợp xấu nhất, độ phức tạp thời gian là bao nhiêu?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 27: Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình tốt nhất?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 28: Khi đánh giá hiệu quả thuật toán, yếu tố nào sau đây thường được ưu tiên hơn trong bối cảnh dữ liệu lớn?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 29: Trong kiểm thử phần mềm, việc lập kế hoạch kiểm thử (test plan) có vai trò gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 8

Câu 30: Nếu một chương trình vượt qua tất cả các test case đã thiết kế, điều đó có đảm bảo chương trình không có lỗi không?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 09 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quy trình phát triển phần mềm, giai đoạn kiểm thử và đánh giá chương trình thường được thực hiện vào thời điểm nào?

  • A. Trước khi viết mã nguồn chương trình.
  • B. Đồng thời với giai đoạn phân tích yêu cầu.
  • C. Ngay sau khi hoàn thành giai đoạn thiết kế thuật toán.
  • D. Sau khi đã viết mã nguồn và trước khi triển khai chương trình.

Câu 2: Một lập trình viên muốn kiểm tra xem hàm tính giai thừa của mình có hoạt động đúng với số đầu vào lớn hay không (ví dụ n=20). Phương pháp kiểm thử nào sau đây là phù hợp nhất để kiểm tra tính đúng đắn trong trường hợp này?

  • A. Kiểm thử hộp đen với dữ liệu biên (boundary value testing).
  • B. Kiểm thử bằng cách so sánh kết quả với tính toán thủ công hoặc công cụ tính toán khác.
  • C. Kiểm thử ngẫu nhiên với nhiều bộ dữ liệu khác nhau.
  • D. Phân tích mã nguồn (code review) để tìm lỗi logic.

Câu 3: Xét một chương trình sắp xếp danh sách số nguyên. Để kiểm thử khả năng xử lý các trường hợp đặc biệt, bộ dữ liệu kiểm thử nào sau đây là quan trọng NHẤT cần được đưa vào?

  • A. Danh sách các số nguyên dương ngẫu nhiên.
  • B. Danh sách đã được sắp xếp theo thứ tự tăng dần.
  • C. Danh sách rỗng, danh sách chứa một phần tử, danh sách chứa các số trùng lặp, danh sách số âm.
  • D. Danh sách các số nguyên có giá trị tuyệt đối nhỏ hơn 100.

Câu 4: Một chương trình tính tổng các số chẵn trong một mảng. Nếu đầu vào là mảng `[1, 3, 5, 7, 9]`, kết quả mong đợi là 0. Đây là loại kiểm thử nào?

  • A. Kiểm thử hộp đen (Black-box testing).
  • B. Kiểm thử hộp trắng (White-box testing).
  • C. Kiểm thử hồi quy (Regression testing).
  • D. Kiểm thử hiệu năng (Performance testing).

Câu 5: Để đánh giá độ phức tạp thời gian của một thuật toán, người ta thường quan tâm đến điều gì?

  • A. Thời gian thực tế chạy chương trình trên một máy tính cụ thể.
  • B. Sự tăng lên của thời gian thực hiện khi kích thước dữ liệu đầu vào tăng lên.
  • C. Số dòng mã lệnh của chương trình.
  • D. Ngôn ngữ lập trình được sử dụng để viết chương trình.

Câu 6: Thuật toán sắp xếp chèn (Insertion Sort) có độ phức tạp thời gian trung bình là O(n^2). Điều này có nghĩa là gì?

  • A. Thời gian chạy thuật toán tỉ lệ tuyến tính với kích thước đầu vào n.
  • B. Thời gian chạy thuật toán không đổi, không phụ thuộc vào kích thước đầu vào.
  • C. Thời gian chạy thuật toán tăng lên theo cấp số nhân của bình phương kích thước đầu vào n.
  • D. Thuật toán luôn chạy rất nhanh, bất kể kích thước đầu vào.

Câu 7: Trong trường hợp nào thì việc kiểm thử hộp trắng (White-box testing) trở nên đặc biệt quan trọng và hữu ích?

  • A. Khi kiểm thử các chương trình giao diện người dùng (GUI).
  • B. Khi kiểm thử các chương trình xử lý dữ liệu lớn.
  • C. Khi kiểm thử các chương trình mà yêu cầu đặc tả (specification) không rõ ràng.
  • D. Khi cần kiểm tra kỹ lưỡng các nhánh và điều kiện rẽ trong mã nguồn để đảm bảo tất cả các đường dẫn đều được kiểm tra.

Câu 8: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường được áp dụng cho loại thuật toán nào?

  • A. Các thuật toán tìm kiếm và sắp xếp đơn giản.
  • B. Các thuật toán có cấu trúc lặp hoặc đệ quy.
  • C. Các thuật toán xử lý đồ thị.
  • D. Các thuật toán ngẫu nhiên.

Câu 9: Giả sử bạn có một chương trình tính căn bậc hai. Để kiểm thử chương trình này, bộ dữ liệu kiểm thử nào sau đây sẽ giúp phát hiện lỗi liên quan đến xử lý số âm?

  • A. Các số âm, số 0 và số dương.
  • B. Chỉ các số dương lớn hơn 1.
  • C. Chỉ các số nguyên nhỏ hơn 100.
  • D. Các số thập phân trong khoảng từ 0 đến 1.

Câu 10: Trong kiểm thử phần mềm, "độ bao phủ mã" (code coverage) là gì?

  • A. Số lượng lỗi được phát hiện trên tổng số dòng mã.
  • B. Phần trăm số dòng mã đã được viết bởi một lập trình viên cụ thể.
  • C. Phần trăm số dòng mã, nhánh hoặc đường dẫn đã được thực thi bởi bộ dữ liệu kiểm thử.
  • D. Đánh giá mức độ dễ đọc và dễ hiểu của mã nguồn.

Câu 11: Một chương trình chạy rất nhanh nhưng lại sử dụng một lượng lớn bộ nhớ. Trong trường hợp này, chương trình được đánh giá là tối ưu về...

  • A. Độ phức tạp không gian.
  • B. Độ phức tạp thời gian.
  • C. Tính dễ bảo trì.
  • D. Tính khả dụng.

Câu 12: Khi nào thì việc sử dụng các bộ dữ liệu kiểm thử lớn và đa dạng trở nên đặc biệt quan trọng trong kiểm thử chương trình?

  • A. Khi chương trình có kích thước mã nguồn nhỏ.
  • B. Khi chương trình chỉ xử lý các dữ liệu đầu vào đơn giản.
  • C. Khi chương trình phải xử lý nhiều loại dữ liệu khác nhau và các tình huống biên.
  • D. Khi thời gian kiểm thử bị hạn chế.

Câu 13: Để kiểm thử một hàm sắp xếp, bạn tạo ra một bộ dữ liệu kiểm thử bao gồm danh sách đã sắp xếp, danh sách đảo ngược và danh sách ngẫu nhiên. Đây là cách tiếp cận nào trong thiết kế bộ dữ liệu kiểm thử?

  • A. Kiểm thử dựa trên phân vùng tương đương (equivalence partitioning).
  • B. Kiểm thử dựa trên giá trị biên (boundary value analysis).
  • C. Kiểm thử ngẫu nhiên (random testing).
  • D. Kiểm thử các trường hợp điển hình và trường hợp đặc biệt.

Câu 14: Trong kiểm thử hộp đen, người kiểm thử KHÔNG cần biết thông tin gì về chương trình?

  • A. Yêu cầu chức năng của chương trình.
  • B. Đặc tả đầu vào và đầu ra của chương trình.
  • C. Cấu trúc mã nguồn bên trong của chương trình.
  • D. Các trường hợp sử dụng (use cases) của chương trình.

Câu 15: "Kiểm thử hồi quy" (regression testing) được thực hiện khi nào?

  • A. Trước khi phát hành phiên bản đầu tiên của phần mềm.
  • B. Sau khi sửa lỗi hoặc thêm tính năng mới vào chương trình.
  • C. Trong giai đoạn phân tích yêu cầu.
  • D. Chỉ khi phát hiện lỗi nghiêm trọng trong quá trình sử dụng.

Câu 16: Phương pháp kiểm thử nào tập trung vào việc kiểm tra các đường dẫn thực thi (execution paths) trong mã nguồn?

  • A. Kiểm thử hộp đen.
  • B. Kiểm thử hộp trắng.
  • C. Kiểm thử hiệu năng.
  • D. Kiểm thử tích hợp.

Câu 17: Độ phức tạp không gian của thuật toán thể hiện điều gì?

  • A. Thời gian cần thiết để thuật toán hoàn thành.
  • B. Số lượng phép toán mà thuật toán thực hiện.
  • C. Độ khó trong việc cài đặt thuật toán.
  • D. Lượng bộ nhớ mà thuật toán sử dụng để thực thi.

Câu 18: Trong kiểm thử, "test case" (tình huống kiểm thử) bao gồm những thành phần chính nào?

  • A. Dữ liệu đầu vào, điều kiện thực hiện, kết quả mong đợi.
  • B. Mã nguồn chương trình, môi trường kiểm thử, thời gian thực hiện.
  • C. Mô tả chức năng, sơ đồ thuật toán, báo cáo lỗi.
  • D. Yêu cầu người dùng, kịch bản sử dụng, giao diện người dùng.

Câu 19: Mục tiêu chính của việc đánh giá hiệu quả thuật toán là gì?

  • A. Tìm ra tất cả các lỗi tiềm ẩn trong thuật toán.
  • B. So sánh và lựa chọn thuật toán tốt nhất cho một bài toán cụ thể dựa trên các tiêu chí hiệu suất.
  • C. Đảm bảo thuật toán dễ hiểu và dễ cài đặt.
  • D. Chứng minh tính đúng đắn tuyệt đối của thuật toán.

Câu 20: Khi phân tích độ phức tạp thời gian, người ta thường sử dụng ký hiệu Big O để biểu diễn điều gì?

  • A. Thời gian chạy chính xác của thuật toán.
  • B. Thời gian chạy trung bình của thuật toán.
  • C. Tốc độ tăng trưởng tiệm cận của thời gian chạy khi kích thước đầu vào tăng lên.
  • D. Thời gian chạy tốt nhất của thuật toán.

Câu 21: Để kiểm thử chức năng đăng nhập của một hệ thống, bạn cần kiểm tra các trường hợp nào?

  • A. Chỉ kiểm tra đăng nhập thành công với tên người dùng và mật khẩu hợp lệ.
  • B. Chỉ kiểm tra đăng nhập thất bại với tên người dùng hoặc mật khẩu không hợp lệ.
  • C. Kiểm tra đăng nhập thành công và thất bại với nhiều tên người dùng khác nhau.
  • D. Kiểm tra đăng nhập thành công với thông tin hợp lệ, đăng nhập thất bại với thông tin không hợp lệ (sai tên người dùng, sai mật khẩu, thiếu thông tin), và các trường hợp biên (tên người dùng/mật khẩu quá dài, quá ngắn, ký tự đặc biệt).

Câu 22: Trong kiểm thử phần mềm, lỗi (bug) và sự cố (failure) khác nhau như thế nào?

  • A. Lỗi và sự cố là hai thuật ngữ đồng nghĩa, chỉ các vấn đề trong phần mềm.
  • B. Lỗi là nguyên nhân gây ra sự cố, sự cố là hành động sửa lỗi.
  • C. Lỗi là một khuyết điểm trong mã nguồn, sự cố là biểu hiện bên ngoài của lỗi khi chương trình chạy sai.
  • D. Lỗi là do lập trình viên gây ra, sự cố là do người dùng sử dụng sai.

Câu 23: Phương pháp "phân vùng tương đương" (equivalence partitioning) trong kiểm thử hộp đen giúp làm gì?

  • A. Kiểm tra tất cả các giá trị đầu vào có thể.
  • B. Giảm số lượng test case cần thiết bằng cách chia dữ liệu đầu vào thành các nhóm tương đương và chọn đại diện từ mỗi nhóm.
  • C. Tăng độ bao phủ mã bằng cách kiểm tra nhiều nhánh khác nhau.
  • D. Tự động sinh ra các test case ngẫu nhiên.

Câu 24: Kiểm thử hiệu năng (performance testing) nhằm mục đích gì?

  • A. Tìm kiếm lỗi chức năng trong chương trình.
  • B. Đảm bảo chương trình dễ sử dụng.
  • C. Đánh giá tốc độ, khả năng chịu tải và tính ổn định của chương trình trong các điều kiện khác nhau.
  • D. Kiểm tra tính bảo mật của chương trình.

Câu 25: Trong quy trình kiểm thử, "test plan" (kế hoạch kiểm thử) là gì?

  • A. Báo cáo kết quả kiểm thử sau khi thực hiện.
  • B. Tập hợp các test case chi tiết.
  • C. Mô tả lỗi và cách sửa lỗi.
  • D. Tài liệu mô tả phạm vi, mục tiêu, phương pháp, nguồn lực và lịch trình cho hoạt động kiểm thử.

Câu 26: Phương pháp kiểm thử "giá trị biên" (boundary value analysis) tập trung vào việc chọn dữ liệu kiểm thử ở đâu?

  • A. Các giá trị trung bình trong phạm vi dữ liệu đầu vào.
  • B. Các giá trị tại biên của phạm vi dữ liệu đầu vào (giá trị nhỏ nhất, giá trị lớn nhất, giá trị ngay trên và dưới biên).
  • C. Các giá trị ngẫu nhiên trong phạm vi dữ liệu đầu vào.
  • D. Các giá trị thường được sử dụng trong thực tế.

Câu 27: Một chương trình có độ phức tạp thời gian O(log n) được coi là...

  • A. Hiệu quả hơn chương trình có độ phức tạp O(n).
  • B. Kém hiệu quả hơn chương trình có độ phức tạp O(n).
  • C. Hiệu quả tương đương chương trình có độ phức tạp O(n).
  • D. Không thể so sánh với chương trình có độ phức tạp O(n).

Câu 28: Trong kiểm thử phần mềm, "alpha testing" và "beta testing" khác nhau chủ yếu ở điểm nào?

  • A. Alpha testing kiểm tra chức năng, beta testing kiểm tra hiệu năng.
  • B. Alpha testing do lập trình viên thực hiện, beta testing do người kiểm thử chuyên nghiệp thực hiện.
  • C. Alpha testing được thực hiện trong môi trường phát triển, beta testing được thực hiện bởi người dùng cuối trong môi trường thực tế.
  • D. Alpha testing diễn ra trước beta testing về mặt thời gian.

Câu 29: Khi nào phương pháp chứng minh bằng lôgic toán học trở nên đặc biệt quan trọng trong việc đảm bảo chất lượng phần mềm?

  • A. Khi phát triển các ứng dụng web.
  • B. Khi kiểm thử giao diện người dùng.
  • C. Khi phát triển các trò chơi điện tử.
  • D. Khi phát triển các hệ thống quan trọng, nơi mà sai sót có thể gây hậu quả nghiêm trọng (ví dụ: hệ thống điều khiển máy bay, thiết bị y tế).

Câu 30: Giả sử bạn có một thuật toán tìm kiếm nhị phân. Để đánh giá độ phức tạp thời gian thực tế, bạn nên làm gì?

  • A. Đếm số dòng mã lệnh của thuật toán.
  • B. Đo thời gian chạy thuật toán với các kích thước dữ liệu đầu vào khác nhau và vẽ đồ thị.
  • C. Phân tích mã nguồn để tìm ra các vòng lặp và đệ quy.
  • D. Tham khảo sách giáo khoa hoặc tài liệu về thuật toán tìm kiếm nhị phân.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 1: Trong quy trình phát triển phần mềm, giai đoạn kiểm thử và đánh giá chương trình thường được thực hiện vào thời điểm nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 2: Một lập trình viên muốn kiểm tra xem hàm tính giai thừa của mình có hoạt động đúng với số đầu vào lớn hay không (ví dụ n=20). Phương pháp kiểm thử nào sau đây là phù hợp nhất để kiểm tra tính đúng đắn trong trường hợp này?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 3: Xét một chương trình sắp xếp danh sách số nguyên. Để kiểm thử khả năng xử lý các trường hợp đặc biệt, bộ dữ liệu kiểm thử nào sau đây là quan trọng NHẤT cần được đưa vào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 4: Một chương trình tính tổng các số chẵn trong một mảng. Nếu đầu vào là mảng `[1, 3, 5, 7, 9]`, kết quả mong đợi là 0. Đây là loại kiểm thử nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 5: Để đánh giá độ phức tạp thời gian của một thuật toán, người ta thường quan tâm đến điều gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 6: Thuật toán sắp xếp chèn (Insertion Sort) có độ phức tạp thời gian trung bình là O(n^2). Điều này có nghĩa là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 7: Trong trường hợp nào thì việc kiểm thử hộp trắng (White-box testing) trở nên đặc biệt quan trọng và hữu ích?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 8: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường được áp dụng cho loại thuật toán nào?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 9: Giả sử bạn có một chương trình tính căn bậc hai. Để kiểm thử chương trình này, bộ dữ liệu kiểm thử nào sau đây sẽ giúp phát hiện lỗi liên quan đến xử lý số âm?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 10: Trong kiểm thử phần mềm, 'độ bao phủ mã' (code coverage) là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 11: Một chương trình chạy rất nhanh nhưng lại sử dụng một lượng lớn bộ nhớ. Trong trường hợp này, chương trình được đánh giá là tối ưu về...

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 12: Khi nào thì việc sử dụng các bộ dữ liệu kiểm thử lớn và đa dạng trở nên đặc biệt quan trọng trong kiểm thử chương trình?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 13: Để kiểm thử một hàm sắp xếp, bạn tạo ra một bộ dữ liệu kiểm thử bao gồm danh sách đã sắp xếp, danh sách đảo ngược và danh sách ngẫu nhiên. Đây là cách tiếp cận nào trong thiết kế bộ dữ liệu kiểm thử?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 14: Trong kiểm thử hộp đen, người kiểm thử KHÔNG cần biết thông tin gì về chương trình?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 15: 'Kiểm thử hồi quy' (regression testing) được thực hiện khi nào?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 16: Phương pháp kiểm thử nào tập trung vào việc kiểm tra các đường dẫn thực thi (execution paths) trong mã nguồn?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 17: Độ phức tạp không gian của thuật toán thể hiện điều gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 18: Trong kiểm thử, 'test case' (tình huống kiểm thử) bao gồm những thành phần chính nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 19: Mục tiêu chính của việc đánh giá hiệu quả thuật toán là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 20: Khi phân tích độ phức tạp thời gian, người ta thường sử dụng ký hiệu Big O để biểu diễn điều gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 21: Để kiểm thử chức năng đăng nhập của một hệ thống, bạn cần kiểm tra các trường hợp nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 22: Trong kiểm thử phần mềm, lỗi (bug) và sự cố (failure) khác nhau như thế nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 23: Phương pháp 'phân vùng tương đương' (equivalence partitioning) trong kiểm thử hộp đen giúp làm gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 24: Kiểm thử hiệu năng (performance testing) nhằm mục đích gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 25: Trong quy trình kiểm thử, 'test plan' (kế hoạch kiểm thử) là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 26: Phương pháp kiểm thử 'giá trị biên' (boundary value analysis) tập trung vào việc chọn dữ liệu kiểm thử ở đâu?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 27: Một chương trình có độ phức tạp thời gian O(log n) được coi là...

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 28: Trong kiểm thử phần mềm, 'alpha testing' và 'beta testing' khác nhau chủ yếu ở điểm nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 29: Khi nào phương pháp chứng minh bằng lôgic toán học trở nên đặc biệt quan trọng trong việc đảm bảo chất lượng phần mềm?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 9

Câu 30: Giả sử bạn có một thuật toán tìm kiếm nhị phân. Để đánh giá độ phức tạp thời gian thực tế, bạn nên làm gì?

Xem kết quả

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình - Đề 10 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.

Câu 1: Trong quá trình kiểm thử chương trình, phương pháp nào sau đây tập trung vào việc thiết kế các trường hợp kiểm thử bao phủ các nhánh và điều kiện quyết định trong mã nguồn?

  • A. Kiểm thử hộp trắng (White-box testing)
  • B. Kiểm thử hộp đen (Black-box testing)
  • C. Kiểm thử hồi quy (Regression testing)
  • D. Kiểm thử chấp nhận (Acceptance testing)

Câu 2: Một nhóm phát triển phần mềm đang xây dựng một ứng dụng tính toán thuế. Họ sử dụng bảng quyết định để xác định các trường hợp kiểm thử dựa trên các quy tắc thuế phức tạp. Phương pháp kiểm thử hộp đen nào phù hợp nhất trong tình huống này?

  • A. Phân tích giá trị biên (Boundary Value Analysis)
  • B. Phân vùng tương đương (Equivalence Partitioning)
  • C. Kiểm thử dựa trên bảng quyết định (Decision Table Testing)
  • D. Đoán lỗi (Error Guessing)

Câu 3: Khi đánh giá hiệu quả của thuật toán sắp xếp, độ phức tạp thời gian thường được biểu diễn bằng ký hiệu Big O. Độ phức tạp thời gian O(n log n) thể hiện điều gì?

  • A. Thời gian chạy thuật toán tăng tuyến tính theo kích thước dữ liệu đầu vào.
  • B. Thời gian chạy thuật toán tăng theo hàm logarit của kích thước dữ liệu đầu vào nhân với kích thước dữ liệu.
  • C. Thời gian chạy thuật toán không đổi, không phụ thuộc vào kích thước dữ liệu đầu vào.
  • D. Thời gian chạy thuật toán tăng theo lũy thừa của kích thước dữ liệu đầu vào.

Câu 4: Cho đoạn chương trình tính tổng các số chẵn từ 1 đến n. Để kiểm thử chương trình này, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra cả trường hợp biên và trường hợp thông thường?

  • A. n = 10, 20, 30
  • B. n = -1, 0, 1
  • C. n = 100, 200, 300
  • D. n = 0, 1, 2, 10

Câu 5: Trong kiểm thử phần mềm, lỗi (bug) và sai sót (defect) có mối quan hệ như thế nào?

  • A. Lỗi (bug) và sai sót (defect) thường được dùng thay thế cho nhau để chỉ các vấn đề trong phần mềm.
  • B. Lỗi (bug) là nguyên nhân gây ra sai sót (defect).
  • C. Sai sót (defect) là nguyên nhân gây ra lỗi (bug).
  • D. Lỗi (bug) là vấn đề ở giai đoạn thiết kế, sai sót (defect) là vấn đề ở giai đoạn mã hóa.

Câu 6: Một chương trình được thiết kế để tính căn bậc hai của một số dương. Nếu nhập vào số âm, chương trình báo lỗi và dừng lại. Hành vi này thuộc loại lỗi nào?

  • A. Lỗi cú pháp (Syntax error)
  • B. Lỗi logic (Logic error)
  • C. Lỗi xử lý ngoại lệ (Exception handling error)
  • D. Lỗi thời gian chạy (Runtime error) chung chung

Câu 7: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường bao gồm mấy bước chính?

  • A. 2 bước
  • B. 3 bước
  • C. 4 bước
  • D. 5 bước

Câu 8: Trong kiểm thử hồi quy, mục đích chính là gì?

  • A. Kiểm tra các chức năng mới được thêm vào chương trình.
  • B. Đánh giá hiệu năng của chương trình sau khi tối ưu hóa.
  • C. Đảm bảo rằng các thay đổi mã nguồn không gây ra lỗi ở các chức năng đã hoạt động trước đó.
  • D. Tìm kiếm lỗi bảo mật trong chương trình.

Câu 9: Một thuật toán tìm kiếm nhị phân có độ phức tạp thời gian là O(log n). Điều này có nghĩa là khi kích thước dữ liệu đầu vào tăng gấp đôi, thời gian thực hiện thuật toán sẽ:

  • A. Tăng gấp đôi.
  • B. Tăng một lượng không đáng kể hoặc tăng rất ít.
  • C. Giảm đi một nửa.
  • D. Không thay đổi.

Câu 10: Đâu là nhược điểm chính của phương pháp kiểm thử hộp đen?

  • A. Đòi hỏi kiến thức sâu về cấu trúc mã nguồn.
  • B. Tốn nhiều thời gian thiết kế trường hợp kiểm thử.
  • C. Khó tự động hóa quá trình kiểm thử.
  • D. Có thể không bao phủ hết tất cả các đường dẫn và trường hợp tiềm ẩn lỗi trong mã nguồn.

Câu 11: Để cải thiện độ tin cậy của một chương trình, sau khi phát hiện và sửa lỗi, quy trình nào sau đây cần được thực hiện?

  • A. Chạy lại chương trình với bộ dữ liệu cũ.
  • B. Kiểm thử hồi quy để đảm bảo việc sửa lỗi không gây ra lỗi mới.
  • C. Phân tích độ phức tạp của chương trình đã sửa.
  • D. Viết lại tài liệu hướng dẫn sử dụng chương trình.

Câu 12: Khi nào thì việc sử dụng phương pháp chứng minh bằng quy nạp toán học trở nên đặc biệt hữu ích trong kiểm thử thuật toán?

  • A. Khi kiểm thử hiệu năng của thuật toán.
  • B. Khi thuật toán có nhiều trường hợp đặc biệt.
  • C. Khi thuật toán có cấu trúc lặp hoặc đệ quy.
  • D. Khi không có sẵn bộ dữ liệu kiểm thử phù hợp.

Câu 13: Trong các giai đoạn phát triển phần mềm, kiểm thử thường được thực hiện ở giai đoạn nào?

  • A. Chỉ ở giai đoạn cuối cùng trước khi phát hành.
  • B. Chỉ ở giai đoạn lập trình.
  • C. Chỉ ở giai đoạn thiết kế.
  • D. Xuyên suốt các giai đoạn phát triển phần mềm.

Câu 14: Tiêu chí "tính dễ bảo trì" của một chương trình liên quan mật thiết đến yếu tố nào trong đánh giá chương trình?

  • A. Độ phức tạp thời gian.
  • B. Tính rõ ràng, dễ đọc của mã nguồn.
  • C. Hiệu quả sử dụng bộ nhớ.
  • D. Khả năng tương thích với nhiều hệ điều hành.

Câu 15: Giả sử bạn có một chương trình sắp xếp danh sách số nguyên. Bạn đã kiểm thử với nhiều bộ dữ liệu khác nhau và chương trình luôn cho kết quả đúng. Bạn có thể kết luận chương trình này hoàn toàn không có lỗi logic không?

  • A. Có, vì đã kiểm thử với nhiều bộ dữ liệu.
  • B. Không, vì kiểm thử chỉ có thể phát hiện lỗi, không chứng minh được sự vắng mặt của lỗi trong mọi trường hợp.
  • C. Có, nếu các bộ dữ liệu kiểm thử đủ lớn và đa dạng.
  • D. Chỉ có thể kết luận là chương trình có ít lỗi logic.

Câu 16: Trong kiểm thử hộp trắng, độ bao phủ mã (code coverage) là một thước đo quan trọng. Độ bao phủ nhánh (branch coverage) đo lường điều gì?

  • A. Tỷ lệ phần trăm các nhánh rẽ (if, else, case) trong mã nguồn đã được thực thi bởi các trường hợp kiểm thử.
  • B. Tỷ lệ phần trăm các dòng lệnh trong mã nguồn đã được thực thi.
  • C. Số lượng lỗi được phát hiện trên mỗi nghìn dòng mã.
  • D. Mức độ dễ đọc và dễ hiểu của mã nguồn.

Câu 17: Một chương trình quản lý thư viện gặp lỗi khi số lượng sách trong thư viện vượt quá 10000 cuốn. Đây là loại lỗi nào liên quan đến giới hạn của hệ thống?

  • A. Lỗi giao diện người dùng (UI error)
  • B. Lỗi chức năng (Functional error)
  • C. Lỗi hiệu năng (Performance error)
  • D. Lỗi liên quan đến giới hạn hệ thống (System limitation error)

Câu 18: Để đánh giá độ phức tạp không gian của thuật toán, ta thường quan tâm đến yếu tố nào?

  • A. Thời gian thực hiện thuật toán.
  • B. Lượng bộ nhớ mà thuật toán sử dụng để lưu trữ dữ liệu và biến.
  • C. Số lượng phép toán số học mà thuật toán thực hiện.
  • D. Độ dài mã nguồn của thuật toán.

Câu 19: Trong quy trình kiểm thử, "test case" (trường hợp kiểm thử) bao gồm những thành phần chính nào?

  • A. Mô tả chức năng cần kiểm thử và mã nguồn liên quan.
  • B. Dữ liệu đầu vào và mã nguồn chương trình.
  • C. Dữ liệu đầu vào, điều kiện thực hiện, và kết quả mong đợi.
  • D. Kết quả thực tế và phân tích lỗi nếu có.

Câu 20: Phương pháp "phân vùng tương đương" trong kiểm thử hộp đen giúp đạt được mục tiêu gì?

  • A. Giảm số lượng trường hợp kiểm thử cần thiết bằng cách chia dữ liệu đầu vào thành các nhóm tương đương.
  • B. Tăng độ bao phủ mã bằng cách kiểm tra mọi dòng lệnh.
  • C. Tự động sinh ra các trường hợp kiểm thử ngẫu nhiên.
  • D. Kiểm thử chương trình trong môi trường thực tế của người dùng cuối.

Câu 21: Xét thuật toán sắp xếp nổi bọt (Bubble Sort). Trong trường hợp tốt nhất (dữ liệu đã sắp xếp), độ phức tạp thời gian của thuật toán này là bao nhiêu?

  • A. O(n^2)
  • B. O(n)
  • C. O(log n)
  • D. O(n log n)

Câu 22: Trong kiểm thử hiệu năng (performance testing), mục tiêu chính là đánh giá khía cạnh nào của chương trình?

  • A. Tính đúng đắn chức năng của chương trình.
  • B. Tính bảo mật của chương trình.
  • C. Tốc độ, khả năng chịu tải và tính ổn định của chương trình trong các điều kiện khác nhau.
  • D. Tính dễ sử dụng của giao diện người dùng.

Câu 23: Khi thiết kế bộ dữ liệu kiểm thử cho một hàm tính giai thừa, bạn nên chú ý đặc biệt đến loại trường hợp kiểm thử nào để phát hiện lỗi tràn số (overflow)?

  • A. Các số nguyên tố.
  • B. Các số âm.
  • C. Các số chẵn và số lẻ.
  • D. Các giá trị đầu vào lớn gần với giới hạn kiểu dữ liệu và các trường hợp biên (0, 1).

Câu 24: Trong kiểm thử phần mềm, thuật ngữ "alpha testing" và "beta testing" khác nhau như thế nào?

  • A. Alpha testing là kiểm thử chức năng, beta testing là kiểm thử hiệu năng.
  • B. Alpha testing thường được thực hiện bởi nhóm phát triển nội bộ, beta testing được thực hiện bởi người dùng cuối bên ngoài.
  • C. Alpha testing diễn ra trước giai đoạn phát triển, beta testing diễn ra sau giai đoạn phát triển.
  • D. Alpha testing tập trung vào kiểm thử hộp trắng, beta testing tập trung vào kiểm thử hộp đen.

Câu 25: Một chương trình có độ phức tạp thời gian O(2^n) được coi là hiệu quả hay kém hiệu quả khi kích thước đầu vào n lớn?

  • A. Rất hiệu quả.
  • B. Hiệu quả trung bình.
  • C. Kém hiệu quả, thời gian chạy tăng rất nhanh khi n tăng.
  • D. Hiệu quả tương đối ổn định, không phụ thuộc vào n.

Câu 26: Để kiểm tra tính đúng đắn của thuật toán sắp xếp chèn (Insertion Sort), bạn có thể sử dụng phương pháp lập luận logic nào?

  • A. Sử dụng bất biến vòng lặp để chứng minh rằng sau mỗi bước lặp, một phần của mảng đã được sắp xếp.
  • B. Kiểm tra tất cả các trường hợp đầu vào có thể.
  • C. So sánh kết quả với một thuật toán sắp xếp khác đã được chứng minh là đúng.
  • D. Đo độ phức tạp thời gian thực tế của thuật toán.

Câu 27: Trong kiểm thử hộp đen, kỹ thuật "đoán lỗi" (error guessing) dựa trên yếu tố nào?

  • A. Dựa trên phân tích cấu trúc mã nguồn chi tiết.
  • B. Dựa trên kinh nghiệm và trực giác của người kiểm thử về các lỗi thường gặp.
  • C. Dựa trên các tiêu chuẩn và quy trình kiểm thử đã được định sẵn.
  • D. Dựa trên các công cụ tự động phân tích lỗi.

Câu 28: Mục đích chính của việc đánh giá độ phức tạp thuật toán là gì?

  • A. Để tìm ra lỗi logic trong thuật toán.
  • B. Để viết mã chương trình ngắn gọn hơn.
  • C. Để chứng minh tính đúng đắn của thuật toán.
  • D. Để so sánh hiệu quả của các thuật toán khác nhau và lựa chọn thuật toán phù hợp nhất cho một vấn đề cụ thể.

Câu 29: Khi báo cáo lỗi (bug report), thông tin nào sau đây là quan trọng nhất cần cung cấp?

  • A. Ý kiến cá nhân về mức độ nghiêm trọng của lỗi.
  • B. Mã nguồn nghi ngờ gây ra lỗi.
  • C. Các bước cụ thể để tái hiện lỗi một cách rõ ràng.
  • D. Thời gian và người phát hiện ra lỗi.

Câu 30: Trong kiểm thử phần mềm, "acceptance testing" (kiểm thử chấp nhận) thường được thực hiện bởi ai?

  • A. Nhóm phát triển phần mềm.
  • B. Nhóm kiểm thử độc lập.
  • C. Quản lý dự án.
  • D. Người dùng cuối hoặc khách hàng.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 1: Trong quá trình kiểm thử chương trình, phương pháp nào sau đây tập trung vào việc thiết kế các trường hợp kiểm thử bao phủ các nhánh và điều kiện quyết định trong mã nguồn?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 2: Một nhóm phát triển phần mềm đang xây dựng một ứng dụng tính toán thuế. Họ sử dụng bảng quyết định để xác định các trường hợp kiểm thử dựa trên các quy tắc thuế phức tạp. Phương pháp kiểm thử hộp đen nào phù hợp nhất trong tình huống này?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 3: Khi đánh giá hiệu quả của thuật toán sắp xếp, độ phức tạp thời gian thường được biểu diễn bằng ký hiệu Big O. Độ phức tạp thời gian O(n log n) thể hiện điều gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 4: Cho đoạn chương trình tính tổng các số chẵn từ 1 đến n. Để kiểm thử chương trình này, bộ dữ liệu kiểm thử nào sau đây là phù hợp nhất để kiểm tra cả trường hợp biên và trường hợp thông thường?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 5: Trong kiểm thử phần mềm, lỗi (bug) và sai sót (defect) có mối quan hệ như thế nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 6: Một chương trình được thiết kế để tính căn bậc hai của một số dương. Nếu nhập vào số âm, chương trình báo lỗi và dừng lại. Hành vi này thuộc loại lỗi nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 7: Phương pháp chứng minh tính đúng của thuật toán bằng quy nạp toán học thường bao gồm mấy bước chính?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 8: Trong kiểm thử hồi quy, mục đích chính là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 9: Một thuật toán tìm kiếm nhị phân có độ phức tạp thời gian là O(log n). Điều này có nghĩa là khi kích thước dữ liệu đầu vào tăng gấp đôi, thời gian thực hiện thuật toán sẽ:

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 10: Đâu là nhược điểm chính của phương pháp kiểm thử hộp đen?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 11: Để cải thiện độ tin cậy của một chương trình, sau khi phát hiện và sửa lỗi, quy trình nào sau đây cần được thực hiện?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 12: Khi nào thì việc sử dụng phương pháp chứng minh bằng quy nạp toán học trở nên đặc biệt hữu ích trong kiểm thử thuật toán?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 13: Trong các giai đoạn phát triển phần mềm, kiểm thử thường được thực hiện ở giai đoạn nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 14: Tiêu chí 'tính dễ bảo trì' của một chương trình liên quan mật thiết đến yếu tố nào trong đánh giá chương trình?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 15: Giả sử bạn có một chương trình sắp xếp danh sách số nguyên. Bạn đã kiểm thử với nhiều bộ dữ liệu khác nhau và chương trình luôn cho kết quả đúng. Bạn có thể kết luận chương trình này hoàn toàn không có lỗi logic không?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 16: Trong kiểm thử hộp trắng, độ bao phủ mã (code coverage) là một thước đo quan trọng. Độ bao phủ nhánh (branch coverage) đo lường điều gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 17: Một chương trình quản lý thư viện gặp lỗi khi số lượng sách trong thư viện vượt quá 10000 cuốn. Đây là loại lỗi nào liên quan đến giới hạn của hệ thống?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 18: Để đánh giá độ phức tạp không gian của thuật toán, ta thường quan tâm đến yếu tố nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 19: Trong quy trình kiểm thử, 'test case' (trường hợp kiểm thử) bao gồm những thành phần chính nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 20: Phương pháp 'phân vùng tương đương' trong kiểm thử hộp đen giúp đạt được mục tiêu gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 21: Xét thuật toán sắp xếp nổi bọt (Bubble Sort). Trong trường hợp tốt nhất (dữ liệu đã sắp xếp), độ phức tạp thời gian của thuật toán này là bao nhiêu?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 22: Trong kiểm thử hiệu năng (performance testing), mục tiêu chính là đánh giá khía cạnh nào của chương trình?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 23: Khi thiết kế bộ dữ liệu kiểm thử cho một hàm tính giai thừa, bạn nên chú ý đặc biệt đến loại trường hợp kiểm thử nào để phát hiện lỗi tràn số (overflow)?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 24: Trong kiểm thử phần mềm, thuật ngữ 'alpha testing' và 'beta testing' khác nhau như thế nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 25: Một chương trình có độ phức tạp thời gian O(2^n) được coi là hiệu quả hay kém hiệu quả khi kích thước đầu vào n lớn?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 26: Để kiểm tra tính đúng đắn của thuật toán sắp xếp chèn (Insertion Sort), bạn có thể sử dụng phương pháp lập luận logic nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 27: Trong kiểm thử hộp đen, kỹ thuật 'đoán lỗi' (error guessing) dựa trên yếu tố nào?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 28: Mục đích chính của việc đánh giá độ phức tạp thuật toán là gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 29: Khi báo cáo lỗi (bug report), thông tin nào sau đây là quan trọng nhất cần cung cấp?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Kiểm thử và đánh giá chương trình

Tags: Bộ đề 10

Câu 30: Trong kiểm thử phần mềm, 'acceptance testing' (kiểm thử chấp nhận) thường được thực hiện bởi ai?

Xem kết quả