Tải bản đầy đủ (.docx) (14 trang)

ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK

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 (672.65 KB, 14 trang )

N
TRƯỜNG CĐ CNTT HỮU NGHỊ VIỆT – HÀN
KHOA CÔNG NGHỆ THÔNG TIN
----------

ĐỒ ÁN MÔN HỌC
KỸ THUẬT KIỂM THỬ PHẦN MỀM

KIỂM THỬ TÍCH HỢP
(Integration Test)

Giảng viên : TS. Nguyễn Quang Vũ
Nhóm: 1. Trinh Lâm Vũ - CCLT08A037
2. Đoàn Đình Ý
- CCLT08A038
3. Phan T. Mỹ Thảo - CCLT08A025
4. Nguyễn Tấn Sinh- CCLT08A023
5. Phạm Văn Toàn - CCLT08A028

Đà Nẵng – 03/2017


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

LỜI NÓI ĐẦU
Hiện nay đất nước chúng ta đã và đang rất phát triển theo hướng CNH,
HĐH bên cạnh đó ngành CNTT đã góp phần và chiếm rất nhiều ưu thế để giúp
đời sống người dân tiên tiến công nghệ hơn. Một phần quan trọng trong CNTT
đó là việc phát triển công nghệ phần mềm, phần mềm thì có thể viết trên rất


nhiều ngôn ngữ, hệ thống phát triển mới với các công cụ tích hợp cho các lập
trình viên sử dụng phát triển ngày càng linh động. Nhưng kiểm thử vẫn đóng vai
trò hết sức quan trọng trong bất kỳ dự án phát triển phần mềm nào. Việc kiểm
thử phần mềm thật sự quan trọng trong “dây chuyền” sản xuất phần mềm. Đây
cũng chính là lý do để nhóm em nghiên cứu về đề tài này, và chính xác hơn là về
kiểm thử tích hợp mà chúng em sẽ trình bày dưới đây. Do còn nhiều khó khăn
trong việc thu thập và dịch tài liệu nên chúng em sẽ còn nhiều thiếu sót trong khi
trình bày, vậy kính mong thầy giáo xem xét và giúp đỡ thêm cho chúng em.
Chúng em xin chân thành cảm ơn!


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

MỤC LỤC
LỜI NÓI ĐẦU......................................................................................................
MỤC LỤC............................................................................................................
DANH MỤC CÁC HÌNH ẢNH..........................................................................


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

DANH MỤC CÁC HÌNH ẢNH


Kiểm Thử Tích Hợp


CHƯƠNG I:

I.

GVHD: TS Nguyễn Quang Vũ

TÌM HIỂU VÀ GIỚI THIỆU VỀ
KIỂM THỬ TÍCH HỢP

Giới thiệu, mục tiêu của kiểm thử tích hợp
1. Kiểm thử tích hợp là gì ?
-

Kiểm thử tích hợp là một hình thức kiểm thử phần mềm nhằm tìm
cách xác minh các giao diện giữa các thành phần xung đột của một thiết
kế. Các thành phần này có thể tích hợp theo cách lặp đi lặp lại hoặc tất cả
cùng nhau ("Big Bang"). Thông thường cách thức này được coi là một
thực hành tốt hơn vì nó cho phép các vấn đề về giao diện được định vị một
cách nhanh chóng và cố định hơn.

-

Kiểm thử tích hợp làm lộ ra các khiết khuyết trong các giao diện và
tương tác giữa các thành phần tích hợp (Modules). Các nhóm thành phần
đã được kiểm thử lớn dần từng bước tương ứng với các thuộc tính của cấu
trúc thiết kế đã được tích hợp và kiểm thử cho đến khi phần mềm hoạt
động như một hệ thống.

-


