wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Phân tích và Kiểm thử phần mềm

Total questions: 72

Worksheet time: 36mins

Name
Class
Date
1.
Phân tích chương trình tĩnh thuộc loại nào?
a)
Phân tích thời gian được biên dịch.
b)
Phân tích thời gian chạy.
c)
Phân tích thời gian chạy và thời gian được biên dịch.
d)
Phân tích luồng dữ liệu.
2.
Đâu không phải là tính năng mong muốn đạt được của một phân tích chương trình?
a)
Tính sẵn sàng (availability)
b)
Tính kết thúc (termination)
c)
Tính chắc chắn (soundness)
d)
Tính đầy đủ (completeness)
3.
Đâu không phải là ưu điểm của phân tích mã tĩnh?
a)
Một số lỗ hổng bảo mật.
b)
Nó cho phép bạn xác định chính xác lỗi tiềm ẩn trong mã nguồn.
c)
Nó cho phép các điểm yếu được tìm thấy sớm hơn trong vòng đời phát triển, giảm chi phí trong việc gỡ lỗi.
d)
Dễ sử dụng. Bạn không cần chuẩn bị bất kỳ bộ dữ liệu đầu vào nào để kiểm tra.
4.
Phân tích chương trình được chia thành mấy loại và gồm loại nào?
a)
3 loại gồm phân tích động, phân tích tĩnh, phân tích hỗn hợp
b)
2 loại gồm phân tích tĩnh, phân tích động
c)
2 loại gồm phân tích động, phân tích hỗn hợp
d)
Không chia thành loại nào
5.
Nhận định nào đúng?
a)
Phân tích tĩnh có thể tìm ra các lỗi giả.
b)
Phân tích động có thể tìm ra các lỗi giả
c)
Thời gian thực hiện phân tích tĩnh tỷ lệ thuận với thời gian thực thi chương trình
d)
Thời gian thực hiện phân tích động tỷ lệ thuận với kích cỡ chương trình
6.
Kỹ thuật nào sau đây KHÔNG phải là kỹ thuật hộp đen?
a)
LCSAJ (Linear Code Sequence and Jump)
b)
Kiểm tra cú pháp
c)
Kiểm tra chuyển đổi trạng thái
d)
Phân tích giá trị ranh giới
7.
Loại kiểm thử nào cần đến phân tích chương trình?
a)
Kiểm thử hộp trắng tự động
b)
Kiểm thử hộp trắng bằng tay
c)
Kiểm thử hộp đen bằng tay
d)
Kiểm thử hộp đen tự động
8.
Ưu điểm của kiểm thử tự động là gì?
a)
Tìm ra lỗi nhanh chóng, không yêu cầu viết và duy trì kiểm tra
b)
Tìm ra lỗi nhanh chóng nhưng bắt buộc kiểm tra lại
c)
Tìm ra lỗi nhanh chóng và không yêu cầu duy trì kiểm tra
d)
Không yêu cầu viết và duy trì kiểm tra
9.
Nhận định nào sai?
a)
Lập trình viên viết đặc tả kỹ thuật của chương trình và người kiểm thử viết mô tả hoạt động của chương trình
b)
Người kiểm thử viết tài liệu đặc tả kỹ thuật của chương trình và lập trình viên viết tài liệu mô tả hoạt động của chương trình
c)
Lập trình viên và người kiểm thử phải riêng biệt
d)
Nếu không có tài liệu đặc tả kỹ thuật của chương trình thì không có gì để kiểm thử
10.
Ưu điểm của kiểm thử thủ công là gì ?
a)
Có độ bao phủ tốt hơn
b)
Tìm thấy lỗi nhanh hơn
c)
Nếu chương trình thay đổi, không cần sửa lại kịch bản kiểm thử
d)
Không cần phải viết kịch bản kiểm thử
11.
Trong Công cụ kiểm thử ngẫu nhiên Monkey tool. Muốn chạy môt ứng dụng cụ thể dùng lệnh nào
a)
-p <allowed-package-name>
b)
--pct-appswitch <percent>
c)
-app <allowed-package-name>
d)
-app run <allowed-package-name>
12.
Kiểm thửu ngẫu nhiên (random testing) còn gọi là gì?
a)
Fuzzing
b)
Cuzzing
c)
Stress testing
d)
Dast testing
13.
Công cụ hỗ trợ kiểm thử ngẫu nhiên (fuzzing) là gì?
a)
Google monkey tool
b)
Korat
c)
Randoop
d)
Android studio
14.
Độ sâu của lỗi phụ thuộc vào đâu?
a)
Thứ tự ràng buộc trên các luồng khác nhau
b)
Thứ tự ràng buộc trên các luồng giống nhau
c)
Thứ tự các câu lệnh trong một luồng
d)
Số lượng các câu lệnh trong một luồng
15.
Random testing kém hiệu quả với trong loại ứng dụng nào ?
a)
Ứng dụng bảo mật
b)
Ứng dụng chạy song song
c)
Ứng dụng di động
d)
Ứng dụng nhiều tầng
16.
Một chương trình có n luồng, k bước thực hiện và d độ sâu. Xác suất nhỏ nhất để Cuzz tìm ra lỗi trong mỗi lần chạy:
a)
1 / (n * k ^ (d-1))
b)
1 / (n * k ^ (d - 2))
c)
1 / (n * k ^ (d-3))
d)
1 / (n * k ^ (d-4))
17.
Đâu không phải là một kiểu của Random Testing?
a)
Tạo các kịch bản đầu vào dựa theo tài liệu đặc tả
b)
Tạo chuỗi đầu vào ngẫu nhiên
c)
Lựa chọn dữ liệu ngẫu nhiên từ cơ sở dữ liệu hiện có
d)
Chuỗi đầu vào dữ liệu ngẫu nhiên
18.
Độ bao phủ kiểm tra ngẫu nhiên của bộ phân tích từ vựng trong một trình biên dịch là bao nhiêu?
a)
100%
b)
0.10%
c)
10%
d)
1e-06
19.
Có tối đa bao nhiêu dạng cây nhị phân hợp lệ với tối đa 3 đỉnh?
a)
9
b)
6
c)
7
d)
8
20.
Có tối đa bao nhiêu cây nhị phân có thể tạo ra nếu sử dụng K nút?
a)
(K + 1) ^ (2K + 1)
b)
(K + 1) ^ (2K + 2)
c)
(K - 1) ^ (2K + 3)
d)
(K - 1) ^ (2K + 4)
21.
Điều nào không đúng với Korat (sinh kiểm thử tự động)?
a)
Mỗi trường hợp kiểm thử (test case) mới được sinh ra ra không phụ thuộc vào các trường hợp kiểm thử trước đó
b)
Sử dụng và phân tích thông tin kiểu dữ liệu để phục vụ cho bộ sinh kiểm thử tự động
c)
Tránh sinh ra các trường hợp kiểm thử thừa, trùng lặp và không có ý nghĩa
d)
Sử dụng kỹ thuật sinh kiểm thử tất định
22.
Điều nào không đúng với Randoop (sinh kiểm thử tự động)?
a)
Mỗi trường hợp kiểm thử (test case) mới được sinh ra ra không phụ thuộc vào các trường hợp kiểm thử trước đó
b)
Tránh sinh ra các trường hợp kiểm thử thừa, trùng lặp và không có ý nghĩa
c)
Phù hợp để kiểm thử theo phương pháp tuần tự
d)
Sử dụng và phân tích thông tin kiểu dữ liệu để phục vụ cho bộ sinh kiểm thử tự động
23.
Korat tốt trong trường hợp kiểm thử loại dữ liệu nào?
a)
Dữ liệu liên kết có cấu trúc
b)
Dữ liệu kiểu số tự nhiên
c)
Dữ liệu kiểu số nguyên
d)
Dữ liệu kiểu chuỗi ký tự
24.
Đâu là phương thức kiểm tra một Cây nhị phân hợp lệ trong Korat ?
a)
repOk()
b)
finBinaryTree()
c)
numNodes(final Node n)
d)
isOrdered(final Node n)
25.
Đâu là công dụng của thuật toán phân tích đạt định nghĩa (Reaching Definitions Analysis)?
a)
Tìm ra sự sử dụng của các biến chưa được khởi tạo (Find usage of uninitialized variables)
b)
Giảm kích thước đoạn mã (Reduce code size)
c)
Tránh tính toán lại biểu thức (Avoid recomputing expressions)
d)
Cấp phát thanh ghi hiệu quả (Allocate registers efficiently)
26.
Đâu là công dụng của thuật toán phân tích biểu thức bận (Very Busy Expression Analysis)?
a)
Giảm kích thước đoạn mã (Reduce code size)
b)
Tìm ra sự sử dụng của các biến chưa được khởi tạo (Find usage of uninitialized variables)
c)
Tránh tính toán lại biểu thức (Avoid recomputing expressions)
d)
Cấp phát thanh ghi hiệu quả (Allocate registers efficiently)
27.
Đâu là công dụng của thuật toán phân tích biểu thức khả dụng (Available Expression Analysis)?
a)
Tránh tính toán lại biểu thức (Avoid recomputing expressions)
b)
Giảm kích thước đoạn mã (Reduce code size)
c)
Tìm ra sự sử dụng của các biến chưa được khởi tạo (Find usage of uninitialized variables)
d)
Cấp phát thanh ghi hiệu quả (Allocate registers efficiently)
28.
Đâu là công dụng của thuật toán phân tích biến tồn tại (Live Variables Analysis)?
a)
Cấp phát thanh ghi hiệu quả (Allocate registers efficiently)
b)
Tránh tính toán lại biểu thức (Avoid recomputing expressions)
c)
Giảm kích thước đoạn mã (Reduce code size)
d)
Tìm ra sự sử dụng của các biến chưa được khởi tạo (Find usage of uninitialized variables)
29.
Mục tiêu của phân tích tiếp cận định nghĩa (reaching definitions analysis) là gì?
a)
Với mỗi điểm trong chương trình, xác định phép định nghĩa nào đã được tạo ra và không bị định nghĩa lại suốt dọc đường đi từ khi phép định nghĩa được tạo ra đến điểm ấy, xét trên các đường dẫn khác nhau
b)
Với mỗi điểm trong chương trình, xác định biểu thức nào đã được tính toán và sau đó không bị thay đổi trên tất cả các đường dẫn tới điểm ấy
c)
Xác định các biểu thức mà không kể đường đi là đường nào, biểu thức ấy được sử dụng trước khi bất kỳ biến nào xuất hiện trong biểu thức bị định nghĩa lại
d)
Với mỗi điểm trong chương trình, xác định các biến mà có đường dẫn từ điểm ấy tới nơi biến được sử dụng mà không bị định nghĩa lại trên đường
30.
Mục tiêu của phân tích biểu thức rất bận (very busy expressions analysis) là gì?
a)
Xác định các biểu thức mà không kể đường đi là đường nào, biểu thức ấy được sử dụng trước khi bất kỳ biến nào xuất hiện trong biểu thức bị định nghĩa lại
b)
Với mỗi điểm trong chương trình, xác định các biến mà có đường dẫn từ điểm ấy tới nơi biến được sử dụng mà không bị định nghĩa lại trên đường
c)
Với mỗi điểm trong chương trình, xác định biểu thức nào đã được tính toán và sau đó không bị thay đổi trên tất cả các đường dẫn tới điểm ấy
d)
Với mỗi điểm trong chương trình, xác định phép định nghĩa nào đã được tạo ra và không bị định nghĩa lại suốt dọc đường đi từ khi phép định nghĩa được tạo ra đến điểm ấy, xét trên các đường dẫn khác nhau
31.
Mục tiêu của phân tích biểu thức có sẵn (available expressions analysis) là gì?
a)
Với mỗi điểm trong chương trình, xác định biểu thức nào đã được tính toán và sau đó không bị thay đổi trên tất cả các đường dẫn tới điểm ấy
b)
Xác định các biểu thức mà không kể đường đi là đường nào, biểu thức ấy được sử dụng trước khi bất kỳ biến nào xuất hiện trong biểu thức bị định nghĩa lại
c)
Với mỗi điểm trong chương trình, xác định phép định nghĩa nào đã được tạo ra và không bị định nghĩa lại suốt dọc đường đi từ khi phép định nghĩa được tạo ra đến điểm ấy, xét trên các đường dẫn khác nhau
d)
Với mỗi điểm trong chương trình, xác định các biến mà có đường dẫn từ điểm ấy tới nơi biến được sử dụng mà không bị định nghĩa lại trên đường
32.
Mục tiêu của phân tích biến sống (live variables analysis) là gì?
a)
Với mỗi điểm trong chương trình, xác định các biến mà có đường dẫn từ điểm ấy tới nơi biến được sử dụng mà không bị định nghĩa lại trên đường
b)
Xác định các biểu thức mà không kể đường đi là đường nào, biểu thức ấy được sử dụng trước khi bất kỳ biến nào xuất hiện trong biểu thức bị định nghĩa lại
c)
Với mỗi điểm trong chương trình, xác định biểu thức nào đã được tính toán và sau đó không bị thay đổi trên tất cả các đường dẫn tới điểm ấy
d)
Với mỗi điểm trong chương trình, xác định phép định nghĩa nào đã được tạo ra và không bị định nghĩa lại suốt dọc đường đi từ khi phép định nghĩa được tạo ra đến điểm ấy, xét trên các đường dẫn khác nhau
33.
Phân tích luồng dữ liệu là gì?
a)
Là một loại phân tích tĩnh để lập luận về luồng dữ liệu trong quá trình chạy của chương trình.
b)
Là một loại phân tích động để lập luận về luồng dữ liệu trong quá trình chạy của chương trình.
c)
Là một loại phân tích đầu vào của chương trình.
d)
Là một loại phân tích đầu ra của chương trình.
34.
Tính dừng trong thuật toán là như thế nào?
a)
Thuật toán phải dừng lại sau một số bước giải.
b)
Thuật toán phải sử dụng ít phép toán nhất.
c)
Thuật toán phải sử dụng dung lượng bộ nhớ là nhỏ nhất.
d)
Các bước giải thuật toán phải rõ ràng.
35.
Câu lệnh nào không có trong ngôn ngữ WHILE?
a)
function{S}
b)
S1;S2
c)
if(b){S1} else {S2}
d)
while(b){S}
36.
Phân tích luồng dữ liệu (dataflow analysis) sẽ không đảm bảo tính chất nào (hy sinh - sacrificing tính chất nào) ?
a)
Đúng đắn (Completeness )
b)
Đầy đủ (Soundness)
c)
Khả năng kết thúc (Termination)
d)
Ổn định (Stable)
37.
Đâu không phải là phương pháp để phân tích luồng dữ liệu?
a)
Mutation Expressions Analysis
b)
Reaching Definitions Analysis
c)
Very Busy Expressions Analysis
d)
Available Expressions Analysis
38.
Đâu là nhận xét đúng nhất về tính hoàn chỉnh trong phân tích luồng dữ liệu?
a)
Phân tích luồng dữ liệu hy sinh tính hoàn chỉnh
b)
Phân tích luồng dữ liệu luôn luôn có tính hoàn chỉnh
c)
Phân tích luồng dữ liệu có xác suất hoàn chỉnh cao
d)
Phân tích luồng dữ liệu không đề cập đến tính hoàn chỉnh
39.
Phân tích luồng dữ liệu (dataflow analysis) là gì?
a)
Là một loại phân tích tĩnh để lập luận về luồng dữ liệu trong các lần chạy của chương trình.
b)
Là phân tích trương trình từ trên xuống dưới.
c)
Là một loại kiểm thử ngẫu nhiên.
d)
Là một loại kiểm thử tự động.
40.
Thuật toán phân tích con trỏ không phụ thuộc vào luồng (flow insensitive) là gì?
a)
Thuật toán phân tích con trỏ trong một hàm (thủ tục) không phụ thuộc vào thứ tự câu lệnh trong hàm
b)
Thuật toán phân tích con trỏ trong một hàm (thủ tục) phụ thuộc vào thứ tự câu lệnh trong hàm
c)
Thuật toán phân tích con trỏ trong một chương trình không phụ thuộc vào thứ tự các câu lệnh trong chương trình
d)
Thuật toán phân tích con trỏ trong một chương trình theo thứ tự các câu lệnh trong chương trình
41.
Phân tích con trỏ (pointer analysis) sẽ không đảm bảo tính chất nào (hy sinh (sacrificing) tính chất nào)?
a)
Đúng đắn (Completeness )
b)
Đầy đủ (Soundness)
c)
Khả năng kết thúc (Termination)
d)
Ổn định (Stable)
42.
Truy cập dữ liệu con trỏ (pointer dereference) là gì?
a)
Thao tác với con trỏ (pointer) trong các ngôn ngữ lập trình, cho biết nội dung hoặc giá trị của địa chỉ mà nó đang trỏ tới
b)
Trỏ một con trỏ tới vị trí rỗng (null)
c)
Xoá con trỏ
d)
Lấy giá trị địa chỉ của con trỏ
43.
Một ngôn ngữ thế nào là Turing hoàn chỉnh (Turing complete)?
a)
Có thể giải quyết được tất cả các bài toán
b)
Chỉ giải quyết một lớp bài toán cụ thể
c)
Là ngôn ngữ do Turing sáng tạo ra
d)
Là ngôn ngữ lập trình bậc cao
44.
Trong phân tích truy cập dữ liệu con trỏ (null pointer dereference analysis). Di chuyển xuôi (foward travesal) là gì?
a)
Bắt đầu từ một điểm trong trương trình nơi con trỏ được gán bằng rỗng (null), kiểm tra xem liệu có thể đi đến một điểm trong chương trình nơi con trỏ được truy cập dữ liệu (dereference)
b)
Bắt đầu từ một điểm nơi con trỏ được truy cập dữ liệu (dereference), kiểm tra xem liệu có một điểm khác trong chương trình nơi con con trỏ được gán bằng null có thể đi đến điểm đó không
c)
Bắt đầu từ đầu chương trình tới cuối chương trình
d)
Bắt đầu từ cuối chương trình tới đầu chương trình
45.
Trong phân tích truy cập dữ liệu con trỏ (null pointer dereference analysis). Di chuyển ngược (backward travesal) là gì?
a)
Bắt đầu từ một điểm nơi con trỏ được truy cập dữ liệu (dereference), kiểm tra xem liệu có một điểm khác trong chương trình nơi con con trỏ được gán bằng rỗng (null) có thể đi đến điểm đó không
b)
Bắt đầu từ một điểm trong trương trình nơi con trỏ được gán bằng rỗng (null), kiểm tra xem liệu có thể đi đến một điểm trong chương trình nơi con trỏ được truy cập dữ liệu (dereference)
c)
Bắt đầu từ cuối chương trình tới đầu chương trình
d)
Bắt đầu từ đầu chương trình tới cuối chương trình
46.
Datalog là gì?
a)
Ngôn ngữ lập trình được sử dụng trong cơ sở dữ liệu suy diễn
b)
Ngôn ngữ đánh dấu siêu văn bản
c)
Cơ sở ngữ nghĩa
d)
Biểu đồ tri thức
47.
Câu lệnh nào sau đây sử dụng tham chiếu ngược (dereference)?
a)
baz = *foo
b)
baz = foo
c)
baz = &foo
d)
baz = &(&foo)
48.
Các ngôn ngữ lập trình nào là ngôn ngữ ràng buộc (constraint language)?
a)
Datalog, SAT, MaxSAT, SMT, MaxSMT
b)
SAT, MaxSAT, SMT, MaxSMT, C++
c)
SAT, MaxSAT, Java, MaxSMT
d)
SAT, MaxSAT, C#, MaxSMT
49.
Câu lệnh GEN[n] trong phân tích định nghĩa tiếp cận (reaching definition analysis) nói lên điều gì ?
a)
Là tập các định nghĩa được tạo ra tại điểm n của chương trình
b)
Là tập hợp các định nghĩa bị loại bỏ tại một điểm n của chương trình
c)
Là tập các điểm chương trình ngay đằng trước điểm n của chương trình
d)
Là tập các điểm chương trình ngay đằng sau điểm n của chương trình
50.
Đâu là ưu điểm của Kiểm thử ngẫu nhiên (Random Testing)?
a)
Dễ dàng thực hiện.
b)
Không hiệu quả với tập hợp các trường hợp kiểm thử.
c)
Có thể tìm những lỗi không quan trọng.
d)
Độ phủ tốt.
51.
Kiểm thử ngẫu nhiên (random testing) hiệu quả với các trường hợp nào?
a)
Kiểm thử bảo mật (Testing Security), Ứng dụng điện thoại (Mobile Apps), Xử lý đồng thời (Concurrency).
b)
Kiểm thử bảo mật (Testing Security), Ứng dụng Website (Website Apps), Xử lý đồng thời (Concurrency).
c)
Kiểm thử bảo mật (Testing Security), Xử lý đồng thời (Concurrency).
d)
Kiểm thử bảo mật (Testing Security), Ứng dụng điện thoại (Mobile Apps), Xử lý song song (Parallelism).
52.
Việc sinh ra Kiểm thử tự động (Automatic Test Generation) giúp tránh được điều gì?
a)
Tránh việc sinh Ca kiểm thử bất hợp pháp và Ca kiểm thử dư thừa.
b)
Tránh việc sinh ca kiểm thử bất hợp pháp
c)
Tránh việc sinh ca kiểm thử dư thừa.
d)
Tránh việc sinh ca kiểm thử không tự động.
53.
Nguyên nhân chính của sự không đầy đủ trong Phân tích luồng dữ liệu (incompleteness in dataflow analyses) phát sinh từ đâu?
a)
Từ việc trừu tượng hóa các điều kiện luồng kiểm soát với lựa chọn không xác định.
b)
Từ việc không trừu tượng hóa các điều kiện luồng kiểm soát với lựa chọn không xác định.
c)
Từ việc trừu tượng hóa các điều kiện luồng kiểm soát.
d)
Từ việc lựa chọn không xác định các luồng dữ liệu.
54.
Kết quả của phân tích luồng dữ liệu là gì?
a)
Là một tập hợp các dữ kiện tại mỗi thời điểm của chương trình.
b)
Là một tập hợp các dữ kiện tại sau khi chạy xong toàn bộ chương trình.
c)
Là một tập hợp các dữ kiện.
d)
Là các dữ kiện tại mỗi thời điểm của chương trình.
55.
Thuật toán phân tích con trỏ có mấy loại?
a)
2 loại gồm Luồng nhạy (Flow-sensitive) và Luồng không nhạy (Flow-insensitive).
b)
Chỉ có Luồng nhạy (Flow-sensitive).
c)
Chỉ có Luồng không nhạy (Flow-insensitive).
d)
Không phân chia thành loại nào.
56.
Thuật toán phân tích con trỏ có luồng nhạy (Flow-sensitve pointer analysis algorithms) thực hiện cập nhật mạnh mẽ khi nào?
a)
Khi có thể loại bỏ dữ kiện cũ khi đang sinh ra dữ kiện mới.
b)
Khi có thể loại bỏ dữ kiện cũ.
c)
Khi sinh ra dữ kiện mới.
d)
Đọc toàn bộ dữ kiện cũ và dữ kiện mới được thêm vào.
57.
Khi sử dụng SAT, người ta phải xác định vấn đề gì?
a)
Làm rõ vấn đề xác định xem một tập hợp các ràng buộc Boolean có thỏa mãn hay không.
b)
Làm rõ vấn đề xác định xem một tập hợp các ràng buộc về mọi kiểu dữ liệu có thỏa mãn hay không.
c)
Không cần phân tích vấn đề vì ràng buộc Boolean luôn thoả mãn.
d)
Làm rõ vấn đề xác định xem một tập hợp các kiểu dữ liệu Boolean có thỏa mãn hay không.
58.
Đâu là lợi ích của phân tích ràng buộc?
a)
Cho phép triển khai phân tích phức tạp
b)
Gộp đặc điểm kỹ thuật phân tích vào việc triển khai
c)
Cho biết những thông số của chương trình tự nhiên
d)
Triển khai dễ dàng hơn
59.
Nội dung nào sau đây mô tả chính xác về kiểm thử tự động?
a)
Tìm lỗi nhanh hơn. Không cần phải viết bài kiểm tra. Nếu phần mềm thay đổi, không cần duy trì kiểm thử.
b)
Bộ kiểm tra hiệu quả. Có khả năng bảo hiểm tốt hơn.
c)
Có thể làm việc với mã không thể sửa đổi. Không cần phân tích hoặc nghiên cứu mã. Mã có thể ở bất kỳ định dạng nào (được quản lý, nhị phân, bị xáo trộn).
d)
Bộ kiểm tra đơn giản. HIệu quả cao.
60.
Nội dung nào sau đây mô tả chính xác về kiểm thử hộp đen?
a)
Có thể làm việc với mã không thể sửa đổi. Không cần phân tích hoặc nghiên cứu mã. Mã có thể ở bất kỳ định dạng nào (được quản lý, nhị phân, bị xáo trộn).
b)
Bộ kiểm tra đơn giản. HIệu quả cao.
c)
Tìm lỗi nhanh hơn. Không cần phải viết bài kiểm tra. Nếu phần mềm thay đổi, không cần duy trì kiểm thử.
d)
Bộ kiểm tra hiệu quả. Có khả năng bảo hiểm tốt hơn.
61.
Nội dung nào sau đây mô tả chính xác về kiểm thử bằng tay?
a)
Bộ kiểm tra hiệu quả. Có khả năng bảo hiểm tốt hơn.
b)
Tìm lỗi nhanh hơn. Không cần phải viết bài kiểm tra. Nếu phần mềm thay đổi, không cần duy trì kiểm thử.
c)
Có thể làm việc với mã không thể sửa đổi. Không cần phân tích hoặc nghiên cứu mã. Mã có thể ở bất kỳ định dạng nào (được quản lý, nhị phân, bị xáo trộn).
d)
Bộ kiểm tra đơn giản. HIệu quả cao.
62.
Nội dung nào sau đây mô tả chính xác về kiểm thử hộp trắng?
a)
Bộ kiểm tra hiệu quả. Có khả năng bảo hiểm tốt hơn.
b)
Bộ kiểm tra đơn giản. HIệu quả cao.
c)
Có thể làm việc với mã không thể sửa đổi. Không cần phân tích hoặc nghiên cứu mã. Mã có thể ở bất kỳ định dạng nào (được quản lý, nhị phân, bị xáo trộn).
d)
Tìm lỗi nhanh hơn. Không cần phải viết bài kiểm tra. Nếu phần mềm thay đổi, không cần duy trì kiểm thử.
63.
Nội dung nào sau đây mô tả chính xác về trình kiểm thử Korat?
a)
Korat là một kỹ thuật tạo thử nghiệm hoàn toàn xác định. Korat tránh được sự dư thừa bằng cách kiểm tra các cấu trúc mới được tạo để tìm cấu trúc đẳng cấu với các cấu trúc được tạo trước đó. Korat phù hợp hơn để tạo cấu trúc dữ liệu.
b)
Koratsử dụng một yếu tố ngẫu nhiên. Korat tránh được sự dư thừa bằng cách kiểm tra các cấu trúc mới được tạo để tìm cấu trúc đẳng cấu với các cấu trúc được tạo trước đó. Korat phù hợp hơn để tạo cấu trúc dữ liệu.
c)
Korat là một kỹ thuật tạo thử nghiệm hoàn toàn xác định. Korat tránh được sự dư thừa thông qua phương pháp loại bỏ các trường hợp thử nghiệm trong đó đối tượng cuối cùng được tạo đã được tạo trong trường hợp thử nghiệm trước đó. Korat phù hợp hơn để tạo cấu trúc dữ liệu.
d)
Koratsử dụng một yếu tố ngẫu nhiên. Korat tránh được sự dư thừa bằng cách kiểm tra các cấu trúc mới được tạo để tìm cấu trúc đẳng cấu với các cấu trúc được tạo trước đó. Korat phù hợp để tạo chuỗi các phương thức từ API.
64.
Nội dung nào sau đây mô tả chính xác về trình kiểm thử Randoop?
a)
Randoop sử dụng một yếu tố ngẫu nhiên. Randoop tránh được sự dư thừa thông qua phương pháp loại bỏ các trường hợp thử nghiệm trong đó đối tượng cuối cùng được tạo đã được tạo trong trường hợp thử nghiệm trước đó. Randoop phù hợp để tạo chuỗi các phương thức từ API.
b)
Randoop là một kỹ thuật tạo thử nghiệm hoàn toàn xác định. Randoop tránh được sự dư thừa thông qua phương pháp loại bỏ các trường hợp thử nghiệm trong đó đối tượng cuối cùng được tạo đã được tạo trong trường hợp thử nghiệm trước đó. Randoop phù hợp để tạo chuỗi các phương thức từ API.
c)
Randoop sử dụng một yếu tố ngẫu nhiên. Randoop tránh được sự dư thừa bằng cách kiểm tra các cấu trúc mới được tạo để tìm cấu trúc đẳng cấu với các cấu trúc được tạo trước đó. Randoop phù hợp để tạo chuỗi các phương thức từ API.
d)
Randoop sử dụng một yếu tố ngẫu nhiên. Randoop tránh được sự dư thừa thông qua phương pháp loại bỏ các trường hợp thử nghiệm trong đó đối tượng cuối cùng được tạo đã được tạo trong trường hợp thử nghiệm trước đó. Randoop phù hợp hơn để tạo cấu trúc dữ liệu.
65.
Điều nào sau đây đúng về công cụ phần mềm?
a)
Bao gồm các công cụ lập trình viên sử dụng cho các tác vụ để cải thiện chất lượng phần mềm.
b)
Công cụ phần mềm dùng để biên dịch các ngôn ngữ lập trình bậc cao thành ngôn ngữ máy.
c)
Bao gồm các công cụ lập trình viên sử dụng để gỡ lỗi.
d)
Bao gồm các công cụ lập trình viên sử dụng để phát hiện lỗi.
66.
Mức độ bao phủ mã ảnh hưởng thế nào đến một bộ thử nghiệm?
a)
Mức độ bao phủ mã cao hơn thường chỉ ra một bộ thử nghiệm tốt hơn.
b)
Mức độ bao phủ mã cao hơn thường chỉ ra một bộ thử nghiệm kém hơn.
c)
Mức độ bao phủ mã thấp hơn thường chỉ ra một bộ thử nghiệm cao hơn.
d)
Mức độ bao phủ mã không ảnh hưởng đến một bộ thử nghiệm.
67.
Ý tưởng cơ bản của phân tích đột biến là gì
a)
Kiểm tra các biến thể (đột biến) của chương trình đang thử nghiệm.
b)
Kiểm tra chương trình hiện tại với nhiều bộ đầu vào khác nhau.
c)
Kiểm tra chương trình hiện tại chỉ với một bộ đầu vào duy nhất.
d)
Kiểm tra chương trình hiện tại trong nhiều môi trường máy chủ khác nhau.
68.
Phương pháp nào để đánh giá chất lượng bộ thử nghiệm?
a)
Chỉ số về độ bao phủ của mã và phân tích đột biến.
b)
Chỉ có chỉ số về độ bao phủ của mã.
c)
Chỉ có phân tích đột biến
d)
Không có phương pháp nào đánh giá được chất lượng bộ thử nghiệm.
69.
Biểu đồ luồng điều khiển là gì?
a)
Biểu đồ tóm tắt luồng điều khiển trong tất cả các lần chạy của chương trình.
b)
Biểu đồ thể hiện kết quả của chương trình.
c)
Biểu đồ đánh giá chất lượng của các bộ thử nghiệm đầu vào.
d)
Biểu đồ thể hiện thời gian chạy của chương trình.
70.
Kỹ thuật nào được công cụ Korat sử dụng?
a)
Xác định tiền điều kiện.
b)
Xác định hậu điều kiện.
c)
Không kiểm tra tiền điều kiện.
d)
Không kiểm tra hậu điều kiện.
71.
Đâu không phải là tiền điều kiện của một cây nhị phân?
a)
Gốc không được rỗng.
b)
Gốc có thể rỗng.
c)
Mọi nút ngoại trừ gốc phải có một nút cha.
d)
Cây nhị phân không được có chu kỳ.
72.
Công cụ Korat cho kết quả tốt với các dạng dữ liệu nào?
a)
Cấu trúc dữ liệu danh sách liên kết (linked list structure)
b)
Số nguyên (Integers)
c)
Số thực dấu phẩy động (Floating-point numbers)
d)
Chuỗi ký tự (Strings )