1. Trang chủ
  2. » Thể loại khác

BÁO CÁO TÌM HIỂU CÁC HÌNH THỨC KIỂM THỬ PHẦN MỀM

32 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các hình thức kiểm thử phần mềm
Tác giả Trần Thanh Nguyên, Duy Trần Thế Ái, Duyên Trần Thị Vinh Hiển, Nguyễn Trần Kim Hưng, Nguyễn Văn Long
Người hướng dẫn Thầy Lương Trần Hy Hiến
Trường học Trường Đại Học Quản Lý Dự Án Phần Mềm
Chuyên ngành Quản lý dự án phần mềm
Thể loại Báo cáo thực tập hoặc dự án
Năm xuất bản 2023
Thành phố Quận 5
Định dạng
Số trang 32
Dung lượng 3,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tùy theo chương trình đào tạo, mà mỗi giáo trình có cách gọi khác nhau đối với khái niệm: các kỹ thuật kiểm thử, các phương pháp kiểm thử, các hình thức kiểm thử, chiến lược kiểm thử..

Trang 1

Nhóm 2 - Lớp CNTT.Quận 5

4 Nguyễn Trần Kim Hưng

5 Nguyễn Văn Long

GV hướng dẫn: Thầy Lương Trần Hy Hiến

Trang 2

LÝ DO CHỌN BÁO CÁO

1. Tùy theo chương trình đào tạo, mà mỗi giáo trình có

cách gọi khác nhau đối với khái niệm: các kỹ thuật kiểm thử, các phương pháp kiểm thử, các hình thức kiểm thử, chiến lược kiểm thử.

2. Qua tìm hiểu nhằm hệ thống hóa được khái niệm

“Các hình thức kiểm thử phần mềm” theo cách gọi thông dụng nhất.

Trang 3

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

3

NỘI DUNG BÁO CÁO

Trang 4

Chủ yếu phân tích các khái niệm về kiểm thử và các hình thức kiểm thử mà nhóm tìm hiểu được.

Chưa đi sâu việc thiết kế test – case

ứng với từng hình thức kiểm thử.

PHẠM VI BÁO CÁO

Trang 5

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

5

* Tài liệu tham khảo

Để thực hiện được báo cáo tìm hiểu này, nhóm chúng tôi đã tìm hiểu và tham khảo trên các tài liệu như sau:

1 Bài 07 trong Bài giảng môn NMCNPM của Thầy Lương Trần Hy Hiến.

2 Các bài viết, thảo luận về kiểm thử trên website http://www.testingvn.com/

Trang 7

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

7

I.1 Kiểm thử phần mềm là gì?

Kiểm thử phần mềm có nhiều cách định nghĩa khác nhau Nhưng đều bao hàm hai nội dung cơ bản là: phát hiện lỗi và đánh giá chất lượng của phần mềm.

Định nghĩa của Myers: “ Kiểm thử là tiến trình thực thi chương trình với mục đích tìm thấy lỗi ”.

Trang 8

Mục đích thứ nhất (Kiểm thử thiếu sót):

- Để khám phá lỗi hay thiếu sót trong phần mềm

mà do đó phần mềm hành xử không đúng hay không tuân thủ theo đặc tả của nó.

- Một test thành công là một test làm cho hệ thống thi hành không đúng và do đó lộ ra thiếu sót trong hệ thống.

I.2 Mục đích của kiểm thử

Trang 9

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

Trang 10

I.3 Một số nguyên tắc kiểm thử

Kiểm thử phải được lập kế hoạch.

Một ca kiểm thử phải định nghĩa kết quả mong muốn.

Các ca kiểm thử nên được thiết kế cho cả những

dữ liệu vào hợp lệ và không hợp lệ.

Một ca kiểm thử tốt là ca kiểm thử có khả năng cao phát hiện những lỗi chưa được tìm thấy

Trang 11

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

11

I.3 Một số nguyên tắc kiểm thử

