Nguyễn Ngọc Hải - 1 - 4/26/2013
Trêng ®¹i häc hïng v¬ng
Khoa to¸n - c«ng nghÖ
--------------d ß c------------
ĐỀ TÀI
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Giáo viên hướng dẫn:
Lương Mạnh Bá
Sinh Viên Thực Hiện:
1. Nguyễn Ngọc Hải (Trưởng Nhóm)
2. Nguyễn Xuân Chiến
3. Hạ Ngọc Xuân
Sinh Viên Lớp K6 Tin
Phú Thọ 2011
Nguyễn Ngọc Hải - 2 - 4/26/2013
Mục lục
Phần I: Giới Thiệu Về Kiểm Thử Phần Mềm
1.1Khái niệm kiểm thử phần mềm
Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn
phát triển phần mềm để đảm bảo rằng phần mềm thoả mãn các yêu cầu thiết
kế và các yêu cầu đó đáp ứng các nhu cầu của người dùng. Các kỹ thuật kiểm
thử phần mềm đã, đang được nghiên cứu, và việc kiểm thử phần mềm đã trở
thành qui trình bắt buộc trong các dự án phát triển phần mềm trên thế giới.
Kiểm thử phần mềm là khâu mấu chốt để đảm bảo chất lượng phần mềm,
là đánh giá cuối cùng về đặc tả thiết kế và mã hóa.
Kiểm thử phần mềm là quá trình chạy thử một ứng dụng để phát hiện lỗi
và xem nó có thỏa mãn các yêu cầu đã đặt ra trong quá trình phát triển phần
mềm, những người phát triển phần mềm và các kỹ sư kiểm thử cùng làm việc để
phát hiện lỗi và đảm bảo chất lượng sản phẩm. Một sản phẩm phần mềm được
phân phối phải có đầy đủ các chức năng yêu cầu và tương thích với phần cứng
của khách hàng.
• Chi phí của kiểm thử chiếm
• 40% tổng công sức phát triển
• >=30% tổng thời gian phát triển
• Kiểm thử tốt sẽ:
• Giảm chi phí phát triển
• Tăng độ tin cậy của sản phẩm phần mềm
Nguyễn Ngọc Hải - 3 - 4/26/2013
Sơ đồ kiểm thử
1.2 Mục tiêu của kiểm thử
Các nguyên tắc được xem như mục tiêu kiểm thử là:
• Kiểm thử là một quá trình thực thi chương trình với mục đích tìm lỗi.
• Một trường hợp kiểm thử tốt là trường hợp kiểm thử mà có khả
năng cao việc tìm thấy các lỗi chưa từng được phát hiện.
• Một kiểm thử thành công là kiểm thử mà phát hiện lỗi chưa từng
được phát hiện.
1.3 Những khó khăn của kiểm thử
•Nâng cao chất lượng phần mềm nhưng không vượt quá chất lượng
thiết kế. chỉ phát hiện các lỗi tiềm tàng và sửa chúng
•Phát hiện lỗi bị hạn chế do thủ công là chính
•Dễ bị ảnh hưởng tâm lý khi kiểm thủ.
•Khó đảm bảo tính đầy đủ của kiểm thử
1.4 Các phương pháp kiểm thử
Người ta phân biệt 2 phương pháp kiểm thử: Kiểm thử trên bàn hay kiểm
thử tĩnh và Kiểm thử trên máy hay kiểm thử động. Kiểm thử tĩnh thường được
tiến hành trước nhằm tạo ra kịch bản cho kiểm thử động.
1.5 Các kỹ thuật thiết kế trường hợp kiểm thử
Thiết kế trường
hợp
kiểm thử
Chuẩn bị dữ
liệu
kiểm thử
Chạy trương
trình với dữ
kiệu kiểm thử
Trường hợp
kiểm thử
dữ liệu
kiểm thử
Kết quả
kiểm thử
Báo cáo
kiểm thử
So sánh kết
quả với
các trường
hợp kiểm thử
Nguyễn Ngọc Hải - 4 - 4/26/2013
Kiểm thử hộp đen – Black box testing
Kiểm thử hộp trắng – White box testing
Kiểm thử hộp xám – Gray box testing
1.6 Phương pháp thử các mô đun
Để kiểm thử một phần mềm, người ta tiến hành kiểm thử theo trình tự sau:
• Kiểm thử môđun
• Kiểm thử tích hợp
• Kiểm thử hệ thống
• Kiểm thử chấp nhận (β Testing)
PHẦN II GIỚI THIỆU CHI TIẾT VỀ KIỂM THỬ
Có thể sử dụng một số kỹ thuật trong quá trình kiểm thử nhằm tăng
hiệu quả
của họat động này. Mc Gregor mô tả các kỹ thuật kiểm thử
như những công cụ
được thiết kế để đảm bảo rằng tất cả các khía cạnh
của sản phẩm đều được khảo sát. Mặt khác, các kỹ thuật kiểm thử là
những công cụ để dễ dàng đạt được hiệu quả kiểm thử.
2.1 Nguyên tắc cơ bản kiểm thử phần mềm.
Trong lúc kiểm thử, công nghệ phần mềm phát sinh một chuỗi các trường
hợp kiểm thử được sử dụng để “tách từng phần” phần mềm. Kiểm thử là
một bước trong qui trình phần mềm mà có thể được xem xét bởi đội ngũ
phát triển bằng cách phá vỡ thay vì xây dựng. Các kỹ sư phần mềm
chính là những người xây dựng và việc kiểm thử yêu cầu họ vượt qua các
khái niệm cho trước về độ chính xác và giải quyết mâu thuẫn khi các lỗi
được xác định.
2.2 Các phương pháp kiểm thử
Có 2 phương pháp kiểm thử chính là: Kiểm thử tĩnh và Kiểm thử động.
2.2.1 Thử tĩnh
Khái niệm
Phương pháp thử phần mềm thông qua việc sử dụng giấy, bút trên bàn để kiểm
tra logic, lần từng chi tiết ngay sau khi lập trình xong
Chủ yếu kiểm tra mã, các tài liệu đặc tả
Nguyễn Ngọc Hải - 5 - 4/26/2013
Các phương pháp thử tĩnh
Thanh tra
Duyệt
* Thanh tra
Khái niệm
Phương pháp kiểm tra ngang hàng sản phẩm phần mềm thực hiện bởi những
người nghiên cứu riêng lẻ để tìm ra những lỗi có thể bằng một tiến trình chuẩn
cho trước
Một cuộc thanh tra bao gồm:
Đặc tả phần mềm
Kế hoạch thanh tra
Sản phẩm phần mềm
Điều phối viên
Thanh tra viên
Tác giả phần mềm
Tiến trình thanh tra:
1. Lên kế hoạch
2. Gặp gỡ trước
3. Chuẩn bị
4. Gặp gỡ thanh tra
5. Gia công lại
6. Bám sát
Chú ý: các khâu 3,4,5 có thể thực hiện lặp lại
* Duyệt
Khái niệm:
Là một phương pháp kiểm tra ngang hàng với một người thiết kế hướng nhóm
phát triển đến các hoạt động chú ý của quá trình sản xuất phần mềm, tham gia
đặt câu hỏi và chú thích cho các lỗi có thể có.
Khác biệt với thanh tra:
Cấu trúc mở
Khả năng gợi ý định hướng thay đổi phần mềm
Tiến trình duyệt:
1. Đánh giá đầu vào
2. Chuẩn bị quản lí
3. Lập kế hoạch
4. Gặp gỡ trước
5. Chuẩn bị riêng
6. Duyệt
7. Gia công/ bám sát
8. Kết thúc, đánh giá
2.2.2 Kiểm thử động – Dynamic testing
Dùng máy chạy chương trình để điều tra trạng thái từng động tác của chương
trình.