Slide 1 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HCM HỆ THỐNG ĐÀO TẠO CNTT T3H – CƠ SỞ HÀ NỘI Các kỹ thuật kiểm thử GV Trương Khánh Cường Bài 3 Nội dung chính Hai loại chính của kiểm thử và các kỹ thuật củ.
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HCM HỆ THỐNG ĐÀO TẠO CNTT T3H – CƠ SỞ HÀ NỘI Bài 3: Các kỹ thuật kiểm thử GV: Trương Khánh Cường Nội dung Hai loại kiểm thử kỹ thuật nó: Kiểm thử tĩnh (Static testing) Kiểm thử động (Dynamic testing) Hai cách tiếp cận kiểm thử Testing Static testing Dynamic testing Static techniques Dynamic techniques Hai cách tiếp cận kiểm thử (t) Static testing (Kiểm thử tĩnh): Các câu hỏi nảy sinh: + Có thể đánh giá phân tích tài liệu: requirement, design, test plan, user manual (tài liệu hướng dẫn sử dụng)? + Làm để kiểm tra trước source code cách hiệu trước execution? Static testing (e.g reviews ) Tất sản phẩm phần mềm (software work products) kiểm thử kỹ thuật review Hai cách tiếp cận kiểm thử (t) Static testing (Kiểm thử tĩnh) (t): Sản phẩm phần mềm (software work products) kiểm tra tay, tập tool, không thực thi Dynamic testing (Kiểm thử động): Phần mềm (software) thực thi cách sử dụng tập giá trị đầu vào; tập giá trị đầu tương ứng kiểm tra so sánh với mong đợi Chỉ áp dụng cho mã nguồn (software code) Tìm defect & xác định thuộc tính chất lượng mã nguồn Không sử dụng cho đa số sản phẩm phần mềm (software work products) Hai cách tiếp cận kiểm thử (t) Hai phương pháp này: Bổ sung cho Tìm loại defect khác cách hiệu (effectively and efficiently) Static testing Dynamic testing 1.1 Static testing – Tổng quan Lợi ích: Được tiến hành sớm vòng đời => sớm nhận phản hồi vấn đề chất lượng Phát sớm defect giai đoạn đầu => chi phí làm lại tương đối thấp => cải thiện chất lượng với giá thành rẻ Công sức làm lại giảm đáng kể => suất phát triển tăng Góp phần làm tăng nhân thức vấn đề chất lượng Loại defect tìm thấy: Sai khác với chuẩn, lỗi requirement, lỗi thiết kế, đoạn code maintain, không thống đặc tả giao diện => Tìm defect failure 1.2 Static testing – Quy trình review Các loại review thay đổi từ khơng hình thức đến hình thức: - Có thể khơng theo quy trình - Không yêu cầu tài liệu - Tuân theo quy trình thức - Phải lập tài liệu 1.2 Static testing – Quy trình review Quy trình formal review Plan: - Định nghĩa tiêu chí review - Lựa chọn người tham gia - Phân chia vai trò - Định nghĩa tiêu chí đầu vào, đầu - Chọn phần tài liệu để review - Kiểm tra tiêu chí đầu 1.2 Static testing – Quy trình review Quy trình formal review Kick-off: - Chuyển tài liệu - Giải thích mục tiêu, quy trình tài liệu cho người tham gia Individual preparation (Chuẩn bị cá nhân): - Chuẩn bị cho review meeting cách xem trước tài liệu - Ghi lại lỗi tiềm năng, đặt câu hỏi comment Dynamic testing – Kiểm thử hộp đen Kiểm thử xác định giá trị biên: (Boundary Value Analysis) Dựa điểm giới hạn phân vùng Dynamic testing – Kiểm thử hộp đen Kiểm thử xác định giá trị biên: Test form đăng ký vay tiền sau: Customer Name – 64 char Account number digits, 1st non-zero Loan 500 - 9000 Term – 30 years Monthly repay Min 10$ Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật dùng bảng định: - VD: Login với giá trị Email Password True/False Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật dùng bảng định: - VD: Login với giá trị Email Password Blank/Valid/Invalid Dynamic testing – Các kĩ thuật thiết kế kiểm thử Optimize TCs: Dynamic testing – Các kĩ thuật thiết kế kiểm thử Optimize TCs Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật dùng bảng định: Bài tập: User Name Email Age Password True False True False True False True False Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử chuyển trạng thái: Mô tả giống máy trạng thái - VD: Dạng đồ thị Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử chuyển trạng thái: Mô tả giống máy trạng thái - Gồm phần: - State: - Transition: -> - Event: enter PIN, enter card - Action: message, eat card, return card Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử chuyển trạng thái: Mô tả giống máy trạng thái 2nd try Start 3rd try 1st try Locked screen Unlocked screen Request Finger print 1st try 2nd try 3rd try Lock Phone minutes Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử phân loại: Classification tree - VD: Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử dựa use case - VD: Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử dựa use case - VD: Xem điểm thi: Dynamic testing – Dựa kinh nghiệm Đoán lỗi: Là kĩ thuật bổ trợ cho kĩ thuật khác Phụ thuộc vào kĩ năng, kinh nghiệm tester Test phá:Là phương pháp thực hành, tester lập kế hoạch thực test nhiều Kế hoạch lập theo phần test giới hạn thời gian (time-box 1-2 giờ) Test design execute thực song song mà không cần lập tài liệu ... testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử chuyển trạng thái: Mô tả giống máy trạng thái - VD: Dạng đồ thị Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử chuyển... minutes Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử phân loại: Classification tree - VD: Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật kiểm thử dựa use case -... Dynamic testing – Các kĩ thuật thiết kế kiểm thử Optimize TCs: Dynamic testing – Các kĩ thuật thiết kế kiểm thử Optimize TCs Dynamic testing – Các kĩ thuật thiết kế kiểm thử Kỹ thuật dùng bảng