Một textbox chỉ nhận giá trị ký tự từ [A-Z], [0-9]. Chỉ ra một giá trị thuộc lớp tương đương không hợp lệ:
Đáp án đúng: A
Câu hỏi liên quan
Kỹ thuật phân tích giá trị biên (Boundary Value Analysis - BVA) là một kỹ thuật kiểm thử hộp đen, tập trung vào việc kiểm tra các giá trị tại biên của miền giá trị đầu vào. Nó dựa trên nguyên tắc rằng lỗi có xu hướng xảy ra nhiều hơn ở các giá trị biên. Vì vậy, test case cần được chọn bao gồm các giá trị nằm tại biên, phía trên biên và phía dưới biên. Do đó, đáp án D là chính xác.
Chiều dài mật khẩu được quy định là từ 6 đến 14 ký tự. Do đó, chúng ta cần kiểm tra các giá trị sau:
* Giá trị nhỏ hơn giá trị biên dưới: 5 ký tự.
* Giá trị biên dưới: 6 ký tự.
* Giá trị nằm giữa giá trị biên dưới và giá trị biên trên: một giá trị bất kỳ trong khoảng (ví dụ: 10 ký tự).
* Giá trị biên trên: 14 ký tự.
* Giá trị lớn hơn giá trị biên trên: 15 ký tự.
Như vậy, chúng ta cần 5 test case. Tuy nhiên, các phương án trả lời lại không có đáp án 5. Xem xét kỹ hơn, có vẻ như câu hỏi muốn kiểm tra số lượng test case tối thiểu cần thiết để bao phủ các giá trị biên *chính*. Trong trường hợp đó, chúng ta chỉ cần kiểm tra giá trị biên dưới (6) và giá trị biên trên (14). Ngoài ra, theo phương pháp kiểm thử giá trị biên, ta cần kiểm tra giá trị ngay trước biên dưới (5) và ngay sau biên trên (15). Vậy tổng cộng sẽ là 4 test case. Do vậy, đáp án đúng là D.
Tuy nhiên, cần lưu ý rằng, cách tiếp cận tốt nhất cho BVA thường bao gồm cả các giá trị ngay trước và sau biên, cũng như các giá trị biên chính xác. Do đó, câu hỏi và các phương án trả lời có thể gây nhầm lẫn.
A. Điều kiện sửa đổi/phủ quyết định (Modified Condition/Decision Coverage - MC/DC) là một tiêu chí bao phủ trong kiểm thử, thường được sử dụng trong kiểm thử đơn vị để đảm bảo các điều kiện và quyết định trong mã được kiểm tra kỹ lưỡng.
B. Kiểm tra cú pháp (Syntax checking) là một phần của quá trình biên dịch hoặc thông dịch mã, đảm bảo mã nguồn tuân thủ đúng ngữ pháp của ngôn ngữ lập trình. Tuy nhiên, kiểm tra cú pháp không phải là mục tiêu chính của kiểm thử đơn vị. Kiểm thử đơn vị tập trung vào hành vi và chức năng của đơn vị mã.
C. Kiểm thử sức chịu tải (Load testing) là một loại kiểm thử hiệu năng, nhằm mục đích đánh giá khả năng của hệ thống khi chịu tải trọng lớn. Kiểm thử sức chịu tải không thuộc phạm vi của kiểm thử đơn vị, vì kiểm thử đơn vị tập trung vào các thành phần nhỏ và độc lập.
D. Phân vùng tương đương (Equivalence partitioning) là một kỹ thuật thiết kế kiểm thử, trong đó dữ liệu đầu vào được chia thành các phân vùng tương đương để giảm số lượng trường hợp kiểm thử cần thiết. Phân vùng tương đương có thể được sử dụng trong kiểm thử đơn vị để chọn các giá trị đầu vào đại diện cho các lớp tương đương khác nhau.
Như vậy, kiểm thử sức chịu tải không được miêu tả trong kiểm thử đơn vị.
Lý do chính khiến các nhà phát triển phần mềm gặp khó khăn trong việc kiểm thử công việc của chính họ là do thiếu khách quan. Khi phát triển phần mềm, họ thường có xu hướng tin rằng mã của mình hoạt động đúng như dự định và có thể bỏ qua các lỗi tiềm ẩn. Việc thiếu khách quan này dẫn đến việc kiểm thử không hiệu quả và bỏ sót nhiều lỗi. Các lựa chọn khác như thiếu đào tạo, thiếu tài liệu kỹ thuật hoặc thiếu công cụ kiểm tra có thể là yếu tố phụ, nhưng không phải là lý do cốt lõi.