Bài giảng Công nghệ phần mềm ứng dụng - Bài 5: Kiểm thử và bảo trì - Thạc Bình Cường
CÔNG NGHỆ PHẦN MỀM ỨNG DỤNG
Giảng viên: ThS. Thạc Bình Cường
1
BÀI 5
KIỂM THỬ VÀ BẢO TRÌ
Giảng viên: ThS. Thạc Bình Cường
2
v1.0015112208
MỤC TIÊU BÀI HỌC
• Lập kế hoạch kiểm thử và tiến hành kiểm
thử các loại phần mềm: Hệ thống, ứng
dụng, module chương trình. Lập báo cáo
về kiểm thử.
• Đánh giá hiệu quả hệ thống và duy trì hệ
thống làm việc trong môi trường thực.
3
v1.0015112208
CÁC KIẾN THỨC CẦN CÓ
• Tin học đại cương;
• Ngôn ngữ lập trình;
• Phân tích thiết kế hệ thống thông tin.
4
v1.0015112208
HƯỚNG DẪN HỌC
• Rà soát các yêu cầu phần mềm và các đặc tả
phần mềm.
• Lập kế hoạch và tiến độ kiểm thử.
• Lựa chọn đội ngũ kiểm thử và bảo trì.
• Tiến hành kiểm thử các trường hợp: kiểm thử
hệ thống, kiểm thử tích hợp và kiểm thử đơn vị.
• Sau mỗi trường hợp kiểm thử lập báo cáo
kiểm thử.
5
v1.0015112208
CẤU TRÚC NỘI DUNG
5.1
5.2
Phương pháp kiểm thử
Phương pháp bảo trì
6
v1.0015112208
5.1. PHƯƠNG PHÁP KIỂM THỬ
5.1.1. Khái niệm kiểm thử
5.1.2. Phương pháp thử
5.1.3. Các kỹ thuật thiết kế
5.1.4. Phương pháp thử
trường hợp thử
các module
7
v1.0015112208
5.1.1. KHÁI NIỆM KIỂM THỬ
• Định nghĩa kiểm thử:
Là mấu chốt của đảm bảo chất lượng phần mềm.
Là tiến trình (và là 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ế và mã hoá.
Kiểm thử thành công là phát hiện ra lỗi; kiểm thử không phát hiện ra lỗi là kiểm
thử dở (Sue A.Conger – The New SE).
• 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 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ử.
8
v1.0015112208
5.1.1. KHÁI NIỆM KIỂM THỬ (tiếp theo)
• 6 điểm lưu ý khi kiểm thử:
Chất lượng phần mềm do khâu thiết kế quyết định là chủ yếu, chứ không phải
khâu kiểm thử.
Tính dễ kiểm thử phụ thuộc vào cấu trúc chương trình.
Người kiểm thử và người phát triển nên khác nhau.
Dữ liệu thử cho kết quả bình thường thì không có ý nghĩa nhiều, cần có những
dữ liệu kiểm thử mà phát hiện ra lỗi.
Khi thiết kế trường hợp thử, không chỉ dữ liệu kiểm thử nhập vào, mà phải thiết
kế trước cả dữ liệu kết quả sẽ có.
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.
9
v1.0015112208
5.1.1. KHÁI NIỆM KIỂM THỬ (tiếp theo)
Tương ứng giữa vòng đời dự án và kiểm thử:
Kiểm thử chấp nhận
Đối tượng và phạm vi
Đặc tả chức năng/
thiết kế logic
Kiểm thử hệ thống
Kiểm tích hợp
Thiết kế vật lý
Kiểm hồi quy
Cấu trúc chương trình
và đặc tả module
Kiểm đơn vị
chương trình
Mã hoá module
chương trình
10
v1.0015112208
5.1.2. PHƯƠNG PHÁP THỬ
• Kiểm thử tĩnh (thử trên bàn):
Giấy và 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).
• 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:
. Thiết kế trường hợp thử theo thử trên bàn;
. Trường hợp thử phải có cả kết quả kỳ vọng sẽ thu được;
. Dịch chương trình nguồn và tạo module tải để thực hiện;
. Khi trường hợp thử có xử lý 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;
. Nhập dữ liệu đã thiết kế cho trường hợp kiểm thử;
. Điều chỉnh môi trường thực hiện module tải (tạo thủ tục đưa các tệp truy cập
tệp vào chương trình);
. Thực hiện module tải và ghi nhận kết quả;
. Xác nhận kết quả với kết quả kỳ vọng;
. Lặp lại thao tác bước (5) – (8).
11
v1.0015112208
5.1.3. CÁC KỸ THUẬT THIẾT KẾ TRƯỜNG HỢP THỬ
• Kiểm thử hộp đen:
Phương pháp phân đoạn tương đương:
. Mục đích: Giảm số lượng test bằng
Results
Input
cách chọn các tập dữ liệu đại diện.
Black Box
. Thực hiện: Chia dữ liệ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 đó.
Black box Data Testing Strategy
. Ưu điểm: Test theo mức trừu tượng hơn là trường áp dụng: màn hình, menu
hay mức quá trình.
Phương pháp phân tích giá trị biên:
. Là 1 trường hợp riêng của phân đoạn.
. Ví dụ nếu miền dữ liệu là tháng thì giá trị 0 hay >12 là không hợp lệ.
. Thường sử dụng trong kiểm thử module.
12
v1.0015112208
5.1.3. CÁC KỸ THUẬT THIẾT KẾ TRƯỜNG HỢP THỬ (tiếp theo)
Phương pháp đoán lỗi:
. Dựa vào trực giác và kinh nghiệm;
. Ví dụ lỗi chia cho 0. Nếu module có 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.
Phương pháp đồ thị nguyên nhân – kết quả: mã tuần tự, phủ định and,
or do until.
13
v1.0015112208
5.1.3. CÁC KỸ THUẬT THIẾT KẾ TRƯỜNG HỢP THỬ (tiếp theo)
• Kiểm thử hộp trắng:
Bó các lệnh;
Bó các rẽ nhánh;
Input
Bó các điều kiện;
Results
Bó các điều kiện – rẽ nhánh.
• Trình tự thiết kế kiểm thử:
Kiểm thử module;
White Box Data Testing Strategy
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 quy.
14
v1.0015112208
5.1.4. KỸ THUẬT KIỂM THỬ MODULE
a. Kiểm thử tích hợp module
• Kiểm thử dưới lên (Bottom-up Test):
Các module 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 và kiểm thử.
Kiểm thử chùm/bó.
Loại bỏ trình điều khiển và chuyển lên mức trên.
Mức 4
Mức 3
Mức 2
Mức 1
15
v1.0015112208
5.1.4. KỸ THUẬT KIỂM THỬ MODULE (tiếp theo)
• Kiểm thử trên xuống (Top-down Test):
Module đ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 nó.
Thay các nút con bằng các module thực tại (theo chiều sâu/ngang).
Kiểm thử từng module được gắn vào.
Các nút thử xong được thử tiếp nút khác.
Kiểm thử hồi quy.
Mức 4
Mức 3
Mức 2
Mức 1
16
v1.0015112208
5.1.4. KỸ THUẬT KIỂM THỬ MODULE (tiếp theo)
• Kiểm thử cột trụ (Big bung Test):
Tích hợp không tăng dần.
Tất các các module đề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ó cô lập lỗi, khi chữa xong lỗi này có thể lỗi mới lại phát sinh.
• Kiểm thử kép (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 dưới lên cho các mức phụ thuộc.
17
v1.0015112208
5.1.4. KỸ THUẬT KIỂM THỬ MODULE (tiếp theo)
b. 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 cơ chế bảo vệ.
Có 4 phương pháp
Kiểm thử gay cấn.
Kiểm thử hiệu năng.
18
v1.0015112208
5.2. PHƯƠNG PHÁP BẢO TRÌ
5.2.2. Trình tự nghiệp vụ
bảo trì
5.2.1. Khái niệm bảo trì
5.2.3. Những vấn đề về
bảo trì hiện nay
19
v1.0015112208
5.2.1. KHÁI NIỆM BẢO TRÌ
Bảo trì là công việc tu sửa, thay đổi phần mềm đã được phát triển (chương trình, dữ
liệu, JCL, các loại tư liệu đặc tả…) theo những lý do nào đó.
Tu sửa
Thích hợp
Các hình thái
bảo trì
Cải tiến
Phòng ngừa
20
v1.0015112208
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm ứng dụng - Bài 5: Kiểm thử và bảo trì - Thạc Bình Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_cong_nghe_phan_mem_ung_dung_bai_5_kiem_thu_va_bao.pdf

