Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ

Khái niệm xác minh & thẩm định

Xác minh (Verification)

Kiểm tra xem phần mềm làm ra có đúng đặc tả (yêu

cầu, thiết kế) hay không

Thẩm định (Validation)

kiểm tra xem phần mềm có đáp ứng yêu cầu người

dùng không

? Đây là 2 hoạt động cốt yếu để đảm bảo chất lượng

phần mềm, diễn ra suốt quá trình phát triể

 

pdf 64 trang yennguyen 3020
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ

Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN
Email: vynv@coltech.vnu.vn
Kỹ nghệ phần mềm
Software Engeneering
Nguyễn Văn Vỵ
Bộ mụn Cụng nghệ phần mềm – ĐHCN 2
NguyễnVănVỵ
Nội dung
Bài 9: Xỏc minh & thẩm định 
„ Khái niệm xác minh, thẩm định
„ Rμ sóat phần mềm
„ Kiểm thử phần mềm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 3
NguyễnVănVỵ
TÀI LiỆU THAM KHẢO
1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần 
mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified 
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John 
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s 
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. 
Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà
Nội.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 4
NguyễnVănVỵ
Khái niệm xác minh & thẩm định
  Xác minh (Verification) 
Kiểm tra xem phần mềm lμm ra có đúng đặc tả (yêu 
cầu, thiết kế) hay không
 Thẩm định (Validation) 
kiểm tra xem phần mềm có đáp ứng yêu cầu ng−ời 
dùng không
™ Đây lμ 2 hoạt động cốt yếu để đảm bảo chất l−ợng 
phần mềm, diễn ra suốt quá trình phát triển
Bộ mụn Cụng nghệ phần mềm – ĐHCN 5
NguyễnVănVỵ
Hoạt động kiểm chứng phần mềm
Thẩm định và xỏc minh thực hiện ở mọi giai đoạn phỏt triển,với 
sản phẩm khỏc nhau, do đối tượng khỏc nhau thực hiện
cỏc 
yờu 
cầu 
phần 
mềm
đặc
tả
Yờu
cầu
phần 
mềm 
và
cỏc 
đặc 
trưng 
chất 
luợng
Xỏc minh
Thẩm định
đặc tả chưa tốt
đặc tả tốt
chưa đặc tả
Thẩm định
thiết 
kế
phần 
mềm
Xỏc minh
Xỏc minh
Bộ mụn Cụng nghệ phần mềm – ĐHCN 6
NguyễnVănVỵ
Các hoạt động xác minh
„ Cơ sở cho hoạt động xác minh
 Bản đặc tả yêu cầu
 Các bản thiết kế
 Mã nguồn
  Hoạt động xác minh
 Rμ soát (thanh tra, xét duyệt, kiểm toán)
 Kiểm thử (đơn vị, tích hợp, hệ thống)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 7
NguyễnVănVỵ
Các hoạt động thẩm định
„ Cơ sở cho hoạt động xác minh
 Bản đặc tả yêu cầu
 Mã nguồn
  Hoạt động xác minh
 Rμ soát (thanh tra, xét duyệt)
 Kiểm toán
 Kiểm thử thẩm định(chấp nhận)
™ Hai hoạt động chính của thẩm định vμ xác 
minh lμ: rμ soát vμ kiểm thử.à
Bộ mụn Cụng nghệ phần mềm – ĐHCN 8
NguyễnVănVỵ
Thẩm định/xác minh tĩnh
 rà soỏt, xột duyệt cỏc tài liệu phần mềm: kế 
hoạch, yêu cầu, thiết kế, mã nguồn
 phỏt hiện một số loại lỗi nhất định
 khó đánh giá tính hiệu quả của sản phẩm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 9
NguyễnVănVỵ
Thẩm định/xác minh động
„ thực hiện trờn cơ sở cho vận hành sản phẩm 
phần mềm:
 Làm mẫu yờu cầu
 Vận hành chương trỡnh (kiểm thử)
 Mụ phỏng hệ thống 
„ người phỏt triển/người dựng trực tiếp kiểm tra 
đỏnh giỏ
„ phỏt hiện mọi lỗi và khiểm khuyết phần mềm, 
hiệu quả cao 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 10
NguyễnVănVỵ
Rà soỏt phần mềm
■ Rà soỏt là xem xột, đỏnh giỏ sản phẩm được tiến 
hành mỗi giai đoạn để phỏt hiện ra những khiểm 
khuyết cần sửa trước khi sang giai đoạn sau
■ Mục tiờu:
• Chỉ ra cỏc khiếm khuyết cần phải cải thiện.
• Khẳng định những sản phẩm đạt yờu cầu.
• Kiểm soỏt việc đạt chất lượng kỹ thuật tối thiểu 
của sản phẩm (cú diện mạo khụng đổi, ổn định) 
■ Áp dụng tại cỏc thời điểm khỏc nhau trong quỏ trỡnh 
phỏt triển phần mềm.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 11
NguyễnVănVỵ
Cỏc hỡnh thức rà soỏt
■ Cỏc kiểu rà soỏt:
 Thanh tra
 Họp xột duyệt khụng chớnh thức, 
 Họp chớnh thức với cỏc thành viờn: khỏch hàng, nhà