Kiểm thử tích hợp bao gồm việc xây dựng hệ thống từ những thành
phần của nó và kiểm tra xem có vấn đề gì xảy ra từ các tương tác giữa các
thành phần.
Các bước của kiểm thử tích hợp
Kiểm thử tích hợp gồm 5 bước:
Bước đầu tiên là xác định chiến lược kiểm thử. Mục đích xây dựng là
“cách tiếp cận kiểm thử hợp tác”, bởi vì thường có vài tổ chức tham gia
vào phát triển hệ thống toàn bộ. Không có chiến lược kiểm thử, không ai
sẽ chịu trách nhiệm cho toàn thể hệ thống, và có nguy cơ là các hệ thống
sẽ làm việc tốt theo cách riêng của nó nhưng không làm việc tốt khi tổ hợp
với các hệ thống khác.
Bước thứ hai là Lập kế hoạch. Vào lúc này người quản lí, người chịu
trách nhiệm cho kiểm thử tích hợp phải được bổ nhiệm. Người quản lí này
nên chắc chắn rằng mọi tổ chức có tham gia đều phải có một điều phối
viên để làm việc cùng để đảm bảo việc tích hợp sẽ làm việc thông suốt.
Bước thứ ba là về thiết lập trường hợp kiểm thử. Tri thức chuyên gia
và kinh nghiệm của những người hỗ trợ cho kiểm thử nên được dùng để
phát triển tập chung các trường hợp kiểm thử. Mọi kiểm thử viên đều phải
đồng ý với tập các trường hợp kiểm thử để đảm bảo toàn thể hệ thống sẽ
được kiểm thử.
Bước thứ tư là thực hiện kiểm thử tích hợp. Đây là khoảnh khắc mấu
chốt vì nó cần chú ý đặc biệt. Bởi vì độ phức tạp của môi trường kiểm
thử, điều quan trọng cần thực hiện điểm vào môi trường để chắc chắn mọi

2.

-

-


-

-


Kiểm Thử Tích Hợp

-

3.
-

-

thứ làm việc hoàn hảo. Sau đó, việc kiểm thử có thể bắt đầu, và trong
những kiểm thử này các giai đoạn truyền thống có thể được áp dụng theo
trình tự các kiểm thử.
Bước thứ năm là báo cáo kết quả. Có nhiều cách báo cáo từ nhóm này
sang nhóm khác bằng việc dùng kênh thích hợp. Trong hệ thông tin phức
tạp, việc thực hiện kiểm thử tích hợp là cách duy nhất để đảm bảo rằng kết
quả cuối cùng bao gồm tất cả các cấu phần từ mọi hệ con.
Đặc điểm của kiểm thử tích hợp
Là một kiểu kiểm thử cao cấp hơn kiểm thử đơn vị (Unit testing) nhưng lại
được xếp thấp hơn kiểm thử hệ thống (System testing) và kiểm thử người
dùng (User Acceptance Testing).
Được thực hiện sau kiểm thử đơn vị nhưng trước kiểm thử hệ thống.
Thường xuyên phát hiện được lỗ hổng cũng như các lỗi của hệ thống.

Mục tiêu của kiểm thử tích hợp
 Kiểm thử tích hợp có 2 mục tiêu chính:

- Phát hiện lỗi giao tiếp xảy ra giữa các Unit.
- Tích hợp các Unit đơn lẻ thành các hệ thống nhỏ (subsystem) và cuối
cùng là nguyên hệ thống hoàn chỉnh (system) chuẩn bị cho kiểm thử
ở mức hệ thống (System Test).
Các loại kiểm thử tích hợp
Có 4 loại kiểm thử trong kiểm thử tích hợp (Integration Test):
Kiểm thử cấu trúc (Structure Test): được gọi là kiểm thử hộp trắng
(kiểm thử nhằm bảo đảm các thành phần bên trong của một chương trình
chạy đúng), chú trọng đến hoạt động của các thành phần cấu trúc nội tại
của chương trình chẳng hạn các lệnh và nhánh bên trong.
Kiểm thử chức năng (Functional Test): được gọi là kiểm thử hộp đen
(kiểm thử chỉ chú trọng đến chức năng của chương trình, không quan tâm
đến cấu trúc bên trong), chỉ khảo sát chức năng của chương trình theo yêu
cầu kỹ thuật.
Kiểm thử hiệu năng (Performance Test): kiểm thử việc vận hành của
hệ thống.
Kiểm thử khả năng chịu tải (Stress Test): kiểm thử các giới hạn của hệ
thống.
4.

