tiểu luận môn học công nghệ phần mềm đề tài hệ thống các kỹ thuật kiểm thử phần mềm

23 1 0
Tài liệu đã được kiểm tra trùng lặp
tiểu luận môn học công nghệ phần mềm đề tài hệ thống các kỹ thuật kiểm thử phần mềm

Đ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

Kiểm thử phần mềm đóng vai trò quan trọng trong việc đảm bảo rằng sản phẩm phần mềm được phát triển đáp ứng các yêu cầu chất lượng, đồng thời giúp cải thiện hiệu suất, tính bảo mật và độ

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN MÔN HỌC : CÔNG NGHỆ PHẦN MỀMGiảng viên hướng dẫn: Đoàn Như TùngĐề tài: Hệ thống các kỹ thuật kiểm thử phần mềm Sinh viên thực hiện:

Họ và tên: Nguyễn Văn Dũng Mã số sinh viên: 0003467 Lớp: 67IT4

HÀ NỘI, NGÀY 18 THÁNG 03 NĂM 2024

Trang 2

Chương 2: Nội dung của mỗi loại kiểm thử 6

1.2.1 Kiểm thử đơn vị (Unit Testing) 6

2.1.1 Khái niệm 6

2.1.2 Mục tiêu 6

2.1.3 Cách thực hiện 6

2.1.4 Công cụ 7

2.1.5 Ưu và nhược điểm 7

2.2 Kiểm thử tích hợp (Integration Testing) 8

2.2.1 Khái niệm 8

2.2.2 Mục tiêu 8

2.2.3 Cách thực hiện 8

2.2.4 Công cụ 8

2.2.5 Ưu và nhược điểm 9

2.3 Kiểm thử hệ thống (System Testing) 9

2.3.1 Khái niệm 9

1

Trang 3

2.3.2 Mục tiêu 9

2.3.3 Cách thực hiện 10

2.2.4 Công cụ 10

2.2.5 Ưu và nhược điểm 10

2.4 Kiểm thử chấp nhận (Acceptance Testing) 11

2.4.1 Khái niệm 11

2.4.2 Mục tiêu 11

2.4.3 Cách thực hiện 11

2.4.4 Công cụ 11

2.4.5 Ưu và nhược điểm 12

2.5 Kiểm thử hộp đen (Black Box Testing) 12

2.5.1 Khái niệm 12

2.5.2 Nguyên tắc 12

2.5.3 Cách thực hiện 13

2.5.4 Công cụ 13

2.5.5 Ưu và nhược điểm 13

2.6 Kiểm thử hộp trắng (White Box Testing) 14

2.6.1 Khái niệm 14

2.6.2 Nguyên tắc 14

2.6.3 Cách thực hiện 14

2.6.4 Công cụ 14

2.6.5 Ưu và nhược điểm 15

2.7 Kiểm thử hộp xám (Gray Box Testing) 15

2.7.1 Khái niệm 15

2.7.2 Mục tiêu 15

2.7.3 Cách thực hiện 16

2.7.4 Công cụ 16

2.7.5 Ưu và nhược điểm 16

2.8 Kiểm thử chức năng (Functional Testing) 17

Trang 4

2.8.1 Khái niệm 17

2.8.2 Mục tiêu 17

2.8.3 Cách thực hiện 17

2.8.4 Công cụ 18

2.8.5 Ưu và nhược điểm 18

2.9 Kiểm thử phi chức năng (Non-Functional Testing) 18

2.9.1 Khái niệm 18

2.9.2 Mục tiêu 19

2.9.3 Cách thực hiện 19

2.9.4 Công cụ 19

2.9.5 Ưu và nhược điểm 19

2.10 Kiểm thử hồi quy (Regression Testing) 20

Trang 5

Lời Cảm Ơn

Em xin bày tỏ lòng biết ơn sâu sắc đến khoa công nghệ thông tin của Trường Đại Học Xây Dựng Hà Nội, cũng như đến Giảng viên Đoàn Như Tùng, với sự tận tâm và hướng dẫn trong suốt môn học đã giúp em hoàn thành bài tiểu luận với đề tài “ Hệ thống các kỹ thuật kiểm thử phần mềm.

