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

Khai niem kiem thu phan mem

1 123 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 47,64 KB

Nội dung

Khai niem kiem thu phan mem tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực...

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN THẠC SĨ MỘT SỐ KỸ THUẬT KIỂM THỬ PHẦN MỀM Chuyên ngành : KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học : PGS. TSKH. NGUYỄN XUÂN HUY Học viên thực hiện : : CAO THỊ BÍCH LIÊN Mã số : 60 48 01 Thái Nguyên - Năm 2009 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn i LỜI CAM ĐOAN Tôi xin cam đoan luận văn này là công trình nghiên cứu của riêng tôi. Các số liệu kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nghiên cứu nào khác. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ii MỤC LỤC LỜI CAM ĐOAN ………………………………………………………………… i MỤC LỤC . .ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT …………………….……v DANH MỤC CÁC BẢNG ……………………………………………………… vi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ ………………………………… …….vii MỞ ĐẦU . 1 Chƣơng 1 VẤN ĐỀ CHẤT LƢỢNG PHẦN MỀMKIỂM THỬ PHẦN MỀM……………………………………….…………………… ….4 1.1. Sản phẩm phần mềm và vấn đề kiểm thử phần mềm . ……….…… .4 1.1.1. Sản phẩm phần mềm là gì? 4 1.1.2. Thế nào là lỗi phần mềm? 5 1.1.3. Tại sao lỗi phần mềm xuất hiện? . 6 1.1.4. Chi phí cho việc sữa lỗi . 7 1.1.5. Kiểm thử phần mềm là gì? . 8 1.2. Chất lƣợng phần mềm 8 1.3. Qui trình kiểm thử phần mềm . 9 Chƣơng 2 CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM . 12 2.1. Nguyên tắc cơ bản kiểm thử phần mềm 12 2.1.1. Mục tiêu kiểm thử . 12 2.1.2. Luồng thông tin kiểm thử 13 2.1.3. Thiết kế trường hợp kiểm thử 13 2.2. Kỹ thuật kiểm thử hộp trắng (White-Box Testing) . 14 2.2.1. Kiểm thử đường dẫn cơ sở (Basic Path Testing) 16 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii 2.2.2. Kiểm thử cấu trúc điều khiển 22 2.3. Kỹ thuật kiểm thử hộp đen (Black-Box Testing) 26 2.3.1. Phân hoạch tương đương . 27 2.3.2. Phân tích giá trị biên (Boundary Value Analysis) 30 2.3.3. Kỹ thuật đồ thị nhân-quả (Cause-Effect Graph) . 31 2.3.4. Kiểm thử so sánh . 34 2.4. Đoán lỗi . 34 Chƣơng 3 CHIẾN LƢỢC KIỂM THỬ PHẦN MỀM 35 3.1. Nguyên lý thiết kế và kiểm thử phần mềm 35 3.2. Phƣơng pháp tiếp cận kiểm thử phần mềm 36 3.2.1. Xác minh và thẩm định 37 3.2.2. Tổ chức việc kiểm thử . 37 3.2.3. Chiến lược kiểm thử phần mềm . 38 3.2.4. Điều kiện hoàn thành kiểm thử 39 3.3. Kiểm thử đơn vị Khai niem kiem thu phan mem Khai niem kiem thu phan mem Bởi: Trần Thị Huệ Kiểm thử phần mềm gì? Kiểm thử phần mềm việc kiểm tra kết thực chương trình máy tính xem có với mục tiêu đặt với không thông qua việc thực số mẫu thử Kiểm thử phần mềm việc tìm lỗi thân phần mềm, việc kiểm thử phần mềm biểu thị thiếu sót mà ta nhận thấy hành vi phần mềm, tìm phần mềm không tuân theo quy định, lệch khỏi yêu cầu phần mềm Theo số nhà nghiên cứu kiểm thử phần mềm định nghĩa sau: • Theo ông Dijkstra: Kiểm thử thị lỗi có không thị lỗi chưa thấy • Theo ông Beizer: • Định luật 1: Mọi phương pháp bạn sử dụng để ngăn ngừa tìm thấy lỗi bỏ phần lỗi rắc rối, mà phương thức cần • Định luật 2: Phần mềm phức tạp lớn giới hạn khả quản lí • Theo hiệp hội IEEE: Kiểm thử tiến trình vận hành hệ thống thành phần điều kiện xác định, quan sát ghi nhận kết đưa đánh giá hệ thống thành phần • Theo ông Myers: 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 1/1 Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy TânMỤC LỤCMỤC LỤC 1DANH MỤC CÁC HÌNH VẼ .3DANH MỤC CÁC KÍ HIỆU VÀ TỪ VIẾT TẮT 4MỞ ĐẦU 51. Lý do chọn đề tài .52. Mục tiêu .63. Phạm vi nghiên cứu 64. Bố cục của đề tài .6CHƯƠNG I. CƠ SỞ LÝ THUYẾT 8I. TỔNG QUAN VỀ QUÁ TRÌNH KIỂM THỬ 8I.1 Một số định nghĩa về quá trình kiểm thử phần mềm .8I.2 Những khái niệm liên quan đến kiểm thử 9I.3 Mô hình khái niệm của quá trình kiểm thử 10I.4 Mục tiêu của kiểm thử 10I.5 Vai trò .10II. NHỮNG VẤN ĐỀ LIÊN QUAN ĐẾN KIỂM THỬ 11 II.1 Vòng đời kiểm thử 11 II.2 Tiến trình kiểm thử 11 II.3 Những thành phần của một kế hoạch kiểm thử .12 II.4 Những điểm cần tập trung kiểm thử trước nhất nếu không có đủ thời gian 12II.5 Các chỉ tiêu đánh giá kiểm thử .13III. MỘT SỐ LOẠI KIỂM THỬ THÔNG DỤNG 131.Mô hình phát triển chữ V .13 2 Kiểm thử unit .14 2.1 Tiến trình kiểm thử Unit 152.2 Kế hoạch kiểm thử unit 16 2.3 Kiểm thử hộp đen 16 2.4 Kiểm thử hộp trắng .16 2.5 Các trường hợp kiểm thử và dữ liệu kiểm thử .193. Kiểm thử tích hợp .20 3.1 Tạo dữ liệu và file kiểm thử 20 3.2 Các chiến thuật và kĩ nghệ kiểm thử 20 4 Kiểm thử hệ thống 23 5 Kiểm thử xác nhận .24 6 Kiểm thử hồi quy .24 7 Lỗi dữ liệu 24CHƯƠNG II. NGHIÊN CỨU PHẦN MỀM SEK CỦA IBM 32SVTH: Đặng Thị Kiều Oanh- MSSV:0057 Trang 1 Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0Ứng dụng kiểm thử phần mềm tại trung tâm phát triển KHOA CÔNG NGHỆ THÔNG TINĐẠI HỌC THÁI NGUYÊNĐề tài thực tập chuyên ngành: MỤC LỤC MỤC LỤC . 2 DANH MỤC CÁC HÌNH 5 LỜI NÓI ĐẦU . 6 TÓM TẮT NỘI DUNG . 7 CHƯƠNG 1. TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM . 9 1.1 Các khái niệm cơ bản về kiểm thử phần mềm . 9 1.1.1 Kiểm thử phần mềm là gì? 9 1.1.2 Các phương pháp kiểm thử . 10 1.1.2.1 Kiểm thử tĩnh – Static testing 10 2THIẾT KẾ TEST-CASETRONG KIỂM THỬPHẦN MỀMSinh viên thực hiện : Phạm Thị TrangLớp : ĐHCQ K4AGiáo viên hướng dẫn : Nguyễn Hồng TânBộ môn : Công nghệ phần mềmThái Nguyên, tháng 9 năm 2009 1.1.2.2 Kiểm thử động – Dynamic testing . 10 1.1.3 Các chiến lược kiểm thử . 10 1.1.3.1 Kiểm thử hộp đen – Black box testing . 11 1.1.3.2 Kiểm thử hộp trắng – White box testing 12 1.1.3.3 Kiểm thử hộp xám – Gray box testing . 13 1.1.4 Các cấp độ kiểm thử phần mềm . 13 1.1.4.1 Kiểm thử đơn vị – Unit test . 14 1.1.4.2 Kiểm thử tích hợp – Intergration Test 15 1.1.4.3 Kiểm thử hệ thống – System Test . 16 1.1.4.4 Kiểm thử chấp nhận sản phẩm – Acceptance Test . 18 1.1.4.5 Một số cấp độ kiểm thử khác . 19 1.1.5 Các phương pháp kiểm thử con người . 20 1.1.5.1 Tổng duyệt – Walkthrough . 21 1.1.5.2 Thanh tra mã nguồn – Code Inspection 21 1.2 Nguyên tắc kiểm thử phần mềm 22 CHƯƠNG 2. THIẾT KẾ TEST – CASE . 23 2.1 Khái niệm 23 2.2 Vai trò của thiết kế test – case . 23 2.3 Quy trình thiết kế test – 1Nhập môn Công nghệ Phần mềmChủ đề 6: KIỂM THỬ PHẦN MỀML ng Tr n Hy Hi n, Khoa CNTT, HSP TpHCMươ ầ ế Đ Tài liệu – Textbook •Pressman, Kỹ nghệ phần mềm, chương 18~19.•Sommerville: Software Engineering, chương 22~23. Cảm ơnBài giảng này tham khảo từ các nguồn sau:•Slide bài giảng CNPM, Trần Ngọc Bảo, ĐH Sư phạm TpHCM•Slide bài giảng CNPM, Trần Anh Dũng, ĐH CNTT, ĐHQG TpHCM.3 Khảo sátPhân tíchThiết kếCài đặtKiểm traTriển khaiBảo trìKết quả:Nội dung:•Kiểm lỗi•Kiểm lỗi phân hệ•Kiểm lỗi hệ thống•Roadmap•Test plan•Test case•Bug•Test reportGiai đoạn kiểm tra Mục tiêuBiết được quy trình kiểm thử phần mềmBiết được các khái niệm liên quan đến kiểm thử (testing)Biết được các bước kiểm thửBiết sử dụng một số công cụ hỗ trợ testingBiết viết sưu liệu kiểm thử Nội dungKhái niệm kiểm thử phần mềmMột số đặc điểm của kiểm thử phần mềmTại sao kiểm thử lại cần thiết?Qui trình kiểm thửTổ chức và vai trò của các thành viên trong nhóm testCông cụ hỗ trợ test:Công cụ theo dõi quá trình testCông cụ hỗ trợ test tự độngSưu liệu kiểm thử: Test plan, test case, test log, test report,… •Kiểm thử là gì?… that can cause a failurein operationA person makesan error .… that creates a fault (bug, defect) in thesoftware .Khái niệm kiểm thử phần mềm Khái niệm kiểm thử phần mềm•Kiểm thử phần mềm là quá trình thực thi phần mềm với mục tiêu tìm ra lỗiGlen Myers, 1979 Khẳng định được chất lượng của phần mềm đang xây dựngHetzel, 1988 Một số đặc điểm kiểm thử PM•Kiểm thử phần mềm giúp tìm ra được sự hiện diện của lỗi nhưng không thể chỉ ra sự vắng mặt của lỗiDijkstra•Mọi phương pháp được dùng để ngăn ngừa hoặc tìm ra lỗi đều sót lại những lỗi khó phát hiện hơnBeizer•Điều gì xảy ra nếu việc kiểm thử không tìm được lỗi trong phần mềm hoặc phát hiện quá ít lỗi–Phần mềm có chất lượng quá tốt–Quy trình/Đội ngũ kiểm thử hoạt động không hiệu quả Tại sao kiểm thử lại cần thiết?•Thông thường thì phần mềm không hoạt động như mong muốn  lãng phí tiền bạc, thời gian, uy tín của doanh nghiệp, thậm chí có thể gây nên thương tích hay cái chết.•Ví dụ:–Website công ty có nhiều lỗi chính tả trong câu chữ Khách hàng có thể lãng tránh công ty với lý do công ty trông có vẻ không chuyên nghiệp.–Một phần mềm tính toán lượng thuốc trừ sâu dùng cho cây trồng, vì lý do tính sai số lượng lên gấp 10 lần Nông dân phải bỏ nhiều tiền mua, cây trồng hư hại, môi trường sống, nguồn nước bị ảnh hưởng,…. [...]... sao kiểm thử lại cần thiết? • Kiểm thử phần mềm  chất lượng phần mềm được nâng cao • Chúng ta có thể đánh giá chất lượng phần mềm dựa vào số lượng lỗi tìm thấy và các đặc tính như: tính đúng đắn, tính dễ sử dụng, tính dễ bảo trì,… • Kiểm thử có thể đem lại sự tin tưởng đối với chất lượng phần mềm nếu 1 Kiểm thử (9) Nguyễn Thanh Bình Khoa Công nghệ Thông tin Trường ðại học Bách khoa ðại học ðà Nẵng 2 Nội dung  Giới thiệu về kiểm thửKiểm thử trong tiến trình phát triển  Kiểm thử hộp ñen  Kiểm thử hộp trắng 2 3 Kiểm thử là gì ?  IEEE: Kiểm thử là tiến trình vận hành hệ thống hoặc thành phần dưới những ñiều kiện xác ñịnh, quan sát hoặc ghi nhận kết quả và ñưa ra ñánh giá về hệ thống hoặc thành phần ñó  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 (The art of software testing) 4 Kiểm thử là gì ?  Kiểm thử ≠ Gở rối (debug)  Kiểm thử • nhằm phát hiện lỗi  Gở rối • xác ñịnh bản chất lỗi và ñịnh vị lỗi trong chương trình • tiến hành sửa lỗi 3 5 Các khái niệm  Một sai sót (error) là một sự nhầm lẫn hay một sự hiểu sai trong quá trình phát triển phần mềm của người phát triển  Một lỗi (fault, defect) xuất hiện trong phần mềm như là kết quả của một sai sót  Một hỏng hóc (failure) là kết quả của một lỗi xuất hiện làm cho chương trình không hoạt ñộng ñược hay hoạt ñộng nhưng cho kết quả không như mong ñợi sai sót lỗi hỏng hóc 6 Các khái niệm  Dữ liệu thử (test data)  dữ liệu vào cần cung cấp cho phần mềm trong khi thực thi  Kịch bản kiểm thử (test scenario)  các bước thực hiện khi khi kiểm thửPhán xét kiểm thử (test oracle)  ñánh giá kết quả của kiểm thử • tự ñộng: chương trình • thủ công: con người 4 7 Các khái niệmKiểm thử viên (tester)  người thực hiện kiểm thử  Ca kiểm thử (test case)  tập dữ liệu thử  ñiều kiện thực thi  kết quả mong ñợi 8 Các khái niệm 5 9 Tiến trình kiểm thửKiểm thử thường bao gồm các bước  thiết kế các ca kiểm thử  bước tạo dữ liệu thửkiểm thử với tất cả các dữ liệu vào là cần thiết • không thể kiểm thử “vét cạn” • chọn tập các dữ liệu thử ñại diện từ miền dữ liệu vào • dựa trên các tiêu chuẩn chọn dữ liệu thử  bước thực thi chương trình trên dữ liệu thử • cung cấp dữ liệu thử • thực thi • ghi nhận kết quả  bước quan sát kết quả kiểm thử • thực hiện trong khi hoặc sau khi thực thi • so sánh kết quả nhận ñược và kết quả mong ñợi 10 Tiến trình kiểm thử 6 11 Khó khăn của kiểm thử  Liên quan ñến tiến trình phát triển  gồm nhiều giai ñoạn phát triển • cái ra của một giai ñoạn là cái vào của giai ñoạn khác • mất mát thông tin  Về mặt con người  thiếu ñào tạo  ít chú trọng vai trò kiểm thử  Về mặt kỹ thuật  không tồn tại thuật toán tổng quát có thể chứng minh sự ñúng ñắn hoàn toàn của bất kỳ một chương trình nào 12 Tại sao kiểm thử  Hợp thức hóa (validation)  chỉ ra rằng sản phẩm ñáp ứng ñược yêu cầu người sử dụng  Xác minh (verification)  chỉ ra rằng sản phẩm thỏa mãn ñặc tả yêu cầu  Phân biệt hợp thức hóa và xác minh  “Verification: Are we building the product right ?”  “Validation: Are we building the right product ?” 7 13 Kiểm thử trong tiến trình phát triển  Các kỹ thuật kiểm thử  kỹ thuật kiểm thử tĩnh (static testing)  kỹ thuật kiểm thử ñộng (dynamic testing) • kiểm thử hộp ñen (black-box testing) • kỹ thuật kiểm thử chức năng (functional testing) • kiểm thử hộp trắng (white-box testing) • kỹ thuật kiểm thử cấu trúc (structural testing)  Các hoạt ñộng kiểm thử/chiến lược kiểm thửkiểm thử ñơn vị (unit testing)  kiểm thử tích hợp (integration testing)  kiểm thử hợp thức hóa (validation testing)  kiểm thử hồi quy (regression testing) 14 Kiểm thử trong tiến trình phát triển  Kiểm thử ñơn vị (unit testing)  kiểm thử mỗi ñơn vị phần mềm (mô-ñun)  sử dụng kỹ thuật kiểm thử hộp ñen  dữ liệu thử

Ngày đăng: 31/10/2017, 17:54

TỪ KHÓA LIÊN QUAN