Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
7,94 MB
Nội dung
MỤC LỤC TÓM TẮT NỘI DUNG LỜI NÓI ĐẦU .2 CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM .3 1.1 Khái niệm kiểm thử phần mềm: 1.1.1 Khái niệm: 1.1.2 Vai trò kiểm thử: 1.1.3 Các phương pháp kiểm thử: 1.1.3.1 Kiểm thử tĩnh - Static testing: 1.1.3.2 Kiểm thử động - Dynamic testing: 1.1.4 Qui trình kiểm thử phần mềm: 1.1.4.1 Khái niệm Test case, Test Scrip: 1.1.4.2 Qui trình kiểm thử phần mềm: 1.2 Các mức độ kiểm thử: 1.2.1 Unit test - Kiểm thử mức đơn vị: 10 1.2.2 Integration Test - Kiểm tra tích hợp: 11 1.2.3 System Test - Kiểm tra mức hệ thống: 12 1.2.4 Acceptance Test - Kiểm tra chấp nhận sản phẩm: 14 1.2.5 Một số mức độ kiểm thử khác: 15 1.3 Một số phương pháp kiểm thử: 16 1.3.1 Kiểm thử hộp trắng (White - box Testing): 16 1.3.2 Kiểm thử hộp đen (Black - box Testing): 17 1.3.3 Kiểm thử hộp xám (Gray - box Testing): 18 1.3.4.Top - down: 18 1.3.5 Bottom - up: 18 1.4 Các phương pháp kiểm thử người: 19 1.4.1 Tổng duyệt - Walkthroughs: 19 1.4.2 Thanh tra mã nguồn - Code Inspections: .20 CHƯƠNG 2: KIỂM THỬ UNIT VỚI PEX .21 2.1 Kiểm thử đơn vị: 21 2.1.1 Định nghĩa: 21 2.1.2 Lợi ích kiểm thử đơn vị: .22 2.1.3 Nhược điểm kiểm thử đơn vị: .23 2.1.4 Kết cấu kiểm thử đơn vị NET: 23 2.1.4.1 Kết cấu kiểm thử đơn vị: 23 2.1.4.2 Tạo kiểm thử Visual Studio Team System 2008: 23 2.2 Kiểm thử tự động Visual Studio: 31 2.2.1 Chọn liệu đầu vào thử nghiệm: 31 2.2.2 Tự động thăm dò kiểm thử (Automated exploratory testing): 31 2.2.3 Ví dụ thăm dò kiểm thử: 31 2.3 Sử dụng Pex Visual Studio: 33 2.3.1 Giới thiệu Pex: 33 2.3.1.1 Tìm kiếm chiến lược: .33 2.3.1.2 Khi đưa Test case? 34 2.3.1.3 Khi Test case lỗi? .34 2.3.1.4 Khi Pex dừng lại? .35 2.3.1.5 Pex đưa gợi ý sửa lỗi nào? .36 2.3.1.6 Tạo đối tượng phức tạp: 37 2.3.1.7 Tính bất biến: .38 2.3.1.8 Hạn chế Pex: 38 2.3.2 Kích hoạt tính Pex hoạt động: 39 2.3.3 Tạo tham số kiểm thử: 42 2.3.4 Quá trình thực Pex: .43 2.3.5 Kết thực Pex HTML: .44 2.3.5.1 Cách truy cập vào báo cáo HTML Visual Studio: 44 2.3.5.2 Kết thực Pex HTML: 45 CHƯƠNG 3: ÁP DỤNG 49 3.1 Bài toán 1: 49 3.2 Bài toán 2: 55 3.3 Bài toán 3: 56 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 TÓM TẮT NỘI DUNG Bản báo cáo chia thành chương với nội dung sau: Chương 1: Tổng quan kiểm thử phần mềm Chương nhìn tổng quan kiểm thử phần mềm: khái niệm kiểm thử phần mềm, quy tắc kiểm thử, số phương pháp kiểm thử,… Chương 2: Kiểm thử Unit với Pex Trong chương này, em tìm hiểu kiểm thử Unit với Pex Chương 3: Áp dụng Từ vấn đề tìm hiểu, em áp dụng vào số toán cụ thể LỜI NÓI ĐẦU Trong kỷ nguyên công nghệ kinh tế đa chiều, phần mềm đóng vai trò vô quan trọng việc định hướng phát triển cho doanh nghiệp góp phần gia tăng giá trị cạnh tranh cộng đồng Đối với phủ, phần mềm yếu tố việc xây dựng tảng phát triển kinh tế quốc gia cải thiện sách nhằm nâng cao chất lượng sống người dân Xây dựng dự án phần mềm thành công mối quan tâm hàng đầu tổ chức doanh nghiệp vai trò, hiểu biết kinh nghiệm người kỹ sư phần mềm luôn đánh giá cao thành công dự án Để xây dựng phần mềm hoàn thiện không mắc lỗi giai đoạn quan trọng cần làm kiểm thử phần mềm Đây giai đoạn mấu chốt quy trình phát triển phần mềm nhằm đảm bảo chất lượng phần mềm Kiểm thử có nhiều phương pháp, có phương pháp sử dụng công cụ sẵn có giúp hỗ trợ cho việc kiểm thử ngày tối ưu Vì lý em chọn đề tài “Kiểm thử Unit với Pex ứng dụng” đợt làm đồ án tốt nghiệp với mục đích: hiểu rõ kiểm thử, tìm hiểu công cụ Pex tích hợp NET, qua áp dụng vào toán cụ thể Cuối em xin chân thành cảm ơn thầy cô giáo, bạn, đặc biệt thầy giáo Nguyễn Hồng Tân nhiệt tình giúp đỡ bảo em để em hoàn thành đề tài Trong trình báo cáo chắn không tránh khỏi sai xót, em hi vọng nhận bảo thầy cô bạn để báo cáo em hoàn thiện tốt CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Khái niệm kiểm thử phần mềm: 1.1.1 Khái niệm: Kiểm thử phần mềm trình khảo sát hệ thống hay thành phần điều kiện xác định, quan sát ghi lại kết quả, đánh giá khía cạnh hệ thống hay thành phần (Theo Bảng giải thuật ngữ chuẩn IEEE Thuật ngữ kỹ nghệ phần mềm - IEEE Standard Glossary of Software Engineering Terminology) Kiểm thử phần mềm trình thực thi chương trình với mục đích tìm lỗi (Theo “The Art of Software Testing” - Nghệ thuật kiểm thử phần mềm) Kiểm thử phần mềm hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm môi trường chúng dự định triển khai nhằm cung cấp cho người có lợi ích liên quan thông tin chất lượng sản phẩm hay dịch vụ phần mềm Mục đích kiểm thử phần mềm tìm lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu hoạt động tối ưu phần mềm nhiều ngành khác (Theo Bách khoa toàn thư mở Wikipedia) Có thể định nghĩa cách dễ hiểu sau: Kiểm thử phần mềm tiến trình hay tập hợp tiến trình thiết kế để đảm bảo mã hóa máy tính thực theo mà chúng thiết kế để làm, không thực thứ không mong muốn Đây pha quan trọng trình phát triển hệ thống, giúp cho người xây dựng hệ thống khách hàng thấy hệ thống đáp ứng yêu cầu đặt hay chưa? 1.1.2 Vai trò kiểm thử: Kiểm thử phần mềm pha quan trọng trình phát triển hệ thống giúp cho người xây dựng hệ thống khách hàng thấy hệ thống thỏa mãn yêu cầu đề chưa Kiểm thử phần mềm tiến trình nhằm phát lỗi hay khiếm khuyết phần mềm việc xem xét lại đặc tả, thiết kế, mã hóa nhằm đảm bảo hiệu hoạt động tối ưu phần mềm nhiều ngành khác Kiểm thử thành công kiểm thử phát lỗi Đặc biệt kiểm thử làm giảm công sức, thời gian, chi phí cho người làm phần mềm Có thể nói khâu sống việc phát triển phần mềm Khâu giúp cho sản phẩm hoàn thiện nhằm đáp ứng yêu cầu đặt khách hàng Sản phẩm hoàn thiện, chất lượng cao tạo thêm niềm tin uy tín công ty với đối tác Nếu khâu này, tình trạng khách hàng trả sản phẩm xảy thường xuyên Chính vậy, kiểm thử phần mềm thiếu, định nhiều vào thành công chung dự án 1.1.3 Các phương pháp kiểm thử: Có phương pháp kiểm thử là: Kiểm thử tĩnh Kiểm thử động 1.1.3.1 Kiểm thử tĩnh - Static testing: Là phương pháp thử phần mềm đòi hỏi phải duyệt lại yêu cầu đặc tả tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần chi tiết mà không cần chạy chương trình Kiểu kiểm thử thường sử dụng chuyên viên thiết kế - người mà viết mã lệnh Kiểm thử tĩnh tự động hóa Nó thực kiểm tra toàn bao gồm chương trình phân tích trình thông dịch biên dịch mà xác nhận tính hợp lệ cú pháp chương trình 1.1.3.2 Kiểm thử động - Dynamic testing: Là phương pháp 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 chương trình Đó kiểm thử dựa ca kiểm thử xác định thực đối tượng kiểm thử hay chạy chương trình Kiểm thử động kiểm tra cách thức hoạt động động mã lệnh, tức kiểm tra phản ứng vật lý từ hệ thống tới biến thay đổi theo thời gian Trong kiểm thử động, phần mềm phải thực biên dịch chạy Kiểm thử động thực bao gồm làm việc với phần mềm, nhập giá trị đầu vào kiểm tra xem liệu đầu có mong muốn hay không Các phương pháp kiểm thử động gồm có kiểm thử Unit - Unit Tests, Kiểm thử tích hợp - Intergration Tests, Kiểm thử hệ thống - System Tests, Kiểm thử chấp nhận sản phẩm - Acceptance Tests 1.1.4 Qui trình kiểm thử phần mềm: 1.1.4.1 Khái niệm Test case, Test Scrip: + Test Case: Khi ta lập trình phần mềm hay việc dự đoán trước tình xảy cho chương trình quan trọng Vì viết chương trình người ta thường viết trước Test Case để dự đoán trường hợp Một Test Case coi nôm na tình kiểm tra, thiết kế để kiểm tra đối tượng có thỏa mãn yêu cầu đặt hay không Một Test Case thường bao gồm ba phần bản: - Mô tả: Đặc tả điều kiện cần có để tiến hành kiểm tra - Nhập: Đặc tả đối tượng hay liệu cần thiết sử dụng làm đầu vào để thực việc kiểm tra - Kết mong chờ: Kết trả từ đối tượng kiểm tra chứng tỏ đối tượng đạt yêu cầu Test Case nhiều độ tin tưởng cao chất lượng công việc tốt + Test Scrip: Một Test Script nhóm mã lệnh dạng đặc tả kịch dùng để tự động hóa trình tự kiểm tra, giúp cho việc kiểm tra nhanh cho trường hợp mà kiểm tra tay khó khăn không khả thi Các Test Script tạo thủ công tạo tự động dùng công cụ kiểm tra tự động 1.1.4.2 Qui trình kiểm thử phần mềm: Gồm có hành động sau: Hình 1.1: Một quy trình kiểm tra phần mềm + Lập kế hoạch kiểm tra: Mục đích: Nhằm định mô tả loại kiểm tra triển khai thực Kết bước lập kế hoạch tài liệu kế hoạch kiểm thử phần mềm, bao gồm nhiều chi tiết từ loại kiểm tra, chiến lược kiểm tra, thời gian phân định lực lượng kiểm tra viên Bản kế hoạch coi kế hoạch tất kế hoạch chi tiết cho mức kiểm tra loại kiểm tra đề cập Hình 1.2: Bản kế hoạch kế hoạch chi tiết Các bước lập kế hoạch: - Xác định yêu cầu kiểm tra: Chỉ định phận, thành phần phần mềm kiểm tra, phạm vi giới hạn việc kiểm tra Yêu cầu kiểm tra dùng để xác định nhu cầu nhân lực - Khảo sát rủi ro: Các rủi ro có khả xảy làm chậm cản trở trình chất lượng kiểm tra - Xác định chiến lược kiểm tra: Chỉ định phương pháp tiếp cận để thực việc kiểm tra phần mềm, định kỹ thuật công cụ hỗ trợ kiểm tra, định phương pháp dùng để đánh giá chất lượng kiểm tra điều kiện để xác định thời gian kiểm tra - Xác định nhân lực, vật lực: Kỹ năng, kinh nghiệm kiểm tra viên, phần cứng, phần mềm, công cụ…cần thiết cho việc kiểm tra - Lập kế hoạch chi tiết: Ước lượng thời gian, khối lượng công việc, chi tiết phần công việc, người thực hiện, thời gian… - Tổng hợp tạo kế hoạch kiểm tra: Kế hoạch chung kế hoạch chi tiết - Xem xét kế hoạch kiểm tra: Phải có tham gia tất người liên quan.Việc xem xét nhằm bảo đảm kế hoạch khả thi, để phát sửa chữa sai xót kế hoạch + Thiết kế Test: Mục đích: Nhằm định Test Case bước kiểm tra chi tiết cho phiên phần mềm Giai đoạn thiết kế test quan trọng bảo đảm tất tình kiểm tra “quét” hết tất yêu cầu kiểm tra Việc thiết kế test không làm lần ,nó sửa chữa, cập nhật, thêm bớt xuyên suốt chu kỳ phần mềm, vào lúc có thay đổi yêu cầu sau phân tích thấy cần sửa chữa bổ sung Hình 1.3: Thời điểm phù hợp để thiết đặt kế hoạch kiểm tra Các bước thiết kế test bao gồm: - Xác định mô tả Test Case: Xác định điều kiện cần thiết lập trước lúc kiểm tra Mô tả đối tượng liệu đầu vào, mô tả kết mong chờ sau kiểm tra - Mô tả bước chi tiết để kiểm tra: Các bước mô tả chi tiết để hoàn thành Test Case thực kiểm tra Thao tác nhằm chi tiết hóa bước Test Case định loại liệu cần có để thực thi Test Case chúng bao gồm loại liệu trực tiếp, gián tiếp, trung gian, hệ thống… - Xem xét khảo sát độ bao phủ việc kiểm tra: mô tả số cách thức xác định việc kiểm tra hoàn thành hay chưa? phần trăm phần mềm kiểm tra? Để xác định điều có hai phương pháp: yêu cầu phần mềm số lượng code viết - Xem xét Test Case bước kiểm tra: Nhằm đảm bảo Test Case liệu yêu cầu đủ, phản ánh yêu cầu cần kiểm tra, độ bao phủ đạt yêu cầu để phát sửa chữa sai xót + Phát triển Test Script: Mục đích: Tạo Test Script có khả chạy máy tính giúp tự động hóa việc thực thi bước kiểm tra định nghĩa bước thiết kế test Các bước tạo Test Script: - Tạo Test Script: Thủ công dùng công cụ hỗ trợ để phát sinh script cách tự động Các Test Script có khả tái sử dụng nhiều tốt để tối ưu hóa công việc - Kiểm tra Test Script: Xem có “chạy” tốt không nhằm đảm bảo Test Script hoạt động yêu cầu, thể ý đồ bước kiểm tra - Thành lập liệu dành cho Test Script: Bộ liệu Test Script sử dụng thực kiểm tra tự động - Xem xét khảo sát độ bao phủ việc kiểm tra: Bảo đảm Test Script tạo bao phủ toàn bước kiểm tra theo yêu cầu + Thực Test: Mục đích: Thực bước kiểm tra thiết kế (hoặc thi hành Test Script tiến hành tự động) ghi nhận kết Các bước thực Test: - Thực bước kiểm tra: Thao tác cần làm xác lập, khởi động môi trường điều kiện kiểm tra Việc nhằm bảo đảm tất phận liên quan cài đặt sẵn sàng trước bắt đầu kiểm tra - Đánh giá trình kiểm tra: Giám sát trình kiểm tra đến hoàn thành hay bị treo dừng chừng có cần bổ sung hay sửa chữa không để trình kiểm tra tốt Chọn Testclass ta thấy tên hiển thị liệu Nhấp chuột vào parameter values ta thấy bảng giá tri tham số, dòng chứa giá trị tham số cho kiểm thử Ta thấy bảng rât giống với cách hiển thị Pex Results Mục log lưu trữ trình xử lý, cho ta biết chi tiết kiện xảy Pex Log kiểm thử bắt đầu câu lệnh repro, câu lệnh sử dụng để thi hành, khám phá dòng lệnh, sau kiểm thử sinh ghi lại 46 Chọn dynamic values ta thấy bảng sơ lược bao phủ dòng lệnh Chọn ParameterizedTest hay link liên kết html ta thấy mã chương trình hiển thị 47 Trong trường hợp cho thấy phương thức ParameteriedTest bao phủ hoàn toàn 48 CHƯƠNG 3: ÁP DỤNG Sau tìm hiểu kiểm thử phần mềm, tìm hiểu công cụ Pex ta áp dụng vào số toán sau: 3.1 Bài toán 1: Chuyển xâu vừa nhập từ chữ thường thành chữ hoa, dấu chấm câu chuyển thành dấu gạch ( “_” ), kí tự khác bỏ qua Mã chương trình: Sau chạy Pex ta kết sau: 49 Trên cửa sổ hiển thị kết ta thấy Pex thực 12 test Cột value tham số mà Pex đưa vào, cột result kết sau chạy thuật toán Ta thấy dòng thứ xuất lỗi ( bắt lỗi xâu nhập vào rỗng) Nhấp chuột vào dòng bị lỗi ta thấy sau: Ta xem kết test HTML thấy báo có lỗi, thực 12 test, độ bao phủ 100% ( hình bên ) 50 Trên cửa sổ hiển thị kết trường hợp Pex cho ta lựa chọn: thêm điều kiện cho phép bắt ngoại lệ Ta thử với trường hợp thêm điều kiện: 51 Sau click Apply Pex thêm vào chương trình đoạn code: Chạy lại ta kết sau: Xem lại kết HTML đương nhiên lỗi: Như toán nhờ vào Pex ta test thử, phát hiện, sửa lỗi test lại thành công 52 Chi tiết Test mà Pex thực hiện: Ngoài cách xem chi tiết test ta lưu lại test mà ta muốn Trong toán ta lưu test cuối cách nhấp chuột vào test Điều đặc biệt trình lưu ta thấy Pex thực bước cách rõ ràng hình đây: 53 Kết test mà ta chọn lưu hiển thị file có đuôi g.cs 54 3.2 Bài toán 2: Nhập vào số nguyên kiểm tra xem có phải số thiết lập nên tam giác hay không? Nếu số lập thành tam giác tam giác gì? Mã chương trình: Chạy Pex ta kết sau: Kết cho thấy Pex thực 12 test không phát lỗi Tuy không phát lỗi người test phải kiểm tra lại xem tham số mà Pex đưa vào kết đưa có thỏa mãn yêu cầu đề hay không? Trong trường hợp ta thấy 12 test thỏa mãn yêu cầu đề Như test thực thành công 55 Chi tiết test: 3.3 Bài toán 3: Nhập vào số nguyên kiểm tra xem số có phải số nguyên tố hay không? Mã chương trình: Chạy Pex ta kết sau: 56 Ta thấy Pex thực test không phát lỗi Tuy nhiên test ta thấy có trường hợp lần test thứ với tham số đầu vào n = -23 cho kết “Là số nguyên tố” Như ta biết số nguyên tố số nguyên dương chia hết cho cho Như trường hợp test bị sai trình viết code người lập trình viên Khi gặp lỗi người lập trình cách xem lại code sửa Nhìn lại code thấy người lập trình viết code cho trường hợp n < n = -n Vì thân số 23 số nguyên tố nên người lập trình gán n = -n n < trường hợp n = -23 < n = 23 kết trả n = -23 số nguyên tố Điều hoàn toàn sai Vì Pex dựa vào code đưa vào tham số để test nên ta sửa lỗi cách bỏ dòng điều kiện n < gán n = -n Mã sau sửa: 57 Chạy lại chương trình ta kết sau: Kiểm tra lại tất test ta thấy kết đưa tham số kết xác Test thành công 58 KẾT LUẬN Đánh giá kết đạt được: Trải qua đợt thực tập thời gian làm đồ án dài với tinh thần tự học hỏi nghiên cứu thông qua tài liệu hướng dẫn kiến thức tổng hợp trình học tập từ thầy cô giáo môn Công nghệ phần mềm, thầy cô khoa, tham khảo ý kiến bạn bè, đến hôm em hoàn thành báo cáo tốt nghiệp với đề tài: “Kiểm thử Unit với Pex ứng dụng” Đây đề tài hay, nên em cảm thấy tâm đắc yêu thích Do hạn chế kiến thức, tìm hiểu, đặc biệt hạn chế tiếng anh nên ngôn từ báo cáo chưa thực sát nghĩa Chính báo cáo tồn nhiều thiếu sót thân em nghĩ báo cáo phản ánh ý cần có là: - Hiểu vai trò kiểm thử phần mềm - Nắm qui trình kiểm thử phần mềm - Tổng hợp số kỹ thuật kiểm thử phần mềm - Tìm hiểu công cụ Pex kiểm thử modul viết Net - Áp dụng công cụ Pex vào kiểm tra toán cụ thể Hướng phát triển đề tài: Đề tài hướng tới áp dụng để kiểm tra toán lớn thực tế Tiến tới kiểm tra hệ thống phần mềm cụ thể thực tế 59 TÀI LIỆU THAM KHẢO Parameterized Unit Testing with Microsoft Pex, Nikolai Tillmann and Jonathan de Halluex Code Digging with Pex Code Understanding and Automatic Testing At Your Fingertips, Nikolai Tillmann and Peli de Halleux http://research.microsoft.com/en-us/projects/pex/ http://pex.codeplex.com/ http://en.wikipedia.org/wiki/Software_testing Một số trang web kiểm thử phần mềm khác 60 [...]... viên) và một chuyên viên kiểm thử 20 CHƯƠNG 2: KIỂM THỬ UNIT VỚI PEX Kiểm thử đơn vị (kiểm thử Unit/ Unit Testing) ngày nay càng trở nên phổ biến Theo một nghiên cứu mới gần đây chỉ ra rằng 79% người phát triển phần mềm sử dụng kiểm thử đơn vị Kiểm thử đơn vị được viết thành tài liệu theo yêu cầu của khách hàng, để đóng góp ý kiến về thiết kế, bảo hộ những thay đổi như là một phần của quá trình kiểm thử. .. sau đó sử dụng ràng buộc để dò dữ liệu kiểm thử đầu vào và lặp lại quá trình này Trong mỗi lần kiểm thử, Pex có thể nhận ra mã chương trình mới và nghiên cứu sự thự thi nó 2.2.3 Ví dụ về thăm dò kiểm thử: Để hiểu rõ hơn về thăm dò kiểm thử ta áp dụng thăm dò kiểm thử với một phương thức đơn giản đó là lấy hai số tự nhiên như dữ liệu đầu vào và in những chuỗi khác dựa vào những giá trị đầu vào 31 Chương... tại Một cách mô tả khác của thăm dò kiểm thử là kiểm thử thiết kế và kiểm thử việc thực hiện trong cùng khoảng thời gian Cùng với kinh nghiệm và những sáng tạo của người kiểm thử có thể chuyên nghiệp hơn và kiểm thử tốt hơn Pex thực thi mã chương trình nhiều lần và nắm bắt được mấu chốt của chương trình bằng việc kiểm tra điều khiển và luồn dữ liệu Sau mỗi lần kiểm thử nó chọn một nhánh không được hoàn... chỉ định dữ liệu vào, các bước thực hiện và dữ liệu mong chờ sẽ xuất ra Các test case và scrip này nên được giữ lại để tái sử dụng 1.2.2 Integration Test - Kiểm tra tích hợp: Integration Test kết hợp các thành phần của một ứng dụng và kiểm tra như một ứng dụng đã hoàn thành Trong khi Unit Test kiểm tra các thành phần và Unit riêng lẻ thì Integration Test kết hợp chúng lại với nhau và kiểm tra sự giao... Hiệu quả của kiểm thử đơn vị: Hiệu quả của kiểm thử đơn vị chỉ phụ thuộc vào thời gian người phát triển phần mềm quan tâm đến chúng Số lượng kiểm thử đơn vị: Làm tăng mã chương trình với những kiểm thử đơn vị không cần thiết Chương trình mới cùng với cách kiểm thử lạc hậu: Trong khi kiểm thử đơn vị đã viết thì khi đó người phát triển phần mềm đang viết mã chương trình, giống như kiểm thử đơn vị không... thử 2.1 Kiểm thử đơn vị: 2.1.1 Định nghĩa: Kiểm thử đơn vị chứa chương trình trong nó, chương trình này kiểm tra một khía cạnh nào đó dưới dạng kiểm thử Một đơn vị là một phần nhỏ của chương trình Mỗi kiểm thử đơn vị gồm có ba phần: dữ liệu mẫu (exempraly data), trình tự các phương thức (method sequence) và xác nhận kiểm thử (assertions) - Dữ liệu mẫu có thể coi như kiểm thử đầu vào đã đáp ứng các... nhau Thiết kế và đặc điểm kỹ thuật: Người phát triển phần mềm giải thích chi tiết sự hiểu biết của họ trong kiểm thử đơn vị hay mã chương trình Người phát triển phải đưa ra được ý tưởng kiểm thử và mục đích của nó trước khi viết mã chương trình và sử dụng để điều khiển thiết kế chương trình Thống kê và kiểm thử quy hồi: Người phát triển hoặc người kiểm thử có thể viết chương trình kiểm thử để làm tăng... vào nhiều trường hợp đặc biệt trong đoạn chương trình nhưng không cập nhật kiểm thử đơn vị Che dấu quá trình phân tích kiểm thử: Cách tốt nhất, một kiểm thử đơn vị nên kiểm định mã chương trình một cách riêng biệt Điều này có nghĩa là phụ thuộc vào tất cả môi trường ví dụ như cơ sở dữ liệu, tệp dữ liệu vào ra 2.1.4 Kết cấu của kiểm thử đơn vị trong NET: 2.1.4.1 Kết cấu của kiểm thử đơn vị: Có một vài... Ta sẽ chọn giá trị i = -1 và j =123 Kiểm thử được thi hành và in ra giá trị ở dòng thứ 5 như ta mong muốn 2.3 Sử dụng Pex trong Visual Studio: 2.3.1 Giới thiệu về Pex: Pex là một công cụ tích hợp trong Visual Studio dùng trong kiểm thử hộp trắng với các ứng dụng NET Thực hiện đầy đủ như là một linh kiện bổ sung cho Visual Studio, Pex được phát triển bởi Microsoft Research và có thể tải về theo địa... ra những kiểm thử có lỗi đáng chú ý và khi đó một test case tăng độ bao phủ và được điều khiển bởi thuộc tính TestEmissionBranchHits - FailuresAndUniquePaths: đưa ra kiểm thử cho tất cả các lỗi được tìm thấy và cho mỗi kiểm thử dữ liệu đầu vào là nguyên nhân thi hành theo hướng cố định - Failures: chỉ đưa ra kiểm thử khi có lỗi 2.3.1.3 Khi nào thì Test case lỗi? Pex coi ngoại lệ của kiểm thử để quyết