Cung cấp các kiến thức cơ bản về kiểm tra phần mềm.
Nắm vững các chiến lược kiểm tra phần mềm
Sử dụng các kỹ thuật kiểm tra phần mềm (White-box testing, Black-box testing,.)
Sử dụng các công cụ kiểm tra phần mềm (QTP, NUnit, JUnit, )
37 trang |
Chia sẻ: lylyngoc | Lượt xem: 1955 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Kiểm thử Phần mềm – Software Testing Chương 0: Giới thiệu môn học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Click to edit Master text styles Second level Third level Fourth level Fifth level ‹#› Click to edit Master title style 1 Kiểm thử Phần mềm – Software TestingChương 0: Giới thiệu môn học Lương Trần Hy Hiến, Khoa CNTT, ĐH Sư phạm TpHCM Giới thiệu môn học Giảng viên: Lương Trần Hy Hiến (HIENLTH) Khoa CNTT, ĐH Sư phạm TpHCM (FIT – HCMUP) Các môn dạy: NM Công nghệ Phần mềm, Kiểm thử phần mềm, Công nghệ NET, Bảo mật và An ninh mạng Hướng nghiên cứu: Software Testing, Semantic Web, Network Security… Email: hienlth@hcmup.edu.vn Web môn học: 2 Giới thiệu môn học (tt) Nội dung: Cung cấp các kiến thức cơ bản về kiểm tra phần mềm. Nắm vững các chiến lược kiểm tra phần mềm Sử dụng các kỹ thuật kiểm tra phần mềm (White-box testing, Black-box testing,..) Sử dụng các công cụ kiểm tra phần mềm (QTP, NUnit, JUnit, …) 3 Nội dung Giới thiệu tổng quan Các chiến lược kiểm tra phần mềm Các loại kiểm tra phần mềm Các khái niệm cơ bản trong kiểm tra PM 3 1 2 3 4 5 Các kỹ thuật kiểm tra phần mềm 6 Các công cụ kiểm tra và Case Study 4 Yêu cầu môn học Tham dự đầy đủ các buổi học lý thuyết Đi thực hành nghiêm chỉnh! Hoàn thành tất cả các yêu cầu: Đọc các tài liệu tham khảo (e-book) môn học Bài tập homework Bài tập thực hành Project cuối khóa (lấy điểm thực hành) 5 Tài liệu tham khảo C. Kaner, J. Falk, H. Q. Nguyen (1999), Testing Computer Software 2nd, John Wiley & Sons. G. Myers (2004), The Art of Software Testing 2nd, John Wiley & Sons Ilene Burnstein (2003), Practical software testing : a process-oriented approach, Springer-Verlag Paul Ammann, Jeff Offutt (2008), Introduction Software Testing, Cambridge University Press Pentti Pohjolainen (2002), Software Testing Tool, University of Kuopio. 6 Tài liệu tham khảo 7 Công cụ thực hành HP Quick Test Pro ver 10 trở lên NUnit JUnit 8 Lịch làm việc Lý thuyết: Sáng thứ 6, tiết 3 – 4, C201. Thực hành: Sáng thứ 4, tiết 5 – 6, I202. Trao đổi, thảo luận (hẹn trước): Chiều thứ 5/6, từ 14g00, I101/I102 9 Đồ án môn học Làm nhóm 2 sinh viên Đăng ký nhóm theo link Google Docs cung cấp. Nội dung: Manual Test: Viết ứng dụng Windows, viết testcase, thực hiện test và mô tả Automation test: GV dựng sẵn web server (PHP, ASP.NET), SV viết test script một chức năng nào đó, chuẩn bị dữ liệu và thực hiện test, kết quả 10 Đề tài tìm hiểu Làm nhóm (tối đa 4SV) – không bắt buộc Danh sách đề tài GV cung cấp Điểm cộng: 20% (được phép thay bài giữa kỳ) Công việc: Tìm hiểu về chủ đề và báo cáo Demo (quay phim, script,…) 11 Đánh giá Kiểm tra giữa kỳ: 20% Thi viết: 50% Đồ án Thực hành: 30% 1 2 3 12 Báo cáo tìm hiểu: Điểm cộng 20% 4 13 Mọi hình thức gian lận đồ án 0 điểm FAQ 14 15 Kiểm thử Phần mềm – Software TestingChương 1: Tổng quan Lương Trần Hy Hiến, Khoa CNTT, ĐH Sư phạm TpHCM Giới thiệu Lỗi phần mềm là hiển nhiên phải có. Một lập trình viên loại tốt trung bình có từ 1 đến 3 lỗi trên 100 dòng lệnh. Kiểm định phần mềm chiếm gần nửa thời gian dự án. Cần có công nghệ kiểm định phần mềm. Nguyên nhân gây lỗi Có nhiều nguyên nhân Do viết mã Do thay đổi môi trường, công nghệ Do thay đổi phần cứng, hạ tầng phức tạp Tương tác nhiều hệ thống Vài trò kiểm thử Đảm bảo chất lượng phần mềm Đúng chức năng Chạy ổn định, khả năng bảo trì Tối ưu chất lượng, hiệu quả Đáp ứng các yêu cầu hợp đồng, chuẩn, tổ chức. Rút kinh nghiệm cho các dự án sau Mức độ kiểm tra tối đa Dựa vào bảng liệt kê các rủi ro Hy vọng sẽ đạt mức rủi ro tối thiểu Đủ để dám xuất xưởng Các cách làm sai lầm Kiểm tra các chức năng không dựa vào mẫu thử. Kiểm tra các chức năng dựa vào mẫu thử. Mục đích là: xem chương trình có lỗi hay không → Chưa đủ Kiểm tra phần mềm là gì? Là công nghệ tìm ra lỗi càng nhiều càng tốt. Kiểm tra viên (Tester) thực hiện Khác với gỡ rối (debug) – tìm nguyên nhân lỗi và sửa chữa. Do người viết mã thực hiện. Các giai đoạn Lập kế hoạch Chọn điều kiện kiểm tra Thiết kế các kịch bản - test script / mẫu thử - test case. Thực thi Đánh giá kết quả Báo cáo kết quả Các giai đoạn Khi nào bắt đầu kiểm tra? Kiểm tra yêu cầu Kiểm tra phân tích Kiểm tra thiết kế Kiểm tra sản phẩm Các mức độ kiểm tra Kiểm tra đơn vị - Unit Kiểm tra thành phần - Module Kiểm tra tích hợp - Integration Kiểm tra hệ thống - System Kiểm tra chấp nhận - Acceptance Các mức độ kiểm tra Các kiểu kiểm tra Chức năng Phi chức năng Cấu trúc Hồi qui Hộp đen và hộp trắng Kiểm tra hộp đen – tương tự Kiểm tra chức năng Kiểm tra hộp trắng – Tương tự kiểm tra cấu trúc Kiểm tra hiệu năng và chịu tải Kiểm tra hiệu năng: Kiểm tra sự vận hành của hệ thống trong nhiều môi trường. Kiểm tra chịu tải: Kiểm tra các giới hạn của hệ thống Các loại kiểm tra khác Kiểm tra cấu hình Kiểm tra bảo mật Kiểm tra khả năng phục hồi Kiểm tra Alpha Kiểm tra Beta Kiểm tra quốc tế hóa Dịch vụ kèm theo sau kiểm tra Thực hiện kiểm tra Sau giai đoạn thiết kế là thực hiện dựa trên test-case. Thực hiện thủ công Thực hiện tự động Quá trình kiểm nghiệm tốt Tìm ra nhiều lỗi Không dư thừa Biết chọn lọc Không quá phức tạp Các nguyên lý tổng quát Nguyên tắc kiểm tra viên Nhìn theo nhiều góc độ Luôn nhớ mục tiêu Tuân theo kế hoạch Giao tiếp theo cách tích cực, xây dựng Thảo luận Phần mềm ở mức độ nào thì cần kiểm tra? Vai trò của ngoại ngữ đối với việc kiểm thử phần mềm? Kiểm tra phần mềm dể hay khó? Các tố chất để thành một kiểm thử viên? Về nhà Thực hiện bài khảo sát (HC: 13/3/2013) COMP1063_HW1_Khao_sat_thong_tin.docx 37 Cảm ơn Bài giảng này tham khảo từ: Nguyễn Quốc Huy, ĐH Sài Gòn. Lê Duy Hoàng, ĐH KHTN TpHCM. 38