Tải bản đầy đủ (.doc) (107 trang)

Nghiên cứu công cụ kiểm thử phần mềm IBM Rational funtional tester 7.0

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 (1.84 MB, 107 trang )

Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

MỤC LỤC
MỤC LỤC......................................................................................................1
DANH MỤC CÁC HÌNH VẼ.......................................................................3
DANH MỤC CÁC KÍ HIỆU VÀ TỪ VIẾT TẮT......................................4
MỞ ĐẦU........................................................................................................5
1. Lý do chọn đề tài...................................................................................................................5
2. Mục tiêu.................................................................................................................................6
3. Phạm vi nghiên cứu..............................................................................................................6
4. Bố cục của đề tài...................................................................................................................6

CHƯƠNG I. CƠ SỞ LÝ THUYẾT ............................................................8
I. TỔNG QUAN VỀ QUÁ TRÌNH KIỂM THỬ....................................................................8
I.1 Một số định nghĩa về quá trình kiểm thử phần mềm.........................................................................8
I.2 Những khái niệm liên quan đến kiểm thử..........................................................................................9
I.3 Mơ hình khái niệm của q trình kiểm thử......................................................................................10
I.4 Mục tiêu của kiểm thử....................................................................................................................10
I.5 Vai trò .............................................................................................................................................10

II. NHỮNG VẤN ĐỀ LIÊN QUAN ĐẾN KIỂM THỬ........................................................11
II.1 Vòng đời kiểm thử........................................................................................................................11
II.2 Tiến trình kiểm thử........................................................................................................................11
II.3 Những thành phần của một kế hoạch kiểm thử.............................................................................12
II.4 Những điểm cần tập trung kiểm thử trước nhất nếu khơng có đủ thời gian..................................12
II.5 Các chỉ tiêu đánh giá kiểm thử.......................................................................................................13

III. MỘT SỐ LOẠI KIỂM THỬ THÔNG DỤNG ..............................................................13
1.Mơ hình phát triển chữ V...................................................................................................................13
2 Kiểm thử unit...................................................................................................................................14


2.1 Tiến trình kiểm thử Unit..............................................................................................................15
2.2 Kế hoạch kiểm thử unit..................................................................................................................16
2.3 Kiểm thử hộp đen..........................................................................................................................16
2.4 Kiểm thử hộp trắng.......................................................................................................................16
2.5 Các trường hợp kiểm thử và dữ liệu kiểm thử...............................................................................19

3. Kiểm thử tích hợp...............................................................................................................20
3.1 Tạo dữ liệu và file kiểm thử ..........................................................................................................20
3.2 Các chiến thuật và kĩ nghệ kiểm thử..............................................................................................20
4 Kiểm thử hệ thống............................................................................................................................23
5 Kiểm thử xác nhận...........................................................................................................................24
6 Kiểm thử hồi quy.............................................................................................................................24
7 Lỗi dữ liệu........................................................................................................................................24

CHƯƠNG II. NGHIÊN CỨU PHẦN MỀM SEK CỦA IBM................32

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 1


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

CHƯƠNG III. NGHIÊN CỨU CÔNG CỤ KIỂM THỬ RATIONAL
FUNTIONAL TESTER..............................................................................34
III.1 GIỚI THIỆU VỀ CÔNG CỤ IBM RATIONAL FUNTIONAL TESTER V7.0........34
III.2 NHỮNG LỢI ÍCH KHI SỬ DỤNG CÔNG CỤ IBM RATIONAL FUNTIONAL
TESTER..................................................................................................................................35
III.3 NHỮNG CHIẾN LƯỢC ĐỂ SỬ DỤNG LẠI STATEMENT.....................................37

III.4 RATIONAL FUNTIONAL TESTER VỚI ĐỘI PHÁT TRIỂN.................................39
III.5 COMPLIANCE(quy trình nghiệp vụ)..........................................................................40
III.6 ĐIỀU KIỆN ĐỂ SỬ DỤNG CÔNG CỤ .......................................................................40

CHƯƠNG IV. THỰC HIỆN KIỂM THỬ................................................42
IV.1 TẠO USECASE KIỂM THỬ, ĐIỀU KIỆN ĐẦU VÀO VÀ KẾT QUẢ MONG ĐỢI
..................................................................................................................................................42
1.Chức năng Login................................................................................................................................42
2. Chức năng tra cứu ...........................................................................................................................43

Chức năng tra cứu mặt hàng giúp ta tìm được nhanh chóng những mặt hàng nào thuộc
ở kho nào để tiện việc cung cấp cho khách hàng khi có yêu cầu.........................................43
Chức năng tra cứu khách hàng giúp ta tìm được nhanh chóng được điạ chỉ, số điện thoại,
số tài khoản của khách hàng và ta cũng kiểm tra được Khách hàng nào giao dịch với
cơng ty nhiều nhất để có thể thưởng cho khách hàng..........................................................44
3. Chức năng cập nhật...........................................................................................................................46
4.Chức năng xuất hàng..........................................................................................................................47

