Báo Cáo Bài Tập Nhóm Kiểm Thử Và Đảm Bảo Chất Lượng Phần Mềm Tìm Hiểu Về Công Cụ Kiểm Thử Soapui.pdf

28 1 0
Tài liệu đã được kiểm tra trùng lặp
Báo Cáo Bài Tập Nhóm Kiểm Thử Và Đảm Bảo Chất Lượng Phần Mềm Tìm Hiểu Về Công Cụ Kiểm Thử Soapui.pdf

Đ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

Trang 1

1 VIETNAM UNIVERSITY

UNIVERSITY OF ENGINEERING AND TECHNOLOGY

BÁO CÁO BÀI TẬP NHÓM

KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

TÌM HIỂU VỀ CÔNG CỤ KIỂM THỬ SOAPUI

Giảng viên : ThS Nguyễn Thu Trang

Trang 2

II GIỚI THIỆU VỀ CÔNG CỤ SOAPUI 6

1.Sự ra đời của SoapUI 7

2.SoapUI là gì? 8

3.Công nghệ, kỹ thuật 9

4.Đối tượng sử dụng 11

5.Các chức năng chính của SoapUI 11

6.Ưu điểm và nhược điểm 12

6.1.1Ưu điểm 12

6.1.2Nhược điểm 12

III HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG SOAPUI 13

1.Cài đặt 13

1.1Cài đặt trên Linux/Unix 13

1.2Cài đặt trên Windows 17

1.3Cài đặt trên MacOS 19

2.Demo sử dụng SoapUI với project 22

Trang 3

3 Lời m ở đầu

Kiểm thử phần mềm là đỉnh cao của quá trình phát triển ứng dụng mà qua đó người kiểm thử phần mềm đánh giá code bằng cách đặt câu hỏi về nó Việc đánh giá này có thể ngắn gọn hoặc tiến hành cho đến khi tất cả các bên liên quan hài lòng Kiểm thử phần mềm xác định các lỗi và sự cố trong quá trình phát triển để chúng được khắc phục trước khi ra mắt sản phẩm Cách tiếp cận này đảm bảo rằng chỉ những sản phẩm chất lượng mới được phân phối đến người tiêu dùng, từ đó nâng cao sự hài lòng và tin tưởng của khách hàng

Để hiểu tầm quan trọng của kiểm thử phần mềm, hãy xem xét ví dụ về Starbucks Vào năm 2015, công ty đã mất hàng triệu đô la doanh thu khi nền tảng điểm bán hàng (POS) của họ ngừng hoạt động do quá trình làm mới hệ thống bị lỗi do trục trặc phần mềm Điều này có thể tránh được nếu phần mềm POS đã được kiểm tra kỹ lưỡng Nissan cũng chịu chung số phận vào năm 2016 khi triệu hồi hơn 3 triệu xe do lỗi phần mềm trong bộ phận phát hiện cảm biến túi khí

Có nhiều loại kiểm thử phần mềm, nhưng hai loại chính là kiểm thử động và kiểm thử tĩnh Kiểm tra động là một đánh giá được tiến hành trong khi chương trình được thực thi; thử nghiệm tĩnh kiểm tra mã của chương trình và tài liệu liên quan Các phương thức động và tĩnh thường được sử dụng cùng nhau

Trong những năm qua, kiểm thử phần mềm đã phát triển đáng kể khi các công ty áp dụng kiểm thử Agile và môi trường làm việc DevOps Điều này đã giới thiệu các chiến lược thử nghiệm nhanh hơn và hợp tác hơn cho lĩnh vực thử nghiệm phần mềm

Báo cáo này sẽ giới thiệu về công cụ kiểm thử SoapUI, công cụ kiểm thử chức năng hàng đầu cho để kiểm thử SOAP và REST Báo cáo được thực hiện bởi nhóm sinh viên Trần Thanh Tùng, Phạm Dương Vũ Dù đã cố gắng hoàn thiện, song báo cáo không thể tránh khỏi các thiếu sót Chúng em xin trân trọng cảm ơn

Nhóm tác giả

Trang 4

I Kiểm thử tự động và kiểm thử thủ công 1 Về khái niệm

1.1 Kiểm thử thủ công