Kiểm thử nên được thực hiện bởi một nhóm độc lập với nhóm phát triển.

Ép các kết quả tính toán phải hoặc là quá lớn hoặc là quá nhỏ Kết quả kiểm thử phải được kiểm tra một cách cẩn thận.

Các hoạt động kiểm thử phải được tích hợp vào tiến trình phát triển phần mềm.

Trang 12

I.4 Các giai đoạn kiểm thử

- Cách gọi khác: cấp độ/ mức độ kiểm thử

- Các cấp độ kiểm thử cơ bản gồm:

1. Kiểm thử đơn vị (Unit Testing).

2. Kiểm thử tích hợp (Integration Testing).

3. Kiểm thử hệ thống (System Testing).

4. Kiểm thử chấp nhận (Acceptance Testing).

Trang 13

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

13

I.4 Các giai đoạn kiểm thử

- Ngoài ra còn có các cấp độ kiểm thử khác như:

1. Kiểm thử hồi quy (Regression Testing).

2. Kiểm thử tính đúng (Correctness Testing).

Trang 14

II Các hình thức kiểm thử phần mềm

1 Theo Tổ chức thẩm định về KTPM quốc

tế-ISTBQ) có hai hình thức là:

1.1 Kiểm thử tĩnh 1.2 Kiểm thử động

2 Theo khái niệm thông thường có ba hình thức

là:

2.1 Kiểm thử hộp đen.

2.2 Kiểm thử hộp trắng.

Trang 15

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

15

II.1.1 Kiểm thử tĩnh (Static testing)

Kiểm thữ tĩnh là một hình thức của kiểm thử

phần mềm mà phần mềm không được sử dụng

Nó không kiểm thử chi tiết mà chủ yếu kiểm tra tính đúng đắn của mã lệnh (code), thuật toán hay tài liệu.

Chủ yếu kiểm tra cú pháp của code: kiểm tra

xem code có được viết theo đúng tiêu chuẩn code; hoặc tài liệu để tìm lỗi bằng cách thủ công (sử dụng giấy, bút để kiểm tra logic, lần từng chi tiết mà không cần chạy chương trình).

Trang 16

II.1.1 Kiểm thử tĩnh (Static testing)

Có thể được sử dụng bởi những người lập trình

làm việc một cách độc lập.

Kiểm thử tĩnh cũng có thể được tự động hóa

thông qua bộ phần mềm bao gồm các chương trình được phân tích bởi một thông dịch viên hoặc một trình biên dịch khẳng định tính hợp lệ

về cú pháp của chương trình.

Trang 17

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

17

II.1.2 Kiểm thử động (Dymatic testing)

Là hình thức kiểm thử phần mềm thông qua

việc dùng máy chạy chương trình để điều tra trạng thái tác động của chương trình.

Kiểm thử động bao gồm: làm việc với phần

mềm, nhập các giá trị đầu vào và kiểm tra xem đầu ra có như mong muốn hay không.

Trang 18

II.1.2 Kiểm thử động (Dymatic testing)

Trong kiểm thử động, phần mềm phải thực sự

được biên dịch và chạy.

Sử dụng các cấp độ kiểm thử (đã nêu ở phần

I.4) để thực hiện trong quá trình kiểm thử động.

Trang 19

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

19

II.2.1 Kiểm thử hộp đen (Black box testing)

Còn gọi là kỹ thuật kiểm thử chức năng.

Dữ liệu kiểm thử được xuất phát từ đặc tả phần

mềm, bao gồm:

- Đặc tả yêu cầu (trong giai đoạn kiểm thử hệ thống)

- Đặc tả thiết kế (trong giai đoạn kiểm thử tích hợp)

- Đặc tả chi tiết mô đun (trong giai đoạn kiểm thử đơn vị)

Trang 20

II.2.1 Kiểm thử hộp đen (Black box testing)

Tester không cần phải có kiến thức về

ngôn ngữ lập trình, môi trường phát triển phần mềm, các hệ QT.CSDL,…