Dù em đã cố gắng hết sức hoàn thành đề tài một cách tốt nhất, nhưng chắc chắn sẽ không tránh khỏi những sai sót Do thời gian và trình độ kiến thức còn có hạn nên em chưa thể hoàn thành bài tiểu luận một cách hoàn hảo Vì vậy, em mong sẽ nhận được những sự góp ý từ thầy để em có thể hoàn thành bài tiểu luận một cách hoàn hảo hơn.Một lần nữa, em xin cảm ơn sự hỗ trợ và dẫn dắt của Giảng viên Đoàn Như Tùng trong suốt môn học này.

Em xin chân thành cảm ơn

Lời Cam Đoan

Em xin cam đoan bài tiểu luận trên là bài nghiên cứu độc lập của riêng em Các thôngtin, số liệu sử dụng phân tích trong bài tiểu luận có nguồn gốc rõ ràng, đã công bố theo đúng quy định Các kết quả nghiên cứu trong tiểu luận là do em tự tìm hiểu và tổng hợp lại một cách chính xác và cụ thể nhất.

Trang 6

Phần Mở đầu

Trong thế giới phần mềm hiện đại, việc đảm bảo chất lượng của sản phẩm là một yếu tố không thể phủ nhận Kiểm thử phần mềm đóng vai trò quan trọng trong việc đảm bảo rằng sản phẩm phần mềm được phát triển đáp ứng các yêu cầu chất lượng, đồng thời giúp cải thiện hiệu suất, tính bảo mật và độ tin cậy của hệ thống.

Với sự phát triển không ngừng của công nghệ và môi trường phát triển phần mềm ngày càng phức tạp, có một loạt các kỹ thuật và công cụ kiểm thử phần mềm được sử dụng để đảm bảo rằng sản phẩm cuối cùng đáp ứng các yêu cầu chất lượng và mục tiêu kinh doanh.

Trong bài tiểu luận này, chúng ta sẽ đi sâu vào việc tổng kết và phân loại các kỹ thuật kiểm thử phần mềm phổ biến nhất hiện nay, cùng với các công cụ hỗ trợ tương ứng.Bằng cách phân tích và tổng hợp kiến thức này, chúng ta sẽ có cái nhìn tổng quan về cáchcác tổ chức và nhà phát triển phần mềm tiếp cận và triển khai quy trình kiểm thử để đảm bảo chất lượng và sự thành công của dự án phần mềm.

5

Trang 7

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

1.2.2 Phương pháp kiểm thử

- Kiểm thử hộp đen (Black Box Testing).- Kiểm thử hộp trắng (White Box Testing).- Kiểm thử hộp xám (Gray Box Testing).

1.2.3 Loại hình kiểm thử

- Kiểm thử chức năng (Functional Testing).- Kiểm thử phi chức năng (Non-Functional Testing).- Kiểm thử hồi quy (Regression Testing).

Chương 2: Nội dung của mỗi loại kiểm thử

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

2.1.1 Khái niệm

Kiểm thử đơn vị là một kỹ thuật kiểm thử phần mềm nhằm xác minh tính chính xác của các đơn vị code riêng lẻ, thường là các hàm, phương thức hoặc lớp Kiểm thử đơn vị được thực hiện bởi các lập trình viên ngay sau khi viết code để đảm bảo code hoạt động theo thiết kế.

1, Viết các trường hợp kiểm thử:

- Xác định các đầu vào đầu ra mong muốn của đơn vị code.

- Viết các trường hợp kiểm thử để kiểm tra tất cả các trường hợp hợp lệ và không hợp lệ.

2, Chạy các trường hợp kiểm thử:

Trang 8

- Sử dụng framework kiểm thử đơn vị để tự động hoá việc chạy các trường hợp kiểm thử.

- Xác minh kết quả của các trường hợp kiểm thử.3, Sửa lỗi