quản lý, nhõn viờn kỹ thuật. (rà soỏt kỹ thuật chớnh 
thức – formal technical review: FTR) 
■ FTR chủ yếu do cỏc kỹ sư phần mềm thực hiện (là một 
phương tiện hiệu quả để cải thiện chất lượng)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 12
NguyễnVănVỵ
Rà soỏt kỹ thuật chớnh thức
(formal technical review - FTR)
■ Rà soỏt kỹ thuật chớnh thức là hoạt động bảo đảm 
chất lượng phần mềm do những người đang tham 
gia phỏt triển thực hiện.
■Mục tiờu cụ thể là:
 Phỏt hiện cỏc lỗi trong chức năng, logic (chương 
trỡnh) và triển khai (implementation).
 Kiểm thử sự phự hợp của phần mềm với yờu cầu
 Khẳng định phần đó đạt yờu cầu
Bộ mụn Cụng nghệ phần mềm – ĐHCN 13
NguyễnVănVỵ
Mục tiờu rà soỏt kỹ thuật chớnh thức
■Mục tiờu cụ thể (t):
 Bảo đảm FM phự hợp với cỏc chuẩn đó định 
 Đảm bảo FM được phỏt triển theo một cỏch thức 
nhất quỏn (uniform manner)
 Làm cho dự ỏn dễ quản lý hơn
 Ngoài ra, làm cơ sở huấn luyện cỏc kỹ sư trẻ và cú
ớch ngay cả cho những kỹ sư đó cú kinh nghiệm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 14
NguyễnVănVỵ
Tiến trỡnh hoạt động rà soỏt
Cỏ nhõn bỏo
cỏo sản phẩm
cần rà soỏt
Xem xột, 
yờu cầu 
rà soỏt 
sao chộp, 
phõn cụng
rà soỏt
rà soỏt, 
lập bỏo cỏo
lập chương
trỡnh họp
rà soỏt
họp rà soỏt,
lập bỏo cỏo
Hội đồng rà soỏt
Người thực hiện
Người quản lý
Người phỏt triển
Bộ mụn Cụng nghệ phần mềm – ĐHCN 15
NguyễnVănVỵ
Cuộc họp rà soỏt 
■ Thành phần: lónh đạo rà soỏt, cỏc cỏ nhõn rà soỏt và
người tạo ra sản phẩm được rà soỏt (+ khỏch).
■ Kết luõn đưa ra 1 trong 3 quyết định sau: 
• Chấp nhận sản phẩm khụng cần chỉnh sửa
• Khước từ sản phẩm vỡ những lỗi nghiờm trọng
• Chấp nhận cho chỉnh sửa sản phẩm, sau khi chỉnh sửa 
phải rà soỏt lại
■ Mọi thành viờn tham gia cuộc họp phải ký vào quyết định
Bộ mụn Cụng nghệ phần mềm – ĐHCN 16
NguyễnVănVỵ
Sản phẩm rà soỏt
■ Sản phẩm cuộc họp rà soỏt:
• 1 Bỏo cỏo cỏc vấn đề nảy sinh do cỏ nhõn rà
soỏt nờu ra
• 1 danh sỏch cỏc vấn đề cần giải quyết 
• 1 bản tổng kết cuộc họp 
■ Bản tổng kết họp rà soỏt phải chỉ rừ:
• Đó rà soỏt cỏi gỡ
• Ai rà soỏt
• Tỡm thấy cỏi gỡ và Kết luận ra sao
Bộ mụn Cụng nghệ phần mềm – ĐHCN 17
NguyễnVănVỵ
Sản phẩm rà soỏt (t) 
■ Danh sỏch cỏc vấn đề tồn tại phục vụ:
 Nhận ra cỏc vựng cú vấn đề trong sản phẩm 
được rà soỏt
 Dựng như 1 danh sỏch cỏc khoản mục để chỉ
cho cỏc người làm ra sản phẩm cần chỉnh sửa
 Thiết lập thủ tục để bảo đảm rằng cỏc khoản 
mục trong danh sỏch đú sẽ được chỉnh sửa thực 
sự
Bộ mụn Cụng nghệ phần mềm – ĐHCN 18
NguyễnVănVỵ
Tiến hành rà soỏt
■ Mọi sản phẩm được tao ra ở mỗi bước đều được rà
soỏt (khụng chỉ sản phẩm cuối cựng)
■ Tiến trỡnh phỏt triển chung nhất gồm 4 -5 giai đoạn: 
 Kỹ nghệ hệ thống (KH triển khai)
 Phõn tớch, xỏc định yờu cầu phần mềm (đặc tả yờu cầu)
 Thiết kế phần mềm (thiết kế)
 Lập mó (mó nguồn)
 Kiểm thử phần mềm (kế hoạch kiểm thử)
 Bao trỡ (kế hoạch bảo trỡ)
