NHẬP MÔN
CÔNG NGHỆ PHẦN MỀM
(INTRODUCTION TO SOFTWARE
ENGINEERING)
1
1
Chương 8: Quản lý cht lượng phần
mềm
nh V & V
Kiểm thử
Bảo trì
2
2
1. Mô hình V & V
hình V ng được gọi là
Xác minh (verification) : Xác minh là một kỹ thuật
phân tích tĩnh. Trong kiểm thử, kỹ thuật này được
thực hiện mà không phải chạy code. Nó bao gồm một
số hoạt đông như xem lại (review), kiểm tra
(inspection) và kiểm tra từ đầu tới cuối (walkthrough).
Xác nhận (validation): Xác nhận là một kỹ thuật phân
tích động, trong đó việc kiểm thử được thực hiện
bằng cách thực hiện code. Ví dụ bao gồm kỹ thuật
kiểm tra chức năng (function) và phi chức năng (non-
function).
3
3
1. Mô hình V & V
hình V
Xác minh (verification) : Xác minh là một kỹ thuật
phân tích tĩnh. Trong kiểm thử, kỹ thuật này được
thực hiện mà không phải chạy code. Nó bao gồm một
số hoạt đông như xem lại (review), kiểm tra
(inspection) và kiểm tra từ đầu tới cuối (walkthrough).
Xác nhận (validation): Xác nhận là một kỹ thuật phân
tích động, trong đó việc kiểm thử được thực hiện
bằng cách thực hiện code. Ví dụ bao gồm kỹ thuật
kiểm tra chức năng (function) và phi chức năng (non-
function).
4
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
1. Mô hình V & V
5
5
Chương 8: Quản lý cht lượng phần
mềm
hình V & V
Kiểm thử
1. Khái niệm kiểm thử
2. Phương pháp kiểm thử
3. Kỹ thuật thiết kế trường hợp thử và các phương pháp
kiểm thử
4. Kiểm thử module
5. Kiểm thử hệ thống
6. Kiểm thử chấp nhận
Bảo trì
6
6
1. Khái niệm kiểm thử
mấu chốt của đảm bảo chất lượng phần
mềm
tiến trình ( nghệ thuật) nhằm phát
hiện lỗi bằng việc xem t lại đặc tả, thiết kế
nguồn.
Kiểm thử thành công phát hiện ra lỗi; kiểm
thử không phát hiện ra lỗi kiểm thử dở
7
7
Khó khăn
Nâng cao chất lượng phần mềm nhưng không
vượt quá chất lượng khi thiết kế: chỉ phát hiện
các lỗi tiềm tàngsửa chúng
Phát hiện lỗi bị hạn chế do thủ công là chính
Dễ bị ảnh hưởng tâm lý khi kiểm thử
Khó đảm bảo tính đầy đủ của kiểm thử
8
8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
Lưu ý khi kiểm thử
1. Chất lượng phần mềm do khâu thiết kế quyết định chủ yếu, chứ
không phải khâu kiểm thử
2. Tính dễ kiểm thử phụ thuộc vào cấu trúc chương trình
3. Người kiểm thử người phát triển nên khác nhau
4. Dữ liệu thử cho kết quả bình thường thì không ý nghĩa nhiều,
cần những dữ liệu kiểm thử phát hiện ra lỗi
5. Khi thiết kế trường hợp thử, không chỉ dữ liệu kiểm thử nhập vào,
phải thiết kế trước cả dữ liệu kết quả sẽ
6. Khi phát sinh thêm trường hợp thử thì nên thử lại những trường
hợp thử trướcđó để tránh ảnh hưởng lan truyền sóng
9
9
ơng ứng giữa vòng đời dự án
kiểm thử
10
Đối tượng phạm vi
Đặc tả chức năng/
Thiết kế gíc
Thiết kế Vật
Cấu trúc chương trình
đặc tả module
hoá module
chương trình
Kiểm thử chấp nhận
Kiểm thử hệ thống
Kiểm thử
tích hợp
Kiểm thử đơn vị
chương trình
Kiểm thử
hồi quy
10
2. Phương pháp kiểm thử
11
Kiểm thử tĩnh
Kiểm thử trên bàn: giấy và bút trên bàn,
kiểm tra logic, lần từng chi tiết ngay sau khi
lập trình xong.
Đi xuyên suốt (walk through)
Thanh tra (inspection)
11
Kiểm thử trên máy
Gỡ lỗi bằng máy (machine debug) hay kiểm
thử động: Dùng máy chạy chương trình để
điều tra trạng thái từng động tác của chương
trình
9 bước của trình tự kiểm thử bằng máy:
12
12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
Trình t kim th bng máy
1. Thiết kế trường hợp thử
theo thử trên bàn
2. Trưng hợp thử phải cả
kết quả kỳ vọng sẽ thu được
3. Dịch chương trình nguồn
tạo module tải để thực hiện
4. Khi trường hợp thử xử
tệp o-ra, phải làm trước
trên bàn việc xác định miền
của các tệp
5. Nhập dữ liệu đã thiết kế cho
trường hợp kiểm thử
6. Điều chỉnh môi trường thực
hiện module tải (tạo thủ tục
đưa các tệp truy cập tệp vào
chương trình)
7. Thực hiện module tải ghi
nhận kết quả
8. Xác nhận kết quả với kết quả
kỳ vọng
9. Lặp lại thao tác (5)-(8)
13
13
dụ: Statement coverage
Begin
If (y >= 0)
then y = 0;
Abs = y;
End;
14
Test case-1:
input: y = 0
expected-result: 0
actual result: ?
begin
y >= 0
y = 0
abs = y
yes
14
dụ: Branch coverage
Begin
If (y >= 0)
then y = 0;
Abs = y;
End;
15
Test case-1:
input: y = 0
expected-result: 0
actual result: ?
Test case-2:
input: y = -5
expected-result: 5
actual result: ?
begin
y >= 0
y = 0
abs = y
yes
no
15
dụ: Condition/branch coverage
Begin
If (x < 10 && y > 20)
z = foo(x,y);
Else
z = fie(x,y);
End;
16
x,y);
x < 10
z=foo (x,y)
yes
y > 20
z=fie (x,y)
yes
no
no
---
z
x<10 y>20
-----------------------------------
test-case-1: t t
test-case:2 t f
test-case-3: f t
test-case-4 f f
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com
3. Kỹ thut thiết kế trưng hp th
các pơng pháp kiểm thử
Kỹ thut thiết kế trưng hp th da trên đc
tả bề ngi của chương trình: Kiểm thhộp
đen (Black box test): WHAT ?
Kỹ thut thiết kế trưng hp th da trên đc
tả bên trong của chương tnh: Kiểm th hộp
trng (white box test): HOW ?
Kiểm thử Top-Down hay Bottom-Up
17
17
3.1. Kiểm thử hộp đen
Phân đoạn tương đương
Phân tích giá trị biên
Đoán lỗi
1 s k thut khác
18
Hộp đen
Kết quả
Đầu vào
Chiến lược kiểm tra dữ liệu hộp đen
18
a. Phương pháp phân đoạn tương
đương (Equivalence Partition)
Mục đích: giảm số ợng test bằng cách chọn
các tập dữ liệu đại diện
Thực hiện: Chia dữ kiệu o thành các đoạn,
mỗi đoạn đại diện cho một số dữ liệu => việc
kiểm thử chỉ thực hiện trên đại diện đó
Ưu điểm: Test theo mức trừu tượng hơn
trường.
Áp dụng: màn nh, menu hay mức quá trình.
dụ:
19
19
b. Phương pháp phân tích giá trị biên
(Boundary value analysis)
1 trường hợp riêng của phân đoạn
Thí dụ: nếu miền dữ liệu tháng thì giá trị 0
hay >12 không hợp lệ
Thường sử dụng trong kiểm thử module
20
20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
cuu duong than cong . com