JavaScript is required

Kiểm thử dòng dữ liệu để xác định các vấn đề:

A. Một biến được khai báo nhưng không bao giờ được sử dụng trong chương trình.
B. Một biến được sử dụng nhưng chưa được khai báo.
C. Một biến được khai báo nhiều lần trước khi nó được sử dụng.
D. Hủy bỏ một biến trước khi nó được sử dụng.
undefined. Tất cả các nội dung trên.
Trả lời:

Đáp án đúng: E


Kiểm thử dòng dữ liệu (data flow testing) là một phương pháp kiểm thử phần mềm tập trung vào việc theo dõi quá trình sử dụng các biến trong chương trình. Nó giúp phát hiện các vấn đề liên quan đến việc khởi tạo, sử dụng và định nghĩa các biến. Các vấn đề phổ biến mà kiểm thử dòng dữ liệu có thể phát hiện bao gồm: * Một biến được khai báo nhưng không bao giờ được sử dụng. * Một biến được sử dụng trước khi được khai báo. * Một biến được gán giá trị nhiều lần trước khi được sử dụng. * Một biến được hủy bỏ (undefine) trước khi được sử dụng. Như vậy, tất cả các lựa chọn A, B, C và D đều là những vấn đề mà kiểm thử dòng dữ liệu có thể xác định. Do đó, đáp án chính xác là E: "Tất cả các nội dung trên".

Câu hỏi liên quan

Lời giải:
Đáp án đúng: D
Kỹ thuật phân chia lớp tương đương là một kỹ thuật kiểm thử hộp đen. Nó chia dữ liệu đầu vào thành các lớp tương đương sao cho các thành viên trong mỗi lớp tương đương được xử lý theo cùng một cách. Do đó, việc chọn một test case từ mỗi lớp tương đương sẽ đại diện cho toàn bộ lớp đó. Vì vậy, tất cả các phát biểu A, B, và C đều đúng.
Câu 14:

Bài toán: Nhập giá trị mật khẩu có thể chứa bất kỳ ký tự nào, với điều kiện chiều dài mật khẩu ít nhất là 6 ký tự và nhiều nhất là 14 ký tự. Chúng ta cần chọn bao nhiêu bộ test-case cho bài toán trên dựa theo kỹ thuật phân lớp tương đương.

Lời giải:
Đáp án đúng: C
Bài toán yêu cầu kiểm tra mật khẩu với độ dài từ 6 đến 14 ký tự. Kỹ thuật phân lớp tương đương chia miền giá trị đầu vào thành các lớp tương đương sao cho việc chọn một giá trị trong một lớp sẽ tương đương với việc chọn bất kỳ giá trị nào khác trong cùng lớp. Trong trường hợp này, chúng ta có thể chia thành các lớp sau:

1. Mật khẩu có độ dài nhỏ hơn 6 ký tự (ví dụ: 5 ký tự).
2. Mật khẩu có độ dài nằm trong khoảng từ 6 đến 14 ký tự (ví dụ: 6, 10, 14 ký tự).
3. Mật khẩu có độ dài lớn hơn 14 ký tự (ví dụ: 15 ký tự).

Như vậy, chúng ta cần ít nhất 3 test case để bao phủ các lớp tương đương này.
Câu 15:

Một đầu vào nhận giá trị năm sinh trong đoạn [1000, 2000]. Các giá trị biên để kiểm thử là:

Lời giải:
Đáp án đúng: B

Câu hỏi này kiểm tra kiến thức về kiểm thử biên (boundary value testing). Kiểm thử biên là một kỹ thuật kiểm thử hộp đen, trong đó các trường hợp kiểm thử được thiết kế để bao gồm các giá trị ở biên của miền giá trị đầu vào. Trong trường hợp này, miền giá trị đầu vào là [1000, 2000]. Các giá trị biên sẽ là 1000 và 2000, cùng với các giá trị lân cận của chúng.

