Software Testing
[8] Evaluation of testing and reliability
Một số kiến thức liên quan và VNI
あまん ひろひさ ひろひさ
阿萬 裕久 裕久( AMAN
Hirohisa )
(C) 2007-2022 Hirohisa AMAN
1
Quá trình/biến ngẫu nhiên
(Stochastic Process/Variable)
Quá trình ngẫu nhiên là một q trình tron
g đó kết quả của q trình tại một thời điể
m cụ thể là không chắc chắn và có thể đượ
c mơ tả bằng một biến ngẫu nhiên.
Ví dụ: Pr{N(t) = n}
Nghĩa là, Xác suất của một quá trình ngẫu
nhiên (được biểu diễn bởi biến ngẫu nhiên
N(t)) nhận giá trị n tại thời điểm t.
(C) 2007-2022 Hirohisa AMAN
2
Phân phối xác suất
(Probability Distribution)
Phân phối xác suất là một hàm mô tả khả
năng thu được các kết quả khác nhau có th
ể xảy ra trong một sự kiện ngẫu nhiên.
Giá trị trung bình của phân phối xác suất là
kết quả trung bình của các sự kiện ngẫu nh
iên Gọi là Kỳ vọng (Mean/Expected value).
Kỳ vọng cho biết giá trị điển hình hoặc trun
g bình mà người ta mong đợi quan sát đượ
c nếu sự kiện được lặp lại nhiều lần.
(C) 2007-2022 Hirohisa AMAN
3
Kỳ vọng và Phương sai
(Expected value & Variance)
Phương sai là thước đo mức độ phân tán / tr
ải rộng của phân phối xác suất
Nó hàm ý các giá trị trong tập dữ liệu thườn
g ở cách giá trị trung bình (Tức kỳ vọng) bao
xa
Phương sai cao chỉ ra các điểm dữ liệu nằm
cách xa giá trị trung bình, nghĩa là tập dữ liệ
u được trải rộng hơn
Phương sai thấp cho biết các điểm dữ liệu đư
ợc ở gần giá trị trung bình
(C) 2007-2022 Hirohisa AMAN
4
Đường cong tăng trưởng
(Growth curve)
Trong đó, có 1 mơ hình
rất nổi tiếng là SRGM,
dung để mơ hình hóa số
lần phát hiện lỗi.
Failure cumulative number
Một đường cong mơ hình cách dữ liệu mục tiêu thay
đổi theo tgian và đầu vào của tgian hoặc nỗ lực
Sử dụng giá trị tích lũy để bắt kịp tốc độ tăng trưởn
g của nó
Ước tính bằng cách dung một mơ hình đường cong
(C) 2007-2022 Hirohisa AMAN
Time or effort
5
Software reliability growth model: growth model:
SRGM
Total number of
detected bugs, etc.
Một mơ hình về mối quan hệ giữa test e
xecution time v.v. và total number of bu
gs detected, v.v.
Exponential
reliability growth model: growth
model
S-shaped reliability growth model: growth model
Test execution time, etc.
(C) 2007-2022 Hirohisa AMAN
6
Mơ hình q trình ngẫu nhiên v
ề số lượng lỗi được phát hiện
Gọi là tổng số bugs tìm được tại thời điểm t là 1
biến ngẫu nhiên (Xem xét một loạt các biến ng
ẫu nhiên theo thời gian)
Khi thời gian 𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ là cố định, 𝑁(𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ) sẽ có một vài phâ
n phối xác suất
Xác suất để
N(t) nhận giá
trị n tại thời
điểm t.
( Ex )
0 1 2 3 4 5 6 7 8 10
9
・・・・・
(C) 2007-2022 Hirohisa AMAN
7
(Reference)
Binomial and Poisson distribution
(1/3)
*Taguri et al.: Easy introduction to statistics, Kodansha (in Japanese)2007)
Binomial distribution: If an event occurs with
probability , then the probability that it will ac
tually occur times in trials is
𝑛
𝑘
𝑛− 𝑘
𝑝 (1 − 𝑝)
𝑘
( )
Ex: Probability of a traffic accident occurring in a city i
n one minute:
Probability of no traffic accidents in the next 24 hours
(
1439
1 440
0
1440 − 0
144 0
𝑝 (1 −𝑝 )
=(1− 𝑝)
=
0
1440
(
)
(C) 2007-2022 Hirohisa AMAN
8
1440
)
(Reference)
Binomial and Poisson distribution
(2/3)
Tính trực tiếp
1439 1440
=0.3677517
1440
Khiđủ lớn và đủ nhỏ, ta có thể tính xấp
xỉ bằng Phân phối Poisson:
( )
(𝑛 𝑝 )𝑘 𝑒 −𝑛 𝑝
𝑃 ( 𝑋 =𝑘 )
𝑘!
(𝑛=1440,𝑝 =
(C) 2007-2022 Hirohisa AMAN
1
, 𝑘= 0)
1440
¿ 𝑒 −1= 0.3678794
9
(Reference)
Binomial and Poisson distribution
(3/3)
Công thức xấp xỉ ()
𝑘
(𝑛 𝑝 ) 𝑒
𝑃 ( 𝑋 =𝑘 )=
𝑘!
−𝑛 𝑝
𝑘
−𝜆
𝜆 𝑒
=
𝑘!
Được gọi là Phân phối Poisson
Cả kỳ vọng và phương sai đều là
(C) 2007-2022 Hirohisa AMAN
10
Poisson Process
Nếu tỷ lệ lỗi tại mỗi đơn vị thời gian là
Tổng số lỗi dự kiến tại thời điểm t là
Phân phối xác suất của nó tuân theo phân phố
i Poisson
( 𝜆𝑡 )𝑛 − 𝜆 𝑡
Pr { 𝑁 ( 𝑡 ) =𝑛 } =
𝑒
𝑛 ! (𝑛=0,1,2 , …)
(C) 2007-2022 Hirohisa AMAN
11
Expected number of bugs (1/3)
Trên thực tế, số lượng lỗi được tìm thấy
trong mỗi đơn vị thời gian khơng phải là
hằng số (nếu có thì sẽ có vơ số lỗi: 𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ→∞ ∞
dẫn đến 𝜆𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ→∞ ∞)
Do đó, đặt giá trị trung bình tại thời điể
m 𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ là
𝐻 (𝑡 )𝑛 − 𝐻 (𝑡 )
Pr { 𝑁 ( 𝑡 ) =𝑛 } =
𝑒
𝑛!
(𝑛=0,1,2 , …)
(C) 2007-2022 Hirohisa AMAN
12
Expected number of bugs (2/3)
H(t) là số lượng lỗi dự kiến tại thời điểm
t, được lấy từ tỷ lệ phát hiện lỗi h(t) tại
mỗi thời điểm trước đó
𝑡
Ví dụ: ℎ(3) là tỷ lệ (3) là tỷ lệ
phát hiện lỗi tại thời
điểm 𝑡=3=3
𝐻 ( 𝑡 )=∫ h ( 𝑥 ) 𝑑𝑥
0
h(𝑥 )
0
𝑡
𝑥
(C) 2007-2022 Hirohisa AMAN
13
Expected number of bugs (3/3)
Nếu tỷ lệ phát hiện lỗi luôn không đổi,
(constant)
𝑡
𝑡
𝐻 ( 𝑡 )=∫ h ( 𝑥 ) 𝑑𝑥 =∫ 𝜆 𝑑𝑥= 𝜆𝑡
0
0
𝐻 (𝑡 )𝑛 − 𝐻 (𝑡 )
Pr { 𝑁 ( 𝑡 ) =𝑛 } =
𝑒
𝑛!
( 𝜆𝑡 )𝑛 − 𝜆 𝑡
¿
𝑒
𝑛!
(C) 2007-2022 Hirohisa AMAN
14
A ty growth model: pical bug detection count model:
NonHomogeneous Poisson process
model
Tổng quát hóa tỷ lệ phát hiện lỗi dưới d
ạng hàm của thời gian
Quá trình Poisson coi giá trị kỳ vọng là
𝐻(𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ) chứ khơng phải 𝜆𝑡 là cố định, 𝑁(𝑡) sẽ có một vài phâ gọi là NHPPs
𝑛
𝐻 (𝑡 ) − 𝐻 (𝑡 )
Pr { 𝑁 ( 𝑡 ) =𝑛 } =
𝑒
𝑛!
(𝑛=0,1,2 , …)
𝑡
𝐻 ( 𝑡 )=∫ h ( 𝑥 ) 𝑑𝑥
0
(C) 2007-2022 Hirohisa AMAN
15
NHPPs mean value function and
intensity growth model: function
𝑛
𝐻 (𝑡 ) − 𝐻 (𝑡 )
Pr { 𝑁 ( 𝑡 ) =𝑛 } =
𝑒
𝑛!
(𝑛=0,1,2 , …)
𝑡
𝐻 ( 𝑡 )=∫ h ( 𝑥 ) 𝑑𝑥
0
: mean value function
*Not a probability
Tổng số lỗi mong đợi tại thời điểm t
: intensity growth model: function/hazard rate function
Tỷ lệ phát hiện lỗi tại thời điểm t
(C) 2007-2022 Hirohisa AMAN
16
(Reference)
Homogeneous Poisson process
Nếu intensity function là hằng số suốt q
uá trình:
( 𝜆> 0)
Thì biến ngẫu nhiên Homogeneous Pois
son process (HPP)
(C) 2007-2022 Hirohisa AMAN
17
Ty growth model: pical NHPPs model
Khi thực sự đánh giá và dự đoán độ tin c
ậy, cần xác định Hàm giá trị trung bình t
heo một số giả định
VD
Model name Mean value function
𝐻 (𝑡)
Exponential
𝑎 (1 −𝑒 −𝑏𝑡 )
Delay growth model: ed Sshaped
𝑎 { 1− (1+ 𝑏𝑡 ) 𝑒− 𝑏𝑡 }
(C) 2007-2022 Hirohisa AMAN
18
Assumptions set by growth model: many growth model: NHPP m
odels
Số lượng lỗi được tìm thấy trong một đơn
vị thời gian Tỷ lệ thuận với số lượng lỗi kh
ông được phát hiện tại thời điểm đó
That is, the rate of bug finds at time t is Proportional to the
number of remaining bugs
h(𝑡)
𝑎− 𝐻 (𝑡)
h ( 𝑡 ) =𝑏 ( 𝑡 ) { 𝑎 − 𝐻 (𝑡 ) }
: Hệ số tỷ lệ tại thời điểm t
(Discovery rate per bug)
(C) 2007-2022 Hirohisa AMAN
19
Assumptions set by growth model: many growth model: NHPP m
odels
Viết lại bằng cách dùng mean value func
tion
𝑡
𝐻 ( 𝑡 )=∫ h ( 𝑥 ) 𝑑𝑥
𝑑𝐻 ( 𝑡 )
=𝑏(𝑡 ) { 𝑎 − 𝐻 (𝑡 ) }
𝑑𝑡
0
Note:
H(t) ~ Hàm phân phối
h(t) ~ Hàm mật độ
Giải phương trình trên với điều kiện ban
đầu
𝑡
− ∫ 𝑏 ( 𝑥 ) 𝑑𝑥
𝐻 ( 𝑡 ) = 𝑎 (1 − 𝑒
(C) 2007-2022 Hirohisa AMAN
0
20
)