- Kiểm thử thủ công là kiểm thử một phần mềm một cách thủ công (không sử dụng bất kỳ công cụ tự động hoặc bất kỳ đoạn mã nào) Với loại kiểm thử này, tester hoặc end user sẽ kiểm tra phần mềm để xác định bất kỳ hành vi không mong muốn hoặc lỗi

- Có rất nhiều giai đoạn để kiểm thử bằng tay như Kiểm thử đơn vị (Unit testing), Kiểm thử tích hợp (Integration testing), Kiểm thử hệ thống (System testing) và Kiểm thử chấp nhận (Acceptance testing)

- Bất kỳ ứng dụng mới nào cũng phải được kiểm thử thủ công trước khi thực hiện kiểm thử tự động hóa Kiểm thử thủ công đòi hỏi nhiều nỗ lực hơn nhưng lại rất cần thiết để kiểm tra tính khả thi để thực hiện tự động hóa

- Tester sử dụng kế hoạch kiểm thử (test plans), ca kiểm thử (test case), hoặc kịch bản kiểm thử (test scenarios) để đảm bảo tính đầy đủ của kiểm thử Kiểm thử thủ công cũng bao gồm kiểm thử khám phá, tester kiểm thử khám phá phần mềm để tìm ra lỗi trong phần mềm đó

1.2 Kiểm thử tự động

- Kiểm thử tự động là một kỹ thuật sử dụng một ứng dụng để thực hiện toàn bộ vòng đời của phần mềm trong thời gian ngắn hơn và sử dụng được nhiều lần cho test hồi quy

- Kiểm thử tự động là một kỹ thuật tự động hóa, trong đó người kiểm thử tự viết các tập lệnh và sử dụng phần mềm phù hợp để kiểm thử phần mềm Về cơ bản nó là một quá trình tự động hóa của một quy trình thủ công Giống như kiểm thử hồi quy, kiểm thử tự động cũng được sử dụng để kiểm tra ứng dụng theo quan điểm load, performance và stress test

- Nói cách khác, kiểm thử tự động sử dụng các công cụ tự động hóa để viết và thực hiện các test case, không cần sự tham gia thủ công trong khi thực hiện một test suite Thông thường, người kiểm thử viết test

Trang 5

script và test case bằng cách sử dụng công cụ tự động hóa và sau đó

Cho phép tester chạy test mà không cần tới kiến thức

Vì được thực thi bởi con người nên sẽ không thể tránh được việc có thể xảy ra sai sót

Tốn thời gian hoặc nhân lực và đôi khi là có thể tốn cả hai

Kiểm thử hiệu năng được coi là không thực tiễn trong mục kiểm thử thủ công

Cũng như kiểm thử hiệu năng, việc so sánh một khối dữ liệu lớn cũng được coi là phi thực tiễn

Xử lý yêu cầu trong quá trình bảo trì phần mềm sẽ tốn cực kì tốn thời gian

Đối với mỗi lần có sự thay đổi, tester vẫn phải thực hiện lại một tập hợp các test case đã chạy dẫn đến sự nhàm chán và tốn thời gian

Trang 6

tăng năng suất kiểm thử Tất cả các bên liên quan có thể đăng nhập vào hệ thống tự động và xem được kết quả kiểm thử

Không có yếu tố con người rất khó để có cái nhìn sâu sắc về các khía cạnh trực quan của giao diện người dùng như màu sắc, phông chữ, kích cỡ,

Tốn kém hơn rất nhiều so với kiểm thử thủ công cho các công cụ tự động hóa như hệ thống, training,

II Giới thiệu về công cụ SoapUI

Trang 7

1 Sự ra đời của SoapUI

- Khi ngày càng nhiều công ty chuyển hướng sang DevOps, tích hợp liên tục (CI) và triển khai liên tục (CD), phản hồi kiểm thử cần nhanh hơn bao giờ hết

- Bên cạnh đó, API là cơ sở của phát triển phần mềm hiện đại, đặc biệt là khi ngày càng có nhiều nhóm rời bỏ các ứng dụng nguyên khối và bắt đầu áp dụng phương pháp tiếp cận microservices để phát triển phần mềm Với các microservices tạo nên xương sống của hầu hết các phần mềm mới, việc kiểm tra API thậm chí còn trở nên quan trọng hơn trước đây