IV.2 THỰC HIỆN KIỂM THỬ VỚI CÔNG CỤ IBM RFT...............................................48
Chức năng Login...................................................................................................................................48
2. Chức năng tra cứu.............................................................................................................................50

3. Chức năng cập nhật............................................................................................................55
4.Chức năng xuất hàng...........................................................................................................58
5. Viết báo cáo.........................................................................................................................61

KẾT LUẬN..................................................................................................61
NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC.............................................................................................61
ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA CÔNG CỤ.................................................................62
HƯỚNG PHÁT TRIỂN.........................................................................................................63


PHỤ LỤC A.................................................................................................64
HƯỚNG DẤN CÀI ĐẶT IBM RATIONAL FUTIONAL TESTER .................................64

PHỤ LỤC B.................................................................................................82
THỰC HIỆN QUÁ TRÌNH KIỂM THỬ VỚI RATIONAL FUNTIONAL TESTER......82
SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 2


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

DANH MỤC CÁC HÌNH VẼ

H I.1: Mơ hình khái niệm của q trình kiểm thử
..................................................................................................................................
15
H II.1 The Software Development
..................................................................................................................................
14
H II.2 Quá trình bắt lỗi
..................................................................................................................................
26

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 3



Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

DANH MỤC CÁC KÍ HIỆU VÀ TỪ VIẾT TẮT

Bắt buột

B

CSDL

Cơ sỡ dữ liệu

GUI

Graphical User Interface

HTML

Hyper Test Markup Language

ITLM
RFT

Information Technology Lifecycle
Management
Rational Funtional Tester

RPA


Rational Process Advisor

RUP

Rational Unified Process

UML

Unified Modeling Language

URL

Uniform Resource Locator

SAP

Service Advertising Protocal

SEK

The 2007 developerWorks® Software
Evaluation Kit
T

Tuỳ chọn

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 4



Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

MỞ ĐẦU
1. Lý do chọn đề tài
Kiểm thử phần mềm là một thành phần quan trọng trong qui trình phát triển
phần mềm. Nó đóng một vai trò quan trọng trong việc kiểm định chất lượng của
phần mềm, đảm bảo rằng phần mềm tạo ra có chạy đúng với u cầu của khách
hàng hay khơng, có xảy ra những sai sót mà nó khác với bảng phân tích thiết kế ban
đầu khơng. Vì vây, năm 2006 IBM cho ra đời sản phẩm The 2007 developerWorks
Software Evaluation Kit (SEK) for Windows, đây là một trong số nhiều phần mềm
dùng cho việc kiểm thử. SEK bao gồm 6 Tool và em lựa chọn công cụ Rational
Funtional Tester V7.0 để nghiên cứu cho đồ án tốt nghiệp. Đây là công cụ kiểm thử
chức năng của phần mềm, một dụng cụ kiểm thử hồi quy tiên tiến, được tự động
hóa cho Tester và người phát triển GUI.
Bất kỳ một tổ chức nào cũng có một sự tin cậy của riêng mình vào việc phát
triển của những trình ứng dụng để phục vụ cho những việc cần thiết như đáp ứng
được những chức năng của khách hàng đưa ra, để cho khách hàng tỏ ra hài lòng về
chất lượng của những trình ứng dụng và những địi hỏi về những chức năng, điều
kiện được đáp ứng đầy đủ, và không xảy ra sự tuỳ tiện trong sản phẩm. Một thành
phần chủ yếu cho sự thành cơng này là tính hiệu quả, quy trình kiểm tra phải có tính
kỷ luật tiến tới sự xác minh của những trình ứng dụng đã hồn thành, q trình kiểm
tra phải có tính kỷ kuật để xem xét những trình ứng dụng đã hồn thành đến mức độ
nào, đó là sự phù hợp thích đáng hay là vượt ra khỏi những mong đợi trong đề án.
Lịch trình làm việc khơng đúng, thường xun thay đổi những vấn đề chung của
trình ứng dụng. IBM Rational Funtional Tester được xây dựng dựa trên những vấn
đề này.
Sau khi nghiên cứu một số tài liệu liên quan, được sự đồng ý của Khoa

Công Nghệ Thông Tin – Đại Học Duy Tân Đà Nẵng, em đã thực hiện đề tài khóa
luận tốt nghiệp mang tên: “Nghiên cứu cơng cụ kiểm thử IBM Rational Funtional

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 5


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

Tester V7.0- Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm
Đại Học Duy Tân.”
2. Mục tiêu
Đề tài giới thiệu các vấn đề trong kiểm thử và đi sâu nghiên cứu các tính
năng cơ bản của cơng cụ IBM Rational Funtional Tester V7.0, đưa ra tài liệu hướng
dẫn cài đặt, sử dụng công cụ một cách đơn giản và hiệu quả.
Đề tài áp dụng được trong thực tế để kiểm thử phần mềm tại các công ty phần
mềm, đặc biệt là CSE.

3. Phạm vi nghiên cứu
Trong đề tài này em sẽ nghiên cứu về:
-Lý thuyết kiểm thử.
-Nghiên cứu các tính năng cơ bản của Tool Rational Funtional Tester
V7.0.
-Thực hiện kiểm thử trên bảng Demo.
4. Bố cục của đề tài
Nội dung của luận văn được trình bày trong 3 chương
Chương I: Cơ Sở Lý Thuyết
Chương này giới thiệu tổng quan về quá trình kiểm thử, những khái niêm,

