Báo cáo học phần kiểm thử phần mềm đề bài tìm hiểu công cụ kiểm thử đơn vị nunit

53 10 0
Báo cáo học phần kiểm thử phần mềm đề bài tìm hiểu công cụ kiểm thử đơn vị nunit

Đ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

TRƯỜNG ĐẠI HỌC ĐẠI NAM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO HỌC PHẦN KIỂM THỬ PHẦN MỀM ĐỀ BÀI: TÌM HIỂU CƠNG CỤ KIỂM THỬ ĐƠN VỊ NUNIT Giảng viên hướng dẫn : TS Lê Chí Luận Lớp : CNTT13-01 Nhóm sinh viên thực : Chu Văn Huy Ngô Huy Phong Trần Trọng Tuân Bùi Văn Thọ Hà nội, ngày … tháng … năm 2022 TRƯỜNG ĐẠI HỌC ĐẠI NAM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO HỌC PHẦN KIỂM THỬ PHẦN MỀM ĐỀ BÀI: TÌM HIỂU CƠNG CỤ KIỂM THỬ ĐƠN VỊ NUNIT Giảng viên hướng dẫn : TS Lê Chí Luận Lớp : CNTT13-01 Nhóm sinh viên thực : Chu Văn Huy Ngô Huy Phong Trần Trọng Tuân Bùi Văn Thọ Hà nội, ngày … tháng … năm 2022 LỜI CẢM ƠN Trong thời gian nghiên cứu, học tập khoa Công nghệ thông tin trường Đại học Đại Nam, giúp đỡ quý báu quý thầy cô giáo, bạn sinh viên nhóm giúp em hồn thiện đề tài Trước tiên cho phép em bày tỏ lời cảm ơn sâu sắc tới thầy cô khoa Công nghệ thơng tin Đặc biệt thầy TS Lê Chí Luận, giảng viên khoa Công nghệ thông tin, trường Đại học Đại Nam, người trực tiếp hướng dẫn, nhận xét, giúp đỡ nhóm em suốt q trình thực hồn thành đề tài Trong q trình thực làm đề tài cịn có nhiều sai sót, nhóm em mong nhận giúp đỡ nhiệt tình thầy bạn để hồn thiện cách tốt Nhóm em xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2022 Nhóm sinh viên thực NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Giáo viên hướng dẫn TS Lê Chí Luận NHẬN XÉT CỦA NHÓM VỀ CÁC THÀNH VIÊN Tên thành viên Phần trăm đóng Ghi góp ( 100% ) Chu Văn Huy Nhóm trưởng Ngơ Huy Phong Thành viên Trần Trọng Tuân Thành viên Bùi Văn Thọ Thành viên Trưởng nhóm LỜI NĨI ĐẦU Nhờ có phát triển vượt bậc cơng nghệ thông tin công nghệ phần mềm dẫn đến việc phát triển phần mềm ngày hỗ trợ nhiều công cụ tiên tiến, giúp hạn chế khó khăn nâng cao hiệu việc xây dựng phần mềm Tuy vậy, độ phức tập phần mềm giới hạn trời gian, chi phí khơng chắn đảm bảo sản phẩm phần mềm ứng dụng khơng có lỗi cho dù hoạt động đảm bảo chất lượng phần mềm nói chung kiểm thử nói riêng ngày chặt chẽ khoa học Lỗi phần mềm tồn tiềm ẩn bên sản phẩm phần mềm gây thiệt hại không lường trước lúc Một sản phẩm phần mềm không đơn giản giai đoạn mã chương tình, mà cịn bao gồm nhiều thành phần với nhiều vai trò khác Do đó, việc xảy lỗi phần mềm khơng cơng đoạn lập trình, mà cịn xảy tất công đoạn khác quy trình phát triển phần mềm, với xác suất cao thấp khác Kiểm thử công đoạn đóng vai trị tối qaun trọng, định đến việc đánh giá chất lượng sản phẩm phần mềm Mục đích kiểm thử đảm bảo tất thành phần phần mềm ăn khớp, vận hành mong đợi phù hợp tiêu chẩn thiết kế Kiểm thử phần mềm hoạt động quan trọng tiến trình phát triển phần mềm Nó góp phần lớn việc đánh giá chất lượng phần mềm quy trình bắt buộc dự án phát triển phần mềm giới nước Để củng cố kiến thức học ứng dụng số cơng việc cụ thể nên nhóm chúng em giao tìm hiểu cơng cụ kiểm thử NUnit ứng dụng để tiến hành kiểm thử chương trình kiểm tra tam giác Nhóm chúng em xin chân thành cảm ơn thầy Lê Chí Luận tận tình dạy hướng dẫn chúng em hoàn thiện đồ án Nhóm thực MỤC LỤC LỜI CẢM ƠN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA NHÓM VỀ CÁC THÀNH VIÊN LỜI NÓI ĐẦU MỤC LỤC .6 CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 10 1.1 Định nghĩa 10 1.2 Kỹ thuật kiểm thử phần mềm .10 1.2.1 Kỹ thuật kiểm thử chức 10 1.2.2 Kỹ thuật kiểm thử cấu trúc 10 1.3 Chiến lược kiểm thử 11 1.4 Các giai đoạn kiểm thử 11 1.4.1 Kiểm thử đơn vị (Unit Testing) .11 1.4.2 Kiểm thử tích hợp (Integration Testing) .12 1.4.3 Kiểm thử hợp thức hóa (Validation Testing) 12 1.4.4 Kiểm thử chấp nhận (Acceptance Testing) 13 1.4.5 Kiểm thử hồi quy (Regression Testing) 13 1.5 Một số vấn đề khác kiểm thử phần mềm 13 1.5.1 Các hạn chế kiểm thử 13 1.5.2 Các nguyên tắc kiểm thử 14 1.5.3 Phân loại số công cụ kiểm thử tự động 15 CHƯƠNG 2: CÔNG CỤ KIỂM THỬ NUNIT 17 2.1 Giới thiệu 17 2.1.1 NUnit-console .17 2.1.2 NUnit-Gui.exe 18 2.2 Lớp Assert 18 2.3 Các thuộc tính Nunit 19 CHƯƠNG 3: HƯỚNG DẪN SỬ DỤNG CÔNG CỤ NUNIT 21 3.1 Download cài đặt công cụ 21 3.1.1 Download công cụ 21 3.1.2 Cài đặt công cụ .22 3.2 Bắt đầu sử dụng chương trình 27 CHƯƠNG 4: GIỚI THIỆU VỀ CHƯƠNG TRÌNH ỨNG DỤNG 39 4.1 Mơ tả tốn .39 4.1.1 Mục đích .39 4.1.2 Phạm vi 39 4.2 Mơ tả chương trình 39 4.2.1 Tổng quan chương trình 39 4.2.2 Yêu cầu hệ thống 39 4.2.3 Yêu cầu chức 39 CHƯƠNG 5: TIẾN HÀNH KIỂM THỬ 41 5.1 Xây dựng test cases cho chương trình kiểm tra tam giác 41 5.2 Xây dựng trường hợp kiểm thử 43 KẾT LUẬN 54 Tìm hiểu công cụ kiểm thử Nunit Chương 1: Tổng quan kiểm thử phần mềm CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Định nghĩa Kiểm thử phần mềm có nhiều cách định nghĩa khác Tuy nhiên, chúng bao trùm hai nội dung phát lỗi đánh giá chất lượng phần mềm Định nghĩa sau Myers đơn giản có tính thực tế: “Kiểm thử tiến trình thực thi chương trình với mục đích tìm thấy lỗi” Theo định nghĩa Myers, kiểm thử mà không phát lỗi coi không thành công Mục đích kiểm thử phát lỗi thực tế phần mềm không không chứa lỗi 1.2 Kỹ thuật kiểm thử phần mềm Có thể chia kỹ thuật kiểm thử thành hai loại: kỹ thật kiểm thử chức (Functional Testing) hay gọi kỹ thật kiểm thử hộp đen (Black-box-Testing) kỹ thật kiểm thử cấu trúc (Structutural Testing) hay gọi kỹ thuật kiểm thử hộp trắng (White-box-Testing) 1.2.1 Kỹ thuật kiểm thử chức Trong kỹ thuật kiểm thử chức năng, liệu kiểm thử xuất phát từ đặc tả phần mềm bao gồm: đặc tả yêu cầu (đối với kiểm thử hệ thống), đặc tả thiết kế (đối với kiểm thử tích hợp) đặc tả chi tiết mô-đun (đối với kiểm thử đơn vị) Trong kỹ thuật này, kiểm thử viên xem phần mềm hộp đen Kiểm thử viên hoàn toàn không quan tâm cấu trúc hành vi bên phần mềm Kiểm thử viên cần quan tâm đến việc tìm tượng mà phần mềm khơng hành xử theo đặc tả Kiểm thử viên biết phần mềm dự kiến thực dự kiến khơng thực hiện, mà khơng thể nhìn vào bên xem hoạt động Vì liệu kiểm thử xuất phát từ đặc tả Kiểm thử chức cố gắng tìm lỗi sau: thiếu chức năng, lỗi giao diện, lỗi cấu trúc liệu, lỗi truy cập sở liệu, lỗi thi hành, lỗi khởi tạo kết thúc,… 1.2.2 Kỹ thuật kiểm thử cấu trúc Kỹ thuật kiểm thử cấu trúc kỹ thuật dựa phân tích mã chương trình mơ hình mã chương trình để xây dựng phép thử theo tiêu chuẩn bao phủ Tìm hiểu công cụ kiểm thử Nunit Chương 4: Hướng dẫn sử dụng công cụ NUnit - Là tam giác cân thỏa mãn điều kiện tam giác có cặp cạnh Cụ thể: a = b Or c = b Or a = c - Là tam giác cạnh chúng nhau: a = b = c - Và chúng tam giác vuông nếu: a * a + b * b = c * c Or a * a + c * c = b * b Or b * b + c * c = a * a 4.2.3.2 Tính diện tích chu vi Khi chúng thỏa mãn điều kiện tam giác ta thực tính diện tích chu vi tam giác - Tính chu vi: a + b + c - Tính diện tích: Math.Sqrt(* (p - a) * (p - b) * (p - c)) Trong đó: Dim p As Double = (a + b + c) / Tìm hiểu công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử CHƯƠNG 5: TIẾN HÀNH KIỂM THỬ 5.1 Xây dựng test cases cho chương trình kiểm tra tam giác Để kiểm thử module chương trình ứng dụng ta cần tạo project Visul Studio 2010 với tên testUnitTamGiac Sau Test Cases chương trình với trường hợp kiểm thử thiết kế Bảng 5.1 Imports Ktra_tamgiac Imports NUnit.Framework _ Public Class check Dim i As Boolean Dim tamgiac As check_tamgiac _ Public Sub Setup() tamgiac = New check_tamgiac End Sub _ Public Sub test_tamgiac() i = tamgiac.tamgiac(5, 6, 7) Assert.AreEqual(i, True) End Sub _ Public Sub test_tamgiaccan() i = tamgiac.tamgiaccan(2, 2, 3) Assert.AreEqual(i, True) End Sub _ Public Sub test_tamgiacvuong() i = tamgiac.tamgiacvuong(3, 4, 5) Assert.AreEqual(i, True) End Sub _ Public Sub test_tamgiacdeu() i = tamgiac.tamgiacdeu(3, 3, 3) Assert.AreEqual(i, True) End Sub Tìm hiểu công cụ kiểm thử Nunit End Class Chương 5: Tiến hành kiểm thử Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử 5.2 Xây dựng trường hợp kiểm thử Ta xây dựng số trường hợp phục vụ cho việc kiểm thử tốn Loại tam giác Tình Stt Dữ liệu đầu vào kết đầu Tam giác thường Dữ liệu đầu Kết Kết chương vào đầu trình Test Cạnh = 01 Cạnh = ĐÚNG Cạnh = Dữ liệu đầu vào Cạnh = ĐÚNG kết 02 Cạnh = đầu SAI Cạnh = Dữ liệu đầu vào Cạnh = 3.5 SAI kết 03 Cạnh = đầu ĐÚNG Cạnh = Dữ liệu đầu vào Cạnh = kết đầu 04 Cạnh = Tam giác ĐÚNG Cạnh = cân Dữ liệu đầu vào Cạnh = SAI kết 05 Cạnh = đầu ĐÚNG Cạnh = Dữ liệu đầu vào Cạnh = kết đầu 06 Cạnh = Tam giác ĐÚNG Cạnh = vuông Dữ liệu đầu vào Cạnh = ĐÚNG kết 07 Cạnh = đầu SAI Cạnh = Tam giác Dữ liệu đầu vào Cạnh = ĐÚNG kết 08 đầu SAI Dữ liệu đầu vào kết đầu Cạnh = Cạnh = 09 Cạnh = Trả “True” Trả “False” Trả “True” Trả “True” Trả “True” Trả “True” Trả “False” Trả “False” Trả Passed Failsed Passed Passed Failed Passed Failed Failed Passed Tìm hiểu công cụ kiểm thử Nunit ĐÚNG Chương 5: Tiến hành kiểm thử Cạnh = Cạnh = “True” Bảng 5.1 Bảng trường hợp kiểm thử chương trình kiểm tra tam giác Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp 01: ta nhập thông 00tin tam giác ta cho kết “True” _ Public Sub test_tamgiac() i = tamgiac.tamgiac(3, 4, 5) Assert.AreEqual(i, True) End Sub Ta thấy kết kiểm thử trả trùng với kết trả nên kết test Hình 5.1 Kết test trường hợp 01 Tìm hiểu công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 02: ta nhập mẫu đầu vào gán giá trị trả sai _ Public Sub test_tamgiac() i = tamgiac.tamgiac(5, 6, 7) Assert.AreEqual(i, False) End Sub Ta thấy chương trình chấp nhận mẫu đầu vào chương trình báo lỗi (dữ liệu đầu vào tam giác thường kết đầu lại cho “False”) nên kết test Hình 5.2 Kết test trường hợp 02 Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 03: nhập liệu đầu vào sai, kết đầu _ Public Sub test_tamgiac() i = tamgiac.tamgiac(3.5, 4, 5) Assert.AreEqual(i, True) End Sub Mặc dù độ dài cạnh tam giác dạng thập phân chương trình test chấp nhận liệu chương trình ứng dụng khơng Vậy kết test trường hợp sai Hình 5.3 Kết test trường hợp 03 Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 04: ta nhập liệu đầu vào kết đầu tam giác cân _ Public Sub test_tamgiaccan() i = tamgiac.tamgiaccan(2, 2, 3) Assert.AreEqual(i, True) End Sub Kết test cho thấy liệu đầu vào kết đầu đưa kết tam giác cân nên kết test trường hợp Hình 5.4 Kết test trường hợp 04 Tìm hiểu công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 05: tam giác cân ta cho liệu đầu vào sai kết đầu _ Public Sub test_tamgiaccan() i = tamgiac.tamgiaccan(5, 4, 3) Assert.AreEqual(i, True) End Sub Khi ta cho liệu đầu vào để khẳng định tam giác cân sai hồn tồn chương trình test báo lỗi Vậy kết test trường hợp Hình 5.5 Kết test trường hợp 05 Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 06: xét tam giác vuông ta nhập liệu đầu vào đầu _ Public Sub test_tamgiacvuong() i = tamgiac.tamgiacvuong(3, 4, 5) Assert.AreEqual(i, True) End Sub Đối với nguồn liệu đầu vào kết đầu chương trình test báo Vậy kết test Hình 5.6 Kết test trường hợp 06 Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 07: tam giác vuông: liệu đầu kết đầu sai _ Public Sub test_tamgiacvuong() i = tamgiac.tamgiacvuong(3, 4, 5) Assert.AreEqual(i, False) End Sub Với nguồn đầu vào thỏa mãn tam giác vuông kết đầu báo sai chương trình test báo lỗi Vậy kết test Hình 5.7 Kết test trường hợp 07 Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 08: tam giác – ta nhập liệu đầu vào cho kết đầu sai _ Public Sub test_tamgiacdeu() i = tamgiac.tamgiacdeu(3, 3, 3) Assert.AreEqual(i, False) End Sub Đối với xét tam giác với nguồn liệu thỏa mãn ta cho kết đầu sai chương trình test báo lỗi Vậy kết test Hình 5.8 Kết test trường hợp 08 Tìm hiểu công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 09: liệu đầu vào kết đầu _ Public Sub test_tamgiacdeu() i = tamgiac.tamgiacdeu(5, 5, 5) Assert.AreEqual(i, True) End Sub Trong việc xét tam giác đều, với liệu đầu vào kết đầu trường hợp Và chương trình test báo nên kết test trường hợp Hình 5.9 Kết test trường hợp 09 Tìm hiểu cơng cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử KẾT LUẬN ... trình đơn vị (unit) phần mềm Trên đơn vị tiến hành kiểm thử đơn vị Một đơn vị phần mềm mã hoá, nghĩa lập trình hồ sơ kiểm thử đơn vị tương ứng hồn thành kiểm thử đơn vị tiến hành Kiểm thử đơn vị. .. thử Nunit Chương 1: Tổng quan kiểm thử phần mềm đơn vị phần mềm Sau đó, kiểm thử đơn vị thực lại Kiểm thử đơn vị kết thúc mà tất trường hợp kiểm thử mô tả hồ sơ kiểm thử đơn vị thực thành công. .. TRƯỜNG ĐẠI HỌC ĐẠI NAM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO HỌC PHẦN KIỂM THỬ PHẦN MỀM ĐỀ BÀI: TÌM HIỂU CƠNG CỤ KIỂM THỬ ĐƠN VỊ NUNIT Giảng viên hướng dẫn : TS Lê Chí

Ngày đăng: 18/03/2023, 08:51

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

  • Đang cập nhật ...

Tài liệu liên quan