NEW
Font size
WorksheetsKiểm thử phần mềm 5
Total questions: 74
Worksheet time: 37mins
Một đồ thị chương trình có 9 cạnh và 8 nút. Độ phức tạp (cyclomatric complexity) của đồ thị này là bao nhiêu?
9
8
3
2
Framework nào được sử dụng cho kiểm thử đơn vị trên nền C#
JUnit
NUnit
CPPUnit
FUnit
CPPUnit hỗ trợ kiểm thử đơn vị cho ngôn ngữ lập trình nào?
Java
Python
C++
C#
Junit chạy trên nền ngôn ngữ nào?
C++
Java
PHP
Trên tất cả các ngôn ngữ
Một ứng dụng ngân hàng xác định tín dụng của khách hàng. Các ứng dụng sử dụng một bộ quy tắc để xác định giới hạn trên của tín dụng. Kỹ thuật kiểm thử hộp đen nào là tốt nhất cho kiểm thử ứng dụng?
Kiểm thử lớp tương đương
Kiểm thử giá trị biên
Kiểm thử lớp tương đương và kiểm thử giá trị biên
Kiểm thử bảng quyết định
Đường đi (đường dẫn) khả thi là đường như thế nào?
Có tồn tại đầu vào để đường đi được thực hiện
Là đường đi qua tất cả các đỉnh
Không có đầu vào để thực thi đường đi
Là đường ngắn nhất đi từ đỉnh đầu đến đỉnh cuối
Đường đi (đường dẫn) không khả thi là đường như thế nào?
Có tồn tại đầu vào để đường đi được thực hiện
Là đường đi qua tất cả các đỉnh
Không có đầu vào để thực thi đường đi
Là đường ngắn nhất đi từ đỉnh đầu đến đỉnh cuối
Cạnh trong đồ thị chương trình thường đại diện cho gì?
Luồng điều khiển giữa các lệnh hoặc khối lệnh.
Sự phụ thuộc giữa các module.
Sự truyền dữ liệu giữa các biến.
Mối quan hệ giữa các lớp.
Cho đoạn giả mã sau:
WHILE (condition A) Do B END WHILE.
Có bao nhiêu quyết định cần phải kiểm tra để đạt được bao phủ quyết định (decision coverage) là 100%?
2
1
4
Không xác định
Cho đoạn code sau, số lần kiểm tra nhỏ nhất cho statement coverage (bao phủ câu lệnh) và branch coverage (bao phủ nhánh) là bao nhiêu?
Statement Coverage = 1, Branch Coverage = 2
Statement Coverage = 2, Branch Coverage = 2
Statement Coverage = 1, Branch Coverage = 3
Statement Coverage = 2, Branch Coverage = 4
Cho đoạn chương trình sau, biết rằng các điều kiện độc lập với nhau. Cần bao nhiêu trường hợp kiểm thử cho tất cả các nhánh (khả năng):
if (condition1)
statement1;
else statement2;
if (condition 2)
statement 3;
1
3
4
2
Cho đồ thị luồng điều khiển như sau. Với giá trị nào của n đường điều khiển: 1 -> 2(T) -> 3 -> 4 là không thể đạt được?
0
1
2
3
Ví dụ về xem xét bao phủ trong đoạn mã nguồn sau đây là một ví dụ về: if (condition1 && (condition2 || function1())) statement1; else statement2;
Bao phủ các câu lệnh
Bao phủ các điều kiện
Bao phủ các mệnh đề
Bao phủ các đường
Cần ít nhất bao nhiêu ca kiểm thử để đảm bảo 100% bao phủ nhánh? if (x>y) x=x+1; else y=y+1; while (x>y) {y=x*y; x=x+1;}
1
2
3
4
Nếu một đầu vào có dải giá trị từ -10 đến 10, thì các giá trị biên cần kiểm tra là gì trong trường hợp cẩn thận?
-10 và 10.
-11, -10, 9, và 10.
-10, -9, 9, và 10.
-11, -10, -9, 9, 10, và 11.
Kiểm thử giá trị biên có thể được áp dụng cho loại dữ liệu nào sau đây?
Chỉ dữ liệu số nguyên
Chỉ dữ liệu ký tự
Cả dữ liệu số nguyên và ký tự
Dữ liệu số thực
Đối với kiểm thử giá trị biên, tại sao các giá trị ngay bên ngoài giới hạn (ví dụ: -1 và 101 cho khoảng từ 0 đến 100) cũng được kiểm tra?
Để đảm bảo chương trình có thể xử lý các giá trị ngoài giới hạn một cách đúng đắn.
Để kiểm tra hiệu suất của chương trình.
Để đảm bảo giao diện người dùng hoạt động đúng.
Để tối ưu hóa mã nguồn.
Khi kiểm thử giá trị biên cho một trường hợp nhập liệu số nguyên có giới hạn từ 1 đến 10, giá trị nào sau đây không cần thiết phải kiểm tra?
0
1
50
11
Số trường hợp kiểm thử giá trị biên với hàm n biến trong trường hợp cực kì xấu (robust worst-case) gần bằng:
7n
7n
5n
5
Khi thực hiện kiểm thử lớp tương đương cho một dải giá trị từ 1 đến 100, phân chia các lớp tương đương hợp lệ nào dưới đây có thể được tạo ra?
[1-20], (20-50], (50-100]
[1-50], [50-90]
[0-50], [51-70]
[1-100], [101-200]
Trong kiểm thử lớp tương đương, giá trị đại diện của mỗi lớp được chọn như thế nào?
Giá trị biên của lớp.
Giá trị trung bình của lớp.
Bất kỳ giá trị nào trong lớp.
Giá trị ngẫu nhiên ngoài lớp.
Khi kiểm thử lớp tương đương hợp lệ cho một trường hợp nhập liệu số nguyên từ 1 đến 20, giá trị nào dưới đây có thể không cần kiểm tra?
0
1
5
20
Để thực hiện kiểm thử đường đi cơ bản (Basic Path Testing), bước đầu tiên thường là gì?
Viết các trường hợp kiểm thử cho tất cả các giá trị biên.
Phân tích và tạo đồ thị luồng điều khiển của chương trình.
Xác định tất cả các lớp tương đương của dữ liệu.
Tối ưu hóa mã nguồn để giảm độ phức tạp.
Trong công thức tính độ phức tạp chu trình V(G) = E - N + 2P, ký hiệu N đại diện cho gì?
Số lượng đỉnh (nút) trong đồ thị.
Số lượng cạnh trong đồ thị.
Số lượng đường dẫn trong đồ thị.
Số lượng chu trình trong đồ thị.
Trong công thức tính độ phức tạp chu trình V(G) = E - N + 2P, ký hiệu E đại diện cho gì?
Số lượng đỉnh (nút) trong đồ thị.
Số lượng cạnh trong đồ thị.
Số lượng đường đi trong đồ thị.
Số lượng chu trình trong đồ thị.
Một bảng quyết định hoàn chỉnh và chính xác cần đảm bảo điều gì?
Tất cả các giá trị biên được kiểm tra.
Tất cả các điều kiện và hành động tương ứng đều được liệt kê và kiểm tra.
Tất cả các lớp tương đương của dữ liệu được xác định.
Tất cả các yếu tố giao diện người dùng đều hoạt động đúng.
Điều gì xảy ra nếu một điều kiện trong bảng quyết định không được đáp ứng?
Tất cả các hành động tương ứng sẽ được thực hiện.
Không có hành động nào sẽ được thực hiện.
Điều kiện đó sẽ được bỏ qua.
Điều kiện đó sẽ được kiểm tra lại.
Một bảng quyết định bao gồm các thành phần nào?
Các điều kiện và hành động.
Các giá trị biên và lớp tương đương.
Các đường đi và chu trình.
Các nút và cạnh.
Trong kiểm thử luồng dữ liệu, thuật ngữ "Define-Use" có nghĩa là gì?
Một biến được định nghĩa và sử dụng trong cùng một dòng mã.
Một biến được xác định ở một điểm và được sử dụng ở một điểm khác.
Một biến được định nghĩa nhưng không bao giờ được sử dụng.
Một biến được sử dụng nhưng không bao giờ được định nghĩa.
Khi nào thì kiểm thử luồng dữ liệu được coi là hoàn chỉnh?
Khi tất cả các giá trị biên được kiểm tra.
Khi tất cả các biến trong chương trình đều được khai báo, gán giá trị và sử dụng một cách chính xác.
Khi tất cả các lớp tương đương của dữ liệu được kiểm tra.
Khi tất cả các yếu tố giao diện người dùng đều hoạt động đúng.
Trong kiểm thử luồng dữ liệu, thuật ngữ "DU Path" đại diện cho gì?
Đường đi từ điểm khai báo đến điểm gán giá trị.
Đường đi từ điểm gán giá trị đến điểm sử dụng.
Đường đi từ điểm sử dụng đến điểm khai báo.
Đường đi từ điểm gán giá trị đến điểm khai báo.
Kiểm thử luồng dữ liệu tập trung vào việc kiểm tra các khía cạnh nào của biến trong chương trình?
Khai báo (Definition), gán giá trị (Assignment), và sử dụng (Usage).
Chỉ gán giá trị (Assignment).
Chỉ khai báo (Definition).
Chỉ sử dụng (Usage).
Nếu một đầu vào có dải giá trị từ 1 đến 100, thì số lớp tương đương hợp lệ và không hợp lệ là gì?
1 lớp hợp lệ và 1 lớp không hợp lệ.
1 lớp hợp lệ và 2 lớp không hợp lệ.
2 lớp hợp lệ và 2 lớp không hợp lệ.
1 lớp hợp lệ và 3 lớp không hợp lệ.
Làm thế nào để xác định số lượng trường hợp kiểm thử cần thiết trong kiểm thử lớp tương đương?
Bằng cách kiểm tra từng giá trị biên của mỗi lớp.
Bằng cách chọn một giá trị từ mỗi lớp tương đương hợp lệ và không hợp lệ.
Bằng cách kiểm tra tất cả các giá trị đầu vào có thể có.
Bằng cách chọn các giá trị trung bình từ mỗi lớp.
Một lớp tương đương không hợp lệ là gì?
Một lớp chứa các giá trị đầu vào nằm trong phạm vi cho phép.
Một lớp chứa các giá trị đầu vào nằm ngoài phạm vi cho phép.
Một lớp chứa các giá trị đầu vào hợp lệ.
Một lớp chứa các giá trị đầu vào trung bình.
Hai nhánh của hộp quyết định được gán nhãn:
True, False
T, F
Cả A và B đều đúng
Cả A và B đều sai
Câu hỏi
1
2
4
Không xác định
Câu nào sau đây là sai khi so sánh giữa 2 loại data flow testing là static testing và dynamic testing:
Static testing hiệu quả hơn dynamic testing
Dynamic testing có liên quan đến việc chạy một số trường hợp thử nghiệm nên thường mất nhiều thời gian hơn so với static testing.
Dynamic testing tìm thấy ít lỗi hơn so với static testing.
Dynamic testing có thể được thực hiện trước khi biên dịch trong khi static testing chỉ có thể diễn ra sau khi biên dịch và liên kết.
Các kiểu luồng dữ liệu bất thường (data flow anomaly ) là:
(D: Defined, U: Undefined, R: Reference)
dd, dr, du
dd, ur, du
dr, ur, du
Câu nào sau đây không phải là Simple path?
2 – 3 – 4 – 5 – 6 – 7
3 – 4 – 5 – 7 – 6 – 3
3 – 5 – 6 – 4 – 3 – 7
2 – 3 – 6 – 7 – 5 – 4
Trong kiểm thử giá trị biên nguyên tắc kiểm thử các dữ liệu vào không gồm loại nào dưới đây?
A. Giá trị nhỏ nhất
B. Giá trị lớn nhất
C. Giá trị bình thường
D. Dữ liệu vào bao gồm cả 3 loại trên
Một tài liệu đặc tả chức năng cung cấp những gì?
Mô tả chi tiết các yêu cầu, các rủi ro có thể có.
Các giao diện kết nối với các module khác của phần mềm, luồng dữ liệu.
Dự toán xử lý lỗi, bộ nhớ sử dụng, hiệu năng và một số kĩ thuật giới hạn.
Tất cả các đáp án đều đúng
Tài liệu nào tóm tắt các hoạt động kiểm thử kết hợp với một hoặc nhiều đặc tả thiết kế kiểm thử?
Báo cáo sự cố kiểm thử
Báo cáo tóm tắt kiểm thử
Kiểm thử đăng nhập
Kịch bản kiểm thử
Đo lường chất lượng từ góc nhìn user-view dễ dàng bằng cách nào?
Hỏi người sử dụng xem có thấy hài lòng về các chức năng hay không.
Tính tỉ lệ passed test case trong tổng số các test case được thiết kế cho chức năng đó.
Bằng tổng số các test cases.
Cả 3 cách trên.
Trong một chiến lược kiểm thử đa chu kì, ca kiểm thử được ưu tiên vì lí do nào sau đây:
Chất lượng của hệ thống ban đầu để thử nghiệm không cao
Chất lượng của hệ thống được cải thiện từ chu kì này tới chu kì khác
1 loạt các lỗi được phát hiện khi kiểm tra đến
Tất cả các phương án trên
Bộ nào dưới đây là bộ số liệu có thể được sử dụng để giám sát việc thực hiện kiểm thử?
Số lượng các khuyết tật bị phát hiện, kiểm tra chi phí.
Số lượng các khuyết tật còn lại trong đối tượng kiểm thử.
Tỷ lệ phần trăm hoàn thành nhiệm vụ trong việc chuẩn bị môi trường kiểm tra và các ca kiểm thử.
Số lượng ca kiểm thử chạy/ không chạy, các ca kiểm thử thông qua/ không thông qua.
Nhiệm vụ nào không phải nhiệm vụ chính của Exit Criteria?
Marketing, phần mềm, phần cứng, tiêu chuẩn kỹ và thử nghiệm hệ thống.
Marketing, đầu ra, đầu vào, tiêu chuẩn kỹ thuật và thử nghiệm hệ thống.
Đầu vào, đầu ra, ca kiểm thử, tiêu chuẩn kỹ thuật và thử nghiệm hệ thống.
Đâù vào, đầu ra, tiêu chuẩn kỹ thuật và thử nghiệm hệ thống
Bộ số liệu có thể được sử dụng để theo dõi việc thực hiện kiểm tra ?
Số lượng các sai sót phát hiện, chi phí kiểm tra
Số lượng các sai sót còn lại trong đối tượng kiểm tra
Tỷ lệ phần trăm các nhiệm vụ hoàn thành trong việc chuẩn bị của môi trường kiểm thử; các ca kiểm thử
Số lượng các ca kiểm thử chạy / không chạy; các ca kiểm thử thông qua / thất bại
Đâu không phải là nguyên tắc quan trọng để phân tích nguyên nhân gây sai sót:
Tập trung vào các lỗi hệ thống
Giảm số lượng các sai sót để nâng cao chất lượng
Sắp xếp, phân loại các lỗi để loại bỏ
Áp dụng chuyên môn bộ phận nơi các sai sót xảy ra
Nhận xét đúng về khuyết tật có độ ưu tiên ở mức Critical:
Khuyết tật ở mức độ này phải được giải quyết càng sớm càng tốt, và quá trình kiểm thử không nên tiếp tục khi khuyết tật ở mức này chưa được sửa
Khuyết tật ở mức độ này sẽ không ảnh hưởng đến quá trình kiểm thử
Khuyết tật ở mức độ này có thể giải quyết bất kì lúc nào
Khuyết tật có mức độ ưu tiên cao và ảnh hưởng đến một tập nhỏ các chức năng của hệ thống
Nhân xét đúng về lỗi có độ ưu tiên ở mức cao (high)
Lỗi ở mức độ này sẽ không ảnh hưởng đến tiến độ kiểm thử.
Lỗi ở mức độ này nên được giải quyết bất kỳ lúc nào có thể
Lỗi ở mức độ này ở mức ưu tiên cao, quá trình kiểm thử phải dừng lại khi lỗi này chưa giải quyết được
Lỗi ở mức độ này ở mức ưu tiên cao, một tập hợp chức năng con của hệ thống không thể kiểm thử nếu lỗi này chưa được giải quyết
Nhận xét đúng về độ quan trọng của lỗi ở mức thấp (low)
Nếu nhiều chức năng quan trọng của hệ thống bị suy yếu do lỗi này
Nếu một số chức cơ bản của hệ thông bị suy yếu
Nếu không có chức năng quan trọng nào của hệ thống bị suy yếu
Nếu vấn đề liên quan đến tính năng giao diện của hệ thống
Mức độ nghiêm trọng của một khuyết tật vẫn giữ nguyên trong vòng đời của nó, còn mức độ ưu tiên thì có thể thay đổi
Mức độ nghiêm trọng của một khuyết tật vẫn giữ nguyên trong vòng đời của nó, còn mức độ ưu tiên thì có thể thay đổi
Mức độ nghiêm trọng của một khuyết tật và mức độ ưu tiên không thay đổi trong suốt vòng đời
Mức độ ưu tiên không thay đổi còn mức độ nghiêm trọng thay đổi trong vòng đời của nó
Tất cả các đáp án đều sai
Để đo được tính hiệu quả của việc kiểm thử, một công thức được sử dụng phổ biến trong công nghiệp là tính giá trị DRE (defect removal efficiency). Giá trị DRE được tính bằng công thức:
Số lỗi tìm được trong kiểm thử
Số lỗi tìm được + số lỗi không tìm được trong kiểm thử
(Số lỗi tìm được)/(số lỗi tìm được + số lỗi không tìm được)
Cả 3 đều sai
Thế nào là kiểm thử chấp nhận nghiệp vụ (BAT)
Thực hiện dưới sự phát triển tổ chức của nhà cung cấp, không quan tâm tới kết quả của người sử dụng
Thực hiện dưới sự phát triển tổ chức của nhà cung cấp, nhưng vẫn quan tâm tới kết quả của người sử dụng
Thực hiện bởi người sử dụng
Thực hiện bởi người sử dụng, đảm bảo hệ thống thỏa mãn các kịch bản theo yêu cầu của người dùng
Kiểm thử chức năng được thực hiện ở đâu?
Ở hệ thống và chỉ ở mức kiểm thử chấp nhận.
Ở tất cả các mức kiểm thử.
Ở tất cả các mức trên mức kiểm thử tích hợp.
Chỉ ở mức kiểm thử chấp nhận.
Các ca kiểm thử chấp nhận dựa trên:
Các yêu cầu.
Thiết kế.
Mã nguồn.
Bảng quyết định.
Điều kiện kiểm thử xuất phát từ:
Đặc tả
Testcase
Dữ liệu test
Thiết kế test
Chúng ta sử dụng đầu ra của phân tích yêu cầu và đặc tả yêu cầu như thể đầu vào để viết ra các:
Ca kiểm thử chấp nhận người dùng.
Ca kiểm thử mức tích hợp.
Ca kiểm thử mức đơn vị.
Đặc tả chương trình
Trong một hệ thống được thiết kế để tính thuế: một nhân viên có lương $4000 thì miến thuế. $1500 tiếp theo chịu thuế 10%, $2800 tiếp theo chịu 22%. Bất kì mức lương nào cao hơn nữa thì đều chịu 40% thuế. Lớp đầu vào nào sau đây cùng nằm trong một nhóm test tương đương
$4800, $14000, $28000
$5200, $5500, $28000
$28001, $32000, $35000
$5800, $28000, $32000
Loại nào sau đây không phải là dữ liệu bất thường
Định nghĩa sau đó định nghĩa lại
Không định nghĩa nhưng tham chiếu
Định nghĩa sau đó tham chiếu
Định nghĩa sau đó hủy bỏ định nghĩa
Trong mối quan hệ giữa tiêu chuẩn kiểm thử luồng dữ liệu khả thi thì tiêu chuẩn nào sau đây là đầy đủ nhất
All – du-paths
All – branches
All – paths
All – uses
Kiểm thử luồng dữ liệu là một kĩ thuật kiểm thử cấu trúc điều khiển ở đó tiêu chí được sử dụng để thiết kế những ca kiểm thử là
Dựa vào kiểm thử đường cơ bản.
Thực hiện các điều kiện logic trong một module chương trình.
Chọn những đường kiểm thử dựa vào vị trí và việc sử dụng các biến.
Tập trung vào kiểm tra tính hợp lệ của vòng lặp.
(Lớp tương đương - Equivalence class): Một trường textbox trong một from nhập liệu có khoảng giá trị chấp nhận trong khoảng 18 – 25. Hãy chỉ gia lớp giá trị không hợp lệ.
A. 17
B. 19
C. 24
D. 21
Một hệ thống quản lý lỗi có trách nhiệm theo dõi tình trạng của tất cả các lỗi đã biết và thực thi các quy tắc để kiểm để thay đổi các trạng thái. Nếu nhiệm vụ của bạn là kiểm thử theo dõi trạng thái, phương pháp nào là tốt nhất?
Logic-based testing
Use-case-based testing
State transition testing
Systematic testing according to the V-model
Nếu một chương trình đã được kiểm thử và 100% condition coverage được hoàn thành. Thì tiêu chuẩn nào sau đây đảm bảo đạt được?
100% branch coverage
100% condition coverage và 100% statement coverage
Các lớp tương đương và giá trị biên được bao phủ.
không có tiêu chuẩn nào hoàn thành 100%
Cho đoạn chương trình: WHILE (condition A) Do B END WHILE Có bao nhiêu test case nên được có để hoàn thành 100% bao phủ quyết định (decision coverage)?
2
không rõ ràng.
1
4
Trong kiểm thử đơn vị thì đối tượng dùng để kiểm thử là một Module. Module được hiểu là gì?
Một lớp.
Phương thức.
Một thành phần(Component)
Tùy theo cách hiểu.
Kiểm thử được chia làm nhiều cấp độ, cấp độ nào là đơn giản nhất?
Kiểm thử đơn vị.
Kiểm thử tích hợp.
Kiểm thử hệ thống.
Kiểm thử chấp nhận.
Từ góc nhìn giá trị của phần mềm (Value-based view), thì một phần mềm như thế nào được đánh giá là chất lượng?
Phần mềm dễ bảo trì.
Phần mềm đem lại lợi nhuận cao cho tổ chức.
Phần mềm có giao diện đẹp.
Một đáp án khác.
Định nghĩa kiểm chứng (verification) và thẩm định (validation) nào sau đây là đúng?
Cả hai đều có ý nghĩa giống nhau.
Kiểm chứng có thể hiểu là việc xây dựng phần mềm có đúng đặc tả, đúng thiết kế hay không. Còn thẩm định có nghĩa là việc xây dựng phần mềm có đáp ứng được nhu cầu của người dùng không.
Thẩm định có thể hiểu là việc xây dựng phần mềm có đúng đặc tả, đúng thiết kế. Còn kiểm chứng có nghĩa là việc xây dựng phần mềm có đáp ứng được nhu cầu của người dùng không.
Kiểm chứng là dùng công cụ kiểm tra tự động. Còn thẩm định là thực hiện thủ công.
Thứ tự thực hiện đúng của kiểm chứng (verification) và thẩm định (Validation) là:
Không cần thứ tự, 2 công việc trên có thể làm đan xen lẫn nhau.
Kiểm chứng, rồi đến thẩm định.
Thẩm định rồi đến kiểm chứng.
Một đáp án khác.
Trong quá trình kiểm thử, mục tiêu quan trọng nhất là
Tìm ra nhiều lỗi nhất có thể.
Kiểm tra được các khu vực có nguy cơ xảy ra lỗi cao.
Đạt được độ bao phủ kiểm thử tốt.
Để đánh giá phần mềm đã sẵn sàng cho phát hành.
Chọn một lý do không hợp lý khi nói việc kiểm thử đầy đủ là không khả thi:
Miền đầu vào là quá lớn để kiểm tra.
Giới hạn về nguồn lực tài chính.
Không thể kiểm tra hết các đường khả thi trong chương trình phần mềm.
Các vấn đề giao diện người dùng là quá phức tạp để kiểm tra hoàn toàn.
