1. Trang chủ
  2. » Công Nghệ Thông Tin

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

14 714 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 0,9 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Trang 2

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!

Trang 3

MỤC LỤC

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

Trang 4

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

Trang 5

CHƯƠNG I: TÌM HIỂU VÀ GIỚI THIỆU VỀ

KIỂM THỬ TÍCH HỢP

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

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

Trang 6

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

3. Đặ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

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

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

Trang 7

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’

 Cài đặt Maven 3.0.x (Yêu cầu Jdk 1.7 trở lên)

- Tải về tại http://maven.apache.org

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

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

Trang 8

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

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

Trang 9

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 https://github.com/christophd/citrus-samples

Hình 4 Các mẫu thử của Citrus Framework

Trang 10

- 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

Trang 11

-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

Trang 12

Hình 8 Code mẫu thử

- Tiến hành kiểm thử

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

Trang 13

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

T

Dữ liệu đầu vào Dữ liệu đầu ra Kết quả mong

muốn

Ghi chú

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

Trang 14

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ể

Ngày đăng: 23/06/2017, 20:16

HÌNH ẢNH LIÊN QUAN

Hình 1 Thiết lập biến môi trường - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 1 Thiết lập biến môi trường (Trang 7)
Hình 2 Kiểm tra phiên bản của Maven - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 2 Kiểm tra phiên bản của Maven (Trang 7)
Hình 3. Thiết lập mẫu thử - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 3. Thiết lập mẫu thử (Trang 8)
Hình 4 Các mẫu thử của Citrus Framework - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 4 Các mẫu thử của Citrus Framework (Trang 9)
Hình 5 Khởi động localhost - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 5 Khởi động localhost (Trang 10)
Hình 6 Quá trình tải thư viện - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 6 Quá trình tải thư viện (Trang 10)
Hình 7 Kết quả được trả về - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 7 Kết quả được trả về (Trang 11)
Hình 8 Code mẫu thử - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 8 Code mẫu thử (Trang 12)
Hình 9 Kết quả kiểm thử - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 9 Kết quả kiểm thử (Trang 12)
Hình 10 Các phương thức hợp lệ - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 10 Các phương thức hợp lệ (Trang 13)
Hình 11 Kết quả đầu ra - ĐỒ ÁN KIỂM THỬ TÍCH HỢP CITRUS FRAMEWORK
Hình 11 Kết quả đầu ra (Trang 13)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w