- Khi SoapUI ban đầu được tạo ra vào năm 2006, không có công cụ kiểm tra API mã nguồn mở nào trên thị trường Ý tưởng ban đầu đằng sau SoapUI là "Hãy kiếm thật nhiều người để giúp!" kể từ đó, các nhà phát - triển đã đóng góp mã nguồn và những phản hồi giá trị, làm cho SoapUI trở thành sản phẩm như ngày hôm nay

Trang 8

2 SoapUI là gì?

- SoapUI là công cụ kiểm thử chức năng hàng đầu để kiểm thử web services, cho phép Tester thực hiện các chức năng như test functional, regression, compliance và load testing một cách tự động trên Web API khác nhau

- SoapUI hỗ trợ tất cả các giao thức chuẩn và công nghệ để test API như SOAP (Simple Object Access Protocol)/WSDL, RESTful hoặc HTTP

- Tính đến thời điểm hiện tại SoapUI đã có hơn 3 triệu lượt tải và nằm trong top đầu công cụ dùng để kiểm thử API Service do là công cụ có open source và có giao diện thân thiện với người dùng

Trang 9

3 Công nghệ, kỹ thuật

Kiến trúc của SoapUI ở mức tổng quan - Trong đó:

o Test config files: Các tệp yêu cầu tài nguyên để thực hiện kiểm thử, bao gồm dữ liệu kiểm tra, kết quả mong đợi, biến kết nối cơ sở dữ

Trang 10

liệu và mọi chi tiết cụ thể về thông tin kiểm thử chi tiết hoặc môi trường kiểm thử

o Third-Party API: API của bên thứ ba giúp tạo ví dụ về khung tự động hóa thử nghiệm được tối ưu hóa API JExcel để giúp tích hợp với Microsoft Excel để tạo khung điều khiển dữ liệu

o Selenium: Các file JAR Selenium được sử dụng để tự động hóa giao diện người dùng

o SoapUI Runner: Công cụ này được sử dụng để chạy dự án SoapUI và là một tiện ích rất hữu ích để tự động hóa thử nghiệm vì nó cho phép bạn chạy thử nghiệm kiểm thử từ môi trường dòng lệnh o Groovy: Thư viện này được sử dụng để cho phép SoapUI cung cấp

cho người dùng ngôn ngữ Groovy dưới dạng ngôn ngữ kịch bản o Properties: Các thuộc tính để lưu dữ liệu động đã được tạo, cấu hình

SSL và các cấu hình bảo mật khác cho các yêu cầu kiểm thử o Test Report: SoapUI cung cấp báo cáo kiểu Junit và tiện ích báo

cáo người dùng Jasper để báo cáo kết quả thử nghiệm

- SoapUI hỗ trợ hai ngôn ngữ là Groovy và JavaScript

Trang 11

4 Đối tượng sử dụng

- Phù hợp với bất kỳ ai làm các dịch vụ web SOAP-based, đặc biệt là ở cấp độ mới bắt đầu khi đang làm quen giao thức SOAP

- Phù hợp cho những người có kinh nghiệm trong lĩnh vực kiểm thử phần mềm, những người muốn thử nghiệm một luồng dựa trên các dịch vụ web khác nhau

- Phù hợp cho các nhà phát triển làm việc trên các dịch vụ web SOAP-based và muốn thử nghiệm việc triển khai chúng

-

5 Các chức năng chính của SoapUI

- Nhìn chung, SoapUI sở hữu gần hết các chức năng cần có để test API - Sau đây là 4 chức năng quan trọng của SoapUI:

o Kiểm thử chức năng ( Functional Testing):

▪ SoapUI cho phép người dùng kiểm thử chức năng mà không cần đến mã code Bạn chỉ cần sử dụng các thao tác kéo và thả để tạo ra các bài test, tăng tốc độ script development, ngay cả trong những tình huống phức tạp nhất

▪ Ngoài ra còn hỗ trợ nhiều môi trường test như QA, dev hay môi trường Production

▪ Hỗ trợ debug các ca kiểm thử và cho phép testers xây dựng các ca kiểm thử data-driven

o Kiểm thử tải (Load Testing):

▪ SoapUI có thể cân bằng tải các ca kiểm thử cho các luồng đang hoạt động nên mô phỏng được việc kiểm thử khối lượng lớn trong thế giới thực một cách dễ dàng

▪ Cho phép giám sát hiệu suất quy trình đầu cuối của hệ thống o Kiểm thử bảo mật (Security Testing):

