wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

testing quiz

Total questions: 150

Worksheet time: 1hrs 15mins

Name
Class
Date
1.
Công cụ Korat sử dụng thông tin nào để giảm thiểu không gian dữ liệu đầu vào
a)
Tiền điều kiện
b)
Hậu điều kiện
c)
Hợp đồng
d)
Lớp được kiểm thử
2.
Đâu không là đầu vào của tool Randoop khi sinh ca kiểm thử tự động
a)
Ca kiểm thử
b)
Các lớp được kiểm thử
c)
Thời gian giới hạn
d)
Tập các yêu cầu/hợp đồng
3.
Đâu là vấn đề của việc sinh dữ liệu kiểm thử tự động
a)

Sinh dư thừa các testcase, nhưng độ phủ thì vẫn thấp

b)

Khả năng tái sử dụng của những testcase thấp

c)

Kiểm thử tự động là 1 phương pháp tốt, nên không có vấn đề gì xảy ra

d)

Sinh dư thừa các testcase và nhưng độ phủ cao

4.
Dựa vào cơ chế nào mà Korat có thể loại bỏ các bộ test dư thừa đối với cấu trúc dữ liệu cây nhị phân
a)
Loại bỏ các cây có quan hệ đẳng tích với nhau
b)
Loại bỏ các cây có độ dài đường thăm các nhánh bằng nhau
c)
Loại bỏ các cây có gốc rỗng
d)
Loại bỏ các cây không có nhánh trái
5.
Hiện nay, Randoop KHÔNG được phát triển để sử dụng với ngôn ngữ nào?
a)
Swift
b)
Java
c)
Python
d)
C#
6.
Có bao nhiêu hình dạng chung cho Cây nhị phân có kích thước k có thể được tạo?
a)
(k+1)^(2k+1)
b)
k^(2k+1)
c)
(k+1)^2k
d)
(2k+1)^(k+1)
7.
Korat hiệu quả khi làm việc với kiểu dữ liệu nào?
a)
Binary-tree
b)
String
c)
Integer
d)
Floating-point number
8.
Korat sử dụng kỹ thuật gì để tạo ra các ca kiểm thử tự động?
a)
Symbolic execution.
b)
Randomization
c)
Mutation testing
d)
Model-based testing
9.
Loại cấu trúc dữ liệu nào là cấu trúc dữ liệu phổ biến được áp dụng tool Korat
a)
Cây nhị phân và danh sách
b)
Cây nhị phân
c)
Danh sách
d)
Hàng đợi
10.
Randoop tạo ra các ca kiểm thử bằng cách nào?
a)
Sử dụng các thuật toán để tạo ra các ca kiểm thử ngẫu nhiên.
b)
Phân tích mã nguồn rồi tạo ra các ca kiểm thử
c)
Sử dụng các thành phần đã được tạo trước đó để tạo ra các đối tượng mới
d)
Sử dụng các ca kiểm thử đã có để tạo ra các ca kiểm thử mới.
11.
Tìm câu phát biểu sai về Randoop.
a)
Tạo ra các dữ liệu kiểm thử một cách xác định.
b)
Randoop sử dụng các thông tin về kiểu dữ liệu để sinh dữ liệu kiểm thử.
c)
Randoop giúp tránh việc sinh ra các dữ liệu test dư thừa.
d)
Randoop phù hợp việc việc kiểm thử các hàm lần lượt.
12.
Ứng dụng nào sai khi nói về Korat?
a)
Tạo các trường hợp kiểm thử ngẫu nhiên
b)
Kiểm tra hợp lệ của các đầu vào
c)
Tìm kiếm lỗi
d)
Tối ưu hoá kiểm thử
13.
Việc sinh các testcase trong việc kiểm thử tự động, dựa vào các yếu tố nào sau đây?
a)
Dựa vào điều kiện đầu vào và đầu ra của hệ thống hoặc chức năng đó
b)
Dựa vào điều kiện đầu vào của hệ thống hoặc chức năng đó
c)
Dựa vào điều kiện đầu ra của hệ thống, hoặc chức năng đó
d)
Có thể sinh dữ liệu kiểm thử mà không cần bất cứ điều kiện nào
14.
Ý tưởng của Korat là gì?
a)
Tận dụng các điều kiện trước và sau điều kiện để tự động tạo các bài kiểm tra.
b)
Quá trình tạo ngẫu nhiên các trường hợp thử nghiệm mà không có sự can thiệp của con người
c)
Tạo ngẫu nhiên bài kiểm tra mới được hướng dẫn bởi phản hồi từ các bài kiểm tra đã tạo trước đó
d)
Tận dụng các điều kiện trước và sau điều kiện để tự động tạo các bài kiểm tra và tạo ngẫu nhiên bài kiểm tra mới được hướng dẫn bởi phản hồi từ các bài kiểm tra đã tạo trước đó
15.
Which of the following best describes automated test generation?
a)
The process of using software tools to automatically create test cases based on code analysis.
b)
The process of manually creating test cases to verify software functionality.
c)
The process of randomly generating test cases without human intervention.
d)
The process of performing manual testing without any assistance from software tools.
16.
Xét cây nhị phân bất kỳ được tạo ra bởi 3 đỉnh bất kỳ. Có tối đa bao nhiêu cây nhị phân hợp lệ sau khi chạy qua tiền điều kiện của Korat
a)
9
b)
12
c)
18
d)
16384
17.
Các ràng buộc sử dụng trong Constraint-Based Analysis bao gồm những ràng buộc nào?
a)
Tất cả các đáp án
b)
Ràng buộc chức năng
c)
Ràng buộc phi chứ năng
d)
Ràng buộc dữ liệu
18.
Có bao nhiều kiểu phân tích tĩnh trong Datalog ?
a)
2
b)
1
c)
4
d)
3
19.
Datalog sử dụng phân tích nào?
a)
Phân tích Intra-procedural và Inter-procedural
b)
Phân tích Intra-procedural
c)
Phân tích Inter-procedural
d)
Phân tích Outer-procedural
20.
Đâu là đáp án đúng về lợi ích của phân tích dựa trên các ràng buộc ?
a)
Tách đặc tả phân tích khỏi triển khai
b)
Phân tích dựa trên các ràng buộc sẽ không tận dụng được các bộ giải mạnh mẽ, sẵn có
c)
Người viết phân tích có thể tập trung vào chiều "How" hơn là chiều "What"
d)
Cả 3 đáp án đều đúng
21.
Phân tích chương trình xử lý công việc gì?
a)
Xử lý đặc tả và triển khai
b)
Xử lý đặc tả của phân tích (nghĩa là thông tin nào mà phân tích phải tính toán)
c)
Xử lý triển khai phân tích (nghĩa là các chi tiết về cách thức phân tích sẽ tính toán thông tin đó)
d)
Xử lý kiểm thử phân tích (nghĩa là các chi tiết về cách thức kiểm thử thông tin đó)
22.
Phân tích dựa trên ràng buộc là gì?
a)
Là phương pháp phân tích sử dụng ràng buộc để giải quyết vấn đề.
b)
Là phương pháp phân tích sử dụng sự phụ thuộc để giải quyết vấn đề.
c)
Là phương pháp phân tích sử dụng phân tích thống kê để giải quyết vấn đề.
d)
Là phương pháp sử dụng học máy để giải quyết vấn đề.
23.
Phương pháp heap abstraction nào sử dụng việc phân tách các đối tượng dựa trên site mà chúng được cấp phát?
a)
Flow-sensitive
b)
Context-sentitive
c)
Type-based
d)
Allocation-site based
24.
Chọn câu trả lời đúng ?
a)
Phân tích định nghĩa tiếp cận có thể theo luồng đi thẳng.
b)
Phân tích biến hoạt động phải phải theo luồng đi ngược.
c)
Phân thích biểu thức khả dụng có thể theo luồng đi ngược.
d)
Phân tích biểu thức "rất bận" phải theo luồng đi thẳng.
25.
Đặc trưng của Reaching Definitions là gì?
a)
Foward và May
b)
Forward và Must
c)
Backword và May
d)
Backward và Must
26.
Một sự kiện (fact) trong dataflow analysis được thể hiện dưới dạng nào?
a)
<x,2>
b)
[x,2]
c)
{x,2}
d)
(x,2)
27.
Phân tích dòng dữ liệu dựa trên biểu diễn trung gian nào
a)
Đồ thị dòng điều khiển
b)
Mã nguồn
c)
Bytecode
d)
Cây cú pháp trừu tượng
28.
Phân tích luồng dữ liệu thuộc kiểu phân tích nào sau đây
a)
Phân tích tĩnh
b)
Phân tích động
c)
Là sự kết hợp của phân tích tĩnh và phân tích động
d)
Không thuộc kiểu phân tích nào
29.
Phân tích nào có tiếp cận ngược và tính chất là có thể?
a)
Live Variables Analysis
b)
Very Busy Expressions Analysis
c)
Reaching Definitions Analysis
d)
Available Expressions Analysis
30.
Phân tích nào có tiếp cận xuôi và tính chất là có thể?
a)
Reaching Definitions Analysis
b)
Very Busy Expressions Analysis
c)
Available Expressions Analysis
d)
Live Variables Analysis
31.
Phương pháp data-flow analysis đảm bảo các yếu tố nào
a)
Soundness và Termination
b)
Soundness và Completeness
c)
Termination và Completeness
d)
Soundness và Completeness
32.
Phương pháp phân tích luồng dữ liệu nào được sử dụng để tối ưu hóa chương trình bằng cách loại bỏ các biểu thức không cần thiết?
a)
Available Expressions Analysis
b)
Very Busy Expressions Analysis
c)
Reaching Definitions Analysis
d)
Live Variables Analysis
33.
Phương pháp phân tích luồng dữ liệu nào được sử dụng để xác định các định nghĩa của biến tại mỗi điểm trong chương trình?
a)
Reaching Definitions Analysis
b)
Very Busy Expressions Analysis
c)
Available Expressions Analysis
d)
Live Variables Analysis
34.
Tính hỗn loạn của thuật toán lặp hỗn loạn được thể hiện ở điểm nào
a)
Thứ tự các nút trong đồ thị dòng điều khiển không quan trọng
b)
Thuật toán chạy liên tục
c)
Thuật toán không thể dừng
d)
Không thể lập trình được thuật toán
35.
Trong Dataflow Analysis, điểm đến của một giá trị dữ liệu là gì?
a)
Các đoạn mã mà giá trị được sử dụng
b)
Các đoạn mã mà giá trị được tạo
c)
Các đoạn mã mà giá trị được truyền bằng tham số
d)
Các đoạn mã mà được lưu trữ
36.
Trong phân tích dòng dữ liệu, một đồ thị luồng điều khiển (CFG) biểu diễn gì?
a)
Các câu lệnh và thứ tự thực hiện của chúng trong chương trình
b)
Các biến và giá trị của chúng trong chương trình
c)
Các lớp và phương thức của chúng trong chương trình
d)
Các hàm và tham số của chúng trong chương trình
37.
Trong phân tích luồng dữ liệu, loại phân tích nào có đầu vào của một điểm là tập hợp AND đầu ra của điểm trước đó
a)
Available expression
b)
reaching definition
c)
Very Busy Expressions Analysis
d)
Live Variables Analysis
38.
Trong phân tích luồng dữ liệu, loại phân tích nào có đầu vào của một điểm là tập hợp OR đầu ra của điểm trước đó
a)
reaching definition
b)
Very Busy Expressions Analysis
c)
Available Expressions Analysis
d)
Live Variables Analysis
39.
Trong Very busy expression analysis, biểu thức nào là biểu thức bận rộn (very busy expression)?
a)
Các biểu thức có giá trị số đông bận rộn là cao nhất
b)
Các biểu thức được tính toán nhiều nhất
c)
Các biểu thức được sử dụng nhiều nhất
d)
Các hàm được gọi nhiều nhất
40.
Ứng dụng của phân tích biểu thức khả dụng?
a)
Tránh tính toán lại các biểu thức nhiều lần.
b)
Giảm kích thước mã nguồn.
c)
Phân bổ các bộ nhớ hiệu quả
d)
Tìm các biến chưa được khởi tạo.
41.
What does Non-deterministic behavior choice mean in analysis?
a)
The condition may evaluate to either true or false
b)
The condition always evaluates to false
c)
The condition will never be evaluated
d)
The condition always evaluates to true
42.
Đâu là phát biểu đúng trong các câu dưới đây?
a)
Delta debugging sử dụng thuật toán binary search để giảm thiểu đầu vào
b)
Delta debugging sử dụng thuật toán chia để trị nhằm giảm thiểu đầu vào
c)
Delta debugging sử dụng khi muốn tăng dữ liệu đầu vào để quá trình lỗi trở lên dễ dàng
d)
Delta debugging sử dụng thuật toán chia đôi ngẫu nhiên nhằm giảm thiểu đầu vào
43.
Để áp dụng delta debugging, chúng ta cần
a)
Một bộ kiểm thử
b)
Một số lỗi trong chương trình
c)
Một bộ công cụ giả lập
d)
Một bộ dữ liệu đầu vào
44.
Để tìm được global minimun - tập các change (thay đổi) nhỏ nhất gây lỗi chương trình trong tập các change C_f có kích thước là n cần phải thực hiện bao nhiêu testcase trong trường hợp xấu nhất ?
a)
2^n
b)
log(n)
c)
2*n
d)
n
45.
Delta debugging áp dụng được cho những chương trình nào
a)
Áp dụng được cho hầu hết các chương trình
b)
Chỉ áp dụng được cho chương trình viết bằng ngôn ngữ C
c)
Chỉ áp dụng được cho chương trình viết bằng ngôn ngữ Python
d)
Không áp dụng được cho chương trình có quá nhiều lỗi.
46.
Delta debugging giúp giảm thiểu kích thước của chương trình như thế nào
a)
Bằng cách loại bỏ các phần của chương trình không ảnh hưởng đến kết quả.
b)
Bằng cách thêm các phần vào chương trình để tăng tính đa dạng.
c)
Bằng cách tìm kiếm lỗi trong chương trình và sửa chúng.
d)
Bằng cách tăng cường tính bảo mật của chương trình.
47.
Delta Debugging hoạt động bằng cách loại bỏ những gì trong đầu vào kiểm thử?
a)
Các trường hợp kiểm thử không cần thiêt
b)
Các lỗi phần mềm
c)
Các yêu cầu chức năng
d)
Các dòng lệnh dư thừa
48.
Kết qủa của Delta Debugging là gì?
a)
Một đầu vào kiểm thử được giảm thiểu
b)
Một cải thiện của chương trình
c)
Một bộ kiểm thử mới
d)
Một danh sách lỗi
49.
Lợi ích chính của Delta Debugging là gì ?
a)
Giảm kích thước của ca kiểm thử.
b)
Cải hiện hiệu năng của phần mềm.
c)
Giảm độ phức tạp của phần mềm.
d)
Sinh thêm ca kiểm thử mới từ mã nguồn.
50.
Mục đích chính của phương pháp Delta debugging là gì
a)
Giúp loại bỏ các thông tin không cần thiết, để tạo ra bản nhỏ hơn giúp quá trình tái tạo lỗi trở lên dễ dàng
b)
Giúp tăng thêm các các thông tin không cần thiết, để tạo ra bản lớn hơn giúp quá trình tái tạo lỗi trở lên dễ dàng, chi tiết
c)
Giúp sắp xếp lại các thông tin thu được, nhắm tái tạo lỗi dễ dàng
d)
Thống kế lại các thông tin thu được, giảm thiểu quá trình phát hiện lỗi
51.
Vai trò của tìm kiếm nhị phân trong Delta Debugging là gì?
a)
Tìm kiếm lỗi trong một chương trình bằng cách chia một phần của nó thành hai phần và kiểm tra lỗi trong mỗi phần
b)
Tạo ra các trường hợp kiểm thử ngẫu nhiên cho một chương trình
c)
Tối ưu hiệu suất mã nguồn bằng cách giảm kích thước của nó
d)
Đo độ phức tạp của một thuật toán.
52.
Câu nào phát biểu đúng về delta debugging?
a)
Tìm test case tối thiểu 1 lần thay vì test case tối thiểu cục bộ vì lý do hiệu suất
b)
Kỹ thuật này hoàn toàn tự động
c)
Tìm tập con bị lỗi nhỏ nhất của đầu vào bị lỗi trong thời gian đa thức
d)
Hiệu quả trong việc giảm các đầu vào bị lỗi không xác định
53.
Thuật toán delta-debugging kết hợp những ưu điểm của 2 tiếp cận "Thay đổi ít và lớn" và Thay đổi nhiều và nhỏ"?
a)
Chia đầu vào thành các khối lớn hơn và kiểm tra tất cả các tập con của các thay đổi này để tìm lỗi; sau đó, tăng độ chi tiết của các thay đổi, kiểm tra các tập con được hình thành từ các khối nhỏ hơn để tìm lỗi.
b)
Chia đầu vào thành các khối nhỏ hơn và kiểm tra tất cả các tập con của các thay đổi này để tìm lỗi; sau đó, tăng độ chi tiết của các thay đổi, kiểm tra các tập con được hình thành từ các khối nhỏ hơn để tìm lỗi
c)
Chia đầu vào thành các khối lớn hơn và kiểm tra tất cả các tập con của các thay đổi này để tìm lỗi; sau đó, giảm độ chi tiết của các thay đổi, kiểm tra các tập con được hình thành từ các khối nhỏ hơn để tìm lỗi
d)
Chia đầu vào thành các khối nhỏ hơn và kiểm tra tất cả các tập con của các thay đổi này để tìm lỗi; sau đó, giảm độ chi tiết của các thay đổi, kiểm tra các tập con được hình thành từ các khối nhỏ hơn để tìm lỗi
54.
Dynamic Symbolic Execution là gì
a)
Một kỹ thuật để tạo ra các input kiểm thử tự động cho chương trình.
b)
Một kỹ thuật để tạo ra các input cho chương trình
c)
Một kỹ thuật để giảm thiểu số lỗi trong chương trình
d)
Một kỹ thuật để giảm thiểu số lần thực thi của chương trình
55.
Khi áp dụng Dynamic Symbolic Execution, chương trình được thực thi như thế nào?
a)
Chỉ thực thi một số đường đi có thể có của chương trình.
b)
Thực thi tất cả các đường đi có thể có của chương trình
c)
Chỉ thực thi một số đoạn code quan trọng trong chương trình
d)
Thực thi tất cả các đoạn code của chương trình
56.
Cách tiếp cận của Dynamic Symbolic Execution là gì? Hãy sắp xếp theo thứ tự đúng cho các bước sau: B1: theo dõi trạng thái chương trình một cách cụ thể và tượng trưng B2: giải quyết các ràng buộc để hướng dẫn việc thực hiện chương trình tại các điểm rẽ nhánh B3: khám phá một cách có hệ thống tất cả các đường dẫn thực thi của đơn vị đang được thử nghiệm.
a)
B1 -> B2 -> B3
b)
B3 -> B2 -> B1
c)
B1 -> B3 -> B2
d)
B2 -> B3 -> B1
57.
Dynamic Symbolic Execution là phân tích gì?
a)
hybrid analysis
b)
dynamic analysis
c)
static analysis
d)
automation analysis
58.
Các trình soạn thảo có hỗ trợ phân tích chương trình hay không?
a)
Tuỳ thuộc vào mục đích
b)
Luôn có
c)
Không bao giờ
d)
Ngoại trừ Notepad
59.
Công cụ nào sau đây không để phân tích chương trình?
a)
Copilot
b)
Javaparser
c)
JDT
d)
CDT
60.
Đâu không phải là sự kiện về lỗ hổng bảo mật ?
a)
CanSecWest
b)
Moonlight Maze
c)
Code Red
d)
Stuxnet
61.
Đâu không phải là ứng dụng của phân tích chương trình?
a)
Trình thông dịch
b)
Trình biên dịch
c)
Công cụ đảm bảo chất lượng
d)
IDE
62.
Đâu sẽ là đối tượng cần phải phân tích chương trình
a)
Một nhà phát triển phần mềm sử dụng các công cụ phân tích để phát hiện lỗi trong mã nguồn
b)
Một nhân viên phân tích nghiệp vụ cần phải phân tích về dự án
c)
Một nhà kiểm thử cần kiểm thử chương trình
d)
Bộ phận thiết kế giao diện đang phải xây dựng thiết kế cho dự án
63.
Dynamic Symbolic Execution có nhược điểm gì?
a)
Không thể đảm bảo phát hiện được tất cả các lỗi của chương trình.
b)
Chi phí thực thi chương trình rất lớn
c)
Không thể đảm bảo phát hiện được một số lỗi phức tạp của chương trình
d)
Chỉ áp dụng được cho chương trình có kích thước nhỏ
64.
How many type of program analysis techniques?
a)
3 (Static, dynamic, hybrid)
b)
1
c)
2
d)
4
65.
Lỗi dò bộ nhớ (memory leak) có thể được phát hiện thông qua phương pháp phân tích phân mềm nào?
a)
Cả phân tích động và phân tích tĩnh
b)
Phân tích động
c)
Phân tích tĩnh
d)
Không thể phát hiện với bất kỳ phương pháp phân tích nào
66.
Mục tiêu chính của phân tích phần mềm là gì?
a)
Tìm và sửa lỗi phần mềm
b)
Cải thiện hiệu suất phần mềm
c)
Hiểu cấu trúc và hành vi của phần mềm
d)
Sửa lỗi phần mềm
67.
Nhược điểm của Static Analysis là gì
a)
Nó không phát hiện được các lỗi được tạo ra bởi dữ liệu đầu vào và các hoạt động khi chương trình đang chạy
b)
Nó phát hiện được các lỗi trong mã nguồn trước khi chương trình chạy
c)
Nó làm giảm thời gian và chi phí kiểm thử
d)
Nó phân tích cú pháp và câu trúc chương trình
68.
Phương pháp phân tích động có thể phát hiện được gì
a)
Những biến có thể là "invariant"
b)
Tất cả các biến "invariant"
c)
Tất cả các lỗi trong chương trình
d)
Tất cả các đáp án đều sai
69.
What are the features of Static Analysis?
a)
Incompleteness
b)
Completeness
c)
Proportional to program's run-time
d)
Unsoundness
70.
What issue should be tested by static analysis?
a)
Memory leak
b)
Response times
c)
Throughput
d)
Resource utilization
71.
When does data race detection happen?
a)
when two or more threads access the same shared variable, and one of this modifying the variable.
b)
When threads access and modifying variable.
c)
when two or more threads access the difference variable, and one of this modifying the variable.
d)
It will not occure in the program.
72.
Which common tool can detect data races in concurrent programs?
a)
Eraser
b)
Valgrind
c)
Daikon
d)
Microsoft SLAM
73.
Đâu không phải là lợi ích của việc phân tích chương trình cho IDE
a)
Tạo mã hiệu quả và Tạo trường hợp kiểm tra
b)
Tạo mã hiệu quả
c)
Tạo trường hợp kiểm tra
d)
Cấu trúc lại mã
74.
Mục đích dự kiến của việc phân tích chương trình là gì?
a)
Soundness and Completeness
b)
Soundness
c)
Completeness
d)
Availability
75.
Which of the following best describes dynamic analysis?
a)
Analyzing program behavior by executing the program with specific inputs
b)
Analyzing program behavior at compile time
c)
Analyzing program behavior without executing the program
d)
Analyzing program behavior by examining the source code
76.
Chọn câu trả lời sai?
a)
Đặc tả không thể bị thay đổi trong quá trình phát triển phần mềm
b)
Quá trình thực thi và kiểm thử phải độc lập
c)
Đặc tả phải rõ ràng
d)
Tài nguyên của các dự án là có hạn
77.
Công cụ nào sau đây là công cụ kiểm thử hộp đen?
a)
Restler
b)
JDT
c)
Dolphin
d)
Ngrok
78.
Đâu là câu trả lời đúng nhất trong các câu dưới đây ?
a)
Thực hiện testing để xác định xem sản phẩm phần mềm đã đúng như tài liệu đặc tả hay chưa
b)
Có thể thực hiện testing mà không cần tài liệu đặc tả(specification document)
c)
Việc thực hiện testing nhằm để xác định sản phẩm đã đúng với yêu cầu của người phát triển(developer) hay chưa
d)
Không có câu trả lời nào đúng
79.
Đâu là hướng tiếp cận kiểm thử
a)
Tất cả các phương án
b)
Hộp đen
c)
Hộp xám
d)
Hộp trắng
80.
Đâu là lợi thế của Kiểm thử tự động so với kiểm thử thủ công ?
a)
Cả ý 1 và ý 3 là đúng
b)
Có thể tìm bug nhanh hơn
c)
Độ bao phủ tốt hơn
d)
Không cần viết lại bộ test khi phần mềm thay đổi
81.
Độ phủ hàm dùng để
a)
đo lường số hàm được gọi trong tổng số hàm trong chương trình
b)
đo lường số hàm trong chương trình
c)
đo lường số lần một hàm được gọi
d)
Không tồn tại độ phủ hàm
82.
Khó khăn của kiểm thử tự động là gì
a)
Tất cả đều đúng
b)
Có thể không áp dụng được cho toàn bộ hệ thống
c)
Khó có thể thực hiện
d)
Phải có tài liệu đặc tả chính xác, đầy đủ
83.
Kiểm thử là quá trình kiểm tra chất lượng của phần mềm bằng cách tìm ra các lỗi hoặc sai sót trong mã nguồn hoặc thiết kế. Kiểm thử có thể được phân loại thành các loại nào sau đây?
a)
Tất cả đáp án trên
b)
Kiểm thử chức năng và kiểm thử phi chức năng
c)
Kiểm thử trắng hộp và kiểm thử đen hộp
d)
Kiểm thử tĩnh và kiểm thử động
84.
Kiểm thử phần mềm bắt buộc phải có con người trong quá trình chạy các ca kiểm thử?
a)
Không
b)
Trừ những phần mềm nhỏ
c)
Chỉ khi thiếu nhân lực
d)
Luôn luôn cần sự can thiệp của con người
85.
Lợi ích của việc độc lập kiểm thử (testing) và triển khai (coding) trong quá trình phát triển phần mềm là gì ?
a)
Làm tăng khả năng bắt lỗi trong trương trình
b)
Đảm bảo đặc tả chương trình là chính xác
c)
Giảm thời gian để kiểm thử phần mềm
d)
Không cần viết đặc tả chương trình
86.
Những lợi ích của việc tự động hóa kiểm thử phần mềm là gì?
a)
Không cần bảo trì các bộ kiểm thử khi phần mềm thay đổi.
b)
cần phải viết các bộ kiểm thử
c)
Khó tìm kiếm các lỗi phần mềm
d)
cần bảo trì các bộ kiểm thử khi phần mềm thay đổi
87.
Phân tích chương trình là sự kết hợp của những hướng tiếp cận nào ?
a)
Kiểm thử tự động và hộp trắng
b)
Kiểm thử tự động và hộp đen
c)
Kiểm thử thủ công và hộp trắng
d)
Kiểm thử thủ công và hộp đen
88.
Thử nghiệm được thực hiện bằng cách xem qua mã nguồn được gọi là, ....
a)
White box testing
b)
Regression testing
c)
Black box testing
d)
Grey box testing
89.
Loại phương pháp thử nghiệm này cố gắng tìm các chức năng không chính xác hoặc bị thiếu, lỗi về cấu trúc dữ liệu hoặc truy cập cơ sở dữ liệu bên ngoài, lỗi giao diện. Nó được gọi là
a)
Black box testing
b)
White box testing
c)
Automation testing
d)
Grey box testing
90.
Ưu điểm của phương pháp kiểm thử Black-box là gì?
a)
Có thể làm việc với mã nguồn không thể sửa đổi.
b)
Cần phân tích hoặc nghiên cứu mã nguồn
c)
Mã nguồn có thể được định dạng sao cho hợp lý
d)
Không thể làm việc với mã nguồn không thể sửa đổi
91.
Vấn đề mà Kiểm thử tự động gặp phải là gì?
a)
Cả 3 phương án
b)
Khó thực hiện, triển khai kiểm thử tự động
c)
Dường như không thể thực hiện toàn bộ hệ thống
d)
Không thể thực hiện nếu không có những thông số rõ ràng
92.
What is not a black-box testing characteristic?
a)
Potentially better coverage than white - box testing
b)
Can work with code that can not be modified
c)
Does not need to study code
d)
Code can be any format
93.
Which of the following best describes mutation testing?
a)
A type of manual testing that involves randomly changing the code to see if it still works
b)
A technique that measures the ability of a program to handle unexpected input.
c)
A testing method that checks if the software behaves correctly when small changes are made to the code.
d)
An approach that evaluates the quality of software by measuring the number of lines of code.
94.
Which of the following is an advantage of automated testing over manual testing?
a)
It requires less initial setup and preparation
b)
It can test the entire system at once
c)
It can easily adapt to changing requirements
d)
It can identify visual and usability issues
95.
Ý nào sau đây là sai về Key Observations(quan sát quan trọng) trong kiểm thử phần mềm?
a)
Dư thừa tính năng trong phần mềm
b)
Lỗi phần mềm
c)
Thiếu sót chức năng
d)
Độ tin cậy của phần mềm
96.
Các tiêu chí để phân loại các thuật toán phân tích con trỏ là gì
a)
Tất cả các phương án trên
b)
Độ nhạy cảm về luồng (Flow-sensitive)
c)
Độ nhảy cảm về ngữ cảnh (Context-sensitive)
d)
Lược độ trừu tượng heap (Heap abstraction scheme)
97.
Đặc điểm của thuật toán phân tích con trỏ flow-sensitive là gì?
a)
Cập nhật yếu (weak updates)
b)
Được xem là must-analysis
c)
Có khả năng loại bỏ các sự kiện
d)
Cập nhật mạnh (strong updates)
98.
Đâu không phải là một luật trong phân tích con trỏ
a)
Luật giải phóng con trỏ
b)
Luật cấp phát đối tượng
c)
Luật sao chép đối tượng
d)
Luật ghi trường
99.
Đâu là câu trả lời chính xác về Pointer Aliasing ?
a)
là khái niệm đơn giản chỉ ra rằng hai hoặc nhiều con trỏ có thể trỏ tới cùng một vùng nhớ hay không
b)
là khái niệm đơn giản chỉ ra rằng chỉ có hai con trỏ có thể trỏ tới cùng một vùng nhớ hay không
c)
là khái niệm đơn giản chỉ ra rằng chỉ có duy nhất một con trỏ trỏ tới cùng một vùng nhớ
d)
Pointer Aliasing là một cách để phân tích luồng dữ liệu
100.
Mục đích chính của phân tích con trỏ trong kiểm thử là gì ?
a)
Để xác định các tham chiếu con trỏ có thể null.
b)
Để xác định rò rỉ bộ nhớ.
c)
Để xác định khả năng tràn bộ đệm.
d)
Để xác định khả năng tràn số nguyên.
101.
Phân tích nào sau đây không phải là một loại phân tích con trỏ phổ biến trong kiểm thử?
a)
Phân tích con trỏ theo ngữ cảnh.
b)
Phân tích đối tương được trỏ.
c)
Phân tích con trỏ nhạy cảm với dòng dữ liệu.
d)
Kiểm thử đột biến.
102.
Pointer Analysis thực hiện phân tích tĩnh hay động?
a)
Có thể cả tĩnh và động
b)
Chỉ tĩnh
c)
Chỉ động
d)
Không tĩnh và không động
103.
Sắp xếp các lược đồ trừu tượng hóa heap theo thứ tự tăng dần độ chính xác 1. Lược đồ dựa trên vị trí cấp phát 2. Lược đồ dựa trên kiểu 3. Lược đồ không nhạy cảm với heap
a)
3->2->1
b)
1->2->3
c)
1->3->2
d)
2->3->1
104.
Tại sao việc phân tích luồng dữ liệu có mặt con trỏ lại trở lên khó khăn ?
a)
Vì biến con trỏ liên quan đến truy cập vào bộ nhớ, gây khó khăn khi phân tích
b)
Vì các biến con trỏ có liên quan trực tiếp đến tốc độ xử lý của chương trình
c)
Vì kiến thức về con trỏ là một kiến thức khó
d)
Phân tích con trỏ dễ gây nhầm lẫn cho những người không có kiến thức vững và chuyên sâu
105.
Theo phân tích con trỏ, đâu không phải là một việc cần làm để chuyển đổi chương trình thành luồng phi nhạy cảm
a)
Đổi tên biến
b)
Loại bỏ các vòng lặp for
c)
Bỏ các dấu chấm phẩy phân biệt tuần tự chạy câu lệnh
d)
Loại bỏ các câu lệnh không liên quan đến con trỏ
106.
Trong Pointer Analysic, để xác định con trỏ tới vùng nhớ nào thì chúng ta cần thực hiện như thế nào?
a)
Sử dụng phép toán địa chỉ (&) để lấy địa chỉ biến
b)
Sử dụng phép toán tham chiếu (*) để lấy giá trị biến
c)
Sử dụng phép toán cộng (+) để tính toán địa chỉ
d)
Sử dụng phép toán trừ (-) để tính toán địa chỉ
107.
Pointer Analysis tương đương với phân tích nào?
a)
May-Alias Analysis
b)
Must-Alias Analysis
c)
Random-Alias Analysis
d)
Automatic-Alias Analysis
108.
Câu nào đúng về đặc điểm của Pointer Analysis?
a)
phân biệt các trường đối tượng được đặt tên khác nhau và sử dụng allocation site-based heap abstraction
b)
flow-sensitive và context-sensitive
c)
sử dụng allocation site-based heap abstraction và flow-sensitive
d)
context-sensitive và phân biệt các trường đối tượng được đặt tên khác nhau
109.
Các kỹ thuật kiểm thử chương trình đồng thời(Testing concurrent programs) bao gồm những gì?
a)
Kiểm thử chia sẻ tài nguyên, kiểm thử xung đột và kiểm thử tích hợp
b)
Kiểm thử ngẫu nhiên và kiểm thử xung đột
c)
Kiểm thử tích hợp và kiểm thử rời rạc
d)
Kiểm thử theo phân tích chương trình và kiểm thử kết hợp
110.
Công cụ AFLsmart là một công cụ kiểm thử mờ loại nào?
a)
Kiểm thử mờ hộp xám
b)
Kiểm thử mờ hộp đen
c)
Kiểm thử mờ hộp trắng
d)
Không phải công cụ kiểm thử mờ
111.
Cuzz tool được phát triển bởi công ty nào, mục đích của nó dùng để làm gì ?
a)
Được phát triển bới microsoft,mục đích để tìm lỗ hổng bảo mật trong các phần mềm
b)
Được phát triển bới google, mục đích để tìm lỗ hổng bảo mật trong các phần mềm
c)
Được phát triển bới google, mục đích để kiểm thử các hệ thống nhúng của họ
d)
Được phát triển bới microsoft, mục đích để phát hiện những lỗi khó phát hiện trong phần mềm
112.
Đâu không phải ưu điểm của kiểm thử ngẫu nhiên
a)
Độ phủ cao
b)
Dễ dàng thực thi
c)
Có thể kiểm thử nhiều dạng chương trình khác nhau
d)
Giúp tìm lỗi liên quan đến an ninh
113.
Đâu là hành động trong công cụ kiểm thử Monkey dành cho ứng dụng di động
a)
Tất cả các phương án trên
b)
DOWN
c)
UP
d)
MOVE
114.
Độ sâu của lỗi trong các chương trình đồng thời là gì?
a)
Số lượng ràng buộc về thứ tự mà các luồng phải đáp ứng để lỗi được kích hoạt
b)
Số lần lỗi đó xuất hiện
c)
Số lượng luồng bị ảnh hưởng khi một lỗi xảy ra
d)
Số lượng lỗi xảy ra ở một luồng
115.
Google’s Monkey tool được sử dụng cho mục đích nào sau đây ?
a)
Đó là công cụ để kiểm thử ưng dụng di động androind
b)
Đó là công cụ để kiểm thử các ứng dụng web của google
c)
Đó là công cụ để kiểm thử các hệ thống mà google phát triển
d)
Đó là công cụ để tìm kiếm các lỗi liên quan đến bảo mật
116.
Lợi ích của việc kiểm thử ngẫu nhiên là gì?
a)
Kiểm thử ngẫu nhiên tăng độ tin cậy và chất lượng phần mềm và tự động hóa việc tìm lỗi.
b)
Kiểm thử ngẫu nhiên tăng độ tin cậy và chất lượng phần mềm
c)
Kiểm thử ngẫu nhiên có thể tự động hóa việc tìm lỗi
d)
Kiểm thử ngẫu nhiên giảm độ tin cậy và chất lượng phần mềm và không tự động hóa việc tìm lỗi
117.
Mệnh đề nào đúng với kiểm thử ngẫu nhiên
a)
Kiểm thử bằng cách cấp những đầu vào ngẫu nhiên để kiểm tra lỗi
b)
Kiểm tra các dòng lệnh ngẫu nhiên
c)
Kiểm tra các hàm điều kiện
d)
Kiểm tra các vòng lặp ngẫu nhiên
118.
Mục tiêu của random testing là gì ?
a)
Tạo ra các đầu vào khiến chương trình xảy ra lỗi
b)
Tạo ra một đột biến của chương trình để đánh giá bộ test
c)
Không có đáp án nào đúng
d)
Tìm ra tất cả các lỗi ngẫu nhiên trong chương trình
119.
Phương pháp random testing đặc biệt hiệu quả để tìm ra vấn đề gì của các phần mềm?
a)
Các lỗ hổng của chương trình
b)
Lỗi cú pháp của chương trình
c)
Lỗi dò bộ nhớ của chương trình
d)
Lỗi tiếp nhận input của chương trình
120.
Random testing thường được ứng dụng trong loại kiểm thử nào nhất?
a)
Kiểm thử hộp đen
b)
Kiểm thử hộp trắng
c)
Kiểm thử giao diện
d)
Kiểm thử hồi quy
121.
Vì sao kiểm thử ngẫu nhiên có thể hiệu quả hơn các phương pháp khác
a)
Kiểm thử ngẫu nhiên có thể tìm được các lỗi mà phương pháp khác không tìm thấy.
b)
Kiểm thử ngẫu nhiên có thể tạo ra các bộ kiểm thử phức tạp hơn
c)
Kiểm thử ngẫu nhiên không có gì hiệu quả hơn các phương pháp khác
d)
Kiểm thử ngẫu nhiên không thể tìm được các lỗi mà phương pháp khác không tìm thấy
122.
Với kiểm thử ngẫu nhiên (Random Testing), phương pháp nào sai khi nói về việc tạo ra các ca kiểm thử?
a)
Sinh ngẫu nhiên theo cấu trúc và hành vi chương trình
b)
Khai thác tình huống ngẫu nhiên
c)
Định lượng ngẫu nhiên
d)
Phát sinh ngẫu nhiên dữ liệu đầu vào
123.
Độ sâu của một lỗi đồng thời là gì?
a)
là số lượng thứ tự ràng buộc mà lịch trình luồng phải đáp ứng để lỗi được kích hoạt
b)
là một chuỗi các sự kiện
c)
là lỗi, thiếu sót hoặc lỗi trong thiết kế, phát triển hoặc vận hành phần mềm máy tính khiến phần mềm tạo ra kết quả không chính xác hoặc không mong muốn hoặc hoạt động theo những cách không mong muốn.
d)
là phép ẩn dụ cho một thiết bị tạo ra chuỗi khóa ngẫu nhiên vô tận
124.
Hành động nào mô phỏng việc rút ngón tay ra khỏi màn hình khi sử dụng công cụ Monkey?
a)
UP
b)
SCALE
c)
DOWN
d)
MOVE
125.
Which of the following statements is true about random testing?
a)
Random testing relies solely on generating inputs randomly without any specific goal or objective in mind
b)
Random testing is a highly effective technique for detecting all types of software defects
c)
Random testing generates inputs based on the structure and behavior of the software being tested.
d)
Random testing guarantees that all parts of the code will be exercised during testing
126.
Đặc điểm nào không phải là tính chất bắt buộc khi lấy dự đoán mẫu trong statistical debugging
a)
Lấy những dự đoán phức tạp
b)
Lấy ngẫu nhiên
c)
Lấy không phụ thuộc
d)
Lấy động
127.
Đâu không phải là một trong những hình thức sắp xếp mức độ quan trọng của các dự đoán trong Statistical debugging
a)
Số lượng dự đoán được sinh ra
b)
Chỉ số Increase(p)
c)
Chỉ số F(p)
d)
Chỉ số Harmonic Mean
128.
Điểm số nào được sắp xếp ngoài cùng bên trái trong Bug Thermometer theo statistical debugging
a)
Context(p)
b)
Increase(p)
c)
F(p)
d)
S(p)
129.
Gỡ lỗi thống kê (Statistical debugging) dùng kỹ thuật gì để tìm kiếm lỗi?
a)
Khai phá dữ liệu và xác suất
b)
Kiểm thử tự động và đánh giá rủi ro
c)
Kiểm thử đơn vị và tích hợp
d)
Tối ưu hoá thuật toán và cấu trúc dữ liệu
130.
Gỡ lỗi thống kê có thể sử dụng để phát hiện lỗi nào?
a)
Lỗi thời gian thực thi và lỗi logic
b)
Lỗi cú pháp
c)
Lỗi thời gian thực thi
d)
Lỗi logic
131.
Tìm thứ tự đúng của thuật toán tìm Bug trong statistical debugging 1. Sắp xếp các dự đoán 2. Tính toán điểm số Increase(p), F(p) cho các dự đoán 3. Loại bỏ dự đoán P và toàn bộ các câu lệnh liên quan đến dự đoán P tương ứng 4. Thêm dự đoán P có chỉ số được sắp xếp cao nhất vào danh sách cần kiểm tra
a)
2>1>4>3
b)
1>3>2>4
c)
4>2>1>3
d)
2>3>4>1
132.
Trong statistical debugging ký hiệu "-" thể hiện cho vector trạng thái nào của một dự đoán
a)
Không bao giờ xảy ra
b)
xảy ra ít nhất 1 lần true, 1 lần false
c)
xảy ra ít nhất 1 lần failse, không có true
d)
xảy ra ít nhất 1 lần true, không có false
133.
Lợi ích của Statistical Debugging là gì?
a)
Tiết kiệm tài nguyên cho việc kiểm thử phần mềm nội bộ, mà cả số lần chạy thực tế
b)
Khai thác tình huống ngẫu nhiên
c)
Phân biệt các trường đối tượng được đặt tên khác nhau và sử dụng allocation site-based heap abstraction
d)
Loại bỏ các câu lệnh không liên quan đến con trỏ
134.
Chiến lược sử dụng trong Statistical Debugging là gì? Hãy sắp xếp lại các bước sau: B1: Đoán những hành vi “tiềm năng thú vị” - giúp xác định được lỗi B2: Thu thập các quan sát về các hành vi B3: phân tích dữ liệu đã thu thập để tìm ra sự khác biệt giữa hành vi của các lần chạy thành công so với các lần chạy không thành công.
a)
B1 -> B2 -> B3
b)
B3 -> B2 -> B1
c)
B1 -> B3 -> B2
d)
B2 -> B3 -> B1
135.
Có thể chứng minh được kết quả của phép tính cộng 2 số nguyên là một giá trị kiểu nguyên hay không?
a)
Có thể
b)
Không thể
c)
Tuỳ thuộc vào ngôn ngữ lập trình
d)
Cần thêm các dữ kiện khác
136.
Đáp án sai về lợi ích của việc sử dụng hệ thống kiểu trong lập trình?
a)
Cải thiện hiểu suất
b)
Tăng tính tin cậy của chương trình
c)
Dễ dàng sửa lỗi
d)
Tăng tính đọc hiểu của mã
137.
Hệ thống kiểu (Type Systems) phân loại biến và biểu thức trong trương trình dựa trên yếu tố nào của chúng?
a)
Kiểu dữ liệu
b)
Giá trị
c)
Phân bổ bộ nhớ
d)
Tham số của chúng
138.
Khi nào việc kiểm tra kiểu dữ liệu được thực hiện trong chương trình?
a)
Trong quá trình biên dịch
b)
Khi chương trình chạy
c)
Khi chương trình được xây dựng
d)
Khi chương trình được lưu trữ
139.
Kiểm thử kiểu dữ liệu có thể giúp phát hiện các lỗi như?
a)
Tất cả đáp án trên
b)
Tràn số
c)
Ép kiểu
d)
Không khớp kiểu
140.
Trong C, để khai báo một kiểu dữ liệu do người dùng định nghĩa bằng cấu trúc (struct), ta cần sử dụng từ khóa nào?
a)
typedef
b)
new
c)
enum
d)
union
141.
Trong hệ thống kiểu (Type systems), môi trường kiểu (environment) là gì ?
a)
Là một hàm ánh xạ các biến đến kiểu của chúng
b)
Một phần của quy tắc kiểu, được sử dụng để giúp cho biến được gán kiểu phù hợp
c)
Một bộ phận của trình biên dịch, được sử dụng để theo dõi các biến trong các chương trình
d)
Một danh sách các biến có kiểu trong một biểu thức
142.
Trong java, để ép kiểu (cast) một biến từ kiểu dữ liệu cha (superclass) sang kiểu dữ liệu con (subclass), ta cần sử dụng cú pháp nào?
a)
(subclass) variable
b)
variable (subclass)
c)
subclass.variable
d)
variable.subclass
143.
Trong Java, để kiểm tra xem một biến có thuộc một kiểu dữ liệu cụ thể hay không, ta có thể sử dụng toán tử nào?
a)
instanceof
b)
equal
c)
is
d)
as
144.
Trong Java, để tạo một đối tượng (object) thuộc kiểu do người dùng định nghĩa bằng class, ta cần sử dụng từ khóa nào?
a)
new
b)
this
c)
super
d)
class
145.
Trong Java, kiểu dữ liệu nguyên thủy (primitive) nào có kích thước lớn nhất?
a)
long
b)
int
c)
byte
d)
short
146.
Trong Java, kiểu dữ liệu nguyên thủy (primitive) nào có thể lưu trữ giá trị số thực (floating-point)?
a)
float
b)
long
c)
int
d)
char
147.
Trong phân tích tĩnh, tại sao các trừu tượng (abstractions) được sử dụng và giúp ích gì trong việc cải thiện hiệu suất phân tích?
a)
Các trừu tượng giúp phân tích tĩnh có thể xử lý các kiểu dữ liệu đại diện cho tập hợp giá trị lớn
b)
Các trừu tượng không có tác dụng đáng kể trong phân tích tĩnh
c)
Các trừu tượng chỉ được sử dụng trong một số loại phân tích tĩnh cụ thể
d)
Các trừu tượng giúp đơn giản hóa các thuộc tính của chương trình để dễ dàng xử lý
148.
Type Systems được sử dụng phổ biến trong ?
a)
Phân tích tĩnh
b)
Phân tích động.
c)
Phân tích con trỏ.
d)
Phân tích hàm.
149.
Luật số nguyên có vai trò gì trong Type System?
a)
Mô tả cách nhập số nguyên và biểu thức có chứa toán tử cộng
b)
Là một hàm ánh xạ các biến đến kiểu của chúng
c)
Khai phá dữ liệu và xác suất
d)
Sinh ngẫu nhiên theo cấu trúc và hành vi chương trình
150.
Dẫn xuất kiểu có nhiệm vụ gì?
a)
Lấy được kiểu của chương trình
b)
Cung cấp thông tin loại cho các biến tự do
c)
Lấy những dự đoán phức tạp
d)
Tìm ra tất cả các lỗi ngẫu nhiên trong chương trình