20
Người hướng dẫn: Vũ Ngọc Sen Trương Huỳnh Ngọc Tân Hệ thống khóa học trực tuyến đại chúng MOOC http://myclass.vn 1

Ky Thuat Kiem Thu Phan Mem

  • Upload
    sontran

  • View
    35

  • Download
    6

Embed Size (px)

DESCRIPTION

Software Testing Basic

Citation preview

Page 1: Ky Thuat Kiem Thu Phan Mem

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

Page 2: Ky Thuat Kiem Thu Phan Mem

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

Page 3: Ky Thuat Kiem Thu Phan Mem

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

Page 4: Ky Thuat Kiem Thu Phan Mem

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

Page 5: Ky Thuat Kiem Thu Phan Mem

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

Page 6: Ky Thuat Kiem Thu Phan Mem

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

Page 7: Ky Thuat Kiem Thu Phan Mem

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)

Page 8: Ky Thuat Kiem Thu Phan Mem

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

Page 9: Ky Thuat Kiem Thu Phan Mem

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

Page 10: Ky Thuat Kiem Thu Phan Mem

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

Page 11: Ky Thuat Kiem Thu Phan Mem

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

Page 12: Ky Thuat Kiem Thu Phan Mem

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ử.

Page 13: Ky Thuat Kiem Thu Phan Mem

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ử.

Page 14: Ky Thuat Kiem Thu Phan Mem

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

Page 15: Ky Thuat Kiem Thu Phan Mem

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ụ

Page 16: Ky Thuat Kiem Thu Phan Mem

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)

Page 17: Ky Thuat Kiem Thu Phan Mem

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)

Page 18: Ky Thuat Kiem Thu Phan Mem

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.

Page 19: Ky Thuat Kiem Thu Phan Mem

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

Page 20: Ky Thuat Kiem Thu Phan Mem

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