II.

GVHD: TS Nguyễn Quang Vũ


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

CHƯƠNG II: TÌM HIỂU VỀ THƯ VIỆN KIỂM THỬ

CITRUS FRAMEWORK
I.

Giới thiệu và chức năng của Citrus Framework
Citrus framework là một thư viện được phát triển vào năm 2006 bởi
Consol Software, hiện tại phiên bản mới nhất là 2.7. Citrus Framework
hiện tại chưa có giao diện đồ họa, để kiểm thử chúng ta phải sử dụng các
câu lệnh. Dù đã ra đời khá lâu nhưng Citrus Framework không được cộng
đồng đón nhận một cách nhiệt tình, cụ thể là tại tại Github, Stack Overflow
có rất ít các dự án và các câu hỏi về framework này.
Citrus framework được sử dụng để kiểm thử tích hợp, kiểm tra các
vấn đề giữa các thành phần của phần mềm. Citrus framework có thể áp
dụng để kiểm thử nhiều phương thức và một số ngôn ngữ đơn giản.

II.

Hướng dẫn cài đặt
 Cài đặt Java 8 trở lên và thiết lập biến môi trường JAVA_HOME
Kiểm tra bằng cách mở cmd.exe và gõ ‘java –version’.

Hình 1 Thiết lập biến môi trường

-

Cài đặt Maven 3.0.x (Yêu cầu Jdk 1.7 trở lên)
Tải về tại .
Giải nén, mở file mvn.cmd bẳng quyền Administrator tại thư mục bin.
Kiểm tra lại bằng cách mở cmd.exe gõ ‘mvn –v’.

Hình 2 Kiểm tra phiên bản của Maven



Cấu hình mẫu thử


Kiểm Thử Tích Hợp
-

-

GVHD: TS Nguyễn Quang Vũ

Citrus Framework được tích hợp sẵn trong Maven, sau khi cài đặt
Maven chúng ta phải cấu hình cho mẫu thử để Maven có thể hiểu
được.
Thiết lập các thông tin cần thiết tại file pom.xml và tạo thư mục src và
bỏ các file của project và đó.

Hình 3. Thiết lập mẫu thử
III.

IV.

Ưu và nhược điểm của Citrus framework
 Ưu điểm
- Thư viện mã nguồn mở.
- Nhẹ, cài đặt nhanh, miễn phí.
- Kiểm thử được trên nhiều giao thức và ngôn ngữ.
- Có thể vừa đóng vai trò người dùng và máy chủ.
- Kiểm thử tự động và lặp lại nhanh chóng.

 Nhược điểm
- Chưa có giao diện đồ họa, khó tiếp thu các thông tin.
- Chưa được cộng đồng kiểm thử đón nhận nhiệt tình.
- Rất ít tài liệu, hướng dẫn sử dụng.
- Chưa kiểm thử được các phần mềm phức tạp.
Một môi trường và phương thức hỗ trợ
- Docker: công cụ tạo môi trường được "đóng gói" (còn gọi là Container)
trên máy tính.
- Gradle: công cụ tự động build project dựa trên các khái niệm của
Apache Ant, Apache Maven.
- Json: Kiểm tra tải trọng và kiểm tra JsonPath.
- Http: giả lập người sử dụng gửi nhiều truy vấn tới máy chủ, để kiểm
tra tính ổn định.
Jdbc: Xác nhận dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ
- Xml: Kiểm tra sự chính xác của XML và Xpath.


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