những thuật ngữ, vấn đề liên quan đến kiểm thử, những mơ hình kiểm thử và các
loại kiểm thử thông dụng hiện nay.
Chương II:Nghiên cứu về phần mềm SEK của IBM
Trong chương này em tìm hiểu những cơng cụ có trong bộ The 2007
developerWorks® Software Evaluation Kit (SEK) for Windows® của IBM và ứng
dụng của nó.

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 6


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

Chương III. Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester
V7.0.
Trong chương này em giới thiệu chi tiết về công cụ, IBM RFT làm việc như
thế nào, những tính năng và lợi ích mà nó mang lại, Thực hiện kiểm thử để chỉ ra
những lợi ích mà nó mang lại đồng thời hướng dẫn cách thức kiểm thử để người
dùng có thể thực hiện một cách đơn giản.
Chương IV. Thực hiện kiểm thử trên một phần mềm có sẳn.
Trong chương này em tiến hành kiểm thử trên một phần mềm có sẳn để
khẳng định và chỉ ra những vấn đề mà em đã nêu ở chương III.
Kết thúc luận văn là phần kết luận về những vấn đề đạt được và hướng phát
triển của khóa luận và danh mục các tài liệu tham khảo

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 7



Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

CHƯƠNG I. CƠ SỞ LÝ THUYẾT
I. TỔNG QUAN VỀ QUÁ TRÌNH KIỂM THỬ
I.1 Một số định nghĩa về quá trình kiểm thử phần mềm

Kiểm thử là việc kiểm tra kết quả thực hiện của chương trình máy tính xem
có đúng với các mục tiêu đã đặt ra với nó khơng thơng qua việc thực hiện ở một số
mẫu thử.
Kiểm thử là việc tìm ra những lỗi trong bản thân phần mềm, việc kiểm thử
này trong phần mềm sẽ biểu thị ra những thiếu sót mà ta có thể nhận thấy trong
hành vi của phần mềm, và tìm ra những phần khơng tn theo quy định và đi lệch ra
khỏi những yêu cầu của phần mềm.
Theo một số nhà nghiên cứu thì kiểm thử phần mềm được định nghĩa như
sau:
• Dijkstra: Kiểm thử sẽ hiện thị những lỗi hiện có, nhưng khơng
hiển thị lỗi chưa thấy.
• Beizer:
Định luật 1: Mọi phương pháp bạn sử dụng để ngăn ngừa hoặc
tìm thấy lỗi bỏ đi một phần lỗi rắc rối, cái mà những phương thức
cần.
Định luật 2: Phần mềm phức tạp lớn hơn những giới hạn khả
năng quản lý.
Những người kiểm thử không tốt hơn trong thiết kế lỗi
so với những lập trình viên kiểm thử trong thiết kế mã.
• IEEE: Kiểm thử là tiến trình vận hành hệ thống hoặc thành phần
dưới những điều kiện xác định, quan sát hoặc ghi nhận kết quả và

đưa ra đánh giá về hệ thống hoặc thành phần đó.
SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 8


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

• Myers: Kiểm thử là tiến trình thực thi chương trình với mục đích
tìm thấy lỗi.(The art of software testing)
Giữa kiểm thử và gỡ rối có sự khác biệt: Kiểm thử nhằm phát hiện ra lỗi
trong khi đó gỡ rối là việc xác định bản chất lỗi và định lỗi trong chương trình, sau
đó tiến hành sữa lỗi.
I.2 Những khái niệm liên quan đến kiểm thử

 Một sai sót(Error): Là một sự nhầm lẫn hay một sự hiểu sai trong

quá trình phát triển phần mềm của người phát triển.
 Một lỗi(fault, defect): Xuất hiện trong phần mềm như là kết qủa

của một sai sót.
 Một hỏng hóc(failure):là kết quả của một lỗi xuất hiện làm cho

chương trình khơng hoạt động được hoặc hoạt động được nhưng
khơng cho kết quả như mong muốn.
Sai sót

Lỗi


Hỏng hóc

 Dữ liệu thử(test data): Dữ liệu vào cần cung cấp cho phần mềm
khi thực thi.
 Kịch bản kiểm thử(test scenario): Các bước thực hiện khi kiểm
thử.
 Phán xét kiểm thử(test oracle): Là việc đánh giá của kiểm thử, có
hai cách đánh giá đó là bằng chương trình(tự động), bằng con
người(thủ công).
 Kiểm thử viên(tester): Người thực hiện kiểm thử.
 Ca kiểm thử(test case):Tập dữ liệu kiểm thử, điều kiện kiểm thử,
để đưa ra kết quả mong đợi.

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 9


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

I.3 Mơ hình khái niệm của q trình kiểm thử