▪ SoapUI có thể ngăn chặn SQL Injection để bảo mật cơ sở dữ liệu

▪ SoapUI có thể quét Cross Site Scripting, thường xảy ra khi các thông số dịch vụ được hiển thị trong nội dung response ▪ SoapUI có thể thực hiện quét fuzzing scan và boundary scan

để tránh các hành vi bất thường của các dịch vụ

Trang 12

o Mô phỏng dịch vụ (Mocking):

▪ SoapUI có thể giả lập các dịch vụ Web như: HTTP, HTTPS, REST, SOAP, … trước khi chúng thực sự được triển khai ▪ Ngoài ra thì SoapUI còn tích hợp rất tốt với một số công cụ

tự động hóa phổ biến như: Maven, JUnit, HUDSON, 6 Ưu điểm và nhược điểm

6.1.1 Ưu điểm

- SoapUI có khả năng thực hiện vai trò của cả khách hàng và dịch vụ - SoapUI cho phép người dùng tạo các bài kiểm tra chức năng và phi chức năng

một cách nhanh chóng và hiệu quả bằng cách sử dụng một môi trường duy nhất

- SoapUI hỗ trợ đa nền tảng (Windows, Mac, Linux)

- SoapUI cho phép người thử nghiệm thực hiện các thử nghiệm chức năng, hồi quy, tuân thủ và tải tự động trên các API Web khác nhau

- SoapUI hỗ trợ tất cả các giao thức và công nghệ tiêu chuẩn để kiểm tra tất cả các loại API

- SoapUI thân thiện với người dùng cũng như dễ dàng chuyển đổi kiểm thử chức năng thành kiểm thử phi chức năng như kiểm tra tải, kiểm tra căng thẳng

6.1.2 Nhược điểm

- Không thể truy cập thư viện script: nghĩa là SoapUI không hỗ trợ báo cáo nâng cao

- Trong một vài trường hợp, SoapUI yêu cầu việc mã hóa đáng kể để xác thực - SoapUI nặng và tốn nhiều bộ nhớ của CPU Chính vì đặc điểm này, đôi khi

SoapUI có thể khiến máy bị treo khi đang chạy Bạn cũng sẽ dễ dàng mất hết mất hết dữ liệu nếu chưa kịp lưu lại

- Đối với việc thực hiện load test, SoapUI chỉ phù hợp với những dự án có quy mô nhỏ Nó không phải là sự lựa chọn tốt nhất để xử lý các tác vụ phức tạp - Không tạo báo cáo xác thực dữ liệu Đây cũng là một nhược điểm khiến nhiều

người dùng phiền lòng

- Không thể kiểm tra được Web UI và ứng dụng di động

Trang 13

III Hướng dẫn cài đặt và sử dụng SoapUI 1 Cài đặt

- SoapUI hỗ trợ trên 3 hệ điều hành bao gồm MacOS, Windows và Linux 1.1 Cài đặt trên Linux/Unix

- Yêu cầu trước tiên: Hãy chắc chắn rằng máy bạn đã cài đặt Java (JRE) - Cài đặt:

1 Tải Linux binary zip từ link sau https://www.soapui.org/

2 Unzip nó thành đường link trong thư mục quen thuộc của bạn 3 Đảm bảo rằng bạn có đủ quyền để unzip thư mục soapUI 4 Vào trong thư mục đó và chạy lệnh $bin/soapui.sh

Khi bạn đã tải xuống thành công thì mọi thứ gần như khá đơn giản Hãy bắt đầu với việc double clicking vào file vừa tải thì bạn sẽ thấy màn hình khởi tạo như sau:

Trang 14

-Bấm Next để tiếp tục

Chọn thư mục đích mà mặc định đó sẽ là home/User/SmartBear/SoapUI-5.5.0:

Bước tiếp theo sẽ gợi ý cho bạn về việc cài đặt thêm 1 số lựa chọn như hướng dẫn, tệp mã nguồn SoapUI, …

Trang 15

Note: Nếu bạn lựa chọn cài đặt thêm cả HermesJMS thì hãy chắc chắn rằng bạn đồng ý với thỏa thuận sử dụng giấy phép của nó

Sau đó, 1 cửa sổ sẽ xuất hiện và hỏi bạn về việc tạo nên 1 icon trên màn hình desktop hay không

Sau đó hãy bấm Next để bắt đầu quá trình cài đặt

