Phần II. nguyên lý kiểm thử phần mềm

Nội dung: Bài 3: Các phương pháp kiểm thử Bài 4: Các kỹ thuật kiểm thử Bài 5: Các vấn đề cần kiểm thử Bài 6: Các giai đoạn kiểm thử

ppt23 trang | Chia sẻ: mamamia | Lượt xem: 1710 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Phần II. nguyên lý kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHẦN II. NGUYÊN LÝ KIỂM THỬ PHẦN MỀM Nội dung: Bài 3: Các phương pháp kiểm thử Bài 4: Các kỹ thuật kiểm thử Bài 5: Các vấn đề cần kiểm thử Bài 6: Các giai đoạn kiểm thử * * BÀI 3. CÁC PHƯƠNG PHÁP KIỂM THỬ Nội dung: 3.1. Test to pass, test to fail 3.2. Phương pháp kiểm thử hộp trắng (white box test) 3.3. Phương pháp kiểm thử hộp đen (black box test) 3.4. Phương pháp kiểm thử hộp xám (gray box test) 3.5. Kiểm thử tĩnh (static), kiểm thử động (dynamic) 3.6. Kết hợp các phương pháp kiểm thử 3.7. Standard và guideline của quá trình coding * * 3.1. TEST–TO–PASS VÀ TEST–TO–FAIL Test – to – pass: thực hiện kiểm tra với những chức năng tối thiểu của phần mềm => pass Test – to – fail: thực hiện với kiểm tra những trường hợp lắt léo, bí ẩn, cố gắng để bắt lỗi => fail Thứ tự thực hiện : test – to – pass và test – to – fail Thứ tự này không bắt buộc => đạt được mục đích: bắt lỗi * * 3.2. PHƯƠNG PHÁP KIỂM THỬ HỘP TRẮNG (WHITE BOX TEST) * * White box testing – test hộp trắng Còn gọi là structural testing Test dựa trên cấu trúc của code Definition Both parts of the predicate are tested Program Sample shows that all 4 test conditions are tested Conditions Table ( 2 n ) Program Sample If((A > 1) AND (B=0) { //sub-statement 1 } Else { //sub-statement 2 } Test Conditions 1. (A > 1) AND (B = 0) 2. (A > 1) AND (B NOT = 0) 3. (A 1) OR (B=0) { //sub-statement 1 } Else { //sub-statement 2 } Test Conditions 1. (A > 1) OR (B = 0) 2. (A1) OR (B NOT= 0) 3.2. EXAMPLE: WHITE BOX TEST WITH “OR” Definition A test case design technique in which test cases are designed to execute all the outcomes of every decision Program Sample IF Y > 1 THEN Y = Y + 1 IF Y > 9 THEN Y = Y + 1 ELSE Y = Y + 3 END Y = Y + 2 ELSE Y = Y + 4 END 3.2. EXAMPLE: WHITE BOX TEST WITH “if…else” No. Of Paths = 3 Test Cases: 1 (Y > 1) and (Y > 9) 2 (Y > 1) and (Y b hoặc a không có bản đặc tả, người kiểm thử => tester phải trao đổi với coder, manager, … => đưa ra bản đặc tả: chi tiết hoặc chỉ là những câu hỏi của người đang thiết kế phần mềm. * * b) KIỂM THỬ DYNAMIC BLACK - BOX Cách kiểm thử phần mềm mà tester không hề biết gì về đoạn code kiểm thử gọi là Dynamic black – box testing (behavioral testing ) Dynamic: bạn sẽ đóng vai trò là một khách hàng và chạy chương trình Black – box: bạn đang kiểm tra nó mà không hề biết chính xác cái cách mà nó làm việc requirements document và product specification => testcase (input, output) * * b) KIỂM THỬ DYNAMIC BLACK - BOX Test case: Lựa chọn các test case là nhiệm vụ quan trọng nhất của tester Test case được lựa chọn phải đảm bảo kiểm tra ít trường hợp mà vẫn đạt hiệu quả cao VD: Kiểm thử phương thức Division * * b) KIỂM THỬ DYNAMIC BLACK - BOX Nếu không có Spec (big - bang, code - and - fix), tester sẽ phải kiểm thử một cách mò mẫm Đồng thời: tìm hiểu phần mềm, thiết kế testcase, thực thi chúng Coi phần mềm như một bản đặc tả, tìm hiểu các feature của phần mềm bằng chính các feature này Khó có thể kiểm tra phần mềm một cách triệt để * * c) DYNAMIC WHITE BOX TESTING Dynamic white-box testing, tóm tắt ngắn gọn là sử dụng những thông tin mà bạn thu được từ việc xem xét những vấn đề mà code thực hiện và cách nó làm việc để xác định những thứ cần test, những thứ không cần test, và cách kiểm thử Phân biệt giữa 2 khái niệm: dynamic white-box testing và debugging * * c) DYNAMIC WHITE BOX TESTING Phân biệt giữa 2 khái niệm: dynamic white-box testing và debugging * * 3.7. STANDARD VÀ GUIDELINE CỦA QUÁ TRÌNH CODING Standard: là các tiêu chuẩn quốc tế về coding bắt buộc 1 phần mềm đạt chuẩn phải tuân theo Guideline: là các hướng dẫn viết coding khuyến khích các kỹ sư lập trình tuân theo * * 3.7. STANDARD VÀ GUIDELINE CỦA QUÁ TRÌNH CODING Các standard có 4 phần chính: Title miêu tả chủ đề mà standard muốn trình bày Standard (hoặc guideline) miêu tả, giải thích chính xác những thứ được phép và không được phép Justification (sự biện hộ, chứng minh): đưa ra những lý do để người lập trình hiểu là tại sao nó là cách lập trình tốt Example (ví dụ): biểu diễn những mẫu lập trình đơn giản về cách sử dụng standard. Cái này có thể không cần thiết * * 3.7. STANDARD VÀ GUIDELINE CỦA QUÁ TRÌNH CODING Các chuẩn quốc gia và quốc tế dành cho hầu hết các ngôn ngữ lập trình và công nghệ thông tin có thể thu được từ những tài liệu sau: American National Standards Institute (ANSI), www.ansi.org International Engineering Consortium (IEC), www.iec.org International Organization for Standardization (ISO), www.iso.ch National Committee for Information Technology Standards (NCITS), www.ncits.org * * 3.7. STANDARD VÀ GUIDELINE CỦA QUÁ TRÌNH CODING Các tài liệu giải thích về các programming guideline và cách thực hiện tốt nhất có thể tìm thấy trong các tổ chức chuyên nghiệp như: Association for Computing Machinery (ACM), www.acm.org Institute of Electrical and Electronics Engineers, Inc (IEEE), www.ieee.org * * BÀI 3. CÂU HỎI So sánh kiểm thử black box, white box, gray box? Khi nào áp dụng static testing, khi nào áp dụng dynamic testing? Thế nào là Standard? Thế nào là Guideline? Nếu bạn đang kiểm tra khả năng phát lệnh in tới một máy in cho phép in nhiều trang trên 1 khổ giấy (với đặc tả cho phép in số lượng trang chẵn và in tối đa là 8 trang trên 1 khổ giấy), những trường hợp nào có thể là các test – to – fail? * *
Tài liệu liên quan