H I. 1: Mơ hình khái niệm của quá trình kiểm thử
I.4 Mục tiêu của kiểm thử
Việc kiểm thử nhằm thực hiện hai mục tiêu:
• Bằng việc kiểm thử sẽ tìm ra được những lỗi trong phần mềm
(Myers,1979)và thiết lập chất lượng của phần mềm(Hetzel,1988)
• Việc kiểm thử thành cơng khi bạn tìm được ít nhất một lỗi, và đưa
ra sự đánh giá với độ tin cậy lớn.

I.5 Vai trị

• Testing để tìm ra lỗi, ghi nhận các thơng tin về lỗi, nhưng khơng
sữa lỗi.
• Testing giúp kiểm định phần mềm, đảm bảo rằng phần mềm “đủ
tốt” với độ rủi ro “thấp nhất” có thể.

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 10


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

II. NHỮNG VẤN ĐỀ LIÊN QUAN ĐẾN KIỂM THỬ

II.1 Vòng đời kiểm thử
Vòng đời của kiểm thử bắt đầu từ việc lập kế hoạch kiểm thử. Sau đó là ghi
ra các ý tưởng các trường hợp kiểm thử. Từ các trường hợp kiểm thử này đưa ra tất
cả các trường hợp kiểm thử và các kịch bản kiểm thử. Sử dụng các thủ tục hay kịch
bản kiểm thử này, người kiểm thử có thể phát họa toàn bộ kiểm thử hệ thống hay
kiểm thử tích hợp. Kết quả kiểm thử sẽ được đánh giá bởi các tiêu chí kiểm thử đặt
ra ban đầu. Mơ hình kiểm thử là một dãy các kế hoạch, các trường hợp kiểm thử và
các thủ tục kiểm thử. Trong tiến trình bảo trì và nâng cấp dự án, thì kiểm thử đóng
vai trị quan trọng.
II.2 Tiến trình kiểm thử
Tiến trình kiểm thử thơng thường bao gồm những bước sau:
 Thiết kế các ca kiểm thử
 Tạo dữ liệu kiểm thử: trong bước này chúng ta kiểm thử tất cả các

dữ liệu vào là cần thiết mà không thể thực hiện kiểm thử”vét cạn”
và chọn tập các dữ liệu thử đại diện từ miền dữ liệu vào dựa trên
các tiêu chuẩn chọn dữ liệu thử.
 Thực thi chương trình trên dữ liệu thử:
o Cung cấp dữ liệu thử
o Thực thi
o Ghi nhận kết quả
 Quan sát kết quả kiểm thử: Bước này ta thực hiện trong hoặc sau
khi kiểm thử và sau đó ta so sánh kết quả kiểm thử với kết quả
mong đợi

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 11


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

II.3 Những thành phần của một kế hoạch kiểm thử

 Đầu vào để lập lên kế hoạch kiểm thử:Kế hoạch của dự án, đặc tả
yêu cầu của phần mềm, người lập kế hoạch Test, người tham gia
Test, thời gian kiểm thử, phạm vi Test, kinh phí giành cho việc
Test, cơng cụ Test.
 Người lập kế hoạch kiểm thử thường là trưởng nhóm Test có kinh
nghiệm dựa vào các yêu cầu của phần mềm mà đưa ra phạm vi
Test cho phù hợp với trình độ người Test, thời gian, chi phí. Khi
đưa ra phạm vi rồi thì làm tốt phạm vi đó thì coi như đạt yêu cầu
theo kế hoạch Test đưa ra.

 Các công việc cần thực hiện là đầu ra của kế hoạch kiểm thử:
o Nghiên cứu tài liêu dự án(phân tích, thiết kế), tìm hiểu
cơng cụ Test cho kiểu Test đã đặt ra.
o Thiết kế Test Case theo phạm vi Test.
o Thực hiện kiểm tra phần mềm theo nội dung Test Case
o Báo lỗi khi phát hiện được
o Viết báo cáo kết quả Test sau khi thực hiện xong

II.4 Những điểm cần tập trung kiểm thử trước nhất nếu khơng có
đủ thời gian.

 Những chức năng quan trọng nhất(mục đích) của dự án
 Những chức năng được người dùng xem nhiều nhất
 Những chức năng có thể ảnh hưởng nhiều nhất đến độ án tồn
 Những chức năng có thể ảnh hưởng nhiều nhất đến tài chính
SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 12


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

 Những phần quan trọng nhất đối với người dùng
 Những phần có thể kiểm thử sớm nhất trong chu trình phát triển
ứng dụng
 Những phần có Code phức tạp nhất
 Những phần được Code vội vả hoặc áp lực nhất
 Những phần tương tự hoặc liên quan những dự án trước và đã gây
lỗi

 Những phần tương tự hoặc liên quan những dự án trước và tốn
nhiều chi phí bảo trì
 Những phần mà yêu cầu và thiết kế không rõ ràng
 Những phần mà Coder xem là rủi ro nhất
II.5 Các chỉ tiêu đánh giá kiểm thử
Tiêu chí đánh giá kiểm thử là đo độ bao phủ và chất lượng của kiểm thử
 Sự bao phủ của kiểm thử là một tiêu chí quan trọng trong tiến