CHƯƠNG III. ỨNG DỤNG CITRUS FRAMEWORK
I.

Kiểm thử mẫu thử của Citrus Framework
- Tải về các ví dụ tại />
Hình 4 Các mẫu thử của Citrus Framework


Kiểm Thử Tích Hợp

-

GVHD: TS Nguyễn Quang Vũ

Giải nén và mở cmd, truy cập tới thư mục todo – app, gõ cú pháp ‘mvn
spring -boot:run’ để khởi động localhost

Hình 5 Khởi động localhost
-

Mở cmd khác, truy cập tới các thư mục còn lại và gõ cú pháp ‘mvn
integration-test’ để tiến hành kiểm thử tích hợp. Khi gõ lệnh này, hệ thống
sẽ tự động tải về các thư viện trong cùng thư mục để tiến hành kiểm thử

Hình 6 Quá trình tải thư viện


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

-Sau

khi quá trình kiểm thử thành công, command sẽ show ra kết quả như trên
hình và đồng thời lưu 1 file html vào thư mục test-output trong thư mục kiểm
thử.

Hình 7 Kết quả được trả về
II.


Kiểm thử chương trình giải phương trình bậc nhất
Mã nguồn chương trình giải phương trình bậc nhất, gồm 1 class và 3
phương thức. Trong đó có 2 phương thức được sử dụng, 1 phương thức
không được gọi. Đầu vào a = 5, b =8.


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

Hình 8 Code mẫu thử
-

Tiến hành kiểm thử

Hình 9 Kết quả kiểm thử


Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

Hình 10 Các phương thức hợp lệ
-

-

Kết quả cho thấy, có 3 phương thức đã được kiểm thử và có 1 phương
thức không tích hợp với hệ thống. Cụ thể là phương thức solve2 đã không
được gọi trong chương trình và được xem là CÓ LỖI xảy ra trong quá

trình kiểm thử tích hợp.
Kết quả của đầu ra của chương trình giải phương trình bậc nhất (với đầu
vào a=5 và b=8) sau khi kiểm thử tích hợp:

Hình 11 Kết quả đầu ra
-

Bảng kết quả thực hiện kiểm thử tích hợp với 4 bộ dữ liệu thử:
ST Dữ liệu đầu vào Dữ liệu đầu ra
Kết quả mong
T
muốn
1
a = -1, b = -8
-8.0
-8.0
2
a = 0, b = -1
Pt vô nghiệm
Pt vô nghiệm
3
a = 1, b= 0
Pt vô sô nghiệm
Pt vô sô nghiệm
4
a = 1, b= 8
-8.0
-8.0

Ghi chú



Kiểm Thử Tích Hợp

GVHD: TS Nguyễn Quang Vũ

KẾT LUẬN
-

Kiểm thử phần mềm là một hoạt động quan trọng nhằm đảm bảo chất
lượng phần mềm.

-

Việc nghiên cứu lựa chọn các kỹ thuật và chiến lược kiểm thử phần mềm
phù hợp giúp cho việc kiểm thử có hiệu quả, giảm chi phí và thời gian.
Việc xây dựng tài liệu kiểm thử phần mềm hợp lý sẽ giúp cho việc tổ chức,
quản lý và thực hiện kiểm thử có hiệu quả.

-

Những vấn đề đã đạt được:

-

Trong thời gian làm thực tập tốt nghiệp với sự định hướng và giúp đỡ tận
tình của thầy TS. Nguyễn Quang Vũ, nhóm đã đạt được những kết quả sau:

-


Nắm được tổng quan về kiểm thử phần mềm: các phương pháp, kỹ thuật
kiểm thử phần mềm và các vấn đề liên quan…..

-

Tìm hiểu và nắm được phương pháp thiết kế test case trong kiểm thử phần
mềm và áp dụng phương pháp đó với bài toán cụ thể.



×