Rà soỏt bỏm sỏt theo sản phẩm của cỏc giai đoạn này
Bộ mụn Cụng nghệ phần mềm – ĐHCN 19
NguyễnVănVỵ
Các danh mục sản phẩm cần rμ soát
  Danh mục rà soỏt kỹ nghệ hệ thống
  Danh mục rà soỏt lập kế hoạch dự ỏn
  Danh mục rà soỏt phõn tớch yờu cầu phần mềm
  Danh mục rà soỏt thiết kế phần mềm
  Danh mục rà soỏt khõu lập mó
  Danh mục rà soỏt kiểm thử phần mềm
  Danh mục rà soỏt bảo trỡ phần mềm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 20
NguyễnVănVỵ
Kiểm thử phần mềm – software testing
-
■ Kiểm thử là tổ chức vận hành phần mềm 1 cỏch 
cú kế hoạch và phương phỏp để tỡm ra lỗi 
■ Cần vận hành như thế nào để:
 hiệu suất tỡm ra lỗi là cao nhất ? 
 chớ phớ (thời gian, cụng sức) ớt nhất? 
■ Nội dung hoạt động kiểm thử bao gồm:
 Kế hoạch kiểm thử
 phương phỏp kiểm thử, 
 chiến lược kiểm thử và
 kỹ thuật sử dụng 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 21
NguyễnVănVỵ
Mụ hỡnh chữ V - Cỏc mức kiểm thử
Phõn tớch 
yờu cầu
Đặc tả
phần mềm
Thiết kế
kiến trỳc
Thiết kế
chi tiết
Lập 
trỡnh
rà soỏt
mó
test đơn 
vị
test tớch
hợp 
test hệ
thống 
test chấp
nhận 
Xỏc 
minh
Thẩm 
định
Bộ mụn Cụng nghệ phần mềm – ĐHCN 22
NguyễnVănVỵ
Cỏc loại kiểm thử
-
Tương ứng với mụ hỡnh chữ V cú cỏc loại kiểm thử:
 Kiểm thử đơn vị (unit testing)
 Kiểm thử tớch hợp (integration testing)
 Kiểm thử hệ thống (system testing)
y Kiểm thử phục hồi (recovery testing)
y Kiểm thử ỏp lực (stress testing)
y Kiểm thử thi hành (performance testing)
y Kiểm thử an ninh (security testing)
 Kiểm thử thẩm định/chấp nhận (aceptance 
testing: alpha testing, beta testing)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 23
NguyễnVănVỵ
Kế hoạch kiểm thử
-
■ Kế hoạch kiểm thử tổng thể:
1. Giới thiệu chung
ƒ Mụ tả hệ thống cần kiểm thử
ƒ Cỏc mục tiờu kiểm thử
ƒ Phương phỏp sử dụng 
ƒ Tài liệu hỗ trợ
2. Kế hoạch 
ƒ Thời gian, địa điểm
ƒ Tài liệu kiểm thử: cỏc ca kiểm thử, tiến trỡnh, lịch trỡnh
ƒ Điều kiện
3. Cỏc yờu cầu: phần cứng, phần mềm, nhõn sự
4. Kiểm soỏt quỏ trỡnh kiểm thử
Bộ mụn Cụng nghệ phần mềm – ĐHCN 24
NguyễnVănVỵ
„ Hai phương phỏp phổ biến:
 Kiểm thử hộp trắng (white box)
 Kiểm thử hộp đen (black box)
„ Cỏc chiến lươc Kiểm thử
 Ứng dụng cho cỏc mức & loại kiểm thử khỏc nhau.
 Một số chiến lược: 
ƒ Chiến lược nhỏnh & toỏn tử quan hệ: BRO(đơn vị) 
ƒ Kiểm thử từ trờn xuống/dưới lờn/lai (tớch hợp)
ƒ Kiểm thử vụ nổ lớn (big bang – tớch hợp)
ƒ Kiểm thử hồi quy (tớch hợp)
ƒ Kiểm thử luồn sợi (hệ thời gian thực)
Phương phỏp và chiến lược kiểm thử
Bộ mụn Cụng nghệ phần mềm – ĐHCN 25
NguyễnVănVỵ
‰ Sơ đồ dũng thụng tin của tiến trỡnh kiểm thử
Biểu đồ dũng thụng tin kiểm thử
kiểm thử
xõy dựng 
Mụ hỡnh 
đụ tin cậy
đỏnh giỏ
gỡ lỗi Phần mềmchỉnh sửa
Đặc tả
phần mềm
Cấu hỡnh 
kiểm thử
Dự đoỏn
độ tin cậy
Phần mềm
tin cậy
Phần 
mềm
 chưa 