trình kiểm thử, nó phải bao phủ toàn bộ các yêu cầu cần kiểm thử
và các trường hợp kiểm thử hay tồn bộ đoạn chương trình.
 Chất lượng của kiểm thử là một tiêu chí quan trọng để đánh giá độ
tin cậy, tính hiệu năng, sự ổn định của chương trình. Chất lượng
của kiểm thử phụ thuộc vào việc đánh giá, phân tích để phát hiện
ra lỗi của chương trình trong suốt tiến trình kiểm thử.

III. MỘT SỐ LOẠI KIỂM THỬ THƠNG DỤNG
1.Mơ hình phát triển chữ V
Kiểm thử và bảo trì là một pha quan trọng trong quá trình phát
triển phần mềm. Sau đây là mơ hình chữ V trong kiểm thử:

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 13


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

H II. 1: The Software Development V-Model
Bên trái chữ V là quá trình phát triển phần mềm, và bên phải là kiểm thử. Tại
mỗi một mức trong tiến trình phát triển thì có một pha kiểm thử tương ứng .

Các mức kiểm thử có thể được lập kế hoạch và thiết kế song song. Sau đó
chúng ta thực hiện kiểm thử từ đáy tháp chữ V nên tương ứng với từng mức phát
triển .
Kế hoạch kiểm thử hệ thống cần phải thực hiện sớm hơn trước khi pha kiểm
thử bắt đầu:
• Kế hoạch kiểm thử hệ thống là phải khớp với các yêu cầu phần mềm .
• Các trường hợp kiểm thử cần phải hồn thành khi mà các thiết kế chi tiết đã
xong.
• Kiểm thử hệ thống bắt đầu từ ngay sau khi lập trình .
2 Kiểm thử unit
Kiểm thử unit ứng dụng ở mức môđun. Thường là được thực hiện bởi nhà
phát triển trước khi các mơđun được tích hợp với các mô đun khác .

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 14


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

Kiểm thử unit là mức thấp nhất trong tiến trình kiểm thử, thường là áp dụng
phương pháp kiểm thử hộp trắng .
Kết quả của kiểm thử Unit thường tìm ra khoảng 20% lỗi trong tất cả cá lỗi
của dự án.
2.1 Tiến trình kiểm thử Unit
2.1.1 Kế hoạch kiểm thử Unit
Lập kế hoạch cho kiểm thử khác nhau (như kiểm thử hệ thống, kiểm
thử tích hợp). Quyết định xem đặc điểm nào cần phải kiểm thử. Các hướng tiếp cận
để kiểm thử unit

 Phương thức phân tích kiểm thử.
 Kĩ thuật kiểm thử (hộp đen hay hộp trắng).
 Các công cụ dùng trong kiểm thử.
2.1.2 Thiết kế kiểm thử


Tạo các trường hợp kiểm thử

 Thiết kế các thủ tục kiểm thử:
• Thủ tục làm thế nào để thực thi một trường hợp kiểm thử
• Một thủ tục có thể áp dụng cho một vài trường hợp kiểm thử
khác


Triển khai chương trình kiểm thử:
• Kiểm thử gốc(stub): Kiểm thử lần lượt từ gốc của chương
trình, sau khi xong thì tiếp tục kiểm thử Stub tiếp theo ở bên
dưới.
• Kiểm thử driver : Driver là một trình điều khiển kiểm thử unit.
2.1.3 Thực hiện và đánh giá kiểm thử unit
• Chuẩn bị kiểm thử mơi trường.
• Thực hiện kiểm thử unit.
• Phát hiện ra lỗi trong kiểm thử unit.

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 15


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0

Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

• Làm báo cáo ghi lại tồn bộ sự thành cơng hay thất bại trong
từng unit một dựa theo các kết quả yêu cầu.
2.2 Kế hoạch kiểm thử unit
Để thực hiện một kiểm thử có hiệu quả, thì cần thiết phải có một kế
hoạch kiểm thử có hiệu quả. Cần phải lập kế hoạch thật chi tiết, càng chi tiết
càng tốt.
Kế hoạch kiểm thử unit cần phải đưa ra các tài liệu chỉ dẫn việc thực
hiện kiểm thử trên từng môđun như thế nào. Mục tiêu là mỗi mơđun sau khi
được kiểm thử thì phải thoả mãn tất các yêu cầu đặt ra về chức năng
Kế hoạch kiểm thử cần phải đưa ra một danh sách các đầu vào cho
môđun và một danh sách các đầu ra phù hợp với các mơ đun đó. Một môđun
được gọi là đạt nếu tất cả các đầu vào đều có đầu ra tương ứng. Mỗi một sự
sai trệch nào của đầu ra đều phải cần xem xét cụ thể. Danh sách các đầu vào
phải thoả mãn yêu cầu của phần mềm, tối thiểu là lần đầu tiên. Kế hoạch
kiểm thử giúp cho các nhà phát triển có thể đảm bảo chắc chắn rằng mỗi
dòng mà, và mỗi câu lệnh điều kiện đều phải thực hiện được tối thiểu một
lần
2.3 Kiểm thử hộp đen
• Hướng vào các đặc tả bên ngồi
• Chủ yếu là kiểm tra giao diện của các hàm vào ra
• Các kĩ thuật thường dùng:
 Lược đồ nguyên nhân kết quả.
 Phân đoạn tương đương.
 Phân tích giá trị biên.