Trang 16

Sau một vài phút thì quá trình cài đặt sẽ hoàn tất và bạn sẽ màn hình tiếp theo

Giờ bạn đã có thể hoàn toàn sử dụng SoapUI

Trang 17

1.2 Cài đặt trên Windows

Giống với việc cài đặt trên hệ điều hành Linux, việc cài đặt công cụ SoapUI cũng sẽ có các bước thực hiện quá trình tương tự như:

Chọn thư mục đích cho file, mặc định sẽ là C:\Program Files\SmartBear\SoapUI-5.5.0.

Tiếp đó bạn sẽ được hỏi rằng chọn thư mục để thêm shortcut cũng như tạo desktop icon

Trang 18

’ Cuối cùng bấm Next để bắt đầu quá trình cài đặt

Trang 19

Sau vài phút thì quá trình cài đặt sẽ hoàn tất và bạn đã có thể bắt đầu sử dụng công cụ SoapUI

1.3 Cài đặt trên MacOS

- Quá trình cài đặt trên hệ điều hành MacOS sẽ có 1 số điểm lưu ý nhỏ như sau: o Nếu quá trình cài đặt SoapUI trên hệ điều hành Mac không phản ứng thì

bạn có thể thử các giải pháp như sau để giải quyết:

1 Trong file soapui-settings.xml hãy thêm hoặc cập nhật dòng sau: <con:setting id="UISettings@disable-browser">true</con:setting> 2 Nếu vẫn không được thì bạn có thể khởi động ReadyAPI với param như

sau khi thêm vào cmd: -Dsoapui.jxbrowser.disable=true

3 Có thể tắt GateKeeper sau đó thử khởi động lại SoapUI

- Quá trình cài đặt cơ bản trên hệ điều hành Mac sẽ bao gồm các bước cơ bản như chọn thư mục đích, cài đặt thêm, tạo icon desktop,

Trang 21

Sau khi quá trình hoàn thành thì bạn sẽ thấy màn hình như sau và điều đó đồng nghĩa với việc bạn đã có thể bắt đầu kiểm thử với công cụ SoapUI

Trang 22

2 Demo sử dụng SoapUI với project

2.1 Bài toán

Module xác thực tài khoản trên hệ thống và đăng nhập

2.2 Tác nhân liên quan

User: Đăng nhập vào hệ thống sử dụng tài khoản đã đăng ký và tương tác với CSDL trên hệ thống

Trang 23

2.3 Mã nguồn và hướng dẫn

- Kiểm thử chức năng cho REST service xác thực đăng nhập - Link mã nguồn: github

- Lần lượt chọn các option theo các ảnh sau đây để tiến hành xây dựng các kiểm thử:

- Điền vào đầu api cần kiểm tra

Trang 26

- Chọn tiêu chí để đánh giá ca kiểm thử

-

- Đặt tên cho ca kiểm thử

Trang 27

- Lựa chọn các ca kiểm thử dựa trên kết quả trả về của api

- Trường hợp valid là ca kiểm thử hợp lệ.

- Trường hợp failed là ca kiểm thử thất bại và kèm theo là lỗi gây ra fail.

Trang 28

IV So sánh SoapUI với các công cụ kiểm thử khác

SoapUI không được sử dụng để kiểm thử giao diện người dùng (UI) Nó chỉ được sử dụng cho WebAPI hoặc Web Services Testing.

Selenium được sử dụng để test giao diện người dùng.

Có khả năng kiểm thử dữ liệu gửi và nhận giữa các trình duyệt và máy chủ Có thể các giao thức/công nghệ như REST, SOAP.

Không thể test giao thức nhưng thay vì đó lại có thể kiểm thử giao diện người dùng.

Có khả năng thực hiện functional, load và security testing của các công nghệ nói trên.

Selenium chỉ có thể thực hiện functional, performance testing ở một mức độ nào đó vì nó có thể theo dõi thời gian thực hiện liên quan đến hiệu suất nhưng không thể test multi user và multi ten-ancy Selenium chắc chắn không thể được sử dụng để security testing Phụ thuộc vào các giao thức chứ không

phụ thuộc vào trình duyệt.

Phụ thuộc vào khả năng của trình duyệt

Ngày đăng: 04/05/2024, 12:47

Tài liệu cùng người dùng

Tài liệu liên quan