tin 
cậy
Bộ mụn Cụng nghệ phần mềm – ĐHCN 26
NguyễnVănVỵ
Tiến trỡnh thực hiện ca kiểm thử
Thiết kế
Ca kiểm thử
Chuẩn bị
dữ liệu,đk
Tiến hành
kiểm thử
So sỏnh, 
đỏnh giỏ
Yờu cầu, 
mó nguồn
Bỏo cỏo 
kiểm thử
Lập kế kế
hoạch KT
Kết quả
kiểm thử
Cỏc ca 
kiểm thửKế hoạch kiểm thử
Dữ liệu 
kiểm thử
Nhật ký
Bộ mụn Cụng nghệ phần mềm – ĐHCN 27
NguyễnVănVỵ
„ Mục tiờu thiết kế ca kiểm thử nhằm:
 tỡm ra nhiều sai nhất 
 với nỗ lực & thời gian nhỏ nhất.
„ Cỏc phương phỏp tốt phải cho một cơ chế:
 bảo đảm tớnh đầy đủ (khụng sút phần nào) và
 cung cấp khả năng thật sự phỏt hiện được cỏc sai
 Ca kiểm thử hiệu quả là ca kiểm thử phỏt hiện ra ớt 
nhất 1 lỗi
Khỏi niệm về thiết kế ca kiểm thử
Bộ mụn Cụng nghệ phần mềm – ĐHCN 28
NguyễnVănVỵ
Kiểm thử hộp trắng
„ Khỏi niệm kiểm thử hộp trắng
‰ Đối tượng: mó nguồn
‰ Mức: cỏc mụ đun đơn vị
‰ Nội dung là khỏm xột: 
cỏc chi tiết thủ tục (thuật toỏn)
con đường logic (luồng điều khiển)
cỏc trạng thỏi của chương trỡnh (dữ liệu). 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 29
NguyễnVănVỵ
„ Yờu cầu đặt ra:
 Mọi con đường độc lập trong một mụđun cần 
được thực hiện ớt nhất một lần.
 Mọi ràng buộc logic được thực hiện cả hai 
phớa đỳng (true) & phớa sai (false).
 Tất cả cỏc vũng lặp ở biờn của nú & cả cỏc 
biờn vận hành phải được thực hiờn.
 Mọi cấu trỳc dữ liệu nội tại được dựng để bảo 
đảm hiệu lực thi hành của nú
Yờu cầu kiểm thử hộp trắng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 30
NguyễnVănVỵ
1. Đồ thị dũng (Tom McCabe đưa ra đầu tiờn). 
2. Ma trận kiểm thử (số đường đi, trọng số).
3. Điều kiện lụgic – chiến lược miền và BRO
4. Điều khiển theo dũng dữ liệu
5. Cỏc cấu trỳc chu trỡnh – giỏ trị đặc trưng
Cỏc kỹ thuật sử dụng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 31
NguyễnVănVỵ
„ xột biểu đồ điều 
khiển của một 
chương trỡnh
Vớ dụ: cấu trỳc điều khiển 1 chương trỡnh
8
11
1
2
6
3
9
7
5
4
10
rẽ nhỏnh
lệnh
4 đường đi độc lập:
1-11
1-2-3-4-5-10
1-2-3-6-7-9-10
1-2-3-6-8-9-10
Bộ mụn Cụng nghệ phần mềm – ĐHCN 32
NguyễnVănVỵ
„ luồng điều khiển
Đồ thị dũng của chương trỡnh
1
109
87
6
11
4,5
2,3
„ đồ thị dũng
8
11
1
2
6
3
9
7
5
4
10
Bộ mụn Cụng nghệ phần mềm – ĐHCN 33
NguyễnVănVỵ
„ Để mọi lệnh đều được kiểm thử ớt nhất một lần, cần tỡm 
được tất cả cỏc đường điều khiển độc lập trong chương 
trỡnh (khỏc với cỏc đường khỏc ớt nhất một lệnh).
„ Số cỏc đường độc lập của 1 chương trỡnh là giới hạn trờn
số cỏc kiểm thử cần phải thực hiện. Nú được gọi là độ phức 
tạp chu trỡnh của chương trỡnh
„ Cỏc đường độc lập của 1 chương trỡnh trựng với cỏc 
đường độc lập của đồ thỡ dũng (tim đơn giản hơn).
Độ phức tạp của chu trỡnh
Bộ mụn Cụng nghệ phần mềm – ĐHCN 34
NguyễnVănVỵ
„ Đồ thị dũng trờn gồm: 9 nỳt, trong đú:5 nỳt là
vị tự, 11 cung, Chia mặt phẳng thành 4 miền
  Độ phức tạp chu trỡnh V(G) của đồ thị G được 