- Nếu có trường hợp kiểm thử nào thất bại, cần sửa lỗi trong code.- Chạy lại các trường hợp kiểm thử để đảm bảo lỗi được sửa chữa.

Trang 9

2.2.1 Khái niệm

Kiểm thử tích hợp là một kỹ thuật kiểm thử phần mềm nhằm xác minh tính tương thích và phối hợp giữa các đơn vị code riêng lẻ sau khi chúng được tích hợp thành một hệthống hoàn chỉnh Kiểm thử tích hợp được thực hiện sau khi hoàn thành kiểm thử đơn vị và trước khi tiến hành kiểm thử hệ thống.

1, Thiết kế các trường hợp kiểm thị:

- Xác định các giao diện giữa các đơn vị code.

- Viết các trường hợp kiểm thử để kiểm tra tất cả các trường hợp lệ và không hợp lệ của các giao diện này.

2, Chạy các trường hợp kiểm thử:

- Sử dụng công cụ kiểm thử tích hợp để tự động hoá việc chạy các trường hợp kiểm thử.

- Xác minh kết quả của các trường hợp kiểm thử.3, Sửa lỗi:

- Nếu có trường hợp kiểm thử nào thất bại, cần sửa lỗi trong code hoặc thiết kế của hệ thống.

- Chạy lại các trường hợp kiểm thử để đảm bảo lỗi đã được chữa.

2.2.4 Công cụ

- Selenium, Cypress: Dùng để kiểm thử giao diện người dùng.- Postman: Dùng để kiểm thử API.

- Jmeter, Gatling: Dùng để kiểm thử tải.

2.2.5 Ưu và nhược điểm

Trang 10

2.3.2 Mục tiêu

- Đảm bảo hệ thống đáp ứng yêu cầu đề ra: Kiểm thử hệ thống giúp đảm bảo hệ thống đáp ứng tất cả các yêu cầu về chức năng, hiệu năng, bảo mật, khả năng sử dụng, v.v.

- Phát hiện lỗi hệ thống: Kiểm thử hệ thống giúp phát hiện lỗi hệ thống, bao gồm cả lỗi chức năng, lỗi hiệu năng, lỗi bảo mật, v.v.

- Tăng cường độ tin cậy và chất lượng hệ thống: Kiểm thử hệ thống giúp tăng cườngđộ tin cậy và chất lượng hệ thống, giảm thiểu rủi ro lỗi xảy ra trong quá trình sử dụng.

2.3.3 Cách thực hiện

9

Trang 11

1, Lập kế hoạch kiểm thử hệ thống: Xác định các loại hình kiểm thử cần thực hiện, phạm vi kiểm thử, tài nguyên cần thiết và lịch trình kiểm thử.

2, Thiết kế các trường hợp kiểm thử: Viết các trường hợp kiểm thử để kiểm tra tất cả các chức năng, hiệu năng, bảo mật, khả năng sử dụng, v.v của hệ thống.

3, Thực hiện kiểm thử: Chạy các trường hợp kiểm thử và ghi lại kết quả.4, Phân tích kết quả: Phân tích kết quả kiểm thử để xác định lỗi hệ thống.5, Báo cáo kết quả: Báo cáo kết quả kiểm thử cho các bên liên quan.

với việc sửa lỗi sau khi hệ thống đã được triển khai.2, Nhược điểm:

- Tốn thời gian: Việc thực hiện kiểm thử hệ thống có thể tốn thời gian, đặc biệt là cho các hệ thống phức tạp.

- Tốn kém chi phí: Việc sử dụng các công cụ kiểm thử và thuê tester có thể tốn kém.- Có thể khó bảo trì: Việc bảo trì các trường hợp kiểm thử hệ thống có thể khó khăn

khi hệ thống thay đổi.

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

Trang 12

2.4.1 Khái niệm