2.4 Kiểm thử hộp trắng
 Thực hiện bên trong chương trình.
 Sử dụng các đặc tả chi tiết.
 Bao gồm các thứ sau:.


SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 16


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

Các chỉ dẫn bao quát.
Bao quát toàn bộ các câu lệnh điều kiện đơn.
Các điều kiện, đa điều kiện.
Kiểm thử hộp trắng là một thiết kế kiểm thử sử dụng cấu trúc của thiết kế
chi tiêt. Sử dụng thiết kế chi tiết người sử dụng có thể đảm bảo rằng:
 Bảo đảm rằng tất cả các đường dẫn độc lập ở bên trong môđun đều
được thử tối thiểu một lần.
 Thử nghiệm tất các các trường hợp lôgic trong các câu lệnh điều kiện.
 Thực hiện tất cá các vòng lặp tới giá trị biên của chúng.
 Thử nghiệm tất cả các giá trị biên bên trong đảm bảo chúng hợp lệ.
2.4.1 KIểm thử nhánh cơ bản (Basis Path Testing)
Là một cách kiểm thử hộp trắng. Trường hợp kiểm thử bắt
nguồn từ các đặc tả yêu cầu độc lập. Một tập các trường hợp kiểm thử
có thể được phát sinh bởi các tập kiểm thử cơ bản.
Đây là một cái tên đến từ thực tế rằng các kiểm thử nầy đều
kiểm thử từ tất cả các hướng có thể thơng qua chương trình.
Tóm tắt Basis Path Testing
Bước 1
Vẽ biểu đồ luồng chương tình cho một đoạn mã được lựa chọn nào đó

SVTH: Đặng Thị Kiều Oanh- MSSV:0057


Trang 17


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

If -then - else

loop - while

case - of

 Thực hiện từng câu lệnh một.
 Bỏ qua các dòng lệnh liên tục.
 Thêm một nút cho mỗi một nhánh hay câu lệnh quyết định.
 Triển khai các nút phù hợp với sự thể hiện của nó.
Bước 2
Độ phức tạp tính tốn từ lưu đồ luồng tính như sau
C = # Edges - # Nodes + 1
Bước 3
Tìm C cho mỗi trường hợp kiểm thử
 -Chọn một trường hợp kiểm thử để bắt đầu.
 -Trường hợp sau giống cái đầu chỉ thay đổi một số thông số cho
phù hợp thôi.
 -Tiếp tục cho đên 'C' xuất phát.
Bước 4
Thu được các kết quả dự đoán cho mỗi trường hợp kiểm thử
 Sử dụng các đặc tả của chương trình dể quyết định xem loại dữ
liệu nào nên làm(tốt nhất là việc này nên làm bởi các nhà phân

tích)
Bước 5
Confirm that actual results match expected results
So sánh kết quả giữa thực tế và lí thuyết
 Thực hiện đi bộ qua chương trình
SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 18


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

Hiệu quả của kiểm thử nhánh cơ bản ( Basis Path Testing )
Hiệu quả
 Bao phủ hầu hết toàn bộ các vấn đề.
 Sẽ phát hiện ra hầu hết các lỗi.
 Hầu hết các loại lỗi.
 Là một phương tiện hay để xem lại tồn bộ mã nguồn và đi bộ qua
giải thuật.
 Có thể ứng dụng cho các mức lôgic cao hơn hay các đoạn mã giả.
Hiệu lực
 Là một qui trình xác định tốt.
 Hiệu quả trong việc sử dụng tài nguyên máy và thời gian thiết kế.
 Phát sinh đơn giản và dễ thực thi các trường hợp kiểm thử.
 Giá cả thì chấp nhận được trong thương mại.

2.5 Các trường hợp kiểm thử và dữ liệu kiểm thử
 Kiểm tra các tốn tử ở mức giá trị thơng thường.
 Kiểm tra với các giá trị giới hạn.

 Kiểm tra ngoài vùng giá trị.
 Kiểm tra các lỗi ở trong vòng lặp.
 Kiểm tra các kết thúc khơng bình thường trong vịng lặp.
 Kiểm tra các kết thúc khơng bình thường trong đệ quy.
 Kiểm tra tất các các cấu trúc dữ liệu được truy nhập bởi hàm.
 Kiểm tra tất cả các loại file được truy nhập bởi hàm thành viên.
 Kiểm tra tất cả các lỗi điều kiện.
 Kiểm tra tính hiệu quả của kiểm thử nếu thấy cần thiết.
 Đảm bảo rằng mọi câu lệnh đều được thực hiện.
 Đảm bảo rằng mọi câu lệnh điều kiện đều thực hiện ở tất cả các
nhánh.

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 19


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

3. Kiểm thử tích hợp
3.1 Tạo dữ liệu và file kiểm thử
Các hoạt động chính:
• Xác định nội dung của kiểm thử dữ liệu và file.
• Tạo dữ liệu kiểm thử, dữ liệu kiểm thử có thể tạo ra bằng một trong
các phương pháp luận sau.
 Vào thủ công.
 Phần mềm sinh dữ liệu kiểm thử.
 Giúp ra từ cơ sở dữ liệu sống.