tớnh theo cỏc cỏch sau:
ƒ V(G) = E - N + 2 = 11-9+2 = 4
ƒ V(G) = số miền phẳng = 4
ƒ V(G) = P – 1 = 5-1 = 4
Trong đú: E = số cung; N = số nỳt; P = số nỳt vị từ
Tớnh độ phức tạp chu trỡnh từ đồ thị dũng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 35
NguyễnVănVỵ
Xỏc định cỏc ca kiểm thử
Tớnh độ phức 
Tạp chu trỡnh
Xỏc định tập 
đường cơ bản
Chuẩn bị cỏc
ca kiểm thử
Yờu cầu, 
mó nguồn
Vẽđồ
thị dũng
Cỏc ca kiểm thử
và nội dung
Bộ mụn Cụng nghệ phần mềm – ĐHCN 36
NguyễnVănVỵ
Vớ dụ ma trận kiểm thử
1
109
87
6
11
4,5
2,3
1 23 45 6 7 8 9 10 11
1 1 1
23 1 1
45 1
6 1 1
7 1
8 1
9 1
10 1
11
=A
Bộ mụn Cụng nghệ phần mềm – ĐHCN 37
NguyễnVănVỵ
Vớ dụ ma trận kiểm thử (t)
1 23 45 6 7 8 9 10 11
1 1 1
23 1 1
45 1
6 2
7 1
8 1
9
10
11 1 1
A2 =
số trong ma trận 
cho biết số con 
đường cú hai cạnh 
đi qua cung đú
Ma trận này giỳp 
lựa chọn đường để
lập ca kiểm thử
Bộ mụn Cụng nghệ phần mềm – ĐHCN 38
NguyễnVănVỵ
Trong chương trỡnh, mỗi rẽ nhỏnh xỏc định bằng biểu 
thức logic. Điều kiện lụgic cú thể là:
„ Điều kiện đơn là 1 biến Bool (cú thể cú toỏn tử phủ định): X
„ Điều kiện đơn là biểu thức quan hệ giữa 2 biểu thức số học 
C = (A Θ B) , với Θ là phộp so sỏnh: , ≥ hay ≠
A, B là biểu thức số học
„ Điều kiện phức hợp cấu thành từ hơn 1 điều kiện đơn nhờ
cỏc toỏn tử Bool: hoặc (∪), và (∩), phủ định (┘)
D = X1 & X 2 &  Xn , trong đú Xi là điều kiện đơn, & là toỏn 
tử bool
Điều kiện logic và cỏc chiến lược
Bộ mụn Cụng nghệ phần mềm – ĐHCN 39
NguyễnVănVỵ
„ Kiểm thử từng điều kiện logic trong chương trỡnh.
„ Kiểm thử khụng chỉ phỏt hiện sai trong điều kiện mà cũn là
phỏt hiện sai khỏc của chương trỡnh liờn quan.
„ Nguyờn tắc kiểm thử nhỏnh: với mỗi điều kiện phức 
hợp C, thỡ mỗi nhỏnh “true” và “false” của C, mỗi điều kiện 
đơn trong C phải được kiểm thử ớt nhất một lần.
„ Chiến lược kiểm thử miền cần 3 hoặc 4 kiểm thử cho 
một biểu thức quan hệ gồm cỏc trường hợp: , = và cú
thể ≠ nữa.
„ Chiến lược BRO là kết hợp 2 chiến lược trờn
 Làm sao chỉ ra tất cả cỏc trường hợp cần kiểm thử?
Chiến lược phõn nhỏnh, miền và BRO
Bộ mụn Cụng nghệ phần mềm – ĐHCN 40
NguyễnVănVỵ
„ Xột điều kiện C là hội biến Bool và biểu thức quan hệ: 
C= A ∪ (B = E) 
 Khi đú cỏc ràng buộc của C là cỏc cặp (t,t), (t,f) & (f,t);
với (B = E) cú giỏ trị t tương ứng với “=“, và giỏ trị f 
tương ứng với “”; Bởi vậy tập cỏc đầu vào 
để kiểm tra C phải gồm 4 phần tử: 
(t,=), (t,) và (f,=).
„ Đầu vào phủ cỏc ràng buộc C này bảo đảm phỏt hiện 
được mọi sai biến Bool hoặc toỏn tử quan hệ trong C. 
Vớ du: Chiến lược BRO – tạo ràng buộc2
Bộ mụn Cụng nghệ phần mềm – ĐHCN 41
NguyễnVănVỵ
  Đối tượng kiểm thử xem như hộp đen, thụng qua 
giao diện để đưa dữ liệu vào và nhận thụng tin ra
‰ Là kiểm thử yờu cầu chức năng 
‰ Đối tương: mụ đun, hệ con, toàn hệ thống
‰ Đặc trưng:
 Thuyết minh: cỏc chức năng đủ & vận hành đỳng
 Thực hiện: qua giao diện 
 Cơ sở: đặc tả, điều kiện vào/ra và cấu trỳc dữ liệu
 Ít chỳ ý tới cấu trỳc logic nội tại của nú