Kiểm thử chấp nhận là một kỹ thuật kiểm thử phần mềm nhằm xác minh và xác nhận hệ thống phần mềm đáp ứng các yêu cầu của người dùng và có thể được chấp nhận để triển khai Kiểm thử chấp nhận được thực hiện bởi người dùng cuối hoặc đại diện của người dùng cuối, sau khi hoàn thành kiểm thử hệ thống.

2.4.2 Mục tiêu

- Đảm bảo hệ thống đáp ứng nhu cầu của người dùng: Kiểm thử chấp nhận giúp đảm bảo hệ thống đáp ứng tất cả các yêu cầu về chức năng, hiệu năng, bảo mật, khả năng sử dụng, v.v của người dùng.

- Phát hiện lỗi hệ thống: Kiểm thử chấp nhận giúp phát hiện lỗi hệ thống mà các kỹ thuật kiểm thử khác không thể phát hiện được, bao gồm cả lỗi về khả năng sử dụng, trải nghiệm người dùng, v.v.

- Tăng cường sự hài lòng của người dùng: Hệ thống được kiểm thử kỹ lưỡng bởi người dùng sẽ mang lại trải nghiệm tốt hơn cho người dùng, tăng cường sự hài lòng của người dùng.

Trang 13

- Jmeter, Gatling: Dùng để kiểm thử tải.- SoapUI: Dùng để kiểm thử dịch vụ web.

2.4.5 Ưu và nhược điểm

1,Ưu điểm:

- Dễ dàng phát hiện lỗi hệ thống: Kiểm thử chấp nhận có thể phát hiện lỗi hệ thống mà các kỹ thuật kiểm thử khác không thể phát hiện được, bao gồm cả lỗi về khả năng sử dụng, trải nghiệm người dùng, v.v.

- Có thể đảm bảo hệ thống đáp ứng nhu cầu người dùng: Kiểm thử chấp nhận giúp đảm bảo hệ thống đáp ứng nhu cầu của người dùng, tăng cường sự hài lòng của người dùng.

- Có thể tiết kiệm chi phí: Việc phát hiện và sửa lỗi sớm giúp tiết kiệm chi phí so với việc sửa lỗi sau khi hệ thống đã được triển khai.

2.5.2 Nguyên tắc

- Độc lập với cấu trúc nội bộ: Kiểm thử hộp đen tập trung vào hành vi bên ngoài củaứng dụng mà không quan tâm đến cấu trúc nội bộ hay chi tiết cài đặt Người kiểm

Trang 14

thử chỉ nhìn vào ứng dụng như một "hộp đen" và kiểm tra các đầu vào và đầu ra của nó.

- Hộp đen: Người kiểm thử không có kiến thức về cấu trúc bên trong của phần mềm, bao gồm mã nguồn, thiết kế, kiến trúc, v.v.

- Dựa trên dữ liệu: Kiểm thử hộp đen dựa trên dữ liệu đầu vào và đầu ra để kiểm tra chức năng của phần mềm.

Trang 15

- Khó phát hiện lỗi logic: Kiểm thử hộp đen khó phát hiện lỗi logic trong phần mềm.

- Khó kiểm tra toàn diện: Kiểm thử hộp đen khó kiểm tra toàn diện tất cả các chức năng của phần mềm.

- Phụ thuộc vào dữ liệu: Kiểm thử hộp đen phụ thuộc vào dữ liệu đầu vào và đầu ra,do đó có thể bỏ sót các lỗi xảy ra với dữ liệu không được kiểm tra.

2.6 Kiểm thử hộp trắng (White Box Testing)

2.6.1 Khái niệm

Kiểm thử hộp trắng là một kỹ thuật kiểm thử phần mềm mà việc kiểm tra các chức năng của một ứng dụng dựa trên cấu trúc nội bộ, mã nguồn, thiết kế và kiến trúc của nó Mục đích chính của kiểm thử hộp trắng là để đảm bảo rằng phần mềm được viết đúng, hiệu quả và dễ bảo trì.

3, Chạy các trường hợp kiểm thử: Chạy các trường hợp kiểm thử và ghi lại kết quả.4, Phân tích kết quả: Phân tích kết quả để xác định lỗi phần mềm.