• Điền đầy các dữ liệu kiểm thử với sự giúp đỡ của các chương trình

quản lí cơ sở dữ liệu.
• Kiểm tra xem có khớp với các yêu cầu đặt ra không
3.2 Các chiến thuật và kĩ nghệ kiểm thử
3.2.1 Kiểm thử tích hợp khơng tăng tiến
Big Bang là một kiểm thử tích hợp khơng tăng tiến.Tất cả các mơ đun đều
được phối hợp ngay từ đầu.
Phần mềm được kiểm thử toàn bộ - kết quả ban đầu thường là lộn xộn.
Để đúng được là rất khó vì một dãy các lỗi gặp phải.
Khi một lỗi được sữa thì lại bắt gặp một lỗi khác chỉ cho tới khi nào vịng lặp
dừng thì thơi.Cho nên phương pháp này khơng được đề nghị
3.2.2 Kiểm thử tích hợp tăng tiến
Là một kiểm thử trái ngược lại với kiểm thử Big Bang
Phần mềm được xây dựng và kiểm thử từng đoạn một. Lỗi dễ bị cơ lập và xử
lí. Giao diện dễ kiểm thử hơn và có thể áp dụng kiểm thử hệ thống.
Kiểm thử hệ thống bao gồm các phương pháp luận sau:
1. Kiểm thử tích hợp Top-Down.
2. Kiểm thử tích hợp Bottom-up.
3. Kiểm thử Sandwich.
SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 20


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

1. Kiểm thử tích hợp Top-Down
 Hàm Main là nút gốc còn tất cả cá mơđun ở bên dưới là các gốc
con(bới vì sau khi kiểm thử xong nút gốc này thì tất cả cá nút gốc
con sẽ được kiểm thử). Nút gốc sẽ được thay thế bằng các môđun

cụ thể, phụ thuộc vào hướng kiểm thử tích hợp được lựa chọn. Cứ
tiếp tục quá trình như vậy cho đến khi nào kết thúc chương trình
thì thơi.
 Thuận tiện
 Khơng cần có driver kiểm thử.
 Lỗi giao diện được phát hiện sớm.
Bất tiện
 Cần gốc (stubs).
 Làm chậm tiến trình kiểm thử.
 Lỗi ở trong các mơđun ở mức thấp khó tìm ra.
Chú thích
 Chương trình làm việc đầu tiên nâng lên tinh thần.
 Rất khó để có thế duy trì thuần top-down trong thực tế.
Tích hợp Bottom-Up
 Mơ đun ở mức thấp nhất sẽ được kiểm thử đầu tiên
 Mỗi một driver được viết để theo dõi các đầu vào và đầu ra
 Kiểm thử từng khối
 Driver sẽ bị xoá đi và các cụm sẽ được kết hợp lại, sau đó di
chuyển nên trên trong cấu trúc chương trình
Thuận tiện
 Khơng cần đến gốc
 Rất dễ điều chỉnh số lượng người cần thiết
SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 21


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân


 Lỗi quyết định sớm được tìm thấy
Sự bất tiện
 Các driver kiểm thử là cần thiết
 Rất nhiều mơđun phải được tích hợp trước khi làm việc
 Lỗi giao diện khám phá muộn
Chú thích
 Phải kiểm tra nhiều các đoạn mã hơn là so với Top-Down
 Bottom-up là một cách mang tính trực giác nhiều hơn

2.Kiểm thử Sandwich
 Là một phương pháp kiểm thử kết hợp cả top-down và bottom-up
 Tất cả các môđun và giao diện đều phải kiểm thử bằng phương
pháp Top-Down
 Cả driver và stub đều được sử dụng khi cần thiết
 Tất cả các môđun đều được xây dựng và kiểm thử unit bắt đầu từ
mức thấp nhất, sử dụng chiến thuật Bottom-Up
3.2.3 Tiêu chí để hồn thành
Một tester phải biết khi nào kiểm thử là đủ. Kiểm thử có thể dừng khi:
 Nó khơng phát sinh lỗi
 Nó đã bao phủ gần như hồn tồn
 Nó phát hiện ra một số lượng lỗi
 Kế hoạch kiểm thử kết thúc
3.2.4 Các lời bình về kiểm thử mơđun
 Đúng với các yêu cầu phần mềm
 Có mức điều khiển cao
 Có phức tạp hay ẩn chứa lỗi hay khơng
 Có các u cầu hiệu năng xác định hay khơng
Các bình luận nên càng sớm càng tốt
SVTH: Đặng Thị Kiều Oanh- MSSV:0057


Trang 22


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

3.2.5 Đề nghị phương pháp luận kiểm thử tích hợp
 Lựa chọn một nhóm các môđun không quá phức tạp để kiểm thử.
 Kết nối các nhóm mơđun vào chương trình.
 Kiểm thử tích hợp trên bộ khung của hệ thống.
 Thử nghiệm tất cả các môđun.
 Thử nghiệm tất cả các lựa chọn của chương trình với các tiện ích