Kiểm thử hộp đen – khỏi niệm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 42
NguyễnVănVỵ
Phần 
mềm
Kết quả
ra
Đặc tả
hệ
thống 
phần 
mềm
1.
2.
n 
Giao 
diện
Chức 
năng
dữ
liệu
Dữ
liệu 
đầu 
vào
?
?
?
?
Khởi đầu –kết thỳc
Đầu ra liờn quan
Mụ hỡnh khỏi niệm kiểm thử hộp đen
Bộ mụn Cụng nghệ phần mềm – ĐHCN 43
NguyễnVănVỵ
‰ Tỡm cỏc loại sai liờn quan:
 Chức năng: đủ, đỳng đắn
 Giao diện: vào, ra: đủ, phự hợp, đỳng, tiện lợi
 Cấu trỳc, truy cập dữ liệu: thụng suốt, đỳng đắn
 Thực thi: trụi chảy, kịp thời, chịu lỗi, phục hồi được
 Khởi đầu - kết thỳc: mỗi tiến trỡnh bỡnh thường
Mục đớch kiểm thử hộp đen
Bộ mụn Cụng nghệ phần mềm – ĐHCN 44
NguyễnVănVỵ
1. Phõn hoạch tương đương
 Chia tập dữ liệu thành từng lớp tương đương
 Mỗi lớp hoặc là đỳng hay sai, chỉ cần kiểm tra 1 số
giỏ trị đặc trưng của nú ặ rỳt được số ca kiểm thử
2. Phõn tớch giỏ trị biờn
 Cỏc sai thường ở giỏ trị biờn
 Lựa chọn cỏc giỏ trị biờn của lớp phõn hoạch để
kiểm thử
3. Đồ thị nhõn quả
 Lập cỏc đồ thị nhõn quả làm cơ sở xõy dựng 
ca kiểm thử
Cỏc kỹ thuật kiểm thử hộp đen
Bộ mụn Cụng nghệ phần mềm – ĐHCN 45
NguyễnVănVỵ
Mụ hỡnh phõn hoạch & phõn tớch giỏ trị biờn
.....
x
xx
x
xx
xx
x
xx
x
.....
Chọn
Lớp 
tương 
đương
Miền rộng Nhiều giỏ trị Miền giới hạn Một số giỏ trị
Chọn 
Ca 
kiểm 
thử
x
x
x
x
x
x
x
b
a min
maxx
x
Bộ mụn Cụng nghệ phần mềm – ĐHCN 46
NguyễnVănVỵ
ƒ Là một kỹ thuật để thiết kế ca kiểm thử
ƒ Cung cấp một biểu diễn chớnh xỏc giữa cỏc điều 
kiện logic (đầu vào) và cỏc hành động tương 
ứng (đầu ra- kờt quả).
ƒ Được xõy dựng dựa trờn cỏc mụ đun chức 
năng, lụgớc tiến trỡnh và đặc tả hệ thống
ƒ Kỹ thuật gồm 4 bước
Kỹ thuật đồ thị nhõn quả
Bộ mụn Cụng nghệ phần mềm – ĐHCN 47
NguyễnVănVỵ
Tiến trỡnh kỹ thuật nhõn quả
Lập DS nguyờn
nhõn-kết quả 
theo mụđun
Phỏt triển
 đồ thị
nhõn-quả
Chuyển đồ
thi ặ bảng 
quyết định 
Xõy dựng cỏc 
ca kiểm thử theo 
luật của bảng 
Đặc tả hệ
thống phần mềm
Cỏc mụ đun
chức năng
Bộ mụn Cụng nghệ phần mềm – ĐHCN 48
NguyễnVănVỵ
Vớ dụ: kỹ thuật đồ thị nhõn quả
Modul Nguyờn nhõn Kết quả Định danh
A Số > a đỳng A1
Số ≥ a nghi ngờ A2
Số = a nghi ngờ A3
Số < a sai A4
B Số nguyờn đỳng B1
† Danh sỏch nhõn quả theo modul
Bộ mụn Cụng nghệ phần mềm – ĐHCN 49
NguyễnVănVỵ
Vớ dụ: bảng quyết định đồ thị nhõn quả
Định danh Điều kiện đỳng nghi ngờ sai
A1 Số > a X
B1 Số nguyờn X
A2,A3 Số ≥ a X
A4 Số < a X
  .. .. ..
Mụđun A1 Mụđun B
Ca 1: A1 & B
số >a đỳng
Ca 2: A2,A3,A4 & B1
Mụđun A2
Mụđun A3
Mụđun A4
Mụđun B ?số ≤a
Bộ mụn Cụng nghệ phần mềm – ĐHCN 50
NguyễnVănVỵ
  Đối tượng: cỏc mụ đun đơn vị chương trỡnh
  Nội dung kiểm thử:
 giao diện: dữ liệu qua giao diện, dữ liệu vào ra
 cấu trỳc dữ liệu sử dụng cục bộ
 đường điều khiển
 điều kiện lụgic
 phộp toỏn xử lý
  Phương phỏp sử dủ dụng: Phương phỏp hộp trắng
  Kỹ thuật: cỏc kỹ thuật phương phỏp hộp trắng và bộ