Phương án A không đúng vì chỉ bao gồm 1000 và 1999, thiếu giá trị 2000 và các giá trị gần biên hơn.

Phương án B là đáp án đúng vì nó bao gồm cả hai giá trị biên 1000 và 2000.

Phương án C không đúng vì chứa các giá trị nằm ngoài phạm vi [1000, 2000].

Phương án D không đúng vì chứa các giá trị nằm ngoài phạm vi [1000, 2000] và thừa giá trị.

Câu 16:

Phát biểu nào sau đây không đúng về kiểm thử hệ thống:

Lời giải:
Đáp án đúng: C

Kiểm thử hệ thống là giai đoạn kiểm tra toàn bộ hệ thống sau khi đã tích hợp tất cả các thành phần. Mục tiêu là đảm bảo hệ thống đáp ứng các yêu cầu chức năng và phi chức năng đã được xác định. Việc phát hiện lỗi ở giai đoạn này cho thấy các lỗi thiết kế hoặc tích hợp nghiêm trọng và do đó tốn kém để sửa chữa, người dùng cuối nên tham gia vào kiểm thử hệ thống (ví dụ: kiểm thử chấp nhận người dùng - UAT), và việc kiểm thử thường được thực hiện bởi các nhóm độc lập để đảm bảo tính khách quan. Kiểm thử chức năng thường được sử dụng nhiều hơn kiểm thử cấu trúc trong kiểm thử hệ thống, vì mục tiêu chính là xác minh chức năng và hiệu suất của toàn bộ hệ thống từ quan điểm của người dùng cuối. Vậy nên đáp án không đúng phải là B.

Câu 17:

Cho đoạn mã giả sau, số ca kiểm thử tối thiểu cần có để phủ tất cả các cung?

int kiemTra (int k) {

if (k <= 1)

return -1;

for (int i = 2; i < k; i++)

if (k % i == 0)

return -1;

return 1;

}

</></=>

Lời giải:
Đáp án đúng: B
Để phủ tất cả các cung (branch coverage) của đoạn mã, chúng ta cần các trường hợp kiểm thử đi qua tất cả các nhánh có thể có của các câu lệnh điều kiện. Trong đoạn mã này, có hai câu lệnh điều kiện chính:

1. `if (k <= 1)`: Điều này tạo ra hai nhánh: `k <= 1` (true) và `k > 1` (false).
2. `if (k % i == 0)` (trong vòng lặp for): Điều này tạo ra hai nhánh: `k % i == 0` (true) và `k % i != 0` (false).

Để phủ tất cả các nhánh, chúng ta cần ít nhất các trường hợp sau:

* Trường hợp 1: `k <= 1`. Ví dụ, `k = 1`. Nhánh này sẽ trả về -1.
* Trường hợp 2: `k > 1` và vòng lặp `for` không tìm thấy ước số nào của `k` ngoài 1 và chính nó (k là số nguyên tố). Ví dụ, `k = 5`. Nhánh này sẽ trả về 1.
* Trường hợp 3: `k > 1` và vòng lặp `for` tìm thấy một ước số của `k`. Ví dụ, `k = 4`. Nhánh này sẽ trả về -1.

Vậy cần tối thiểu 3 ca kiểm thử để phủ hết các cung.
Câu 18:

Trong quá trình phát triển phần mềm, quá trình kiểm thử có thể bắt đầu vào thời điểm nào?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Câu 19:

Một hộp thoại trong chương trình chỉ cho phép nhận các giá trị ký tự và chữ số. Giá trị nào sau đây thuộc lớp tương đương hợp lệ?

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Câu 20:

Độ phức tạp Cyclomatic được biểu thị bằng

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Câu 21:

Lỗi phần mềm trong quá trình viết mã được gọi là:

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Câu 22:

Trình tự thực hiện bình thường của các hoạt động trong kiểm thử phần mềm truyền thống gồm: a. Integration testing; b. System testing; c. Unit testing; d. Acceptance testing. Hãy chọn thứ tự đúng.

Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP