Tải bản đầy đủ (.pdf) (27 trang)

Bài giảng Kiểm thử và đảm bảo chất lượng phần mềm: Chương 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (381.9 KB, 27 trang )

KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

Chương 2

KIỂM THỬ TRONG VÒNG ĐỜI
PHÁT TRIỂN PHẦN MỀM

1 Các nguyên lý

2 Vòng đời

3 Kỹ thuật kiểm thử

4 Kiểm thử chức năng 5. Kiểm thử cấu trúc 6 Quản lý chất lượng

1


Vòng đời
1

2

3

4

5

6


Kiểm thử phần mềm

Nội dung
Vòng đời kiểm thử
Kiểm thử đơn vị
Kiểm thử tích hợp
Kiểm thử hệ thống
Kiểm thử chấp nhận

2


Vòng đời của kiểm thử phần mềm

3


Vịng đời của kiểm thử phần 
mềm…
Q trình sửa lỗi bao gồm
- Phân loại lỗi, cơ lập lỗi  tìm ra nguyên nhân
và nơi gây lỗi
- Đưa ra giải pháp sửa lỗi
- Khắc phục lỗi

4


Phân loại kiểm thử
Theo mức độ chi tiết

- Kiểm thử đơn vị
- Kiểm thử hệ thống
- Kiểm thử tích hợp
Dựa trên phương pháp thử nghiệm (thường
dùng ở mức kiểm thử đơn vị)
- Kiểm thử hộp đen  kiểm tra chức năng
- Kiểm thử hộp trắng kiểm tra cấu trúc
5


Kiểm thử hộp đen





Cịn gọi là kiểm thử hàm, kiểm thử chức năng
Tập trung vào hành vi vào/ra. Với đầu vào đã biết
ra có thể đốn/tính đầu ra, rồi kiểm tra chương
trình có tạo kết quả như ta đốn/tính.
– Khơng thể kiểm thử hết các bộ dữ liệu đầu vào
Bài toán đặt ra là giảm số lượng ca kiểm thử
bằng việc chia không gian đầu vào thành các
miền tương đương
– Sau đó chọn một ca kiểm thử từ mỗi miền tương
đương này.
6


Kiểm thử hộp trắng

Còn gọi là kiểm thử cấu trúc, kiểm thử logic
Các tiêu chuẩn bao phủ
Lệnh
- Mọi lệnh đều được thử
Vòng lặp
- 0, 1, >1 lần
Đường đi
- Tất cả các khả năng chạy của chương trình
Nhánh (if, while, ..)
- Biểu thức điều kiện được thử với cả True và False
• Các nhánh đều được chạy ít nhất một lần


7


So sánh kiểm thử hộp trắng và hộp đen
Hộp trắng
- Số đường đi nhiều khi là vô hạn
- Kiểm tra những gì đã làm, khơng
phải những gì cần được làm
- Khơng phát hiện được ca kiểm
thử cịn thiếu
- thích hợp cho kiểm thử hệ thống
và tích hợp
Hộp đen
- Dễ bùng nổ tổ hợp về số ca kiểm
thử (dữ liệu đúng và dữ liệu sai)
- Thường không chắc ca kiểm thử
này có phát hiện được lỗi cụ thể

kia hay khơng
- Thích hợp cho kiểm thử đơn vị
và tích hợp.

Cần cả hai
Kiểm thử hộp trắng và hộp
đen là hai thái cực của kiểm
thử
Việc lựa chọn ca kiểm thử
nằm giữa và phụ thuộc vào
- Số đường đi logic có thể
- Tính chất của dữ liệu đầu
vào
- Khối lượng tính tốn
- Độ phức tạp của cấu trúc
dữ liệu và giải thuật
Hai kỹ thuật là bổ sung cho
nhau.


8


Mơ hình chữ V

9


Vòng đời
1


2

3

4

5

6

Kiểm thử phần mềm

Nội dung
Vòng đời kiểm thử
Kiểm thử đơn vị
Kiểm thử tích hợp
Kiểm thử hệ thống
Kiểm thử chấp nhận

10


Kiểm thử đơn vị
Kiểm thử các lớp, hàm, đối tượng, gói, mơđun
Sử dụng kỹ thuật hộp đen
Dữ liệu tạo ra dựa trên tài liệu thiết kế
Có thể sử dụng cả kiểm thử hộp trắng và kiểm
thử tĩnh với các phần mềm yêu cầu chất
lượng cao

Thường thực hiện trên phần cứng phát triển
phần mềm
11


Môi trường kiểm thử đơn vị

Bộ điều khiển
Kết quả kiểm thử

Các ca kiểm thử

Đơn vị được
kiểm thử

Stub

Stub

Mô-đun giả lập
12


Vòng đời
1

2

3


4

5

6

Kiểm thử phần mềm

Nội dung
Vòng đời kiểm thử
Kiểm thử đơn vị
Kiểm thử tích hợp
Kiểm thử hệ thống
Kiểm thử chấp nhận

13


