Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 51 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
51
Dung lượng
1,1 MB
Nội dung
BÀI 4. CÁC KỸ THUẬT KIỂM THỬ !"#$ %&' ( !")*+,&' !-)./ 0 !!#,! 1 !23 4 !56789 : !;67! < !$=>-?.=@A@BC!? 3)) 07/05/14 1 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) Equivalence partitioning (equivalence class)@6D @!=!EF6test caseG=!H=; F+=$$ !IE F6test caseJ KL)M#Windows calculator: N?N?N(?O PQ;)+HRN( N<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 07/05/14 2 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) Equivalence partitioning (equivalence class@!SA6test case$ ! *TF-2 $6!6*U - D!$V!*equivalence partitionW ⇒ equivalence partition X!*)*+Y@-?)* +Y-?@*#$ -ZY!#! ⇒ TF?!@Y!#!X6#$ $6?[! equivalence partition$6 ⇒ \VX$V]#ADPQAF 07/05/14 3 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) KL)MW06-+copy Windows CalculatorW %$!^)_PQ$^8_ %$!^)_PQ\`^7CN_ %$!^)_PQ\`^_ \`^%N7CN_ \`^%N_ ⇒ @!(Equivalence partitioning ⇒ /A!L?@Equivalence partitioning 07/05/14 4 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) KL)MW !$=>!S^le name” @S;^Save As” aZWindows: BSlenameZWindowsZ ]6$b-?;cdeWfghiQj@X XcV0$b-W • b-Fb • b-$kFb • /lS)@Fb • /l6m2l6 )@ 07/05/14 5 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) K+6equivalence partitioning: BLZ n=!H=L$o?$k$k!G %]Y8ZPQ=Ao 6@6BU@!SX!6 - /!Uop!S@ \l#8#Zq!S 07/05/14 6 7 /r$V %6;X 9V@X!W Positive tests (clean tests): Test dựa trên dened requirements Test những trường hợp, hoàn cảnh sử dụng thông thường Negative tests (dirty tests): Test nhằm tìm ra lỗi Test những trường hợp, hoàn cảnh sử dụng đặc biệt, bất thường (như invalid input, vượt quá trị biên, chịu stress,…) 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) 07/05/14 8 KL)MW]os$b-cH@L! Example program: Begin Read (AAAAAAAAAA) Print End Phân chia lớp tương đương như thế nào? 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) 07/05/14 9 Equivalence classes for “positive” tests: All 10 inputs consist of the same character in upper case, repeated for each letter of the alphabet. ALL 10 inputs consist of the same character in lower case, repeated for each letter of the alphabet. All 10 inputs are different, mixed case. Test Cases: TC01 - Input: AAAAAAAAAA TC26 - Input: ZZZZZZZZZZ TC28 - Input: aaaaaaaaaa TC53 - Input: zzzzzzzzzz TC54 - aBcDeFgHiK TC55 - IhGfEdCbAe 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) KL)MW 07/05/14 10 KL)MW Equivalence classes for “negative” tests: All 10 inputs are numeric. Mixed numeric and alphabetic inputs. Embedded blanks Input consists of one valid character. Input consists of one invalid character. Input includes special characters (*, & %, etc.) Input consists of 11 characters. What would be a correct output for these cases? 4.1. PHÂN CHIA LỚP TƯƠNG ĐƯƠNG (EQUIVALENCE PARTITIONING) 07/05/14 [...]... 07/05/14 35 4.8 STATE MACHINE TESTING 1 Kiểm tra luồng dữ liệu logic của phần mềm: Để kiểm tra luồng logic, tester phải tới thăm tất cả các state bằng mọi path Trừ những chương trình rất đơn giản, tester không thể thực hiện được tất cả các path để đi tới tất cả các state Ví dụ: bài toán nổi tiếng: “đi du lịch tới các thành phố” Áp dụng kỹ thuật equivalence partition để lựa chọn các state và các path... Max, Max+1 lần 30 4.7 SYNTAX TESTING Là kỹ thuật dùng để: Test các câu lệnh (commands) Test việc xử lý các trường phải tuân theo một định dạng xác định Ví dụ về syntax: Ngày tháng Địa chỉ email Công thức toán học do NSD định nghĩa … 07/05/14 31 4.7 SYNTAX TESTING Trình tự thực hiện: Phân tích, nắm rõ qui tắc syntax Thiết kế các positive test cases, sử dụng kỹ thuật Equivalence... 4.5 DOMAIN TESTING Kiểm thử miền là kiểm tra những thông tin mà người sử dụng đưa vào, các kết quả nhận được, và xem xét chúng có đúng không Số lượng test case quá lớn Bí quyết để kiểm thử tốt là: giảm lượng test case bằng equivalence partitioning dựa trên 1 số khái niệm cơ bản: sub - boundary condition Null 07/05/14 boundary condition bad data 17 4.5 DOMAIN TESTING 1 Các điều kiện biên... 07/05/14 23 4.5 DOMAIN TESTING 3 Kiểm thử những trường hợp biên (Testing the Boundary Edges) phân chia tập dữ liệu lộn xộn thành các equivalence partition Phân vùng 1: chứa data mà hi vọng phần mềm làm việc tốt (dữ liệu trong biên) Phân vùng 2: chứ data mà phần mềm dễ phát sinh lỗi (dữ liệu tại 2 đầu của biên) 07/05/14 24 4.5 DOMAIN TESTING 3 Kiểm thử những trường hợp biên 07/05/14 Kiểm tra giá... TESTING 1 Các điều kiện biên (boundary conditions) 2 Các loại điều kiện biên (Types of Boundary Conditions) 3 Kiểm thử những trường hợp biên (Testing the Boundary Edges) 4 Các điều kiên biên con (Sub-Boundary Conditions) 5 Default, Empty, Blank, Null, Zero, và None 6 Invalid, Wrong, Incorrect, và Garbage (vô nghĩa) Data 07/05/14 18 4.5 DOMAIN TESTING 1 Các điều kiện biên (boundary conditions) Nếu phần... điểm mập mờ, chưa rõ ràng => thường nằm trên các giá trị biên Điều kiên biên là trạng thái ở cạnh hay ở những giá trị giới hạn của phần mềm 21 4.5 DOMAIN TESTING 2 Các loại điều kiện biên (Types of Boundary Conditions) 07/05/14 Numeric Speed Character Location Position Size Quantity 22 4.5 DOMAIN TESTING 2 Các loại điều kiện biên: để tìm ra các điều kiên biên,First/Last cần chú ý đến Min/Max... 07/05/14 12 4.2 CONTROL FLOW TESTING Bài tập: Hãy lập sơ đồ mô phỏng hành vi của một hệ thống/kênh bạn cần test Hãy lập sơ đồ mô phỏng hành vi của một tiểu hệ thống/chức năng trong hệ thống đó Hãy lập sơ đồ luồng xử lý đối với một form/item cần test 07/05/14 13 4.3 DATA FLOW TESTING Áp dụng cho các hệ thống “data-intensive” Ví dụ các hệ thống sản sinh báo cáo, thống kê Ví dụ các hệ thống... 14 4.4 TRANSACTION TESTING Áp dụng cho các hệ thống xử lý giao dịch (như đặt vé máy bay, đặt phòng khách sạn, …) Sử dụng mô hình xử lý của hệ thống, chú trọng đến điểm bắt đầu, điểm kết thúc của từng xử lý, chú trọng tới hàng đợi (queue) 07/05/14 15 4.5 DOMAIN TESTING Áp dụng cho các xử lý mà có xác định phạm vi (range) giá trị dữ liệu Chú trọng test các giá trị biên on và of 07/05/14 16 4.5 ... STATE MACHINE TESTING 1 Kiểm tra luồng dữ liệu logic của phần mềm (Testing the Software's Logic Flow) 2 Tạo một bản đồ chuyển trạng thái (Creating a State Transition Map) 3 Làm giảm số lượng các trạng thái và sự chuyển trạng thái để kiểm tra (Reducing the Number of States and Transitions to Test) 4 Những gì cần được kiểm tra trong bản đặc tả (What to Specifically Test) 5 Kiểm thử trạng thái để phát.. .4.2 CONTROL FLOW TESTING Control flow testing Là một kỹ thuật testing căn bản Sử dụng sơ đồ luồng xử lý (control flow graph) Đó là sơ đồ mô hình hoá hành vi của hệ thống, chứ không phải là sơ đồ mô tả các câu lệnh trong code Áp dụng được cho hầu hết các phần mềm, và có hiệu quả Áp dụng được trong mọi testing stages 07/05/14 11 4.2 CONTROL FLOW TESTING Process . BÀI 4. CÁC KỸ THUẬT KIỂM THỬ !"#$. !$V5Zc9Ib?5o@ F 07/05/ 14 4 .4. TRANSACTION TESTING 16 u)M69Ib!@X96.;!6 .)*+ %5o66.Hl@} 07/05/ 14 4.5. DOMAIN TESTING . PARTITIONING) 07/05/ 14 11 %&' 3@!S$tA>H= 7I)M""9Ib&' nX@"!kD6@Z+E?] $k=@"!k=6+) u)MFYV6Y!#!?@X+= u)MF!o 4. 2. CONTROL FLOW TESTING 07/05/ 14 12 7""9Ib Process 1 Process 2 ? Yes No Process 3 More Processing 07/05/ 14 4.2. CONTROL FLOW TESTING 13 v@AW wx8A"!ky@Z!S+Ee$l H;Y wx8A"!ky@Z!S