Kiểm
Kiểm thử
thử Phần
Phần mềm
mềm –– Software
Software Testing
Testing
Chương 0: Giới thiệu môn học
Lương Trần Hy Hiến, Khoa CNTT, ĐH Sư phạm TpHCM
1
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:
•
•
–
Cơng nghệ NET, Bảo mật và An ninh mạng
Hướng nghiên cứu:
•
–
NM Cơng nghệ Phần mềm, Kiểm thử phần mềm,
Software Testing, Semantic Web, Network Security…
Email:
– 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
1
2
Các khái niệm cơ bản trong kiểm tra PM
3
Các chiến lược kiểm tra phần mềm
4
5
6 3
4
Giới thiệu tổng quan
Các loại kiểm tra phần mềm
Các kỹ thuật kiểm tra phần mềm
Các công cụ kiểm tra và Case Study
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
1.
C. Kaner, J. Falk, H. Q. Nguyen (1999), Testing Computer Software 2nd, John Wiley &
Sons.
2.
3.
G. Myers (2004), The Art of Software Testing 2nd, John Wiley & Sons
Ilene Burnstein (2003), Practical software testing : a process-oriented approach, SpringerVerlag
4.
Paul Ammann, Jeff Offutt (2008), Introduction Software Testing, Cambridge University
Press
5.
6
Pentti Pohjolainen (2002), Software Testing Tool, University of Kuopio.
Tài liệu tham khảo
1.
2.
3.
4.
5.
6.
7.
7
/> />
/> /> /> />
Cơng cụ thực hành
•
•
•
8
HP Quick Test Pro ver 10 trở lên
NUnit
JUnit
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á
1
Kiểm tra giữa kỳ: 20%
2
Đồ án Thực hành: 30%
3
4
12
Thi viết: 50%
Báo cáo tìm hiểu: Điểm cộng 20%
Thang điểm
20%
50%
30%
Mọi hình thức gian lận đồ án 0 điểm
13
Kiểm tra giữa kỳ
Đồ án
Thi cuối kỳ
FAQ
14
Kiểm
Kiểm thử
thử Phần
Phần mềm
mềm –– Software
Software Testing
Testing
Chương 1: Tổng quan
Lương Trần Hy Hiến, Khoa CNTT, ĐH Sư phạm TpHCM
15
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.
Ngun nhân gây lỗi
•
Có nhiều ngun 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