Kiểm thử tích hợp
Phát hiện vấn đề khi ghép các đơn vị, mơ-đun/thành
phần với nhau, sau khi đã thực hiện kiểm thử đơn vị
Các vấn đề ghép nối
– Bên trong: giữa các thành phần( Gọi: call/message passing/…);
Tham số( kiểu, số lượng, thứ tự, giá trị); Kết quả trả về (ai, kiểu, trình
tự)
– Bên ngoài: Ngắt (wrong handler?); Thời gian vào ra
- Tương tác

Sử dụng kỹ thuật hộp đen
Một số trường hợp có thể sử dụng kỹ thuật hộp trắng

nhưng chi phí cao, khó khăn
Dữ liệu thử được tạo ra dựa trên thiết kế tổng thể
14


Tích hợp Big­Bang
Lý thuyết:
- Nếu chúng ta có các thành phần đã từng kiểm
thử tại sao chúng ta không kết nối chúng với
nhau cùng lúc? Điều này sẽ tiếp kiệm thời gian
không?
Thực hiện:
- Mất nhiều thời gian để định vị lỗi và sửa lỗi
- Tái kiểm thử sau khi sửa lỗi có phổ rộng hơn
- Kết quả cuối cùng?  Mất nhiều thời gian hơn
15


Tích hợp gia tăng
Baseline 0: tested component
Baseline 1: two components
Baseline 2: three components, etc.
Thuận lợi:
- Vị trí lỗi dễ định vị và sửa chữa hơn
- Khôi phục dễ sau các vấn đề và biến động xấu
- Giao tiếp nên được kiểm thử trong các kiểm
thử thành phần, NHƯNG…
- Thêm vào đường cơ sở đã được kiểm thử
16



Tích hợp Top­Down
Baselines:
a
­ baseline 0: component a
­ baseline 1: a + b
b
c
­ baseline 2: a + b + c
­ baseline 3: a + b + c + d
d
e
f
g
­ etc.
Cần gọi tới các thành
h i
j
k
l m
phần mức thấp hơn
chưa được tích hợp
n
o
Stubs: mơ tả các thành phần còn thiếu
17


Tích hợp Bottom­up
Baselines:

­ baseline 0: component n
­ baseline 1: n + i
­ baseline 2: n + i + o
­ baseline 3: n + i + o + d
d
­ etc.
Cần trình điều kiển để
h i
gọi cấu hình đường cơ sở
Cũng cần stub cho vài
n
đường cơ sở

a
b

c
e
j

f
k

g
l

m

o
18



Tích hợp khả năng tối thiểu
Baselines:
­ baseline 0: component a
­ baseline 1: a + b
­ baseline 2: a + b + d
d
­ baseline 3: a + b + d + i
­ etc.
h i
Cần các stubs
Khơng nên cần trình
n
điều khiển (nếu top-down)

a
b

c
e
j

f
k

g
l

m


o
19


Tích hợp tiểu trình (thread)
Thứ tục xử lý một vài sự kiện quyết định thứ
a
tự tích hợp
Ngắt, giao dịch người dùng
b
c
Khả năng tối thiểu hóa
d
e
f
g
về thời gian
Thuận lợi:
h i
j
k
l m
­ Tiến trình xử lý chính trước
­ Cảnh báo sớm các vấn đề thựnc hiệo
n
Bất lợi:
­ Có thể cần module giả lập và trình điều khiển  20



Hướng dẫn tích hợp
Hạn chế tối đa các phần mềm hỗ trợ cần đến
Mỗi thành phần chỉ tích hợp 1 lần
Mỗi đường cơ sở nên tạo ra một kết quả có
khả năng xác minh dễ dàng
Tích hợp số lượng nhỏ các thành phần tại mỗi
lần tích hợp
Mỗi thành phần quan trọng cho 1 lần tích hợp
­ Kết hợp các thành phần liên quan đơn giản
21


Kế hoạch tích hợp
Tích hợp nên được lên kế hoạch trong pha
thiết kế kiến trúc
Thứ tự tích hợp sau đó sẽ quyết định thứ tự
xây dựng
­ Các thành phần hồn tất trong thời gian đường cơ 
sở của chúng
­ Phát triển thành phần và kiểm thử tích hợp thực 
hiện song song để tiết kiệm thời gian
22


Vòng đời
1

2

3


4

5

6

Kiểm thử phần mềm

Nội dung
Vòng đời kiểm thử
Kiểm thử đơn vị
Kiểm thử tích hợp
Kiểm thử hệ thống
Kiểm thử chấp nhận

23


Kiểm thử hệ thống
Mục đích của kiểm nghiệm hệ thống là để đảm
bảo toàn bộhệthống hoạt động như ý mà
khách hàng mong muốn.
Dựa vào yêu cầu của người dùng để kiểm thử
Chỉ sử dụng kỹ thuật hộp đen
Nên thực hiện trong môi trường phần mềm sẽ
được thực hiện

24



Kiểm thử hệ thống bao gồm một
loạt các kiểm thử
Kiểm thử chức năng (function testing)
Kiểm thử hiệu suất (performance testing)
Kiểm thử mức độ đáp ứng (stress testing)
Kiểm thử quá tải(overload testing)
Kiểm thử cấu hình (configuration testing)
Kiểm thử ổn định (robustness testing)
Kiểm thử hồi phục (recovery testing)
Kiểm thử chất lượng (quality testing)
Kiểm thử cài đặt (installation testing)

25


×