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

Kiểm thử phần mềm nhúng

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 (2.21 MB, 80 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------------------------

NGUYỄN VĂN TRỌNG
KIỂM THỬ PHẦN MỀM NHÚNG
LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:

Hà Nội - 2009


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-----------------------------------------------

NGUYỄN VĂN TRỌNG

KIỂM THỬ PHẦN MỀM NHÚNG

LUẬN VĂN THẠC SĨ KHOA HỌC
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. HUỲNH QUYẾT THẮNG

Hà Nội - 2009



Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

LỜI CAM ĐOAN
Tôi – Nguyễn Văn Trọng Học viên lớp Cao học CNTT 2006-2008 Trường Đại học
Bách Khoa Hà Nội – cam kết LVTN là cơng trình nghiên cứu của bản thân tôi dưới sự
hướng dẫn của PGs.TS. Huỳnh Quyết Thắng Bộ môn Công nghệ Phần mềm – Khoa
CNTT – Trường Đại học Bách Khoa Hà Nội.
Các kết quả nêu trong LVTN là trung thực, khơng sao chép tồn văn của bất kỳ cơng
trình nào khác.
Hà Nội, ngày 24 tháng 04 năm 2009
Tác giả LVTN

Nguyễn Văn Trọng

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 1/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

TÓM TẮT LUẬN VĂN

Luận văn tốt nghiệp đã nghiên cứu khá đầy đủ cơ sở lý thuyết về kiểm thử, vai trò
của kiểm thử trong dự án phần mềm. Tác giả đã đi sâu vào thực tế phát triển phần mềm
của cơng ty FPT để đưa ra mơ hình làm việc của kiểm thử viên.
Đưa ra quy trình kiểm thử dịch vụ trực tuyến OSIRIS cho máy in tem thư tại công
ty FPT. Đưa ra kiến nghị thay đổi biểu mẫu báo cáo cho dịch vụ trực tuyến OSIRIS.
Kiểm xoát vòng đời của lỗi là một vấn đề đặc biệt quan trọng đối vơi dự án phát

triển phần mềm. Dựa vào quy trình phát triển sản phẩm, mỗi cơng ty xây dựng chu
trình thay đổi trạng thái của lỗi. Tác giả dựa vào mơ hình phát triển phần mềm tại cơng
ty FPT để đưa ra chu trình thay đổi trạng thái lỗi. Trong chu trình này, vai trị của
những người liên quan, trạng thái hiện tại, và trạng thái tiêp theo của lỗi được trình bầy
rất rõ ràng.

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 2/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

MỤC LỤC
LỜI CAM ĐOAN............................................................................................................1
TÓM TẮT LUẬN VĂN..................................................................................................2
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT..................................................5
DANH MỤC CÁC BẢNG..............................................................................................6
LỜI CẢM ƠN..................................................................................................................8
MỞ ĐẦU..........................................................................................................................9

1. Tính cấp thiết của đề tài ...................................................................................................... 9
2. Mục đích nghiên cứu .......................................................................................................... 9
3. Nhiệm vụ nghiên cứu ........................................................................................................ 10
4. Phạm vi nghiên cứu .......................................................................................................... 10
5. Cấu trúc luận văn .............................................................................................................. 10
6. Phương pháp nghiên cứu .................................................................................................. 11

CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ TRONG PHÁT TRIỂN PHẦN MỀM 12

1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.2
1.2.1
1.2.2
1.2.3
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.3.5
2.1
2.2
2.2.1
2.2.2

2.3
2.3.1
2.3.2
2.3.3
2.3.4

2.4
2.4.1
2.4.2


Tầm quan trọng trong phát triển phần mềm ......................................................... 12
Một số định nghĩa liên quan đến kiểm thử ........................................................... 12
Mục tiêu của kiểm thử .......................................................................................... 12
Một số cách hiểu không đúng về kiểm thử ........................................................... 12
Lý luận và thực tiễn .............................................................................................. 13
Các hoạt động của nhân viên kiểm thử ................................................................. 14
Mô tả công việc của kiểm thử viên tại công ty FPT ............................................. 14
Luồng công việc mà nhân viên kiểm thử phải thực hiện trong dự án................... 16
Quy trình làm việc của nhân viên kiểm thử phần mềm ........................................ 17
Các đặc trưng của kiểm thử phần mềm ................................................................ 17
Phạm vi kiểm thử .................................................................................................. 18
Mục tiêu kiểm thử ................................................................................................. 18
Các phương thức kiểm thử.................................................................................... 19
Các kiểu kiểm thử ................................................................................................. 19
Tổng kết ................................................................................................................ 21
Giới thiệu các mơ hình phát triển phần mềm nhúng ......................................... 22
Các hoạt động và tài liệu trong quá trình kiểm thử........................................... 24
Các hoạt động trong kiểm thử............................................................................... 24
Tổng hợp về các tài liệu trong kiểm thử ............................................................... 26

Các mức độ kiểm thử (theo mơ hình chữ V).......................................................26
Kiểm thử mức khối ............................................................................................... 26
Kiểm thử mức tích hợp ......................................................................................... 26
Kiểm thử mức hệ thống ........................................................................................ 27
Kiểm thử tiếp nhận ............................................................................................... 27

Lỗi và các công cụ quản lý lỗi tại công ty FPT

27


Lỗi ......................................................................................................................... 27
Chu trình thay đổi trạng thái của lỗi ..................................................................... 28

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 3/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

2.4.3
Chi phí lỗi ............................................................................................................. 32
2.4.4
Phân loại lỗi .......................................................................................................... 32
2.5
Vai trị của người thực hiện kiểm thử ............................................................... 34
2.5.1
Vai trò của kiểm thử viên đối với tổ chức công ty FPT........................................ 34
2.5.2
Vai trị của kiểm thử viên trong chu trình phát triển phần mềm ........................... 39
2.5.3
Vai trò của kiểm thử viên trong chất lượng phần mềm ........................................ 40
Chương III: Áp dụng các phương pháp kiểm thử trong phát triển phần mềm nhúng .............. 42
3.1
Kiểm thử các máy in tem thư .................................................................................... 42
3.1.1
Đầu vào – Đầu ra .................................................................................................. 42
3.1.2
Môi trường quản ly tài liệu trong quá trình phát triển phần mềm ........................ 42

3.1.3
Cấu trúc hệ thống ca kiểm thử của máy KEOPS .................................................. 43
3.1.4
Các hoạt động trong quá trình kiểm thử ............................................................... 49
3.1.5
Các công cụ hỗ trợ kiểm thử ................................................................................. 50
3.1.6
Duyệt khối trước khi kiểm thử tích hợp................................................................ 52
3.1.7
Báo cáo kết quả kiểm thử...................................................................................... 54
3.2
Kiểm thử hệ thống dịch vụ trực tuyến OSIRIS......................................................... 57
3.2.1
Các pha của dự án kiểm thử OSIRIS .................................................................... 57
3.2.2
Phân loại lỗi trong OSIRIS ................................................................................... 59
3.2.3
Vòng đời của lỗi trên Dimension .......................................................................... 62
3.2.4
Thực hiện kiểm thử mức tích hợp ......................................................................... 63
3.2.5
Báo cáo kết quả kiểm thử...................................................................................... 65
KẾT LUẬN
76
1. Các nhiệm vụ đã hồn thành ............................................................................................. 76
2. Các đóng góp khoa học:................................................................................................ 76
3. Hướng phát triển của luận văn .......................................................................................... 77
TÀI LIỆU THAM KHẢO ........................................................................................................ 78

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng

Học viên: Nguyễn Văn Trọng

Trang 4/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
STT

Thuật ngữ và từ
viết tắt

1

ANSI

2

CMM

3

IEEE

4

ISO

Thuật ngữ và từ đầy đủ


Ý nghĩa

American National Standards
Institute
Capability Maturity Model
Institute of Electrical Electronics
Engineers
International Organization for
Standardization

Viện tiêu chuẩn quốc gia Mỹ

Hard
test

Kiểm thử mức tích hợp phần
cứng/phần mềm

9
10
11

Kiểm thử mức tích
hợp phần cứng/phần
mềm
Kiểm thử viên
Kiểm thử theo hộp
đen
Kiểm thử theo hộp

trắng
Kiểm thử tĩnh
STP
SEI

12

ST

Software Integration Test

13

SV

Software Validation

14

UT

Unit Test

5
6
7
8

ware/software


integration

Viện kỹ thuật điện & điện tử
Tổ chức Tiêu chuẩn hóa quốc
tế

Tester

Kiểm thử viên

Black box test

Kiểm thử theo hộp đên

White box test
Static test
Kế hoạch kiểm thử
Software Engineering Institute

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Là kết quả của một phép đo
lường.
Kiểm thử tĩnh
Kiểm thử theo hộp trắng
Viện công nghệ phần mềm
Kiểm thử mức tích hợp phần
mềm
Kiểm thử mức phê chuẩn

phần mềm
Kiểm thử mức khối

Trang 5/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

DANH MỤC CÁC BẢNG
Bảng 1.1: Các công việc của nhân viên kiểm thử tại công ty FPT ........................................... 15
Bảng 1.2: Các đặc trưng của kiểm thử phần mềm .................................................................... 21
Bảng 2.1: So sánh các mơ hình phát triển phần mềm ............................................................... 23
Bảng 2.2: Các tài liệu trong kiểm thử phần mềm ..................................................................... 26
Bảng 2.3: Quyền thay dổi trang thái của lỗi ............................................................................. 30
Bảng 2.4: Vai trò của kiểm thử viên về mặt quản lý ................................................................ 37
Bảng 2.5: Vai trò của kiểm thử viên về mặt kỹ thuật ............................................................... 38
Bảng 2.6: Vai trị của kiểm thử viên tại cơng ty FPT ............................................................... 40
Bảng 3.1: Các module kiểm thử của dòng máy KEOPS và các dòng máy khác ...................... 49
Bảng 3.2: Báo cáo kết quả duyệt khối ...................................................................................... 53
Bảng 3.3: Báo cáo kiểm thử cho máy in tem thư...................................................................... 56
Bảng 3.4: Các pha trong quá trình kiểm thử hệ thống OSIRIS ................................................ 59
Bảng 3.5: Phân loại lỗi .............................................................................................................. 59
Bảng 3.6: Một số lỗi đã được lưu lại trong dự án kiểm thử OSIRIS phiên bản 2.4 ................. 61
Bảng 3.7: Các module trong q trình kiểm thử tích hợp hệ thống OSIRIS ............................ 65
Bảng 3.8: Báo cáo kết quả kiểm thử cho module CM .............................................................. 73
Bảng 3.9: Báo cáo kết quả kiểm thử theo mức độ quan trọng .................................................. 74
Bảng 3.10: Báo cáo tổng hợp về tỷ lệ các ca thành công hoặc thất bại .................................... 74
Bảng 3.11: Báo cáo tổng hợp về tỷ lệ các ca thành công hoặc thất bại cho nước Anh ............ 75
Bảng 3.12: Báo cáo tổng hợp về tỷ lệ các ca thành công hoặc thất bại cho nước Pháp ........... 75
Bảng 3.13: Báo cáo tổng hợp về tỷ lệ các ca thành công hoặc thất bại cho nước Đức ............ 75

Bảng 3.14: Báo cáo tổng hợp về tỷ lệ các ca thành công hoặc thất bại cho nước Ireland ........ 75

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 6/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Luồng cơng việc mà kiểm thử viên phải thực hiện tại công ty FPT ......................... 16
Hình 1.2: Quy trình làm việc của nhân viên kiểm thử tại cơng ty FPT .................................... 17
Hình 1.3: Các đặc trưng của kiểm thử phần mềm .................................................................... 17
Hình 2.1: Các mơ hình phát triển phần mềm ............................................................................ 22
Hình 2.2: Các pha của mơ hình chữ V ...................................................................................... 24
Hình 2.3: Chu trình thay đổi trạng thái của lỗi tại cơng ty FPT ............................................... 28
Hình 2.4: Các pha của lỗi.......................................................................................................... 31
Hình 2.5: Chi phí lỗi theo pha................................................................................................... 32
Hình 2.6: Quy trình phát hành sản phẩm tại cơng ty FPT ........................................................ 35
Hình 2.7: Sự tham gia của kiểm thử viên về mặt kỹ nghệ ........................................................ 39
Hình 2.8: Ngun lý vịng đời quản lý chất lượng ................................................................... 40
Hình 2.9: Vịng đời chất lượng tại cơng ty FPT ....................................................................... 41
Hình 3.1: Sơ đồ hoạt động kiểm thử trên máy in tem thư tại cơng ty FPT............................... 42
Hình 3.2: Mơi trường quản lý tài liệu tại cơng ty FPT ............................................................. 42
Hình 3.3: Cấu trúc của máy in tem thư ..................................................................................... 43
Hình 3.4: Các module cần kiểm thử cho máy in tem thư ......................................................... 44
Hình 3.5: Cây phân cấp của các ca kiểm thử máy in tem thư................................................... 44
Hình 3.6: Cây phân cấp của các ca kiểm thử Base và Meter .................................................... 45
Hình 3.7: Cây phân cấp của các ca kiểm thử Base và Meter .................................................... 46

Hình 3.8: Các hoạt động của nhân viên kiểm thử máy in tem thư ........................................... 50
Hình 3.9: Chu trình lỗi trên Dimension .................................................................................... 62

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 7/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

LỜI CẢM ƠN

Trước hết, em xin được chân thành gửi lời cảm ơn sâu sắc tới các
thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các
thầy cô trong khoa Công nghệ Thông tin, bộ môn Cơng nghệ phần mềm
nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức và
những kinh nghiệm quý báu trong suốt 2 năm học tập và nghiên cứu tại
trường Đại học Bách Khoa Hà Nội.
Em xin được gửi lời cảm ơn đến PGs.TS Huỳnh Quyết Thắng khoa Công nghệ Thông tin, trường Đại học Bách Khoa Hà Nội đã hết
lòng giúp đỡ, hướng dẫn và chỉ dạy tận tình trong quá trình em làm luận
văn tốt nghiệp.
Cuối cùng, em xin được gửi lời cảm ơn chân thành tới gia đình,
bạn bè đã quan tâm, động viên, đóng góp ý kiến và giúp đỡ trong q
trình học tập, nghiên cứu và hoàn thành đồ án tốt nghiệp.
Hà Nội, ngày 24 tháng 04 năm 2007
Nguyễn Văn Trọng
Lớp Cao học Công nghệ Thông tin 2006-2008
- Trường Đại học Bách Khoa Hà Nội


Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 8/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Chất lượng phần mềm là thành phần quan trọng nhất trong phát triển phần mềm vì
phần mềm chất lượng cao có thể làm giảm giá thành bảo trì, kiểm tra, bảo mật và có
thể sử dụng lại. Trong thực tế, để đảm bảo chất lượng của phần mềm, khâu kiểm thử
đóng vai trị chính trong việc số các nhà phát triển và phần lớn người sử dụng phần
mềm nghiêm túc yêu cầu một cách đánh giá chất lượng nào đó cho các hệ thống phần
mềm mà họ có liên quan.
Trong các ngơn ngữ lập trình hướng đối tượng và các phương pháp phát triển chất
lượng phần mềm trước đây, nhiều nghiên cứu quan trọng đã nỗ lực định nghĩa các độ
đo chất lượng và xây dựng các mơ hình chất lượng dựa trên các độ đo này. Các độ đo
này nghiên cứu mã nguồn hướng đối tượng hoặc các chi tiết thiết kế, bao gồm thao tác
phân tích cấu trúc các chi tiết phụ thuộc của các lớp và các thành phần bên trong
(chẳng hạn, các lớp bên trong, các dữ liệu thành viên, các phương thức). Giả thuyết là
các độ đo này được dùng như các độ đo đối tượng để dự đốn nhiều thuộc tính chất
lượng ngồi có liên quan đến mã nguồn hoặc các chi tiết thiết kế (chẳng hạn tính bảo
trì, độ tin cậy). Sau đó các mơ hình dự đoán như vậy được dùng để hỗ trợ việc tạo
quyết định trong quá trình phát triển.
Trong các tài liệu đã định nghĩa một số lượng lớn các phép đo chất lượng. Hầu hết các
phép đo đều dựa trên các giả thiết hợp lý nhưng tồn tại một câu hỏi quan trọng là
những độ đo nào thật sự hữu ích, có liên quan đến bất kỳ các thuộc tính chất lượng
ngoài. Chúng ta cũng cần kiểm tra cách áp dụng các độ đo trong thực tế, chúng có dẫn

đến mơ hình chi phí - hiệu quả trong ứng dụng cụ thể hay khơng. Với mục đích thực
hiện các câu hỏi trên đã có rất nhiều nghiên cứu thực nghiệm được thực hiện và báo
cáo nhưng chúng ta rất khó tổng hợp kiến thức và xác định các hướng nghiên cứu
tương lai. Một trong các lý do chính đó là các nghiên cứu rất đa dạng và thiếu ổn định
trong kết quả.

2. Mục đích nghiên cứu
◊ Tìm hiểu quy trình phát triển phần mềm, quy trình kiểm thử phần mềm nói
chung và quy trình kiểm thử phần mềm nhúng nói riêng.
◊ Tìm hiểu, đề xuất các mơ hình kiểm thử phần mềm nhúng.
◊ Thử nghiệm mơ hình kiểm thử phần mềm nhúng.

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 9/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

3. Nhiệm vụ nghiên cứu
◊ Tìm hiểu tổ chức hệ thống ca kiểm thử phần mềm của máy in tem thư.
◊ Xây dựng quy trình kiểm thử phần mềm cho các máy in tem thư.
◊ Xây dựng quy trình kiểm thử phần mềm OSIRIS cho các máy in tem thư.

4. Phạm vi nghiên cứu
Nếu phần mềm được phát triển theo mơ hình chữ V, sẽ cả bốn giai đoạn kiểm thử.
Trong phạm vi của đề tài, dựa vào thực tế phát triển hệ thống máy in tem thư tại công
ty FPT, tác giả đề xuất kiểm thử mức khối phải được thực hiện bởi nhân viên lập trình.
Kiểm thử viên sẽ thực hiện Duyệt khối và sau đó thực hiện tích hợp phần cứng và phần

mềm. Ngồi ra, dịch vụ trực tuyến OSIRIS có giao tiếp với khách hàng, vì vậy tác giả
tập trung vào pha kiểm thử xác nhận để làm nổi bật mức kiểm thử này.

5. Cấu trúc luận văn
Bố cục của luận văn bao gồm 3 chương:
1. Chương I: Tổng quan về kiểm thử trong phát triển phần mềm.
Chương này nêu lên tầm quan trọng của kiểm thử phần mềm. Các hoạt động của
nhân viên kiểm thử, cac đặc trưng của kiểm thử phần mềm.
2. Chương II: Các mơ hình phát triển phần mềm nhúng và quy trình kiểm
thử.
Trong chương này trình bày các Phân tích, đánh giá các mơ hình kiểm thử phần
mềm. Chỉ ra chu trình thay đổi và kiểm sốt lỗi trong dự án phát triển phần
mềm. Các công việc mà một kiểm thử viên phải thực hiện cũng được chỉ ra.
Tầm quan trọng,các đặc trưng của kiểm thử phần mềm cũng được đề cập trong
chương này.
3. Chương III: Áp dụng các phương pháp kiểm thử trong phát triển phần
mềm nhúng
Chương 3 trình bày các nội dung về việc áp dụng mơ hình kiểm thử vào kiểm
thử phần mềm nhúng trên các máy in tem thư và dịch vụ trực tuyến OSIRIS của
công ty FPT.

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 10/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

Cuối cùng là các đánh giá kết luận chung về các kết quả của luận văn, các hạn chế

và các phương hướng phát triển cho luận văn trong tương lai.

6. Phương pháp nghiên cứu
Để đảm bảo chất lượng phần mềm, chúng ta nhất thiết phải tiến hành kiểm thử cho các
sản phẩm tạo ra trong quá trình phát triển. Mỗi giai đoạn phát triển sẽ có một cấp độ và
phương pháp kiểm thử riêng.
Nghiên cứu này lựa chọn mơ hình chữ V để đi sâu phân tích các cấp độ, các tài liệu,
các thao tác liên quan đến kiểm thử phần mềm. Nghiên cứu này dựa trên thực tế tiến
hành dự án kiểm thử phần mềm tại công ty FPT để đề xuất, chỉnh sửa quy trình kiểm
thử phần mềm nhúng.

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 11/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ TRONG PHÁT
TRIỂN PHẦN MỀM
1.1 Tầm quan trọng trong phát triển phần mềm
1.1.1 Một số định nghĩa liên quan đến kiểm thử
 Định nghĩa Kiểm thử
Kiểm thử là quy trình thực thi hoặc đánh giá một hệ thống hoặc một thành phần
tự động hoặc bằng tay với mục đích xác nhận rằng hệ thống đó thoản mãn các yêu cầu
nhất định [IEEE 83a]
Một định nghĩa khác: Kiểm thử là một quy trình chạy sản phẩm theo xu hướng
tìm ra các lỗi
 Định nghĩa quy trình

- Quy trình là tập các hành động cần thực hiện để đạt được một mục đích nào đó
- Quy trình phần mềm (Software Process) là tập các hành động, phương pháp,
thủ tục và biến đổi mà người ta sử dụng để phát triển hoặc duy trì phần mềm và các
sản phẩm liên quan.
 Định nghĩa về chất lượng
- Từ góc nhìn khách hàng thì chất lượng của sản phẩm nghĩa là “dùng được”
hoặc là đáp ứng yêu cầu của họ
- Đảm bảo rằng sản phẩm thỏa mãn yêu cầu và mong muốn của người dùng.
1.1.2 Mục tiêu của kiểm thử
 Mục tiêu đầu tiên: Chạy chương chình với xu hướng tìm ra lỗi để
- Xác định xem hệ thống có đáp ứng được các đặc điểm kỹ thuật hay khơng
- Xác định xem hệ thống có đáp ứng được mong muốn hay không
 Mục tiêu thứ cấp
- Tạo sự tin tưởng: Một sản phẩn đã được kiểm thử tốt luôn luôn tạo cho khách
hàng sự tin tưởng vào chất lượng
- Liên tục cải tiến quy trình kiểm thử
1.1.3 Một số cách hiểu không đúng về kiểm thử
 Kiểm thử nghĩa là gỡ lỗi. Kiểm thử chỉ có nghĩa vụ tìm ra lỗi chứ khơng có ý
định gỡ lỗi cho chương trình. Trong phương pháp kiểm thử hộp trắng, nhân viên

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 12/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng










kiểm thử lần theo cấu trúc của modul để đưa ra các trường hợp kiểm thử, nhưng
họ khơng có ý định sửa lỗi cho chương trình nên thấy lỗi tại một điểm nào đó.
Nếu họ làm như vậy sẽ đánh mất tính khách quan của kiểm thử hơn nữa đánh
mất sự tập trung cần thiết của hoạt động kiểm thử. Họ sẽ bị “sa đà” vào các chi
tiết của chương trình.
Kiểm thử khơng phải là cơng việc của người lập trình. Trong thực tế tại cơng ty
FPT, lập trình viên bắt buộc phải thực hiện test cho chương trình mà họ viết ra ở
mức thấp nhất, đó là kiểm thử mức khối. Họ là người hiểu rõ nhất chương trình
mà mình viết ra đến “từng dịng lệnh”.
Nếu lập trình viên mà cẩn thận hơn nữa thì việc kiểm thử là khơng cần thiết
Kiểm thử thì khơng bao giờ kết thúc
Kiểm thử chỉ bắt đầu sau khi lập trình xong. Trong mơ hình lặp, kiểm thử được
thực hiện song song với lập trình. Ngay cả với mơ hình chữ V đơn giản thì cũng
khơng ai dại gì mà lại đợi đến khi lập trình xong mới tiến hành kiểm thử. Nếu để
như vậy thì phí tổ nguồn lực trong dự án là rất lớn vì thơng thường kiểm thử
viên và lập trình viên là hai người khác nhau. Ngồi ra giá phải trả cho các lỗi
càng về sau càng cao, ảnh hưởng của lỗi phát hiện muộn sẽ nặng nề hơn so với
phát hiện từ đầu.
Kiểm thử không phải là một cơng việc sáng tạo. Điều này có thể đúng…. Nếu
nói sáng tạo tức là tạo ra sản phẩn thì kiểm thử có tạo ra sản phẩm đó là báo cáo
kiểm thử, ngoài ra họ cũng sáng tạo ra lỗi. Dù sao đi nữa thì kiểm thử vẫn chưa
thật sự được chú trọng nhất là phát triển phần mềm ở Viêt Nam.

1.1.4 Lý luận và thực tiễn

 Lý luận
− Phải có đủ thời gian
− Ước lượng lỗi theo điều kiện biên
− Kế hoạch hóa, theo dõi kiểm sốt và thì hành
− Xác định điểm cơ sở và cố định yêu cầu
− Ước lượng và lựa chiến lược kiểm thử
− Kiểm thử tự động
− Phải đào tạo cho nhân viên kiểm thử khác như là một kế hoạch dự phòng
 Thực tiễn
− Áp lực về mặt thời gian: Ngày bàn giao sản phẩm
− Khơng kiểm thử mã nguồn: nguồn lực có hạn
− Liên tục thay đổi và cập nhật yêu cầu
− Không biết khi nào thì dừng lại: Cập nhật và cập nhật liên tục yêu cầu vì
vậy nhân viên kiểm thử phải cập nhật lại ca kiểm thử và thực hiện kiểm
thử lại

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 13/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

− Kiểm thử bằng tay
− Thiếu môi trường để kiểm thử: phải chia sẻ môi trường với phát triển
− Không đủ kinh nghiệm và không được đào tạo

1.2 Các hoạt động của nhân viên kiểm thử
1.2.1 Mô tả công việc của kiểm thử viên tại công ty FPT

Bảng 1.1 mô tả các hoạt động mà một nhân viên kiểm thử phải thực hiện khi đứng
trong một tổ chức phát triển phần mềm cũng như khi tham gia vào một dự án phát triển
phần mềm.

Thứ tự

Phận sự và trách nhiệm

I
1

Các hoạt động hàng ngày (Cơng việc chính)
Nghiên cứu u cầu khách hàng, điều kiện chấp nhận, đặc tả yêu cầu
phần mềm, thiết kế.

2

Phát triển kế hoạch kiểm thử theo yêu cầu người dùng, rủi do, tần
suất sử dụng của chức năng.
Xác định phương pháp kiểm thử, điều kiện thoát, đo đạc kết quả test,
nguồn lực và điều kiện của hiệu năng test.

3

7

Tạo ca kiểm thử ( điều kiện kiểm thử, kịch bản kiểm thử, kết quả
test)
Xem xét kế hoạch kiểm thử và ca kiểm thử
Thực hiện kiểm thử dựa vào ca kiểm thử, kịch bản kiểm thử, lưu lại

lỗi và tạo báo cáo kiểm thử.
Phân tích các yêu cầu thay đổi và cập nhật tài liệu kiểm thử.

8
9
10
11
12
13
14
15
16

Tạo ca kiểm thử mức khối.
Thực hiện kiểm thử mức khối và đánh giá kết quả.
Tạo bản liệt kê các mục cần kiểm tra lần cuối
Xem xét bản liệt kê các mục cần kiểm tra lần cuối
Thực hiện kiểm tra lần cuối và đánh giá kết quả.
Quản lý đội dự án có hạng B, C, D
Quản lý đội dự án có hạng A
Giới thiệu quy trình kiểm thử của F
Nghiên cứu cơng cụ kiểm thử, tạo kịch bản kiểm thử tự động.

4
5
6

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng


Trang 14/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

17
18
19
II
20
21
22
23
24
25
26
III
27
28
29
30
31
32
IV
33

Xem xét kịch bản, duyệt công cụ kiểm thử để đảm bảo việc kiểm thử
được thuận tiện.
Nghiên cứu các kỹ thuật kiểm thử và công cụ mới được áp dụng
trong F.

Tính tốn và phân tích ma trận kiểm thử.
Cải tiến chất lượng
Khởi tạo luồng cơng việc, quy trình, hướng dẫn.
Xem xét các đề xuất cải tiến liên quan đến việc kiểm thử phần mềm.
Điều hành quy trình cải tiến và hiệu quả chi phí được đưa về các
nhóm.
Phát triển tài liệu quản lý chất lượng.
Quản lý các hoạt động cải tiến kỹ năng của nhân viên kiểm thử và
chất lượng kiểm thử.
Xác định quy trình kiểm thử, mẫu kiểm thử
Quản lý công cụ kiểm thử.
Phát triển nguồn lực
Đào tạo nhân viên kiểm thử mới
Xác định chương trình đào tạo chuẩn cho nhân viên kiểm thử
Quản lý nguồn nhân lực kiểm thử ở các nhóm
Quản lý nguồn nhân lực kiểm thử ở FPT.
Quản lý việc đào tạo nhân viên kiểm thử ở các nhóm
Quản lý việc đào tạo nhân viên kiểm thử ở công ty FPT
Bảo mật thông tin
Tuân thủ quy định bảo mật thông tin của công ty

Bảng 1.1: Các công việc của nhân viên kiểm thử tại công ty FPT

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 15/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng


1.2.2 Luồng công việc mà nhân viên kiểm thử phải thực hiện trong dự án
Bắt đầu
Tạo kế hoạch kiểm
thử

Kế
Kếhoạc
hoạcKT
KT

Có đạt kiểm tra khơng

Bản
Bảnliệt
liệtkê
kêkết
kết
quả
quảkiểm
kiểmtra
tra

Kiểm
thử viên

QTDA, Trưởng
nhóm KT

Khơng



Ca
Cakiểm
kiểmthử
thử

Tạo ca kiểm thử
Kiểm
thử viên



Bản
Bảnliệt
liệtkê
kêkết
kết
quả
quảkiểm
kiểmtra
tra

Có đạt kiểm tra khơng
Khơng

Trưởng DA, Trưởng
KT, QA, đội dự án




Thiết lập mơi trường
Kiểm thử

Kiểm thử
viên

Thực hiện kiểm thử
Kiểm
thử viên

Có đạt ca KT khơng?
Khơng


Khơng

Lưu lỗi vào DMS,
cập nhật ca KT

Lỗi
Lỗi

Kiểm
thử viên

Đánh giá kết quả
kiểm thử
Đội dự án


Tạo báo cáo kiểm
thử

Báo
Báocáo
cáokiểm
kiểmthử
thử

Thực hiện xem xét
cuối cùng

Bản
Bảnghi
ghiXX
XX

Kiểm
thử viên

Có đạt xem xét lần cuối khơng
Người xem xét
cuối


Bàn giao gói sản phẩm cho
khách hàng

Kết thúc
Quy trình kiểm thử


Hình 1.1: Luồng cơng việc mà kiểm thử viên phải thực hiện tại công ty FPT

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 16/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

1.2.3 Quy trình làm việc của nhân viên kiểm thử phần mềm
Chuẩn bị kiểm thử
Lập kế hoạch
kiểm thử
Đội kiểm thử
chuẩn bị kế
hoạch

Nghiên cứu yêu

Tạo thiết kế
Kiểm thử

Thực hiện kiểm thử
Kiểm tra
hiệu năng

Xem xét
và phê

duyệt

Phân tích dữ liệu
Báo cáo lỗi

Tạo dữ liệu, thủ
tục và kịch bản
kiểm thử

Họp và
báo cáo
tiến độ

Phân tích,
sửa và đánh
giá nguồn
gốc của lỗi

Khắc
phục lỗi

Giám sát
vấn đề

Hình 1.2: Quy trình làm việc của nhân viên kiểm thử tại cơng ty FPT

1.3 Các đặc trưng của kiểm thử phần mềm
Các đặc trưng của kiểm thử được biểu diễn như sau
Phương thức
kiểm thử

(cách thức tiến
hành kiểm thử)

Hộp đen
Hộp trắng
Tĩnh

Phạm vi kiểm thử

Kiểu kiểm thử

(các pha kiểm thử trong vòng đời phát triển)

(kỹ thuật kiểm thử)

Ví dụ:
KT dữ liệu,
KT phủ,
Phi hồi quy,
Chức năng,
Giới hạn,


Kiểm thử

Kiểm thử mức khối
Tích hợp các khối của phần mềm
Kiểm thử mức phê chuẩn

Mục tiêu kiểm thử

(mục tiêu của kiểm thử)

Quan tâm đến các đặc trưng về chất lượng
của phần mềm

Hình 1.3: Các đặc trưng của kiểm thử phần mềm

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 17/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

1.3.1 Phạm vi kiểm thử
- Kiểm thử mức khối (Unit Test): Xác nhận rằng thiết kế chi tiết và mã nguồn là
đúng và được tuân thủ chặt chẽ.
Đây là kiểm thử ở mức thấp nhất, thực hiện kiểm chứng đến từng đơn vị mã nhỏ
nhất của chương trình.
Mục tiêu: đảm bảo rằng từng khối của phần mềm không chứa bất kỳ lỗi nào cho
dù đó là lỗi lập trình hay lỗi thiết kế
Người thực hiện: các nhân viên lập trình.
- Kiểm thử mức tích hợp phần mềm (Software Integration Test): Xác nhận
thiết kế tổng thể, định nghĩa kỹ thuật và tích hợp. Kiểm thử để kiểm tra xem cách
thức mà các thành phần của phần mềm làm việc với nhau, đặc biệt là ở giao tiếp,
để đảm bảo rằng thiết kế tổng thể được tuân thủ.
Mục tiêu: kiểm thử khả năng tồn tại chung (có giao tiếp) của một tập các khối
(software units: CSU) hoặc thành phần (components: CSC) có thể cùng tồn tại,
gọi lẫn nhau, tiến hành một chu trình hồn chỉnh, trao đổi và lưu trữ dữ liệu chính

xác,…
Người thực hiện: đội phát triển phần mềm.
Tại những bước cuối cùng của tích hợp (tồn bộ các thành phần được tích hợp
lại) thì khơng cần phải kiểm tra chức năng theo đặc tả yêu cầu, việc kiểm tra này
sẽ được “để dành” cho kiểm thử mứcphê chuẩn (đó là mức kiểm thử ngay tiếp
sau đó).
- Kiểm thử mức tích hợp phần cứng/phần mềm: Đây là kiểm thử đặc thủ của
phát triển phần mềm nhúng.
- Kiểm thử mức phê chuẩn phần mềm (Software Validation): Xác nhận rằng
phần mềm thực hiện đúng như yêu cầu.
Thực hiện kiểm thử trên toàn bộ hệ thống để chứng thực rằng đặc trưng và chức
năng của phần mềm đã đáp ứng được yêu cầu và các thủ tục.
Mục tiêu: nâng cao độ tin tưởng và sự “kết dính” phần mềm.
Người thực hiện: Nhân viên R&D thực hiện mức kiểm thử này, hoặc một phần
của đội dự án nếu cần thiết cũng sẽ tham gia vào giai đoạn kiểm thử này.
1.3.2 Mục tiêu kiểm thử
Kiểm thử nhằm chứng mình rằng chất lượng của phần mềm được đảm bảo. Chất
lượng của phần mềm được nhìn nhận ở các yếu tố sau (‘FURPS’ [ISO 9126-1]):
Chức năng (Functional capability) (thích hợp, chính xác, khả năng thao tác,
thao tác, an toàn),
Tiện lợi (Usability) (dễ hiểu, khả năng nắm bắt, khả năng thao tác, độ hấp dẫn),

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 18/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng


Tin cậy (Reliability (độ tin cậy, khả năng chịu lỗi, khả năng khơi phục (dữ
liệu)),
Hiệu quả (Efficiency), cịn được gọi là hiệu năng (ứng xử về mặt thời gian, tận
dụng tài nguyên),
Bảo dưỡng (Maintainability) nâng cao khả năng hỗ trợ (khả năng phân tích, khả
năng thay đổi, sự ổn định, khả năng kiểm thử),
Khả chuyển (Portability) (khả năng tháo lắp, khả năng cài đặt, khả năng tồn tại
chung, khả năng thay thế).
Một số đặc trưng khác về chất lượng phần mềm (như tích hợp dữ liệu cũng như
chức năng, ….) có thể sẽ là mục tiêu kiểm thử nếu nó đóng vai trị quan trọng
trong q trình kiểm thử thành phần phần mềm. Khả năng tái sử dụng, không
phải là mục tiêu của kiểm thử trong suốt vòng đời phát triển phần mềm (mặc dù
nó là một đặc trưng quan trọng của phát triển phần mềm).
1.3.3 Các phương thức kiểm thử
Kiểm thử tĩnh: Kiểm thử để chỉ ra các thành phần phần mềm được được thực thi
đầy đủ, tiêu chuẩn lập trình được tn thủ. Nó là một phần của quá trình xem xét
mã nguồn về mặt vật lý. Kiểm kiểm thử này cịn có tên gọi là kiểm tra
(inspection) hoặc xem xét mã nguồn (code review). Nó có thể được thực hiện bởi
một lập trình viên khác bằng cách đọc mã nguồn, cũng có thể thực hiện trong một
buổi họp (nhằm chia sẻ kinh nghiệm cũng như cách thức xem xét mã nguồn của
tồn bộ đội dự án), nó cũng có thể được thực hiện bởi cơng cụ hỗ trợ để đẩy
nhanh tiến độ. Thông thường, trong một dự án lớn, người ta thường kết hợp các
cách vừa được chỉ ra.
Kiểm thử theo hộp trắng (hoặc tiếp cận theo cấu trúc): Kiểm thử để xác nhận
chất lượng về mặt kỹ thuật của phần mềm bằng cách phân tích sâu vào cấu trúc
bên trong các thành phần ở các khía cạnh: Đường đi, độ phức tạp, dữ liệu, luồng
dữ liệu, tiêu chuẩn lập trình…
Kiểm thử theo hộp đên (hoặc tiếp cận theo chức năng): Kiểm thử để chỉ ra các
ứng xử về mặt chức năng hoặc kỹ thuật của thành phần được kiểm thử là đúng
như tài liệu tham khảo. Phương pháp này chú ý đến các ứng xử của thành phần

khi nhận đầu vào và cho ra kết quả như thế nào chứ không quan tâm đến cách
thức xử lý dữ liệu bên trong thành phần.
1.3.4 Các kiểu kiểm thử
Kiểm tra dữ liệu: xác nhận sự đa dạng về kích thước và khn dạng của dữ liệu
dựa vào đặc tính kỹ thuật cũng như phương thức sử dụng hệ thống.
Kiểm thử phủ: Chạy nhánh dài lớn nhất của phần mềm.

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 19/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

Kiểm thử phi hồi quy: Lặp đi lặp lại một số ca kiểm thử nào đó để xác nhận một
sai sót hoặc một số sai sót (đã biết trước) khơng xảy ra sau khi thay đổi thành
phần đó (một thành phần sau khi sửa đổi có thể sẽ sinh ra sai sót mới, hoặc làm
nhiễu loạn phần đã được kiểm thử, hoặc kích hoạt sai sót khác mà nó chỉ hoạt
động khi thực hiện hành động chỉnh sửa đó.
Kiểm thử chức năng: Kiểm thử để chỉ ra mỗi chức năng của một thành phần
thực hiện đúng theo yêu cầu hoặc đặc tả chức năng. Nó cịn được gọi là kiểm thử
danh nghĩa (nomial).
Kiểm thử giới hạn: Kiểm thử để xác định ứng xử của thành phần khi đặt vào các
giới hạn (rất cao, rỗng hoặc các giá trị âm). Còn được gọi là kiểm thử áp lực.
Khi thành phần bị đẩy q giới hạn thì nó được gọi là kiểm thử kháng cự hoặc
“sức mạnh”.
Kiểm thử hiệu năng: Kiểm thử để chỉ ra rằng thành phần đó có đáp ứng được
các ràng buộc về hiệu năng hay không (thời gian, kích cỡ, tải trọng). Với một tải
trọng nhất định (tăng dần) thì trong khoảng thời gian bao lâu hệ thống sẽ không

thể đáp ứng được (treo máy hoặc ngừng hoạt động).
Kiểm thử an toàn: Kiểm thử để chỉ ra khả năng bảo tồn dữ liệu và tiến trình sau
khi có lệnh khởi động lại hệ thống hoặc khi gặp trở ngại.
Kiểm thử an ninh (Security Test) : Kiểm thử để chỉ ra khả năng phát hiện và
ngăn chặn các cuộc xâm nhập, tấn công, gian lận và sử dụng sai mục đích.

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 20/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

1.3.5 Tổng kết
Bảng 1.2 cho ta chỉ dẫn về các kiểu kiểm thử trong mỗi pha và mục tiêu của các pha
kiểm thử:

Kiểm thử
tĩnh
Hộp trắng

Hộp đen































Bảng 1.2: Các đặc trưng của kiểm thử phần mềm








UT: Kiểm thử mức khối; IT: Kiểm thử mức tích hợp; SV: Kiểm thử mức phê chuẩn

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 21/78

khác…

Khả chuyển

Bảo dưỡng

Hiệu quả

An ninh

SV

Tích hợp

Duyệt
Xem xét mã nguồn
Đo đạc, lượng hóa,…
Kiểm tra dữ liệu
Kiểm thử phủ
Kiểm thử hồi quy
Kiểm thử chức năng
Kiểm thử tới hạn

Kiểm thử hiệu năng
Kiểm thử an toàn
Kiểm thử bảo mật

IT

Tin cậy

UT

Tiện lợi

KIỂU KIỂM THỬ

MỤC TIÊU KIỂM THỬ
Chức năng

PHƯƠNG
THỨC
KIỂM
THỬ

PHẠM VI
KIỂM THỬ


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

CHUƠNG II: CÁC MƠ HÌNH PHÁT TRIỂN PHẦN MỀM NHÚNG
2.1 Giới thiệu các mơ hình phát triển phần mềm nhúng

Chúng ta đưa ra ba mơ hình phát triển phần mềm: mơ hình thác nước, mơ hình
lặp, mơ hình thích ứng để so sánh và phân tích.

Waterfall
RUP
Thời gian phát hành sản phẩm
Độ phức tạp về môi trường

AGILE

Hướng tới module

Hướng tới mã nguồn
Mức cố định u cầu

Hình 2.1: Các mơ hình phát triển phần mềm

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 22/78


Đồ án tốt nghiệp cao học: Kiểm thử phần mềm nhúng

Agile

RUP

Waterfall


Mô tả

Nhấn mạnh tới phương thức giao dịch thực,
người với người trong phát triển phần mềm

Nó cung cấp một cách tiếp cận chặt chẽ để
giao việc và phân chia trách nhiệm trong
một nhóm phát triển phần mềm. Mục tiêu
của RUP là đảm bảo tạo sản phẩm chất lượng

Các pha của quá trình phát triển phần mềm nối
tiếp nhau theo kiểm chữ V

Đặc trưng

• Thực hiện kiểm thử càng sớm càng tốt
• Mơ hình làm việc
• Liên tục bàn giao
• Có quy tắc đánh giá tiến độ
• Đóng issue, và trao đổi hàng ngày
• Liên tục chú ý đến Continuous attention to
• Giỏi kỹ thuật
• Thết kế tốt
• Nhóm tự tổ chức

• Tiếp cận lặp và tăng trưởng
• Đội dự án liên tục tích lũy kinh nghiệm
• Là quy trình hướng kiến trúc
• Kiểm sốt thơng minh

• Cơ hội tái sử dụng
• Có vẻ như là quy trình quản lý
• Hướng ca sử dụng
• Đi theo góc nhìn người sử dụng
• Mức độ “lần tìm” cao
• Kế hoạch hóa theo phép lặp

• Được sử dụng rộng rãi và phổ biến
• Dễ tạo thành thói quen tốt
• Định hình trước khi thiết kế
• Thiết kế trước khi kiểm thử
• Hướng theo các tài liệu URD, SRD, ….
• Làm việc tốt với các sản phẩm hồn chỉnh mặc dù

• Đáp ứng được u cầu của khách hàng bởi vì liên

• Lỗi được phất hiện từ rất sớm
• Dễ quản lý thay đổi
• Dễ tái sử dụng
• Chất lượng tổng thể được nâng cao




• Khơng có cơng cụ nào tỏ rõ ưu điểm để khuyến cáo
• Có sẵn nhều cơng cụ hỗ trợ cho 1 pha







• Lệ thuộc nhiều vào nhân viên lập trình
• Phải thay đổi để làm việc đúng đắn
• Là một cơng cụ mới và khó chứng mình bằng con số

• Thường phải thay để phù hợp với tổ chức
• Khung quy trình phát triển phần mềm
• Khơng phải là một quy trình

Lợi ích

tục và nhanh chóng bàn giao sản phẩm

• Thay đổi yêu cầu cũng vẫn được hoan nghênh
• Tạo ra sản phẩm chất lượng cao với thời gian ngắn

Công cu hỗ trợ

Điểm yếu

Rational suite

phần mềm thuần túy

• Hướng đến ca sử dụng một cách tự nhiên
• Địi hỏi u cầu phần mềm phải
được trừu tượng hóa

team non kém


Dễ hiểu và thực hiện

Xác định các sản phẩm bàn giao rõ ràng cũng như
các cột mốc

Khơng có cơng cụ nào để khuyến nghị
Khơng thể bắt đầu với một cái bảng trắng

• Mở rộng sử dụng cơng cụ nếu có thể

• Khơng có lặp một cách tự nhiên để thăm dị nhân
viên lập trình

• Khơng thực tế
• Mong muốn có u cầu phải chính
xác từ đầu

• Phần mềm được bàn giao rất muộn
• Khi phải thay đổi, giá phải trả sẽ cao
• Chi phí quản trị quá lớn

Bảng 2.1: So sánh các mơ hình phát triển phần mềm
Mơ hình thác nước cịn có một tên gọi khác đó là mơ hình chữ V, sau đây ta tập
trung làm rõ các pha trong quy trình này

Giảng viên hướng dẫn: PGS.TS Huỳnh Quyết Thắng
Học viên: Nguyễn Văn Trọng

Trang 23/78



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×