5, Báo cáo kết quả: Báo cáo kết quả kiểm thử cho các bên liên quan.

2.6.4 Công cụ

Trang 16

- Debugger: Dùng để gỡ lỗi phần mềm.

- Code coverage tools: Dùng để đo lường mức độ phủ của code trong quá trình kiểmthử.

- Static analysis tools: Dùng để phân tích mã nguồn và phát hiện lỗi tiềm ẩn.

2.6.5 Ưu và nhược điểm

- Khó thực hiện: Kiểm thử hộp trắng đòi hỏi người kiểm thử phải có kiến thức về cấu trúc nội bộ của phần mềm.

- Tốn thời gian: Kiểm thử hộp trắng có thể tốn thời gian hơn so với kiểm thử hộp đen.

- Phụ thuộc vào kiến thức: Kiểm thử hộp trắng phụ thuộc vào kiến thức của người kiểm thử về mã nguồn, do đó có thể bỏ sót các lỗi mà người kiểm thử không biết.

2.7 Kiểm thử hộp xám (Gray Box Testing)

2.7.1 Khái niệm

Kiểm thử hộp xám là một kỹ thuật kiểm thử phần mềm kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng Trong kiểm thử hộp xám, người kiểm thử có kiến thức hạn chế về cấu trúc nội bộ của phần mềm, chẳng hạn như kiến thức về cơ sở dữ liệu, giao diện lập trình ứng dụng (API) hoặc kiến trúc tổng thể Kiến thức này được sử dụng để thiết kế các trường hợp kiểm thử hiệu quả hơn so với kiểm thử hộp đen, nhưng không chi tiết như kiểm thử hộp trắng.

2.7.2 Mục tiêu

15

Trang 17

- Phát hiện lỗi: Kiểm thử hộp xám giúp phát hiện lỗi phần mềm, bao gồm lỗi chức năng, lỗi hiệu năng, lỗi bảo mật, v.v.

- Cải thiện chất lượng phần mềm: Kiểm thử hộp xám giúp cải thiện chất lượng phầnmềm bằng cách phát hiện lỗi và cải thiện hiệu quả của phần mềm.

- Tiết kiệm chi phí: Kiểm thử hộp xám có thể giúp tiết kiệm chi phí phát triển phần mềm bằng cách phát hiện lỗi sớm.

2.7.3 Cách thực hiện

1, Hiểu biết về cấu trúc nội bộ: Người kiểm thử cần có kiến thức hạn chế về cấu trúc nội bộ của phần mềm, chẳng hạn như kiến thức về cơ sở dữ liệu, API hoặc kiến trúc tổng thể.2, Thiết kế các trường hợp kiểm thử: Viết các trường hợp kiểm thử dựa trên kiến thức về cấu trúc nội bộ và các yêu cầu chức năng của phần mềm.

3, Chạy các trường hợp kiểm thử: Chạy các trường hợp kiểm thử và ghi lại kết quả.4, Phân tích kết quả: Phân tích kết quả để xác định lỗi phần mềm.

5, Báo cáo kết quả: Báo cáo kết quả kiểm thử cho các bên liên quan.

2.7.4 Công cụ

- Công cụ debugger: Dùng để gỡ lỗi phần mềm.

- Công cụ phân tích mã: Dùng để phân tích mã nguồn và phát hiện lỗi tiềm ẩn.- Công cụ kiểm thử API: Dùng để kiểm thử API.

2.7.5 Ưu và nhược điểm

Trang 18

- Có thể kiểm tra toàn diện: Kiểm thử hộp xám có thể kiểm tra toàn diện tất cả các chức năng của phần mềm.

2.8.2 Mục tiêu

- Đảm bảo hệ thống đáp ứng các yêu cầu chức năng: Kiểm thử chức năng giúp đảm bảo hệ thống thực hiện đúng các chức năng theo yêu cầu của người dùng.- Phát hiện lỗi hệ thống: Kiểm thử chức năng giúp phát hiện lỗi hệ thống liên quan

