Upload
sontran
View
35
Download
6
Embed Size (px)
DESCRIPTION
Software Testing Basic
Citation preview
Người hướng dẫn:
Vũ Ngọc SenTrương Huỳnh Ngọc Tân
Hệ thống khóa học trực tuyến đại chúng MOOChttp://myclass.vn
1
Nội dung khóa học• Chương 1: Tổng quan
– Bài 1: Kiểm thử phần mềm là gì?– Bài 2: Phân biệt Bug, Defect, Error và Failure– Bài 3: Các loại lỗi trong chương trình– Bài 4: Các loại kiểm thử phần mềm– Bài 5: Các nguyên tắc cơ bản của kiểm thử phần mềm– Bài 6: Qui trình kiểm thử phần mềm
• Chương 2: Các kỹ thuật kiểm thử (Testing Techniques)– Bài 7: Kiểm thử hộp đen (Black Box Testing)– Bài 8: Kiểm thử hộp trắng (White Box Testing)– Bài 9: Kiểm thử hộp xám
Khóa học trực tuyến mở MOOC http://myclass.vn
2
Nội dung khóa học (tt)• Chương 3: Các kiểu kiểm thử (Testing Types)
– Bài 10: Kiểm thử đơn vị (Unit Testing)
– Bài 11: Kiểm thử chức năng (Functionality Testing)
– Bài 12: Kiểm thử tích hợp (Integration Testing)
– Bài 13: Kiểm thử hệ thống (System Testing)
– Bài 14: Kiểm thử hồi qui (Regression Testing)
– Bài 15: Kiểm thức chấp nhận (User Acceptance Testing )
Khóa học trực tuyến mở MOOC http://myclass.vn
3
Nội dung khóa học (tt)• Chương 4: Công cụ quản lý lỗi Mantis tool
– Bài 16: Giới thiệu về công cụ Mantis
– Bài 17: Tải và cài đặt công cụ Mantis
– Bài 18: Giới thiệu các Menu chung trong Mantis
– Bài 19: Giới thiệu các Menu quản lý trong Mantis
– Bài 20: Tạo Bug trên Mantis
– Bài 21: Vòng đời của các bug trên Mantis
– Bài 22: Sử dụng Mantis trên Hosting
Khóa học trực tuyến mở MOOC http://myclass.vn
4
Bài 1: Kiểm thử phần mềm là gì?
Kiểm thử phầm mềm là gì?
Tại sao phải Kiểm thử phần mềm?
Khóa học trực tuyến mở MOOC http://myclass.vn
5
Bài 2: Phân biệt Bug, Defect, Error và Failure
• Error
• Mistake
• Bug
• Defect
• Fault
• Failure
Khóa học trực tuyến mở MOOC http://myclass.vn
6
Bài 3: Các loại lỗi trong chương trình
Khóa học trực tuyến mở MOOC http://myclass.vn
7
Lỗi cú pháp(Syntax Faults)
Lỗi khả năng chịu tải(Stress Faults)
Lỗi thuật toán(Algorithmic Faults)
Lỗi liên quan đến thờigian(Timing Faults)
Lỗi liên quan đến độ chínhxác(Precision Faults)
Lỗi thông lượng(Throughput Faults)
Lỗi tài liệu(Documentation Faults)
Lỗi khôi phục
(Recovery faults)
Lỗi phần cứng
(Hardware faults)
Bài 4: Các loại kiểm thử phần mềm
Khóa học trực tuyến mở MOOC http://myclass.vn
8
Bài 5: Các nguyên tắc kiểm thử phần mềm
Khóa học trực tuyến mở MOOC http://myclass.vn
9
7 nguyên tắc cơ bản cần chú ý khi kiểm thửphần mềm: Kiểm thử để chứng minh sự có mặt của lỗi và
không chứng minh điều ngược lại Không thể vét cạn Kiểm thử sớm Phân cụm lỗi Kiểm thử ngược Kiểm thử phụ thuộc vào ngữ cảnh Sai lầm về việc không có lỗi
Bài 6: Qui trình kiểm thử phần mềm
Khóa học trực tuyến mở MOOC http://myclass.vn
10
Lập kế hoạch kiểm thử Chuẩn bị kiểm thử Thực thi kiểm thử Báo cáo phân tích dữ liệu
Bài 7: Kiểm thử hộp đen(Black Box Testing)
Khóa học trực tuyến mở MOOC http://myclass.vn
11
• Các phương pháp kiểm thử HỘP ĐEN bao gồm:
– Equivalence partitioning (Phân vùng tương đương)
– Boundary value analysis (Phân tích giá trị biên)
– All-pairs testing (kiểm thử tất cả các cặp )
– Fuzz testing ( cách test: nhập vào các điều kiện sai hoặc data một cáchngẫu nhiên)
– Model based testing ( kiểm thử dựa trên model)
– Traceability matrix (các chức năng của chương trình được tạo thànhmột ma trận, các trường hợp test là sự kết hợp các dòng hoặc các cộtcó liên quan)
– Exploratoly testing (kiểm thử chủ yếu dựa vào kinh nghiệm và khảnăng focus vào việc test các chức năng của tester)
– Specification-based testing (kiểm thử dựa vào chức năng).
Chương trìnhDữ liệuĐầu vào
Kết quảThực tế
So sánhvới kết quảmong đợi để biếtchương trình đạtyêu cầu hay không
Bài 8: Kiểm thử hộp trắng(White Box Testing)
Khóa học trực tuyến mở MOOC http://myclass.vn
12
Các phương pháp kiểm thử HỘP TRẮNG bao gồm:
Kiểm thử API (giao diện lập trình ứng dụng) - kiểm thử ứngdụng có sử dụng các API công cộng và cá nhân.
Kiểm thử độ bao phủ mã
Phương pháp chèn lỗi - cố tình đưa ra những lỗi lầm đểđánh giá hiệu quả của các chiến lược kiểm thử.
Phương pháp kiểm thử đột biến.
Phương pháp thử tĩnh.
Bao phủ chức năng: dựa vào các báo cáo của chức năng nàythực hiện.
Bao phủ câu lệnh: dựa vào các báo cáo về số lượng cácdòng được thực hiện để hoàn thành kiểm thử.
Bài 9: Kiểm thử hộp xám
Khóa học trực tuyến mở MOOC http://myclass.vn
13
Kiểm tra hợp xám là kỹ thuật kiểm thử cósự kết hợp giữa kiểm thử hộp đen và kiểmthử hộp trắng. Trong đó ta cũng quan tâmđến dữ liệu đầu vào và đầu ra giống nhưtrong kiểm thửu hộp đen, song lại đòi hỏicó sự truy cập đến cáu trúc dữ liệu và giảithuật để thiết kế các trường hợp kiểm thử.
Bài 10: Kiểm thử đơn vị( Unit Testing)
Khóa học trực tuyến mở MOOC http://myclass.vn
14
Đơn vị phần mềm là gì ? (Unit)
Ai sẽ thực hiện Unit Testing
Cần chuẩn bị gì trước khi thựchiện Unit Test
Bài 11: Kiểm thử chức năng (Functionality Testing)
Khóa học trực tuyến mở MOOC http://myclass.vn
15
Kiểm thử giao diện người dùng
Kiểm thử luồng nghiệp vụ
Bài 12: Kiểm thử tích hợp (Integration Testing)
Khóa học trực tuyến mở MOOC http://myclass.vn
16
Kết hợp các thành phần của một ứngdụng và kiểm tra như một ứng dụng đãhoàn thành.
Mục tiêu chính của Integration Test
Các loại Integration Test:
Kiểm tra cấu trúc (Structure)
Kiểm tra chức năng (Functional)
Kiểm tra hiệu năng (Performance)
Kiểm tra khả năng chịu tải (Stress)
Bài 13: Kiểm thử hệ thống (System Testing)
Khóa học trực tuyến mở MOOC http://myclass.vn
17
Mục đích System Test là kiểm tra thiết kế và toànbộ hệ thống (sau khi tích hợp) có thỏa mãn yêu cầuđặt ra hay không.
Một số loại kiểm thử có thể thực hiện:
Kiểm tra chức năng (Functional Test)
Kiểm tra khả năng vận hành (Performance Test)
Kiểm tra khả năng chịu tải (Stress Test hay Load Test)
Kiểm tra cấu hình (Configuration Test)
Kiểm tra tính bảo mật (Security Test)
Kiểm tra khả năng phục hồi (Recovery Test)
Bài 14: Kiểm thử hồi quy(Regression Test )
Khóa học trực tuyến mở MOOC http://myclass.vn
18
Regression Test không phải là một mức kiểmtra, như các mức khác đã nói ở trên.
Nó đơn thuần kiểm tra lại phần mềm sau khicó lỗi xảy ra, để bảo đảm phiên bản phiênbản phần mềm mới được thực hiện tốt cácchức năng như phiên bản cũ và sự thay đổikhông gây ra lỗi mới trên những chức năngvốn đã làm việc tốt.
Regression Test có thể được thực hiện tạimọi mức kiểm tra.
Bài 15: Kiểm thử chấp nhận(Acceptance test)
Khóa học trực tuyến mở MOOC http://myclass.vn
19
Kiểm thử Alpha
Kiểm thử Beta
Khóa học trực tuyến mở MOOC http://myclass.vn
20
XIN CẢM ƠN CÁC BẠN
HỆ THỐNG KHÓA HỌC CNTT HOÀN TOÀN MIỄN PHÍ MYCLASS.VN