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

đồ án tốt nghiệp nghiên cứu công cụ kiểm thử phần mềm 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

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.03 MB, 105 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 quá 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 49
Chức năng Login 49
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 59
5. Viết báo cáo 62
KẾT LUẬN 63
NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC 63
ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA CÔNG CỤ 63
HƯỚNG PHÁT TRIỂN 65
PHỤ LỤC A 66
HƯỚNG DẤN CÀI ĐẶT IBM RATIONAL FUTIONAL TESTER 66
PHỤ LỤC B 83
THỰC HIỆN QUÁ TRÌNH KIỂM THỬ VỚI RATIONAL FUNTIONAL TESTER 83
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 quá 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 Information Technology Lifecycle
Management
RFT 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
Tuỳ chọn T
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 yê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 đã hoàn thành,
quá trình kiểm tra phải có tính kỷ kuật để xem xét những trình ứng dụng đã hoà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 xuyên 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
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
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.”
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 tuân 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.

 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
Sai sót Lỗi Hỏng hóc
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 quá 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 toà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 toà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 hoà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.
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
• Thực hiện kiểm thử unit.
• Phát hiện ra lỗi trong kiểm thử unit.
• Làm báo cáo ghi lại toà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 ngoà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.
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
 Sử dụng các đặc tả chi tiết.
 Bao gồm các thứ sau:.
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 toá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
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

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
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 toà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 toá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.
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
 Đả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.

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.

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
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.
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

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
 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
 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í để hoà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ư hoàn toà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
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
 Đú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 yê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
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
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
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.
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 yê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 quán với những yê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ể.
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
• 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
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 hoá trong flowchart sau đây:
SVTH: Đặng Thị Kiều Oanh- MSSV:0057
Trang 25

×