1
Nhập môn
Công ngh học Phần mm
Introduction to Software Engineering
Department of Software Engineering
Faculty of Information Technology
Hanoi University of Technology
TEL: 04-8682595 FAX: 04-8692906
Email: cnpm@it-hut.edu.vn
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 1
Phần V
Kiểm th Bảo trì
Test and Maintenance
Chương 9: Phương pháp kiểm th
9.1 Khái niệm kiểm thử
9.2 Phương pháp thử
9.3 Kỹ thuật thiết kế trưòng hợp th
9.4 Phương pháp thử các môđun
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 2
9.1 Khái niệm kiểm th
Định nghĩa kiểm thử:
mấu chốt của đảm bảo chất lượng phần
mềm
tiến trình ( nghệ thuật) nhằm phát
hiện lỗi bằng việc xem xét lại đặc tả, thiết kế
hoá.
Kiểm thử thành công phát hiện ra lỗi;
kiểm thử không phát hiện ra lỗi kiểm thử
dở (Sue A.Conger-The New SE)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 3
Những khó khăn khi 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 khi thiết kế: chỉ
phát hiện các lỗi tiềm tàng sửa chúng
Phát hiện lỗi bị hạn chế do thủ công chính
Dễ bị ảnh hưởng m khi kiểm thử
Khó đảm bảo tính đầy đủ của kiểm thử
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 4
6 điểm lưu ýkhi kiểm th
(1) Chất lượng phần mềm do khâu thiết kế quyết
định chủ yếu, chứ không phải khâu kiểm
thử
(2) Tính dễ kiểm thử phụ thuộc vào cấu trúc
chương trình
(3) Người kiểm thử người phát triển nên khác
nhau
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 5
6 điểm lưu ýkhi kiểm thử (tiếp)
(4) Dữ liệu thử cho kết quả bình thường thì
không ýnghĩa nhiều, cần những dữ
liệu kiểm thử phát hiện ra lỗi
(5) Khi thiết kế trường hợp thử, không chỉ dữ
liệu kiểm thử nhập vào, phải thiết kế
trước cả dữ liệu kết quả sẽ
(6) Khi phát sinh thêm trường hợp thử thì nên
thử lại những trường hợp thử trướcđó để
tránh ảnh hưởng lan truyền sóng
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 6
2
Tương ứng giữa vòng đời dự án kiểm thử
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 7
Đối tượng phạm vi
Đặc tả chức năng/
Thiết kế gíc
Thiết kế Vật
Cấu trúc CT
đặc tả môđun
hoá môđun CT
Kiểm thử chấp nhận
Kiểm thử hệ thống
Kiểm tích hợp
Kiểm ĐVCT
Kiểm
hồi quy
9.2 Phương pháp thử: thử tĩnh
Kiểm thử trên bàn hay Kiểm thử tĩnh: 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
Đi xuyên suốt (walk through)
Thanh tra (inspection)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 8
Kiểm th trên máy
Gỡ lỗi bằng máy (machine debug) hay kiểm
thử động: 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
9 bước của trình tự kiểm thử bằng máy
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 9
Trình tự kiểm thử bng máy
(1) Thiết kế trường hợp thử theo th trên bàn
(2) Trường hợp thử phải cả kết quả kỳ vọng
sẽ thu được
(3) Dịch chương trình nguồn tạo môđun tải
để thực hiện
(4) Khi trường hợp thử xử tệp vào-ra,
phải làm trước trên bàn việc xác định miền
của các tệp
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 10
Trình tự kiểm thử bng máy (tiếp)
(5) Nhập dữ liệu đã thiết kế cho trường hợp kiểm thử
(6) Điều chỉnh môi trường thực hiện môđun tải (tạo
thủ tục đưa các tệp truy cập tệp vào chương trình)
(7) Thực hiện môđun tải ghi nhận kết quả
(8) Xác nhận kết quả với kết quả kỳ vọng
(9) Lặp lại thao tác (5)-(8)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 11
9.3 Kỹ thuật thiết kế trường hợp th
Kỹ thuật thiết kế trường hợp thử dựa trên đặc tả bề
ngoài của chương trình: Kiểm thử hp đen (Black box
test): WHAT ?
Kỹ thuật thiết kế trường hợp thử dựa trên đặc tả bên
trong của chương trình: Kiểm thử hộp trắng (white
box test): HOW ?
Kiểm th Top-Down hay Bottom-Up
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 12
3
Kiểm th hp đen
Phân đoạn tương đương
Phân tích giá tr biên
Đoán lỗi
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 13
Black Box
Results
Input
Black box Data Testing Strategy
Phương pháp phân đoạn tương đương
(Equivalence Partition)
Mục đích: giảm số lượng test bằng cách chọn các tập
dữ liệu đại diện
Thực hiện: Chia dữ kiệu vào thành các đoạn, mỗi
đoạn đại diện cho một số dữ liệu => việc kiểm th chỉ
thực hiện trên đại diện đó
ưu điểm: Test theo mức trừu tượng hơn trường. áp
dụng: màn hình, menu hay mức quá trình
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 14
Phương pháp phân tích giá trị biên
(Boundary value analysis)
1 trường hợp riêng của phân đoạn
T dụ: nếu miền dữ liệu tháng thì giá trị 0
hay >12 không hợp lệ
Thường sử dụng trong kiểm thử môđun
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 15
Phương pháp đoán lỗi
(Error Guessing)
Dựa vào trực giác kinh nghiệm
T dụ lỗi chia cho 0. Nếu môđun phép chia
thì phải kiểm thử lỗi này
Nhược điểm: không phát hiện hết lỗi
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 16
Phương pháp đồ thị nguyên nhân -kết quả
(Cause-effect Graphing)
tuần tự
Phủ định and
Or Do Until
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 17
Kiểm th hộp trắng
các lệnh
các rẽ nhánh
các điều kiện
các điều kiện -rẽ nhánh
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 18
Results
Input
White Box Data Testing Strategy
4
Trình tự thiết kế
Kiểm thử môđun
Kiểm thử tích hợp
-Kiểm thử tích hợp trên xuống
-Kiểm thử tích hợp dưới lên
-Kiểm thử hồi qui
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 19
9.4 Kỹ thuật kiểm th môđun
Kiểm thử tích hợp môđun
Kiểm th dưới lên (Bottom-up Test)
Kiểm thử trên xuống (Top-down Test)
Kiểm th cột trụ (Big bung Test)
Kiểm thử kp (Sandwich Test)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 20
Bottom-up Test
Các môđun mức thấp được tổ hợp vào các
chùm thực hiện một chức năng con
Viết trình điều khiển phối hợp vào/ ra kiểm
thử
Kiểm thử chùm/
Loại bỏ trình điều khiển chuyển lên mức
trên
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 21
Bottom-up Test (Tiếp)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 22
Mức 4
Mức 3
Mức 2
Mức 1
Top-down Test
Môđun điều khiển chính được dùng như trình
điều khiển kiểm thử, gắn các nút con trực tiếp
vào
Thay các nút con bằng các môđun thực tại
(theo chiều sâu / ngang)
Kiểm thử từng môđun được gắn vào
Các 1 nút thử xong được thử tiếp nút khác
Kiểm thử hồi quy
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 23
Top-down Test (tiếp)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 24
Mức 1
Mức 2
Mức 3
Mức 4
5
Big bung Test
Tích hợp không tăng dần
Tất các các môđun đều được tổ hợp trước
Toàn bộ chương trình được kiểm thử tổng thể
Khó khăn: khó lập lỗi, khi chữa xong lỗi này
thể lỗi mới lại phát sinh
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 25
Sandwich Test
Tích hợp trên xuống cho các mức trên cấu trúc
chương trình
Tích hợp ới lên cho các mức phụ thuộc
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 26
Kiểm th hệ thống
Kiểm thử phục hồi: bắt buộc phần mềm hỏng
nhiều cách để kiểm chứng phục hồi
Kiểm thử an toàn: kiểm chứng chế bảo vệ
Kiểm thử gay cấn
Kiểm thử hiệu năng
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 27
Chương 10:
Phương pháp bảo t
Maintenance Methods
10.1 Bảo trì ?
10.2 Trình tự nghiệp vụ bảo trì
10.3 Những vấn đề về bảo trì hiện nay
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 28
10.1 Bảo trì ?
Định nghĩa: Bảo trì công việc tu sửa, thay đổi
phần mềm đã được phát triển (chươngtrình, dữ
liệu, JCL, các loại liu đặc tả, . . .) theo những
do nào đó
Các hình thái bảo trì: bảo trì để
Tu chỉnh
Thích hợp
Cải tiến
Phòngngừa
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 29
Bảo trì để tu sửa
bảo trì khắc phục những khiếm khuyết
trong phần mềm
Một số nguyên nhân điển hình
Kỹ phần mềm khách hiểu nhầm nhau
Lỗi tiềm ẩn của phần mềm do ýcủa lập trình hoặc khi
kiểm thử chưa bao quát hết
Vấn đề tính ng của phần mềm: không đáp ứng được u
cầu về bộ nhớ, tệp, . . . Thiết kế sai, biên tập sai . . .
Thiếu chuẩn hóa trong phát trin phần mềm (trước đó)
HUT, Falt. of IT Dept. of SE, 2001 SE-V. 30