lỏi, cuống
Kiểm thử đơn vị
Bộ mụn Cụng nghệ phần mềm – ĐHCN 51
NguyễnVănVỵ
  Kiểm thử tớch hợp (integration testing) nhằm nhận 
được 1 bộ phận chức năng hay 1 hệ con tốt.
  Một kỹ thuật cú tớnh hệ thống để xõy dựng cấu trỳc 
chương trỡnh: từ cỏc mụđun đó kiểm, xõy dựng cấu 
trỳc chương trỡnh đảm bảo tuõn theo thiết kế.
  Cú hai cỏch tớch hợp 
 Tớch hợp dần: từ trờn xuống, dưới lờn, kẹp
 Tớch hợp đồng thời 1 lỳc: “big bang”
  Phương phỏp: phương phỏp hộp đen
  Kỹ thuật: bộ lỏi, cuống
Kiểm thử tớch hợp – khỏi niệm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 52
NguyễnVănVỵ
Cỏc sai cú thể gặp khi tớch hợp :
„ Dữ liệu bị mất khi đi qua một giao diện.
„ Hiệu ứng bất lợi 1 mụđun vụ tỡnh gõy ra đối cỏc 
mụđun khỏc.
„ Sự kết hợp cỏc chức năng phụ cú thể khụng 
sinh ra chức năng chớnh mong muốn.
„ Sự phúng đại cỏc sai sút riờng rẽ cú thể bị đến 
mức khụng chấp nhận được.
„ Vấn đề của cấu trỳc dữ liệu toàn cục cú thể để
lộ ra .
Cỏc sai gặp khi tớch hợp mụ đun
Bộ mụn Cụng nghệ phần mềm – ĐHCN 53
NguyễnVănVỵ
Sơ đồ - tớch hợp trờn xuống
A
B C D
E F I K
HG
A
B
A
BCuống (C,D)
Cuống(E,F)
Cuống(E,F)
Cuống (D,I,K)
Cuống C
Kiểm thử A
Kết hợp theo 
chiều rộng
Kết hợp theo 
chiều sõuHệ cần kiểm thử
Chưa xong
Bộ mụn Cụng nghệ phần mềm – ĐHCN 54
NguyễnVănVỵ
Sơ đồ - tớch hợp dưới lờn
Bộ lỏi
Bộ lỏi
Bộ lỏi
Vũng 1 Vũng 2 Vũng 3
Cụm
Bộ mụn Cụng nghệ phần mềm – ĐHCN 55
NguyễnVănVỵ
‰ Chiến lược Big bang
 dựng cho chương trỡnh nhỏ
 phức tạp, khụng hiệu quả
‰ Chiến lược trờn-xuống
 nhược điểm: cần cỏc cuống
 những khú khăn kốm theo cuống.
 cú ngay chức năng điều khiển hệ thống.
‰ Chiến lược dưới –lờn:
 luụn chưa cú chương trỡnh chỉnh thể
 thiết kế ca kiểm thử dễ và khụng cần cuống.
Nhận xột phương phỏp tớch hợp
Bộ mụn Cụng nghệ phần mềm – ĐHCN 56
NguyễnVănVỵ
 Khỏi niệm kiểm thử hệ thống
‰ Hệ thống dựa trờn mỏy tớnh (phần cứng & phần mềm) 
do nhiều bờn xõy dựng, người phỏt triển phần mềm chỉ
là một. Chỳng cần được kiểm tra tổng thể
‰ Những sai cần kiểm tra:
 Cỏc dữ liệu qua giao diện của cỏc thành phần được 
kiểm thử
 Đường xử lý liờn kết cỏc thành phần
 Sự tớch hợp lỗi từ cỏc thành phần khỏc nhau
 Những hạn chế khỏc đến năng lực do ảnh hưởng từ
cỏc thành phõn: chịu lỗi, an toàn, thực thi
Kiểm thử hệ thống
Bộ mụn Cụng nghệ phần mềm – ĐHCN 57
NguyễnVănVỵ
Cỏc loại kiểm thử hệ thống 
1. Kiểm thử chức năng (mức hệ thống)
bao gồm cỏc chức năng giao diện, cỏc chức năng 
mức người dựng hay đầu ra cuối cựng khỏi hệ thống
2. Kiểm thử phục hồi (chịu lỗi)
 kiểm thử phục hồi là bắt phần mềm phải thất bại 
để xem khả năng phục hồi của nú đến đõu. Cú 2 
mức phục hồi: phụ hồi tự động hay cần đến sự
cỏn thiệp của con người
 Độ tin cõy là một độ đo đỏnh giỏ khả năng phục 
hồi
Bộ mụn Cụng nghệ phần mềm – ĐHCN 58
NguyễnVănVỵ
Cỏc loại kiểm thử hệ thống 
3. Kiểm thử an ninh (sức chịu tấn cụng)
 kiểm tra mọi cơ chế bảo vệ được xõy dựng xem cú đạt 