của nó.
 Thực thi kiểm thử trên bộ khung của chương trình.
 Nạp kiểm thử.
 Kiểm thử hiệu năng của chương trình.
 Cố gắng phá vỡ bộ khung.
 Lặp lại bốn bước trên nhiều lầm nếu thấy cần thiết để xây dựng
một mức hoàn chỉnh.
4 Kiểm thử hệ thống
Mỗi lần kiểm thử thủ tục hỗ trợ kiểm thử hệ thống được thực hiện, đội kiểm
thử so sánh kết quả mong đợi của mỗi kiểm thử thủ tục với kết quả thực tế. Nếu kết
quả thực tế khác so với kết quả mong đợi, sự khác nhau này phải được xem xét lại
kỹ hơn.
Kiểm thử hệ thống thường thực hiện sau tất cả các môđun, kiểm thử tích hợp
và kiểm thử unit được chấp nhận một cách thành cơng.
Đội kiểm thử cần có thể tái tạo lại vấn đề và phải chắc chắn là vấn đề này
không phải gây ra do lỗi kiểm thử, lỗi thiết lập môi trường, lỗi thủ tục kiểm thử, hay
lỗi kiểm thử kịch bản. Nếu báo cáo lỗi bởi vì những lỗi được xác định trong lỗi
kiểm thử, lỗi thiết lập môi trường, lỗi kiểm thử thủ tục, hay lỗi kiểm thử kịch bản,

hành động thích hợp để hiệu chỉnh nên được thực hiện và thực hiện lại kiểm thử.
Nhược điểm của sản phẩm nên được ghi lại trong DMS.

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 23


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

5 Kiểm thử xác nhận
Kiểm thử kiểm nhận chứng minh cho khách hàng rằng tiêu chuẩn kiểm nhận
xác định trước đã được xác định bởi hệ thống.
Điển hình nó được sử dụng như một kỹ thuật để bàn giao hệ thống.
6 Kiểm thử hồi quy
Thực hiện kiểm thử hồi quy thông thường mất rất nhiều nỗ lực cố gắng. Vì
thế, kiểm thử hồi quy có thể được thực hiện sau một giai đoạn. Tuy nhiên, kiểm thử
hồi quy phải được thực hiện khi:
• Tổng số những yêu cầu thay đổi xảy ra từ bản cơ sở cuối cùng với kiểm
thử hồi quy lớn hơn 10% tổng số những u cầu trong cơ sở đó.
• Tỉ lệ tổng số lỗi được phát hiện sau kiểm thử kiểm nhận hay trong trong
thao tác chia tổng số man-months của dự án lớn hơn 1.
Với những dự án bảo trì, khởi động cho kiểm thử hồi quy phải được xác định trong
kế hoạch kiểm thử. Leader kiểm thử phải xác định khi nào đội dự án kiểm soát kiểm
thử hồi quy và phạm vi kiểm thử hồi quy. Lập biểu của kiểm thử hồi quy phải được
xác định trong lập biểu của dự án.
7 Lỗi dữ liệu
7.1 Vòng đời của lỗi
Một lỗi trong phần mềm là một cái gì đó mà gây ra cho phần mềm

chạy theo cách mà nó khơng nhất qn với những u cầu hay sự cần thiết
của khách hàng hay những chuẩn liên quan. Để có phần mềm chất lượng
cao, sản phẩm cuối cùng nên có vài lỗi có thể.


Một lỗi được tìm thấy và phải được ghi lại trong DMS bởi một nhân
viên. Lỗi được vào trong DMS với trạng thái “Error” và thơng tin khác.

• Lãnh đạo dự án phải xem lại dữ liệu của một lỗi (như là dạng lỗi,
nguồn gốc,tính nguy hại,..), sửa nó và giao cho người sửa lỗi. Thông

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 24


Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0
Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân

thường thành viên được giao là tác giả của văn bản hay đoạn mã nguồn
mà lỗi được tìm thấy trong đó. Trạng thái của lỗi được thay đổi thành
“Assigned”.


Sau khi sửa lỗi, tác giả đổi trạng thái lỗi thành “Pending”

• Người kiểm thử kiểm thử lại lỗi chưa giải quyết và cập nhật trạng thái
thành “Tested” nếu lỗi được sửa một cách hài lòng, hay thành “Error”.
• Nếu một lỗi với trạng thái “Error” có thể được chấp nhận mà khơng có
một hành động hiệu chỉnh nào, lãnh đạo dự án cần đổi trạng thái thành

“Accepted”.
Vịng đời của lỗi được mơ hình hố trong flowchart sau đây:
LOG DEFECT
Defect status: ERROR

Analyse Defect

ACCEPT DEFECT
Defect status: ACCEPTED

ASSIGN DEFECT
Defect status: ASSIGNED

CORRECT DEFECT
Defect status: PENDING

Error

Retest Defect

Corrected

CLOSE DEFECT
Defect status: TESTED

SVTH: Đặng Thị Kiều Oanh- MSSV:0057

Trang 25



×