Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2: Kiểm thử phần mềm - Chiến lược kiểm thử phần mềm

‰Chiến lược kiểm thửlà sựtích hợp các kỹthuật

thiết kếca kiểm thửtạo thành một dãy các bước

nhằm hướng dẫn quá trình kiểm thửphần mềm

thành công.

‰Nó phác thảo lộtrình để:

† nhà phát triểntổchức việc bảo đảm chất lượng,

† khách hàng: hiểu được công sức, thời gian và

nguồn lực cần cho kiểm thử.

pdf64 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1542 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2: Kiểm thử phần mềm - Chiến lược kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
n Vþ
‰ Người kiểm thử cần định rõ các môđun tới hạn, là các 
môđun có các đặc tính sau:
„ Chú trọng đến 1 vài yêu cầu phần mềm.
„ Có mức điều khiển cao (trong cấu trúc chương trình).
„ Phức tạp hoặc dễ có sai (có thể dùng Độ phức tạp vòng 
lặp, chẳng hạn).
„ Có các yêu cầu thực hiện được xác định rõ.
‰ Các môđun tới hạn cần được kiểm thử càng sớm 
càng tốt
n5. Bình luận phương pháp tích hợp
2005 Bộ môn CNFM – Đại học Công nghệ 43
NguyÔn V¨n Vþ
‰ Một kế hoạch kiểm thử tổng thể và một mô tả
các kiểm thử đặc biệt phải được đưa vào “đặc tả
kiểm thử ”.
‰ Đặc tả này phải được phân phối trong tiến trình 
kỹ nghệ phần mềm và trở thành 1 bộ phận cấu 
hình phần mềm.
‰ Nội dung tài liệu:
b6. Tài liệu kiểm thử tích hợp
2005 Bộ môn CNFM – Đại học Công nghệ 44
NguyÔn V¨n Vþ
ƒ Phạm vi kiểm thử
ƒ Kế hoạch kiểm thử
ƒ Các pha kiểm thử và các cụm
ƒ Lịch trình
ƒ Phần mềm chung (overhead)
ƒ Môi trường và nguồn lực
ƒ Thủ tục kiểm thử cụm n 
ƒ Thứ tự tích hợp
ƒ Mục đích
ƒ Các môđun được kiểm thử
ƒ Các môđun đơn vị cho các môđun trong cụm
b6.1. Nội dung tài liệu kiểm thử tích hợp
2005 Bộ môn CNFM – Đại học Công nghệ 45
NguyÔn V¨n Vþ
ƒ Mô tả kiểm thử cho cụm m
ƒ Mô tả phần mềm chung (overhead)
ƒ Các kết quả mong đợi
ƒ Các kỹ thuật và các công cụ đặc biệt
ƒ Mô tả phần mềm chung
ƒ Dữ liệu cho ca kiểm thử
ƒ Các kết quả chờ đợi cho cụm n
ƒ Các kết quả kiểm thử thực 
ƒ Các tham khảo
ƒ Phụ lục
b6.1. Tài liệu kiểm thử tích hợp
2005 Bộ môn CNFM – Đại học Công nghệ 46
NguyÔn V¨n Vþ
‰ Phạm vi kiểm thử : tổng quát các tính chất về chức năng 
đặc biệt, về sự thực hiện, về thiết kế nội tại cần kiểm thử; 
công sức kiểm thử được giới hạn lại; tiêu chuẩn đầy đủ
cho từng pha kiểm thử được mô tả và ràng buộc về lịch 
trình được lập tài liệu.
‰ Kế hoạch kiểm thử : mô tả chiến lược tích hợp tổng thể; 
kiểm thử được chia thành các pha và các cụm nhắm đến 
các tính chất ứng xử và các chức năng đặc biệt.
b6.2. Nội dung phạm vi, kế hoạch kiểm thử
2005 Bộ môn CNFM – Đại học Công nghệ 47
NguyÔn V¨n Vþ
ƒ Tích hợp giao diện: các giao diện trong và ngoài được kiểm 
thử mỗi khi một môđun (hoặc cụm) được tích hợp vào 
trong cấu trúc.
ƒ Thẩm định chức năng: tiến hành kiểm thử chức năng đã 
thiết kế nhằm bộc lộ các sai chức năng
ƒ Nội dung thông tin: tiến hành kiểm thử dữ liệu đã thiết kế
nhằm bộc lộ các sai gắn với các cấu trúc dữ liệu cục bộ và
toàn cục
ƒ Thực thi: tiến hành kiểm thử đã thiết kế nhằm kiểm nghiệm 
thực thi các hạn chế đã được thiết lập trong quá trình thiết 
kế phần mềm
b6.3 Tiêu chuẩn kiểm thử tích hợp
2005 Bộ môn CNFM – Đại học Công nghệ 48
NguyÔn V¨n Vþ
† kiểm thử so sánh (comparision testing) còn 
được gọi là kiểm thử dựa vào nhau (back-to-
back testing):
† Khi triển khai nhiều bản phần mềm từ cùng 1 
đặc tả.
Kiểm thử hộp đen cho các sản phẩm này 
được thực hiện với cùng ca kiểm thử & 
cùng các dữ liệu vào.
† So sánh các kết quả thu được: nếu có khác 
biệt nghĩa là có sai trong một sản phẩm nào 
đó!
c. Kiểm thử so sánh
2005 Bộ môn CNFM – Đại học Công nghệ 49
NguyÔn V¨n Vþ
† Khái niệm: hệ thời gian thực là hệ thống đáp ứng đúng,
chính xác các sự kiện của môi trường
† Mô hình chung 
d. Kiểm thử hệ thời gian thực
- Kịp thời
- Chính xác
điều phối 
đáp ứng
Bộ công 
tác
sự
kiện
Phản 
hồi
điều khiển 
dữ liệu vào
xử lý dữ
liệu
- Tiếp nhận kịp thời
- Chuyển dạng DL 
- Sắp thứ tự truyền
- Xử lý 
nhanh
- Phối hợp các bộ
công tác
- Đáp ứng kịp thời
Cảm biến
2005 Bộ môn CNFM – Đại học Công nghệ 50
NguyÔn V¨n Vþ
† Rất khó khăn & kết quả chưa nhiều .
† Chiến lược kiểm thử 4 bước:
1. kiểm thử tác vụ: kiểm thử từng tác vụ một cách độc lập 
với nhau (kt:hộp trắng và hộp đen).Nó cho phép:
• phát hiện sai về logic & chức năng.
• chưa phát hiện sai về thời gian & ứng xử.
2. Kiểm thử ứng xử:
a. Sử dụng công cụ CASE tạo mô hình hệ thống để mô 
phỏng ứng xử, xem ứng xử của nó như hậu quả của sự
kiện từ ngoài. 
Dùng kết quả hoạt động phân tích này để thiết kế các ca 
kiểm thử (tương tự kỹ thuật đồ thị nhân quả). 
d1. Chiến lược kiểm thử hệ thời gian thực
2005 Bộ môn CNFM – Đại học Công nghệ 51
NguyÔn V¨n Vþ
2. Kiểm thử ứng xử: 
b. Phân lớp sự kiện (tương tự phân hoạch tương đương). 
Kiểm thử từng lớp sự kiện và nhận ứng xử của hệ thi 
hành để phát hiện các sai do xử lý đáp ứng các sự kiện 
đó. 
c. Kiểm thử mọi lớp sự kiện. Các sự kiện được đưa vào 
trong hệ thống theo thứ tự ngẫu nhiên và với tần xuất 
ngẫu nhiên nhằm phát hiện các sai ứng xử.
d1.Chiến lược kiểm thử hệ thời gian thực(t)
2005 Bộ môn CNFM – Đại học Công nghệ 52
NguyÔn V¨n Vþ
3. kiểm thử liên tác: tìm các sai liên quan đến đáp 
ứng thời gian do không đồng bộ:
a. Các tác vụ không đồng bộ khi liên tác với các tác vụ
khác. Vì thế cần kiểm thử với nhịp điệu dữ liệu và mức 
tải với các xử lý khác nhau. 
b. Các tác vụ không đồng bộ do giao tiếp phụ thuộc hàng 
đợi thông điệp hoặc truy nhập kho dữ liệu cũng được 
thử để bộc lộ các sai về cỡ dữ liệu.
d1.Chiến lược kiểm thử hệ thời gian thực(t)
2005 Bộ môn CNFM – Đại học Công nghệ 53
NguyÔn V¨n Vþ
4. kiểm thử hệ thống: sau khi tích hợp phần cứng 
& phần mềm cần tiến hành kiểm thử hệ thống để
tìm ra các sai:
ƒ giao diện (giữa phần cứng và phần mềm)
ƒ môi trường (tác động từ môi trường: các sự kiện).
ƒ Các ngắt (các loại ngắt và các xử lý xẩy ra như hậu 
quả của ngắt)
d1.Chiến lược kiểm thử hệ thời gian thực(t)
2005 Bộ môn CNFM – Đại học Công nghệ 54
NguyÔn V¨n Vþ
d2.Mô hình đặc trưng kiểm thử 4 bước
Phần 
mềm
Các lớp sự kiện được 
phân hoạch
1
3
5
4
2
tần suấtThứ tự
Thử tác vụ, ứng xử
ra
Sự kiện
module1
Module2 
Thử liên tác
nhịp?
tải?
time?
CSDL
cấu 
trúc?
raHàng đợi
Truy nhập
2005 Bộ môn CNFM – Đại học Công nghệ 55
NguyÔn V¨n Vþ
† Kiểm thử phần mềm chiếm đến 40% công sức
của 1 dự án phát triển.Tự động hóa là nhu cầu
† Công cụ kiểm thử tự động mã trình:
„ Bộ phân tích tĩnh: phân tích cấu trúc và định dạng 
chương trình
„ Bộ kiểm toán mã: xem phần mềm có phù hợp với 
các chuẩn mã tối thiểu chưa?
„ Bộ xử lý khai báo: xem những khai báo ứng xử của 
chương trình có thật sự phù hợp với sự thực hiện 
chương trình thực hay không?
e. Công cụ kiểm thử tự động
2005 Bộ môn CNFM – Đại học Công nghệ 56
NguyÔn V¨n Vþ
„ Bộ sinh tệp kiểm thử : cho ra các giá trị tiền xác 
định, các tệp vào điển hình cho chương trình chịu 
kiểm thử .
„ Bộ sinh dữ liệu thử: giúp lựa chọn dữ liệu để làm 
chương trình ứng xử theo theo một cách đặc biệt?
„ Bộ xác minh kết quả : đưa ra báo cáo giá trị trung 
bình kết quả cho chuyên gia bảo đảm chất lượng 
phần mềm
e1. Công cụ kiểm thử tự động dữ liệu
2005 Bộ môn CNFM – Đại học Công nghệ 57
NguyÔn V¨n Vþ
† Các trợ giúp cho quá trình kiểm thử: 
• Cài đặt một chương trình dự định trong một môi 
trường kiểm thử
• Nuôi chương trình đó bằng dữ liệu vào
• Mô phỏng ứng xử của các môđun phụ
† Bộ so sánh đầu ra: so sánh một tập dữ liệu ra 
với một tập khác để xác định sự khác biệt
e2. Công cụ kiểm thử tự động cài đặt
2005 Bộ môn CNFM – Đại học Công nghệ 58
NguyÔn V¨n Vþ
† Hệ tiến hành ký hiệu: dùng đặc tả đại số.
† Mô phỏng môi trường:
là một hệ thống dựa vào máy tính chuyên biệt có thể
kiểm thử các môi trường ngoại lai của phần mềm thời 
gian thực và mô phỏng các điều kiện vận hành đông
thực sự.
† Bộ phân tích dòng dữ liệu:
Phân tích quy mô và tần suất dòng dữ liệu
e3. Công cụ kiểm thử tự động khác
2005 Bộ môn CNFM – Đại học Công nghệ 59
NguyÔn V¨n Vþ
Câu hỏi đặt ra:
† Khi nào thì kiểm thử xong? Làm thế nào để biết rằng 
kiểm thử đã đủ? Về nguyên tắc:
„ Không bao giờ kiểm thử được tất cả!
„ Vận hành chương trình là đang kiểm thử.
Î Kiểm thử tiếp tục khi chương trình còn hoạt động
† Kỹ sư phần mềm cần các tiêu chuẩn nghiêm ngặt để
xác định sự cần thiết phải kiểm thử .
f. Tiêu chuẩn đầy đủ của kiểm thử
2005 Bộ môn CNFM – Đại học Công nghệ 60
NguyÔn V¨n Vþ
† Musa & Ackerman: “Chúng ta không bao giờ có thể
chắc chắn rằng một phần mềm nào đó là không có sai; 
song lại có thể kết luận rằng: chúng ta đã thực hiện đầy 
đủ các kiểm thử để tuyên bố rằng: 
“xác suất để CPU vận hành 1000 giờ vô lỗi trong 1 môi 
trường xác định (đã xác định một cách ngẫu nhiên) là
không nhỏ hơn 0.995” với Độ tin tưởng là 95% 
f1. Khái niệm về kiểm thử đủ
2005 Bộ môn CNFM – Đại học Công nghệ 61
NguyÔn V¨n Vþ
Mô hình thất bại phần mềm:
† Sử dụng mô hình ngẫu nhiên, lý thuyết độ tin cậy 
phần mềm, người ta đã đưa ra các mô hình thất 
bại phần mềm (được phát hiện trong quá trình kiểm 
thử ) là hàm của thời gian vận hành.
f2. Mô hình đo độ thất bại 
2005 Bộ môn CNFM – Đại học Công nghệ 62
NguyÔn V¨n Vþ
† Một mô hình là “mô hình thời gian vận hành 
Poatxông logarit”:
f(t) = (1/p).ln(l0pt + 1) 
Ở đây:
„ f(t) là số các thất bại tích luỹ sẽ xuất hiện khi 1 phần mềm 
được kiểm thử với thời gian vận hành là t
„ l0 là mật độ thất bại theo thời gian (từ đầu kiểm thử).
„ p là độ rút gọn thay đổi của mật độ thất bại do sai được 
phát hiện và đã sửa chữa.
f3. Mô hình Poatxông lôgarit 
2005 Bộ môn CNFM – Đại học Công nghệ 63
NguyÔn V¨n Vþ
† Mật độ thất bại tức thời có thể tính như sau:
l(t) = l0 /(l0 pt + 1) 
Ở đây:
„ l(t) là mật độ thất bại tức thời sẽ xuất hiện khi phần mềm 
được kiểm thử với thời gian vận hành là t
„ l0 là mật độ thất bại theo thời gian (từ đầu k.thử).
„ p là độ rút gọn thay đổi của mật Độ thất bại do sai được 
phát hiện và đã sửa chữa.
† Số tích lũy thất bại f(t) và Mật độ thất bại tức thời l(t)
càng nhỏ thì độ tin cậy càng cao
f3. Mô hình Poatxông lôgarit 
2005 Bộ môn CNFM – Đại học Công nghệ 64
NguyÔn V¨n Vþ
† Thu thập các Độ đo trong quá trình kiểm thử
phần mềm và dùng các mô hình Độ tin cậy của 
nó, chúng ta thu được các độ đo, từ đó có thể
phát triển một cách suy luận có nghĩa trong việc 
trả lời câu hỏi: Đã kiểm thử xong chưa?
† Mặc dù còn phải bàn, nhưng những thực nghiệm 
đã có đến nay là tốt hơn nhiều so với phong 
cách ngây thơ thô thiển trước kia!
f4. Đo mức độ đầy đủ của kiểm thử

File đính kèm:

  • pdfBài giảng Đảm bảo chất lượng phần mềm và kiểm thử - Nguyễn Văn Vỵ - Phần 2 Kiểm thử phần mềm - Chiến lược kiểm thử phần mềm.pdf