hiệu quả đề ra trước cỏc đột nhập hay khụng?
 người kiểm thử đúng vai trũ của kẻ đột nhập thực hiện 
mọi đột nhập cú thể để đỏnh giỏ.
4. Kiểm thử thi hành (thụng suốt, kịp thời)
 kiểm thử thi hành được thiết kế để kiểm tra sự vận hành 
của phần mềm khi hệ thống được tớch hợp.
 Việc thi hành đỳng bao gồm cả số lượng, chất lượng (hoạt 
động và hiệu năng)
Bộ mụn Cụng nghệ phần mềm – ĐHCN 59
NguyễnVănVỵ
Cỏc loại kiểm thử hệ thống 
5. Kiểm thử chịu tải (qui mụ, giỏ trị nhạy cảm)
 là vận hành hệ thống khi sử dụng nguồn lực với số 
lượng, tần suất và cường độ dị thường.
 Vớ dụ: vận hành 1 cơ sở dữ liệu với số bản ghi cực lớn, 
vận hành hệ điều hành mạng với số mỏy nhiều dần.
Bộ mụn Cụng nghệ phần mềm – ĐHCN 60
NguyễnVănVỵ
‰Mục tiờu: xem phần mềm cú đỏp ứng được yờu cầu 
khỏch hàng/người dựng khụng?
‰ Thực hiện thụng qua 1 loạt cỏc kiểm thử hộp đen
‰ Kế hoạch & thủ tục được thiết kế bảo đảm rằng:
 Tất cả cỏc yờu cầu được thoả món, 
 Cỏc yờu cầu thi hành đó chớnh xỏc,
 Tài liệu đỳng đắn và
 Cỏc yờu cầu khỏc là thoả đỏng.
‰ Cú hai loại: kiểm thử Alpha và kiểm thử Beta 
Kiểm thử chấp nhận- thẩm định 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 61
NguyễnVănVỵ
„ Kiểm thử alpha do phỏt triển tiến hành:
 Phần mềm được người dựng thực hiện trong bối cảnh 
“tự nhiờn”, trong một mụi trường được điều khiển 
 Người phỏt triển “nhũm qua vai” người sử dụng để bỏo 
cỏo cỏc sai và cỏc vấn đề sử dụng (vỡ thế cũn gọi là
kiểm thử sau lưng). Dữ liệu thường là dữ liệu mụ phỏng
„ Kiểm thử Beta do khỏch hàng tiến hành
 Tiến hành trong mụi trường thực
 Khỏch hàng bỏo cỏo tất cả cỏc vấn đề họ gặp trong quỏ
trỡnh kiểm thử cho người phỏt triển 1 cỏch định kỳ.
Kiểm thử Alpha và kiểm thử Beta 
Bộ mụn Cụng nghệ phần mềm – ĐHCN 62
NguyễnVănVỵ
Câu hỏi củng cố
1. Định nghĩa thẩm định vμ xác minh?
2. Sự khác nhau giữa thẩm định,xác minh tĩnh vμ động?
3. Các hoạt động chính của thẩm định vμ xác minh lμ gì?
4. Rμ soát lμ gì? Có những loại rμ soát nμo?
5. Mục tiêu, đối t−ợng của rμ soát kỹ thuật chính thức
6. Tiến trình rμ soát kỹ thuật chính thức?
7. Thμnh phần, nội dung, kết quả họp rμ soát chính thức?
8. Nêu danh mục các sản phẩm cần rμ soát?
9. Kiểm thử phần mềm lμ gì? Nội dung của hoạt động kiểm thử
gồm những gì?
Bộ mụn Cụng nghệ phần mềm – ĐHCN 63
NguyễnVănVỵ
Câu hỏi củng cố
10. Trình bμy đề c−ơng nội dung kế hoạch kiểm thử?
11. Vẽ sơ đồ dòng thông tin kiểm thử?
12. Vẽ sơ đồ tiến trình thực hiện một ca kiểm thử
13. Có những loại kiểm thử nμo? Đối t−ợng của nó lμ gì?
14. Có những ph−ơng pháp vμ chiến l−ợc kiểm thử nμo? 
15. Trình bμy tóm tắt mỗi ph−ơng pháp kiểm thử: đối t−ợng, những 
sai cần kiểm tra, các chiến l−ợc vμ kỹ thuật sử dụng? 
16. Trỡnh bày cỏc loại hỡnh kiểm thử: định nghĩa, mục tiờu, cỏc sai 
cần kiểm tra, chiến lược và kỹ thuật sử dụng, cỏch thức tiến 
hành?
Bộ mụn Cụng nghệ phần mềm – ĐHCN 64
NguyễnVănVỵ
Câu hỏi và thảo luận

File đính kèm:

  • pdfbai_giang_ky_nghe_phan_mem_bai_9_xac_minh_tham_dinh_nguyen_v.pdf