Câu hỏi: SWT301 - Phần 4: Kỹ thuật thiết kế ca kiểm thử
62 câu trắc nghiệm kèm lời giải của môn Software Testing - SWT301, xếp theo thứ tự nhập vào ngân hàng. Trang 3/4 — câu 41–60.
Danh sách câu hỏi
60/62 câuCòn 2
A
CLASSB
cLASSC
CLassD
CLa01ssLời giải
Mở trang câu hỏi này →Đáp án đúng: "CLa01ss". Ô nhập chỉ nhận chữ cái in hoa hoặc in thường, nên theo phân vùng tương đương (equivalence partitioning) mọi chuỗi chỉ gồm chữ cái, bất kể pha trộn hoa thường ra sao, cùng thuộc lớp hợp lệ; lớp không hợp lệ là chuỗi chứa ký tự ngoài chữ cái như chữ số, ký tự đặc biệt. "CLa01ss" chứa chữ số 0 và 1 nên thuộc lớp không hợp lệ. "CLASS" toàn chữ in hoa nên hợp lệ. "cLASS" pha chữ thường đầu với chữ in hoa nhưng vẫn chỉ có chữ cái nên hợp lệ. "CLass" pha in hoa và in thường, cũng toàn chữ cái nên hợp lệ; việc đổi kiểu hoa thường không tạo ra lớp mới vì ô chấp nhận cả hai.
42Boundary value testing4 lựa chọn
AIs the same as equivalence partitioning tests
BTest boundary conditions on, below and above the edges of input and output equivalence classes
CTests combinations of input circumstances
DIs used in white box testing strategy
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Test boundary conditions on, below and above the edges of input and output equivalence classes". Kiểm thử giá trị biên (boundary value testing) là kỹ thuật hộp đen, mở rộng từ phân vùng tương đương: thay vì lấy một giá trị bất kỳ trong phân vùng, nó chọn các giá trị nằm đúng ở mép, ngay dưới và ngay trên mép của các lớp tương đương, áp dụng cho cả đầu vào lẫn đầu ra, vì lỗi hay tập trung ở biên như dùng nhầm dấu nhỏ hơn với nhỏ hơn hoặc bằng. "Is the same as equivalence partitioning tests" sai vì phân vùng tương đương chỉ cần một đại diện bất kỳ mỗi lớp, còn giá trị biên chọn có chủ đích ở mép lớp, hai kỹ thuật liên quan nhưng khác nhau. "Tests combinations of input circumstances" mô tả bảng quyết định hay đồ thị nhân quả, kỹ thuật xử lý tổ hợp điều kiện. "Is used in white box testing strategy" sai vì giá trị biên dựa trên đặc tả, thuộc nhóm hộp đen chứ không dựa vào cấu trúc mã.
AOFF to ON
BON to OFF
CFAULT to ON
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "FAULT to ON". Theo sơ đồ, công tắc có ba trạng thái: OFF, ON và FAULT. Các chuyển hợp lệ được vẽ là OFF sang ON, ON sang OFF, ON sang FAULT và FAULT quay về chính nó. Không có mũi tên nào đi từ FAULT sang ON, nên chuyển "FAULT to ON" là chuyển KHÔNG hợp lệ - đây chính là loại ca kiểm thử âm mà kỹ thuật state transition testing dùng để kiểm tra hệ thống có chặn được chuyển trạng thái sai hay không. Phương án "OFF to ON" và phương án "ON to OFF" đều là chuyển đã được vẽ tường minh trên sơ đồ nên hợp lệ.
A2 Test Cases
B3 Test Cases
C4 Test Cases
DNot achievable
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "4 Test Cases". Đoạn mã có hai câu lệnh if nối tiếp và độc lập: câu thứ nhất có hai hướng (Condition 1 đúng thì chạy statement 1, sai thì chạy statement 2), câu thứ hai cũng có hai hướng (Condition 2 đúng thì chạy statement 3, sai thì bỏ qua). Mỗi hướng của câu thứ nhất đều đi tiếp được vào cả hai hướng của câu thứ hai, nên số đường đi là 2 × 2 = 4: statement 1 rồi statement 3, statement 1 rồi bỏ qua, statement 2 rồi statement 3, statement 2 rồi bỏ qua; phủ mọi đường cần 4 ca kiểm thử. "2 Test Cases" chỉ đủ cho độ phủ nhánh, mỗi quyết định đúng một lần và sai một lần, nhưng chưa phủ mọi tổ hợp. "3 Test Cases" là độ phức tạp vòng, số quyết định cộng 1, tức số đường độc lập của tập cơ sở chứ không phải toàn bộ đường đi. "Not achievable" sai vì hai điều kiện độc lập nên cả bốn tổ hợp đều tạo ra được, và đoạn mã không có vòng lặp khiến số đường vô hạn.
ABoundary value analysis
BEquivalence partitioning
CDecision table testing
DState transition testing
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Equivalence partitioning". Phân vùng tương đương (equivalence partitioning) chia miền dữ liệu thành các phân vùng mà mọi giá trị trong cùng phân vùng được kỳ vọng xử lý như nhau; ISTQB nêu rõ kỹ thuật này áp dụng cho cả đầu vào lẫn đầu ra, nên có thể dùng để đạt mục tiêu độ phủ đầu vào và độ phủ đầu ra (mỗi phân vùng được kiểm ít nhất một lần). "Boundary value analysis" là phần mở rộng của phân vùng tương đương, chỉ tập trung vào các giá trị nằm ở mép phân vùng, nên nó đo độ phủ biên chứ không phải kỹ thuật nền để phủ đầu vào và đầu ra. "Decision table testing" nhắm vào độ phủ các tổ hợp điều kiện và hành động tương ứng. "State transition testing" nhắm vào độ phủ trạng thái và chuyển trạng thái của hệ thống, không phải phủ miền giá trị vào ra.
A(i) Gray Box Testing
B(ii) Hybrid Testing
CBoth of (i) and (ii)
DNone of (i) nor (ii)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "(i) Gray Box Testing". Kiểm thử hộp xám (gray box testing) là thuật ngữ được định nghĩa rõ là sự kết hợp hai góc nhìn: người kiểm thử biết một phần cấu trúc bên trong, như thiết kế dữ liệu, thuật toán, kiến trúc, để thiết kế ca kiểm thử tốt hơn, nhưng vẫn thực thi và đánh giá từ bên ngoài như hộp đen. Chỗ dễ nhầm là "(ii) Hybrid Testing": tên gọi nghe như pha trộn, nhưng nó không phải thuật ngữ chuẩn trong ISTQB Foundation và không được định nghĩa là kết hợp hộp đen với hộp trắng, nên không thể coi là đáp án. Vì vậy "Both of (i) and (ii)" sai do kéo theo một thuật ngữ không chuẩn. "None of (i) nor (ii)" sai vì gray box đúng là kỹ thuật mang cả đặc điểm hộp đen và hộp trắng.
A1Y, 2Z, 3X, 4W.
B1X ,2W, 3Z, 4Y.
C1Z, 2X, 3W, 4Y.
D1Z, 2Y, 3X, 4W.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "1Y, 2Z, 3X, 4W.". Ghép từng thuật ngữ với định nghĩa: kiểm thử bảng quyết định (decision table testing) kiểm các tổ hợp đầu vào mà nếu không có bảng thì có thể chưa từng được thực thi, nên 1 ứng với Y; kiểm thử quyết định (decision testing) là một dạng kiểm thử luồng điều khiển dựa trên các kết quả của quyết định, nên 2 ứng với Z; kiểm thử chuyển trạng thái (state transition testing) kiểm hệ thống phản hồi khác nhau tuỳ điều kiện hiện tại hay lịch sử trước đó, nên 3 ứng với X; kiểm thử thăm dò (exploratory testing) thực hiện trong các khung thời gian để đạt mục tiêu cụ thể, bổ sung cho kiểm thử có cấu trúc, nên 4 ứng với W. "1X ,2W, 3Z, 4Y." sai hết cả bốn cặp. "1Z, 2X, 3W, 4Y." gán định nghĩa luồng điều khiển cho bảng quyết định và định nghĩa trạng thái cho decision testing. "1Z, 2Y, 3X, 4W." chỉ đúng hai cặp sau, đảo vị trí của bảng quyết định với kiểm thử quyết định.
AHow well you know a particular technique
BThe objective of the test
CHow appropriate the technique is for testing the application
DWhether there is a tool to support the technique
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The objective of the test". Theo ISTQB Foundation, việc chọn kỹ thuật kiểm thử (test technique) chịu tác động của nhiều yếu tố như loại hệ thống, rủi ro, yêu cầu hợp đồng, kinh nghiệm người kiểm thử, thời gian và công cụ, nhưng điểm xuất phát luôn là lần kiểm thử này nhằm đạt điều gì: muốn phủ các biên dữ liệu thì chọn phân tích giá trị biên, muốn phủ tổ hợp điều kiện thì chọn bảng quyết định, muốn phủ nhánh mã thì chọn kỹ thuật hộp trắng. Chỗ gây tranh cãi là "How appropriate the technique is for testing the application": có bản lưu hành của câu này chấm nó là đúng, và mức độ phù hợp với ứng dụng quả thật là một yếu tố cần cân nhắc, nhưng "phù hợp" chỉ đánh giá được sau khi đã biết mục tiêu kiểm thử, nên nó là hệ quả chứ không phải tiêu chí gốc. "How well you know a particular technique" là độ quen tay của cá nhân, dễ dẫn tới chọn kỹ thuật mình thích thay vì kỹ thuật cần dùng. "Whether there is a tool to support the technique" chỉ là điều kiện hỗ trợ việc thực thi, không quyết định nên kiểm thử theo hướng nào.
49Which is not true-The black box tester4 lựa chọn
AShould be able to understand a functional specification or requirements document
BShould be able to understand the source code.
CIs highly motivated to find faults
DIs creative to find the system’s weaknesses
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Should be able to understand the source code.". Câu hỏi tìm phát biểu KHÔNG đúng về người kiểm thử hộp đen (black-box tester). Kiểm thử hộp đen là kỹ thuật dựa trên đặc tả: ca kiểm thử được suy ra từ yêu cầu và hành vi bên ngoài của hệ thống, người kiểm thử không cần nhìn vào cấu trúc bên trong, nên đòi hỏi hiểu mã nguồn là đặc điểm của kiểm thử hộp trắng (white-box), không phải hộp đen. "Should be able to understand a functional specification or requirements document" là phát biểu đúng, vì đặc tả chức năng và tài liệu yêu cầu chính là cơ sở kiểm thử (test basis) của kiểm thử hộp đen. "Is highly motivated to find faults" cũng đúng: người kiểm thử tốt mang tâm thế đi tìm lỗi chứ không đi chứng minh hệ thống chạy được. "Is creative to find the system’s weaknesses" đúng vì đoán lỗi (error guessing) và kiểm thử thăm dò cần óc sáng tạo để nghĩ ra tình huống làm hệ thống hỏng.
A10,11,21
B3,20,21
C3,10,22
D10,21,22
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "3,10,22". Phân vùng tương đương (equivalence partitioning) chia miền nhập thành các lớp được xử lý như nhau: lớp không hợp lệ nhỏ hơn 10, lớp hợp lệ từ 10 tới 21, lớp không hợp lệ từ 22 trở lên; muốn phủ mọi phân vùng chỉ cần mỗi lớp một giá trị. Giá trị 3 rơi vào lớp nhỏ hơn 10, 10 rơi vào lớp hợp lệ, 22 rơi vào lớp từ 22 trở lên, nên đủ ba lớp. "10,11,21" có cả ba giá trị đều nằm trong lớp hợp lệ, bỏ sót hai lớp không hợp lệ. "3,20,21" phủ lớp nhỏ hơn 10 và lớp hợp lệ nhưng không có giá trị nào từ 22 trở lên. "10,21,22" phủ lớp hợp lệ và lớp từ 22 trở lên nhưng thiếu giá trị nhỏ hơn 10; bộ này trông giống giá trị biên nhưng phân tích biên là kỹ thuật khác.
ARegression testing
BIntegration testing.
CError Guessing
DSystem testing.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Error Guessing". Đoán lỗi (error guessing) là kỹ thuật dựa trên kinh nghiệm: người kiểm thử dựa vào hiểu biết về những lỗi hay gặp, những chỗ hệ thống từng hỏng, để thiết kế ca kiểm thử nhắm vào đó. ISTQB nêu các kỹ thuật dựa trên kinh nghiệm thường được dùng để bổ sung cho các kỹ thuật hình thức, có hệ thống (đặc tả hay cấu trúc), vì chúng bắt được những lỗi mà cách tiếp cận chặt chẽ bỏ sót. "Regression testing" là chạy lại ca kiểm thử sau thay đổi, một loại kiểm thử liên quan đến thay đổi chứ không phải thứ bổ sung cho kiểm thử chặt chẽ. "Integration testing." là một cấp kiểm thử kiểm giao diện giữa các thành phần, bản thân nó cần được thực hiện chặt chẽ. "System testing." cũng là một cấp kiểm thử trên toàn hệ thống, không phải kỹ thuật dùng để lấp chỗ hổng của kỹ thuật hình thức.
AMissing Statements
BUnused Branches
CDead Code
DUnused Statement
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Missing Statements". Độ phủ câu lệnh (statement coverage) đo tỉ lệ câu lệnh có trong mã đã được thực thi bởi bộ ca kiểm thử. Vì nó chỉ đo những gì đang tồn tại trong mã, nó không thể phát hiện câu lệnh bị thiếu: một phép kiểm tra hay một xử lý mà lập trình viên quên viết thì không có dòng nào để đánh dấu là chưa chạy, nên độ phủ vẫn có thể đạt 100%. Muốn phát hiện thiếu sót này phải đối chiếu với đặc tả bằng kỹ thuật hộp đen hoặc rà soát. "Unused Branches" thì phân tích độ phủ câu lệnh vẫn làm lộ ra khi phần thân của nhánh đó chưa từng được thực thi. "Dead Code" (mã chết) luôn hiện ra là không được phủ, vì không ca kiểm thử nào chạy tới được. "Unused Statement" cũng hiện ngay trong báo cáo độ phủ như dòng chưa thực thi, nên đây đúng là thứ độ phủ câu lệnh kiểm tra được.
ABlack-box testing
BGlass-box testing
CGrey-box testing
DWhite-box testing
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Black-box testing". Kiểm thử hộp đen (black-box testing) thiết kế ca kiểm thử từ đặc tả chức năng mà không cần biết cấu trúc bên trong, với mục đích chứng minh từng chức năng của chương trình hoạt động đúng: đưa đầu vào, quan sát đầu ra, đối chiếu với yêu cầu. Định nghĩa trong câu hỏi, lập ca kiểm thử để chứng minh mỗi chức năng đều vận hành được, chính là định nghĩa kinh điển của kiểm thử hộp đen. "Glass-box testing" là tên gọi khác của kiểm thử hộp trắng, dựa vào cấu trúc mã để phủ câu lệnh, nhánh, đường đi chứ không xuất phát từ chức năng. "White-box testing" cũng vậy, mục tiêu là kiểm các đường logic bên trong. "Grey-box testing" kết hợp hiểu biết một phần cấu trúc bên trong với góc nhìn chức năng, không phải kỹ thuật thuần tuý dựa vào chức năng như câu hỏi mô tả.
A5, 6, 20
B4, 5, 80
C4, 5, 99
D1, 20, 100
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "4, 5, 99". Phân tích giá trị biên (boundary value analysis) lấy giá trị nằm đúng ở mép mỗi phân vùng tương đương. Số lượng đặt hàng có ba phân vùng: dưới 5 là không hợp lệ (biên trên là 4), từ 5 đến 99 là hợp lệ không giảm giá (biên là 5 và 99), từ 100 trở lên được giảm 20% (biên dưới là 100). Vậy các giá trị biên là 4, 5, 99, 100, và nhóm có cả ba giá trị đều là biên chỉ có 4, 5 và 99. "5, 6, 20" sai vì 20 nằm giữa phân vùng, còn 6 không phải mép phân vùng nào trong cách lấy hai giá trị biên. "4, 5, 80" có hai giá trị biên đúng nhưng 80 nằm lọt giữa phân vùng 5 đến 99, chỉ là giá trị đại diện của phân vùng tương đương. "1, 20, 100" chỉ có 100 là biên, còn 1 và 20 đều là giá trị nằm giữa phân vùng.
AFAULT to ON
BON to OFF
COFF to ON
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "FAULT to ON". Sơ đồ chuyển trạng thái của công tắc có ba trạng thái: từ OFF có mũi tên sang ON, từ ON có mũi tên quay về OFF, từ ON có mũi tên sang FAULT, còn FAULT chỉ có một mũi tên vòng về chính nó. Trong kiểm thử chuyển trạng thái (state transition testing), chuyển trạng thái hợp lệ là cặp trạng thái có mũi tên nối theo đúng chiều; cặp nào không có mũi tên là chuyển không hợp lệ, cần được kiểm thử để chắc hệ thống từ chối nó. Từ FAULT không có mũi tên nào đi ra ngoài, nên đi từ FAULT sang ON là chuyển không hợp lệ: công tắc đã hỏng không thể tự bật lại. "ON to OFF" hợp lệ vì có mũi tên từ ON về OFF, tức tắt công tắc. "OFF to ON" hợp lệ vì có mũi tên từ OFF sang ON, tức bật công tắc.
A12,16,22
B24,27,17
C22,23,24
D14,15,19
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "22,23,24". Theo phân hoạch tương đương (equivalence partitioning), nhiệt độ chia thành ba lớp theo hành vi của công tắc: dưới 18 thì công tắc tắt, trên 21 thì công tắc bật, còn từ 18 tới 21 là vùng giữa, công tắc giữ nguyên trạng thái. Các giá trị trong cùng một lớp được kỳ vọng làm hệ thống xử lý như nhau. 22, 23, 24 đều lớn hơn 21 nên cùng thuộc lớp bật. "12,16,22" trộn hai lớp: 12 và 16 dưới 18 thuộc lớp tắt, còn 22 thuộc lớp bật. "24,27,17" cũng trộn: 24 và 27 thuộc lớp bật nhưng 17 dưới 18 thuộc lớp tắt. "14,15,19" có 14 và 15 thuộc lớp tắt, còn 19 nằm trong vùng 18 tới 21 nên thuộc lớp giữa, không cùng lớp với hai giá trị kia.
AState transition testing
BLCSAJ (Linear Code Sequence and Jump)
CSyntax testing
DBoundary value analysis
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "LCSAJ (Linear Code Sequence and Jump)". LCSAJ là kỹ thuật hộp trắng (white-box, dựa trên cấu trúc) được mô tả trong BS 7925-2: nó xét các đoạn mã chạy tuần tự rồi nhảy tới một vị trí khác, ca kiểm thử được suy ra từ cấu trúc mã nguồn nên phải nhìn vào bên trong chương trình. Kỹ thuật hộp đen (black-box) suy ra ca kiểm thử từ đặc tả mà không cần biết mã. "State transition testing" là hộp đen vì dựa trên mô hình trạng thái và sự kiện trong đặc tả. "Syntax testing" là hộp đen vì dựa trên văn phạm mô tả định dạng dữ liệu vào, BS 7925-2 xếp nó vào nhóm kỹ thuật đặc tả. "Boundary value analysis" là hộp đen vì lấy giá trị ở biên các phân vùng tương đương được xác định từ đặc tả.
AEnsure the test item is adequately tested
BMake the need for black-box testing redundant.
CRun the risk that the requirements are not satisfied.
DSuffices for the unit testing phase
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Run the risk that the requirements are not satisfied.". Kiểm thử hộp trắng (white-box testing) thiết kế ca kiểm thử từ cấu trúc mã, nên chỉ kiểm được những gì đã được lập trình; nếu một yêu cầu bị hiểu sai hoặc bị bỏ sót hoàn toàn trong mã thì không có câu lệnh hay nhánh nào để phủ, và kiểm thử hộp trắng sẽ không phát hiện ra. Chỉ dùng hộp trắng vì vậy có rủi ro hệ thống không thoả yêu cầu. "Ensure the test item is adequately tested" sai vì độ phủ cấu trúc cao không đảm bảo đủ, còn thiếu góc nhìn từ đặc tả. "Make the need for black-box testing redundant." sai vì hai cách tiếp cận bổ sung cho nhau, hộp đen mới đối chiếu với yêu cầu. "Suffices for the unit testing phase" sai vì ngay ở cấp thành phần vẫn cần kiểm theo đặc tả của thành phần, hộp trắng một mình không đủ.
59Which of these can be successfully tested using Loop Testing methodology (choose one answer)?4 lựa chọn
ASimple Loops
BNested Loops
CConcatenated Loops
DAll of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "All of the others". Kiểm thử vòng lặp (loop testing) là kỹ thuật hộp trắng tập trung vào tính đúng đắn của cấu trúc lặp, với cách thiết kế riêng cho từng loại vòng lặp, nên áp dụng được cho tất cả các loại được nêu. "Simple Loops" là vòng lặp đơn, kiểm thử bằng cách bỏ qua vòng, chạy một lần, hai lần, nhiều lần và quanh số lần tối đa. "Nested Loops" là vòng lặp lồng nhau, kiểm thử từ vòng trong cùng ra ngoài trong khi giữ các vòng ngoài ở giá trị nhỏ nhất. "Concatenated Loops" là các vòng lặp nối tiếp, kiểm thử như vòng đơn nếu chúng độc lập, hoặc như vòng lồng nếu vòng sau phụ thuộc vào vòng trước. Mỗi loại riêng lẻ đều đúng nhưng chọn một cái là chưa đủ, vì kỹ thuật này bao trùm cả ba.
A
BOOKB
BookC
Boo01kD
bookLời giải
Mở trang câu hỏi này →Đáp án đúng: "Boo01k". Phân vùng tương đương (equivalence partitioning) chọn một giá trị đại diện cho mỗi lớp dữ liệu được hệ thống xử lý như nhau; với ô chỉ nhận giá trị chữ và số (alphanumeric), giá trị tiêu biểu cho lớp hợp lệ là chuỗi pha trộn cả chữ cái lẫn chữ số, và "Boo01k" chứa chữ B, o, k cùng chữ số 0 và 1 nên thể hiện đúng lớp này. "BOOK" chỉ gồm chữ in hoa, "Book" chỉ gồm chữ cái với chữ đầu viết hoa, "book" chỉ gồm chữ thường; hiểu rộng thì chuỗi toàn chữ cái vẫn có thể được ô chấp nhận, nhưng chúng không có chữ số nên không đại diện cho đặc trưng chữ và số mà câu hỏi muốn kiểm tra, chúng là đại diện cho lớp chỉ có chữ cái, khác với lớp chữ và số.