Tester thao tác các chức năng của hệ

thống như là một người sử dụng hệ thống.

Trang 21

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

21

II.2.1 Kiểm thử hộp đen (Black box testing)

Các loại hình kiểm thử hộp đen thông dụng:

- Kiểm thử giao diện (Interface testing)

- Kiểm thử khả năng chịu đựng của hệ thống (Stress testing)

- Kiểm thử phát hành (Release testing)

- Kiểm thử Alpha, Kiểm thử Beta, …

Ví dụ minh họa kiểm thử giao diện:

Trang 22

II.2.1 Kiểm thử hộp đen (Black box testing)

Trang 23

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

23

II.2.1 Kiểm thử hộp đen (Black box testing)

Trang 24

II.2.1 Kiểm thử hộp đen (Black box testing)

Để thực hiện kiểm thử hộp đen, các Tester sử dụng

các phương pháp sau:

- Phân lớp tương đương (Equivalence partitioning)

- Phân tích giá trị biên (Boundary value analysis)

- Kiểm thử tất cả các cặp (All-pairs testing)

- Kiểm thử Fuzz (Fuzz testing).

Trang 25

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

25

II.2.1 Kiểm thử hộp đen (Black box testing)

Để thực hiện kiểm thử hộp đen, các Tester sử dụng

các phương pháp sau:

- Kiểm thử dựa trên model (Model-based testing).

- Ma trận dấu vết (Traceability matrix).

- Kiểm thử thăm dò (Exploratory testing).

- Kiểm thử dựa vào đặc tả / chức năng base testing).

Trang 26

(Specification-II.2.2 Kiểm thử hộp trắng (White box testing)

Còn gọi là kỹ thuật kiểm thử cấu trúc.

Kiểm tra tính logic và cấu trúc của mã nguồn.

Kiểm tra tất cả các trường hợp có thể xảy ra trong

mã nguồn (cấu trúc điều khiển, cấu trúc lặp, …)

Tester cần phải có kiến thức về ngôn ngữ lập trình,

môi trường phát triển phần mềm, các hệ QT.CSDL,

Trang 27

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

27

II.2.2 Kiểm thử hộp trắng (White box testing)

Các loại hình kiểm thử hộp trắng thông dụng:

- Kiểm thử bộ phận (Component testing)

- Kiểm thử lớp đối tượng (Object class testing)

Ví dụ minh họa kiểm thử bộ phận:

Trang 28

II.2.2 Kiểm thử hộp trắng (White box testing)

Trang 29

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

29

II.2.2 Kiểm thử hộp trắng (White box testing)

Trang 30

II.2.2 Kiểm thử hộp trắng (White box testing)

Để thực hiện kiểm thử hộp trắng, các Tester sử dụng

các phương pháp sau:

- Bao phủ mã lệnh (Code coverage)

- Gán lỗi (Fault injection methods)

- Kiểm thử hoán chuyển (Mutation testing methods)

- Kiểm thử tĩnh (Fuzz testing).

- Kiểm thử giao diện lập trình ứng dụng (API testing-

Trang 31

Nhóm 2 - Lớp CNT T.Quận 5

Môn Quản lý dự án phần mềm

31

II.2.3 Kiểm thử hộp xám (Gray box testing)

Là hình thức mới hình thành và đòi hỏi trình độ cao.

Là kiểu trung gian giữa kiểm thử hộp đen và kiểm thử

hộp trắng, trong đó tester phải vận dụng các kiến thức về thuật toán, cấu trúc bên trong chương trình,

… như của hộp trắng nhưng để thiết kế testcase theo hương người sử dụng hoặc có testcase như của hộp đen.

Trang 32

***** Lời kết

Nội dung báo cáo đã kết thúc.

Xin chân thành cảm ơn sự chú ý theo dõi của Thầy và các bạn; và rất mong được sự góp ý để báo cáo của nhóm chúng tôi hoàn thiện hơn!

*****

Ngày đăng: 15/12/2022, 17:11

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w