đến chức năng, hiệu năng, bảo mật, khả năng sử dụng, v.v.

- Cải thiện chất lượng hệ thống: Kiểm thử chức năng giúp cải thiện chất lượng hệ thống bằng cách phát hiện và sửa lỗi sớm.

2.8.3 Cách thực hiện

1, Lập kế hoạch kiểm thử chức năng: Xác định các chức năng cần kiểm thử, phạm vi kiểm thử, tài nguyên cần thiết và lịch trình kiểm thử.

17

Trang 19

2, Thiết kế các trường hợp kiểm thử: Viết các trường hợp kiểm thử dựa trên các yêu cầu chức năng và các kịch bản sử dụng thực tế.

3, Thực hiện kiểm thử: Chạy các trường hợp kiểm thử và ghi lại kết quả.4, Phân tích kết quả: Phân tích kết quả kiểm thử để xác định lỗi hệ thống.5, Báo cáo kết quả: Báo cáo kết quả kiểm thử cho các bên liên quan.

Trang 20

Kiểm thử phi chức năng là một kỹ thuật kiểm thử phần mềm nhằm đánh giá các khía cạnh phi chức năng của hệ thống phần mềm, bao gồm hiệu năng, khả năng sử dụng, độ tin cậy, bảo mật, khả năng tương thích, v.v Kiểm thử phi chức năng được thực hiện song song với kiểm thử chức năng để đảm bảo hệ thống đáp ứng các yêu cầu phi chức năng.

2.9.2 Mục tiêu

- Đảm bảo hệ thống đáp ứng các yêu cầu phi chức năng: Kiểm thử phi chức năng giúp đảm bảo hệ thống đáp ứng các yêu cầu về hiệu năng, khả năng sử dụng, độ tin cậy, bảo mật, khả năng tương thích, v.v.

- Phát hiện lỗi hệ thống: Kiểm thử phi chức năng giúp phát hiện lỗi hệ thống liên quan đến hiệu năng, khả năng sử dụng, độ tin cậy, bảo mật, khả năng tương thích, v.v.

- Cải thiện chất lượng hệ thống: Kiểm thử phi chức năng giúp cải thiện chất lượng hệ thống bằng cách phát hiện và sửa lỗi sớm.

2.9.4 Công cụ

- Jmeter, Gatling: Dùng để kiểm thử tải.

- Selenium, Cypress: Dùng để kiểm thử giao diện người dùng.- SoapUI: Dùng để kiểm thử dịch vụ web.

- Nessus, Nmap: Dùng để kiểm thử bảo mật.

2.9.5 Ưu và nhược điểm

1, Ưu điểm:

19

Trang 21

- Đảm bảo chất lượng hệ thống: Kiểm thử phi chức năng giúp đảm bảo hệ thống đápứng các yêu cầu về hiệu năng, khả năng sử dụng, độ tin cậy, bảo mật, khả năng tương thích, v.v.

- Phát hiện lỗi sớm: Kiểm thử phi chức năng giúp phát hiện lỗi hệ thống liên quan đến hiệu năng, khả năng sử dụng, độ tin cậy, bảo mật, khả năng tương thích, v.v sớm hơn, giúp tiết kiệm chi phí sửa lỗi.

- Cải thiện trải nghiệm người dùng: Kiểm thử phi chức năng giúp cải thiện trải nghiệm người dùng bằng cách đảm bảo hệ thống dễ sử dụng, hiệu quả và đáp ứng nhu cầu của người dùng.

- Tăng tính bảo mật: Kiểm thử phi chức năng giúp tăng tính bảo mật của hệ thống bằng cách phát hiện và sửa các lỗ hổng bảo mật.

- Giảm thiểu rủi ro: Kiểm thử phi chức năng giúp giảm thiểu rủi ro liên quan đến việc triển khai hệ thống không đáp ứng các yêu cầu.

2.10.2 Mục tiêu

Ngày đăng: 20/05/2024, 15:56

Tài liệu cùng người dùng

Tài liệu liên quan