ソフトウェアテスト
[8] テストの評価と信頼性評価と信頼性と信頼性信頼性
Software Testing
[8] Evaluation of testing and reliability
あまん ひろひさ ひろひさ
阿萬 裕久 裕久( AMAN
Hirohisa )
(C) 2007-2022 Hirohisa AMAN
1
Đánh giá kiểm thử
Kiểm thử là hoạt động đảm bảo chất l
ượng của phần mềm
Kiểm t động” kiểm thhử là cần thiết. hồ cần thiết.n hảo
⇒ Khơng có bất động” kiểm th kỳ lỗi (defect động” kiểm th/fault động” kiểm th) hoặc sự cố (failure) nà cần thiết.o
xảy ra.
Không có lỗi hoặc vấn đề nà cần thiết.o xảy ra t động” kiểm throng quá t động” kiểm thrình kiểm
t động” kiểm thhử là cần thiết. phần mềm.
Việc đánh giá “các hoạt động” kiểm th động” kiểm th kiểm t động” kiểm thh
ử là cần thiết. là cần thiết. cần t động” kiểm thhiết động” kiểm th.
Đánh giá dựa trên Coverage rate
Đánh giá dựa trên Bug resolution rate
Đánh giá dựa trên Operability
(C) 2007-2022 Hirohisa AMAN
2
Đánh giá kiểm thử (1)
Đánh giá dựa trên coverage rate
Đánh giá từ góc độ 'bạn đã bao phủ b
ao nhiêu'
Tập t động” kiểm thrung và cần thiết.o t động” kiểm thhay đổi t động” kiểm thrạng t động” kiểm thhái
Tập t động” kiểm thrung và cần thiết.o hoạt động” kiểm th động và cần thiết. đầu và cần thiết.o/đ
ầu ra t động” kiểm thheo các t động” kiểm thhông số kỹ thuật t động” kiểm thhuật động” kiểm th
*black box t động” kiểm thest động” kiểm thing
Tập trung vào luồng thực thi chương trìn
h
*whit động” kiểm the box t động” kiểm thest động” kiểm thing
(C) 2007-2022 Hirohisa AMAN
3
Đánh giá kiểm thử (2)
Đánh giá dựa trên bug resolution rate
Kiểm thử phát hiện lỗi và sửa chữa chúng
Nếu tổng số lỗi đã biết, có thể đánh giá ho
ạt động kiểm thử dựa trên số lượng lỗi đư
ợc sửa chữa
Bug's number of bugs resolved
=
resolution rate
total number of bugs
*Note: The term bug is not accurate;
A phenomenon that does not work properly ("failure, defect") is found
in the test, and "resolution" is to solve the "fault" that is the source of
problem or the "error" that created it.
(C) 2007-2022 Hirohisa AMAN
4
Làm thế nào để biết “tổng số lỗi
(bug)”
Tóm lại, con số thực sự không được bi
ết đến
So sánh con người với một hệ thống giống n
hư cố gắng tính xem họ bị ốm bao nhiêu lần
trong đời.
Nếu chúng ta cho rằng “sự cố xảy ra = triệu
chứng của bệnh”, thì lỗi là do vi khuẩn hoặc
vi rút gây ra và lỗi là hành động dẫn đến lây
nhiễm.
Estimate total number of bugs Statistically
(C) 2007-2022 Hirohisa AMAN
5
Phương pháp ước t động” kiểm thính số lỗi ① phươ phươ
ng pháp capt động” kiểm thure/recapt động” kiểm thure (1/4)
[Ví dụ]
Tơi muốn tìm hiểu có bao nhiêu cá vượ
c đen trong Hồ Biwa.
*Tốt nhất là chúng ta có thể bắt được t
ất cả cá trong Hồ Biwa, nhưng điều đ
ó thực tế là khơng thể..
(C) 2007-2022 Hirohisa AMAN
6
Phương pháp ước t động” kiểm thính số lỗi ① phươ phươ
ng pháp capt động” kiểm thure/recapt động” kiểm thure (2/4)
1. Khi đã bắt được số lượng cá vược đen phù
hợp.
2. Đánh dấu chúng và thả tự do trở lại hồ.
3. Sau một khoảng thời gian, các cá vược đe
n sẽ được bắt lại, và số lượng tổng thể đư
ợc ước tính dựa trên số lượng cá đã được
đánh dấu trước đó.
(C) 2007-2022 Hirohisa AMAN
7
Phương pháp ước t động” kiểm thính số lỗi ① phươ phươ
ng pháp capt động” kiểm thure/recapt động” kiểm thure (3/4)
Hình này được hiểu như
Đánh
dấu 10
con cá
lần đầu
t động” kiểm thiên.
Sau đó, các
con cá đã
được bắt lại.
Lần t động” kiểm thhứ hai,
xác nhận
rằng có 2
t động” kiểm throng số 10
con cá đã
được đánh
dấu t động” kiểm thrước
đó.
Ước tính tỷ lệ phần trăm của tổng số. Hình ảnh biểu đồ nà cần thiết.y
:
=2:8
(C) 2007-2022 Hirohisa AMAN
10 : ? = 2 : 8
Vậy còn lại 40.
8
Phương pháp ước t động” kiểm thính số lỗi ① phươ phươ
ng pháp capt động” kiểm thure/recapt động” kiểm thure (4/4)
Áp dụng điều này vào phần mềm
1. Chuẩn bị artificial bugs art động” kiểm thificial bugs (marking)
2. Giả sử là cần thiết. rằng bà cần thiết.i kiểm t động” kiểm thra phát động” kiểm th hiện được a
rt động” kiểm thificial bugs and non-real bugs.
3. Số lỗi t động” kiểm thhực t động” kiểm thế t động” kiểm thổng cộng được ước t động” kiểm thính bằ
ng phương t động” kiểm thrình sau.
Than
(C) 2007-2022 Hirohisa AMAN
𝑛𝑦
𝑥
9
Nhược điểm của phương pháp capt động” kiểm thu
re /recapt động” kiểm thure
Thật khó để tạo ra realistic artificial bugs
Đơi khi lỗi giả này có thể được phát hiện nga
y sau khi được tạo ra và không thực sự tươn
g tự với các lỗi trong môi trường thực tế
một kỹ sư, họ có sự chống đối việc "tạo ra lỗ
i"
Họ thả ra những con cá có thể bắt được,
và số lượng ước tính nhỏ hơn số thực tế.
* 𝒚 nhỏ hơn và cần thiết. 𝒙 lớn hơn
𝑛𝑦
bình t động” kiểm thhường.
𝑥
(C) 2007-2022 Hirohisa AMAN
10
Phương pháp ước tính số lỗi (2)
Phương pháp chỉnh sửa hai bước (1/3)
Cải thiện phương pháp capture/recapture
khơng có artificial bugs
1. hai nhóm kiểm thử A và B
2. Nhóm A thực hiện kiểm thử và ghi lại bất
kỳ lỗi nào được tìm thấy (giữ chúng bí mậ
t với nhóm B).
3. Nhóm B thực hiện kiểm thử và ước tính số l t động” kiểm thhực hiện kiểm t động” kiểm thhử là cần thiết. và cần thiết. ước t động” kiểm thính số l
ỗi cịn lại dựa t động” kiểm thrên số lỗi được t động” kiểm thìm t động” kiểm thhấy giốn
g nhau với nhóm A.
(C) 2007-2022 Hirohisa AMAN
11
Phương pháp ước tính số lỗi (2)
Phương pháp chỉnh sửa hai bước (1/3)
Hãy suy nghĩ như phương pháp capture-recapture
Nhóm A
t động” kiểm thìm t động” kiểm thhấy
10 lỗi
Nhóm B thực hiện kiểm thử và ước tính số l t động” kiểm thìm
t động” kiểm thhấy 2 t động” kiểm throng số
10 phần t động” kiểm thử là cần thiết.
chứa những gì
chúng t động” kiểm tha đã
t động” kiểm thìm t động” kiểm thhấy ở
nhóm A.
Ước tính tỷ lệ phần trăm của tổng số
:
=2:8
10 : ? = 2 : 8
t động” kiểm tha có t động” kiểm thhể suy ra rằng cịn
lại 40 con bug chưa được
t động” kiểm thìm t động” kiểm thhấy t động” kiểm throng nhóm A.
(C) 2007-2022 Hirohisa AMAN
12
Phương pháp ước tính số lỗi (2)
Phương pháp chỉnh sửa hai bước (1/3)
Số lượng lỗi được tìm thấy bởi nhóm A =
Số lượng lỗi được tìm thấy bởi nhóm B=
Số lượng lỗi được tìm thấy trong cả hai nhóm = 𝒄
Than
Số lượng lỗi mà cần thiết. nhóm A chưa t động” kiểm thìm được=
𝒂(𝒃 − 𝒄)
𝒄
Tổng số bugs (bao gồm những bugs đã tìm được):
𝒂 (𝒃 − 𝒄)
𝒂𝒃 𝒂𝒄
𝒂𝒃
+ 𝒂=
−
+𝒂=
𝒄
𝒄
𝒄
𝒄
(C) 2007-2022 Hirohisa AMAN
13
Đặc điểm của phương pháp Two-ste
p editing
Không cần chuẩn bị lỗi giả (estimation c
hỉ dựa trên lỗi thực tế)
Do hai nhóm cần phải kiểm thử riêng biệ
t nên tốn thời gian và chi phí hơn
Dự đốn thường thấp hơn so với số lỗi th
ực tế.
(C) 2007-2022 Hirohisa AMAN
14
[Bài tập 1]
① phươ Find an estimate of the total number of bugs
Group A finds 10 bugs,
Group B finds 50 bugs.
However, 5 were found in both groups.
② Find an estimate of the number of remaining
bugs (not found yet).
Group A finds 100 bugs,
Group B finds 80 bugs.
However, 20 were found in both groups.
(C) 2007-2022 Hirohisa AMAN
15
[Bài tập 1] Đáp án
① phươThan
total number of bugs = = 10 x 50/5 = 100
② Than
total number of bugs= =100 x 80/20 = 40
0
therefore,
because what is found in both is
double subtracted
number of remaining bugs= 400
= 400–100–80 + 20 = 240
(C) 2007-2022 Hirohisa AMAN
16
Phương pháp ước t động” kiểm thính số lỗi (3)
Mơ hình đường cong Gompert động” kiểm thz (1/4) (1/4)
Mơ hình đường cong Gompertz là một loại
mơ hình đường cong tăng trưởng mơ tả q
trình từ khi bắt đầu của các sự kiện khác nh
au đến sự tăng trưởng và hội tụ.
Cumulative
number of
occurrences
Preparation
stage
convergence
stage
growth
stage
elapsed time
(C) 2007-2022 Hirohisa AMAN
17
Phương pháp ước t động” kiểm thính số lỗi (3)
Mơ hình đường cong Gompert động” kiểm thz (1/4) (2/4)
Được sử dụng cho mơ hình tăng trưởng
của số lỗi tích lũy.
Cumulative bugs
Khơng
thường
được tìm
thấy ngay
lập tức
Preparation
stage
Soon you will find various
convergence
stage
Soon you
won't find it
growth
stage
test time
(C) 2007-2022 Hirohisa AMAN
18
Phương pháp ước t động” kiểm thính số lỗi (3)
Mơ hình đường cong Gompert động” kiểm thz (1/4) (3/4)
Mathematically
𝐸(𝑡 )
𝐸 ( 𝑡 ) =𝐾 𝑎
𝑡
𝑏
Là cần thiết. một động” kiểm th t động” kiểm thham số
xác đị artificial bugsnh hình
dạng của đường
cong
𝐾
𝑡
*This curve shows an empirical trend
(C) 2007-2022 Hirohisa AMAN
19
Phương pháp ước t động” kiểm thính số lỗi (3)
Mơ hình đường cong Gompert động” kiểm thz (1/4) (4/4)
Bạn có thể ước tính thời gian kiểm thử cần
thiết để đạt được mức độ tin cậy tại thời đ
iểm cụ thể hoặc mức độ tin cậy mục tiêu.
𝐸(𝑡 )
(Example)
95% of t động” kiểm thhe
final
value K
𝐾
0.95 𝐾
𝑡
(C) 2007-2022 Hirohisa AMAN
Correspondin
g expect động” kiểm thed
t động” kiểm thime
20