Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 1
Bài 7:
Xác minh và thẩm định
KỸ NGHỆ PHẦN MỀM
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 2
NỘI DUNG
Đại cương
Các giai đoạn kiểm thử
Các loại kiểm thử
Tổ chức kiểm thử
Các hoạt động kiểm thử
Chiến lược kiểm thử tích hợp
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 3
Tài liệu
Pressman, Kỹ nghệ phần mềm, chương
18~19.
Sommerville: Software Engineering, chương
22, 23.
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 4
Xác minh (Verification)
- có đúng đặc tả không, có đúng thiết kế không
- phát hiện lỗi lập trình
được các yêu cầu (độ tin cậy)
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 8
ĐẠI CƯƠNG - Thời điểm tiến hành
Tiến hành ở mọi công đoạn phát triển phần mềm
phân tích
- xét duyệt đặc tả yêu cầu
thiết kế
- xét duyệt đặc tả thiết kế
mã hóa
- kiểm thử chương trình
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 9
ĐẠI CƯƠNG – Yêu c u i v i ki m thầ đố ớ ể ử
Tính lặp lại
- kiểm thử phải lặp lại được (kiểm tra xem
lỗi đã được sửa hay chưa)
- dữ liệu/trạng thái phải mô tả được
Tính hệ thống
- đảm bảo kiểm tra hết các trường hợp
Được lập tài liệu
- kiểm soát tiến trình/kết quả
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 10
Trong môi trường của phía phát triển
Integration
tests
System
tests
Unit
tests
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 12
•
Unit test/Module test
(kiểm thử đơn vị)
•
Integration test
(test tích hợp)
•
System test
(test hệ thống phần mềm)
•
Acceptance test
(test chấp nhận)
•
Dựa vào TL thiết kế chi tiết
•
Test 1 module (hàm, thủ tục, đoạn code,
component…)
•
Dựa vào TL thiết kế tổng thể
•
Kiểm tra sự tương tác giữa các module
•
Dựa vào TL đặc tả yêu cầu phần mềm
•
Kh n ng ph c h i sau l iả ă ụ ồ ỗ
•
an toànĐộ
•
Hi u n ng và gi i h n c a ph n m mệ ă ớ ạ ủ ầ ề
CÁC GIAI ĐOẠN KIỂM THỬ - Phía khách hàng
Kiểm thử hệ thống
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 16
Kiểm thử chức năng (functional testing)
- dựa trên đặc tả chức năng
- phát hiện các sai sót về chức năng
- không quan tâm đến cách cài đặt
(black box)
Kiểm thử cấu trúc (structured testing)
- kiểm thử có nghiên cứu mã nguồn
- phân tích thứ tự thực hiện các lệnh
(white box)
CÁC LOẠI KIỂM THỬ
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 17
Các đồ thị luồng chương trình
Sequential statement block
If C Then S1 else S2;
S1
S2
C
If C Then S1;
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 19
CÔNG VIỆC CỦA TESTER
Tham gia phân tích yêu cầu của khách hàng
Lập kế hoạch test
Xây dựng tiêu chuẩn nghiệm thu
Xây dựng hướng dẫn test (bản thiết kế test, kịch bản test)
Thực hiện test
Hỗ trợ các vấn đề liên quan đến test
Báo cáo và tổng hợp kết quả test
Lập và lưu trữ các hồ sơ liên quan đến test
Thu thập và kiểm soát các dữ liệu liên quan đến các hoạt động test
Tính toán và phân tích các chỉ tiêu liên quan đến các hoạt động test
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 20
CÁC HOẠT ĐỘNG KIỂM
THỬ
Cài đặt và chuẩn bị
Test
Bắt đầu
Lập kế hoạch Test
Thiết kế Test
CÁC HOẠT ĐỘNG KIỂM
THỬ
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 22
CÁC HOẠT ĐỘNG
Xác định các test case
Phân hoạch tương đương
Đường đi trong mô đun
Mô tả các test case
Vấn đề của thiết kế test
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 23
Tên mô đun/chức năng muốn kiểm thử
Dữ liệu vào
- dữ liệu thông thường: số, xâu kí tự, file,...
- môi trường thử nghiệm: phần cứng, OS,...
- thứ tự thao tác (khi kiểm thử giao diện)
Kết quả mong muốn
- thông thường: số, xâu kí tự, file,...
- màn hình, thời gian phản hồi
Kết quả thực tế
CÁC HOẠT ĐỘNG – mô tả test case
© Bộ môn Công nghệ phần mềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phần mềm Slide 24
Thiết kế test cases