Tuy nhiên, muốn quản lý tốt chúng ta cần phải cócác trang web tốt, trang web phải đảm bảo có độ bảo mật cao, dễ sử dụng và không có lỗi.Chính vì thế, việc kiểm thử website hoặc phần mềm
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
Đề tài: SOAP UI
Website kiểm thử:
https://routine.vn/Giảng viên hướng dẫn: ThS Trịnh Công Nhựt
Sinh viên thực hiện:
TP Hồ Chí Minh, 12/2022
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
Đề tài: SOAP UI
Website kiểm thử:
https://routine.vn/Giảng viên hướng dẫn: ThS Trịnh Công Nhựt
Sinh viên thực hiện:
TP Hồ Chí Minh, 12/2022
Trang 3MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 4
LỜI CẢM ƠN 5
CHƯƠNG 1 SOAP UI 6
1.1 SOAP UI là gì? 6
1.2 Một số tính năng quan trọng của SOAP UI 6
1.2.1 Kiểm thử chức năng – Functional Testing: 6
1.2.2 Kiểm thử bảo mật – Security Testing: 6
1.2.3 Kiểm thử tải – Load Testing: 7
1.2.4 Hỗ trợ các giao thức và công nghệ: 7
1.3 Hướng dẫn cài đặt 8
1.4 Tạo và Test SOAP project 14
1.4.1 Tạo SOAP project 14
1.4.2 Test SOAP API 17
1.5 Tạo và test REST project 18
1.5.1 Tạo REST API sử dụng mockapi 18
1.5.2 Tạo REST project với SOAP UI 22
1.6 Minh họa (Demo) 25
CHƯƠNG 2 TEST CASES 29
Trang 42.1 Selenium IDE là gì? 29
2.2 Các thành phần của Selenium IDE 29
2.3 Các tính năng nổi bật của Selenium IDE 30
2.4 Những hạn chế của Selenium IDE 32
2.5 Tóm tắt Test case (Tiếng việt / Tiếng Anh) 33
2.6 Chi tiết Test case: 34
KẾT LUẬN 38
TÀI LIỆU THAM KHẢO 39
Trang 5LỜI NÓI ĐẦU
Hiện nay Công nghệ thông tin vô cùng phát triển thì mọi người đều sử dụng máy vi tính
để làm việc Công nghệ thông tin được áp dụng rất nhiều vào các lĩnh vực mà điển hình là lĩnhvực quản lý Tin học hóa trong quản lý giúp cho các nhà quản lý điều hành công việc một cáchkhoa học, chính xác và hiệu quả hơn
Như chúng ta đã biết tại các trường hoc, việc lưu trữ thông tin thì rất quan trọng nhưnglại còn rất thủ công, chỉ xây dựng và lưu lại trên sổ sách gây mất thời gian, khó khăn trong việcthống nhất, theo dõi và quản lý khách hàng Tuy nhiên, muốn quản lý tốt chúng ta cần phải cócác trang web tốt, trang web phải đảm bảo có độ bảo mật cao, dễ sử dụng và không có lỗi.Chính vì thế, việc kiểm thử website hoặc phần mềm là không thể thiếu vì nó đảm bảo chowebsite hoặc phần mềm của chúng ta ít lỗi nhất có thể Với kiểm thử phần mềm, nếu có bất kỳlỗi nào, nó có thể được xác định sớm và giải quyết trước khi bàn giao sản phẩm Do đó, nhómchúng em đã chọn đề tài kiểm thử với trang web “ Thời trang Routine ” với mục đích vớinghiên cứu, tìm hiểu về và xây dựng những kịch bản và test case phù hợp nhất với trang webvới mong muốn có thể tìm ra được nhiều lỗi nhất có thể của website
Do chưa có nhiều kinh nghiệm nghiên cứu, thực hành nên đề tài thực hiện còn nhiều thiếusót không đáng có, chúng em mong nhận được đóng góp ý kiến từ thầy
Chúng em xin chân thành cảm ơn
Trang 6LỜI CẢM ƠN
Báo cáo đồ án kiểm thử và chất lượng phần mềm với đề tài “” là kết quả của quá trình
cố gắng không ngừng của bản thân và được sự giúp đỡ của các Ths Trịnh Công Nhựt Chúng
em xin gửi lời cảm ơn tới những người đã giúp đỡ trong thời gian học tập - nghiên cứu vừaqua Em đã hoàn thành đúng thời hạn quy định và tích lũy được cho mình một lượng nền tảngkiến thức quý báu
Mặc dù đã cố gắng hoàn thành đề tài tốt nhất nhưng do thời gian và kiến thức còn cóhạn nên em sẽ không thể tránh khỏi những thiếu sót nhất định, rất mong nhận được sự cảmthông, chia sẻ và tận tình đóng góp chỉ bảo của quý thầy cũng như các bạn
Trang 7CHƯƠNG 1 SOAP UI 1.1 SOAP UI là gì?
SOAP UI là công cụ kiểm tra API đa nền tảng dựa trên mã nguồn mở
SOAPUI cho phép người kiểm thử thực hiện kiểm thử tự động: functional, regression, compliance, and load tests trên các API Web khác nhau
SOAPUI hỗ trợ tất cả các giao thức, công nghệ tiêu chuẩn để kiểm tra tất cả các loại API
Giao diện SOAPUI rất đơn giản cho phép cả người dùng kỹ thuật và phi kỹ thuật sử dụng
dễ dàng
1.2 Một số tính năng quan trọng của SOAP UI
1.2.1
Kiểm thử chức năng – Functional Testing:
Một công cụ mạnh mẽ cho phép tester viết Functional API Tests trong SOAP UI
Hỗ trợ tính năng kéo-thả mà làm tăng tốc độ phát triển script
Hỗ trợ gỡ lỗi và cho phép tester phát triển data driven tests
1.2.2
Kiểm thử bảo mật – Security Testing:
Ngăn chặn SQL Injection để bảo đảm cơ sở dữ liệu
Thực hiện Fuzzing scan và Boundary scan để tránh những hành vi thất thường của các dịch vụ
Trang 81.2.3
Kiểm thử tải – Load Testing:
Kiểm thử khả năng chịu tải của một ứng dụng web sử dụng loadUI Sau khi thực hiện kiểm tra tải, LoadUI sẽ tạo ra một bản báo cáo, giúp xác định liệu các ứng dụng có thể chịu tải nặng hay không
Kiểm thử khả năng chịu tải của một ứng dụng web sử dụng loadUI
Mô phỏng mức độ cao và kiểm thử tải thực tế một cách dễ dàng
Cho phép tùy chỉnh báo cáo chi tiết để nắm bắt các thông số hiệu suất
1.2.4 Hỗ trợ các giao thức và công nghệ:
Trang 11Lưu ý: Nếu bạn chọn cài đặt HermesJMS, bạn sẽ phải chấp nhận thỏa thuận cấp phép
HermesJMS
Nếu bạn chọn cài đặt các hướng dẫn SoapUI, hãy chỉ định thư mục mà bạn muốn cài đặt chúng
Trang 12Sau đó, bạn sẽ có thể chọn thư mục Menu Bắt đầu nơi bạn muốn thêm phím tắt SoapUI
và liệu bạn có muốn thêm biểu tượng máy tính để bàn hay không
Trang 13Cuối cùng, bằng cách nhấp vào Tiếp theo , quá trình cài đặt sẽ bắt đầu.
Sau tối đa vài phút, quá trình cài đặt sẽ hoàn tất và bạn sẽ thấy màn hình tiếp theo
Trang 14Chọn Finish để kết thúc.
1.4 Tạo và Test SOAP project
1.4.1 Tạo SOAP project
Trên menu, chọn File -> New SOAP Project:
Trang 15Nhập tên project và địa chỉ đến file wsdl của WS.
Trang 16Chọn Create sample request -> OK Chúng ta có kết quả sau:
Trang 17Double click lên tên project để xem thêm thông tin về project, nhập thông tin username/password để truy cập WS nếu có.
Trang 181.4.2 Test SOAP API
Thực hiện theo các bước như hình sau để test API insert:
(1) : Double click để mở cửa sổ test API insert
(2) : Nhập data test
(3) : Gửi request
(4) : Kết quả trả về (response)
(5) : Nhập thông tin chứng thực, header, … nếu có
(6) : Chọn show log nếu cần
Tương tự, chúng ta sẽ thử với API getAll():
Trang 191.5 Tạo và test REST project
1.5.1 Tạo REST API sử dụng mockapi
Truy cập vào địa chỉ https://www.mockapi.io và đăng ký một tài khoản.Tạo mới một project:
Trang 20Nhập thông tin project như sau:
Sau khi chọn Create, một project được tạo ra Các bạn hãy lưu ý địa chỉ API đượcmockapi cung cấp, chúng ta sẽ sử dụng địa chỉ này để test trong SOAP UI
Trang 21Nhấn nút New resource để tạo mới resource cho project:
Trang 22Nhập tên resources, chẳng hạn users -> Create.
Sau khi đã tạo resource, chọn (1) Generate all để tạo data test
Trang 23Mặc định mockAPI, sẽ tạo 50 data test.
1.5.2 Tạo REST project với SOAP UI
Tương tự như tạo SOAP project, để tạo REST project, chúng ta vào menu File -> New REST Project:
Nhập địa chỉ REST API để test, trong ví dụ này, chúng ta sẽ nhập địa chỉ mà mockapi đã cung cấp cho chúng ta ở bước trên:
Trang 24Một REST project được tạo ra như sau:
(1) Thông tin project
(2) Địa chỉ REST WS
(3) Resource được cung cấp bởi WS
(4)-(5) Tham số của request
(6) Kết quả trả về (response)
(7) Nhập thông tin chứng thực, header, … nếu có
(8) Chọn show log nếu cần
Một số resouce (phương thức) được mockapi, cung cấp như sau:
Trang 25Chúng ta sẽ test thử với GET users:
Trang 26Tương tự, các bạn hãy thử với các resource khác.
1.6 Minh họa (Demo)
Để demo cho SOAP UI thì chúng em đã sử dụng phần mềm để viết 1 product kiểm tra chươngtrình tính số nguyên Đầu tiên là nhập tên chương trình và đường dẫn tới file hoặc website cầnkiểm tra
Trang 27Sau khi tạo project thì sẽ hiện file calculator
Bấm vào calculator → CalculatorSoap → Add → Request 1 sẽ hiện ra bảng chạy chương trìnhbên phải
Trang 28Nhập 2 số cần tính thay thế vào “ ? ” và bấm submit sẽ cho ra kết quả của phép cộng
Trang 29Tương tự với các ví dụ còn lại.
Trang 30CHƯƠNG 2 TEST CASES2.1 Selenium IDE là gì?
Selenium là một automation testing framework miễn phí (mã nguồn mở)
Nó được sử dụng để kiểm thử các ứng dụng web trên các trình duyệt (chrome, firefox,
ms edge, …) và nền tảng khác nhau (Windows, Mac, Linux, …) Selenium hỗ trợ nhiều loại ngôn ngữ lập trình như: Java, C #, Python, để tạo ra các bộ test script
2.2 Các thành phần của Selenium IDE
1 Selenium IDE: Selenium Integrated Development Environment (IDE) là một plugin trêntrình duyệt Chrome và Firefox Ta có thể sử dụng chúng để ghi và phát lại (record and playback) các tương tác của người dùng theo một quy trình hay một test case nào đó
2 Selenium RC: Selenium Remote Control (RC), Selenium server khởi chạy và tương tác với trình duyệt web
Năm 2008, Selenium team đã quyết định gộp Selenium RC và WebDriver để tạo ra Selenium 2 với nhiều tính năng mạnh mẽ hơn, mà hiện nay phần lớn các project
Trang 312.3 Các tính năng nổi bật của Selenium IDE
Tới thời điểm hiện tại, Selenium luôn nằm trong danh sách Top 10 Testing Automation Tools, vậy điều gì khiến Selenium có thể thu hút được lượng lớn người sử dụng? Đó chính là nhờ các tính năng nổi bật của Selenium
1 Selenium là mã nguồn mở Do đó, mọi người có thể download source code về sử dụng,
và thay đổi tùy theo nhu cầu
2 Cộng đồng sử dụng rộng rãi Thường xuyên được phát triển và cải tiến mạnh mẽ
3 Hỗ trợ cho nhiều trình duyệt như Chrome, Firefox, Safari, Internet Explorer, Opera, vàMicrosoft Edge
4 Hỗ trợ trên nhiều hệ điều hành: MacOS, Linux, Windows và UNIX
5 Các test case có thể được viết bằng nhiều ngôn ngư khác nhau như: Java, C#, Ruby, JavaScript, Python,… Ngoài ra, với mỗi ngôn ngữ lập trình, đều có các framework hỗ trợ như:
Trang 326 Với Selenium GRID, các test case có thể được thực thi trên nhiều máy khác nhau cùngmột lúc, giúp cho quá trình thực thi test được diễn ra nhanh hơn.
Trang 337 Có thể kết hợp với các hệ thống CI/CD như Jenkins, CricleCI để đẩy nhanh tiến độ kiểmtra, từ đó có thể rút ngắn thời gian release sản phẩm.
8 Hỗ trợ mobile testing Bạn có thể kết hợp Selenium với một số tool như Appium,
Selendroid để có thể tiến hành kiểm thử các ứng dụng mobile như: native, hybrid, và web mobile app
2.4 Những hạn chế của Selenium IDE
Vì Selenium là mã nguồn mở, nên các hỗ trợ về technical đều không hoàn toàn đáng tin cậy 100% Các bạn phải tự đánh giá, kiểm chứng trước khi áp dụng cho dự án của bạn
Không giống như một số automation testing tools hỗ trợ IDE, với Selenium bạn phải bỏ nhiều thời gian để học và viết test case
(Selenium WebDriver là tool được sử dụng nhiều nhất trong bộ Selenium, tuy nhiên thì
nó không hỗ trợ IDE như Selenium IDE, nên bắt buộc chúng ta phải viết step by step cho mỗi test case)
Nếu không sử dụng các framework có sẵn như WebdriverIO, Jasmine, thì việc cài đặt Selenium rất phức tạp vì nó sử dụng các công cụ và plugin khác nhau để hỗ trợ
automation testing Và chúng ta cần phải cấu hình chúng một cách thủ công
Ít hỗ trợ cho Image Testing Với Selenium, để có thể kiểm chứng hình ảnh một cách chính xác, bạn cần phải kết hợp với một third-party software như Sikuli hoặc OpenCV
Không hỗ trợ built-in reporting Tuy nhiên, bạn có thể sử dụng một số reporting library như Allure Reporting, junit reporting,
Trang 342.5 Tóm tắt Test case (Tiếng việt / Tiếng Anh)
Advanced Author
Trang 352.6 Chi tiết Test case:
01 Nhận thông tin qua email
1 Truy cập trang https://routine.vn/
2 Click và điền hoanghong1253 vào tham gia bảng tin cùng chúng tôi
3 Kết quả địa chỉ email không hợp lệ
4 Click và điền hoanghong1253@gmail.comvào tham gia bảng tin cùng chúng tôi
5 Kết quả success
Cửa hàngkhông nhậnemail khônghợp lệ, nhận
và gửi thông
ti cho emailhợp lệ
Pass
02 Xem lịch sử đơn hàng
1 Truy cập trang https://routine.vn/
2 Click vào membership
3 Click vào lịch sử mua hàng
4 Tại đơn hàng chọn mua tại cửa hàng
5 Tại đơn hàng chọn mua online
Hiển thịđúng thôngtin đơn hàngcủa khách
Pass
03 Cập nhật thông tin cá nhân
1 Truy cập trang https://routine.vn/
2 Click vào membership
3 Click vào thông tin tài khoản
4 Nhập họ: Hoàng
5 Nhập tên: Hồng
6 Click vào cập nhật thông tin
Cập nhật đúng thông
04
Đăng xuất khỏi
website 1 Truy cập trang https://routine.vn/2 CLick vào membership
3 Click vào đăng xuất
Thoát tài khoản và trở
05
Thêm địa chỉ giao
hàng
1 Truy cập trang https://routine.vn/
2 Click vào tài khoản cá nhân
3 Click vào địa chỉ giao hàng
4 Click vào thêm địa chỉ mới
5 Nhập thông tin + Click xác nhận
Lưu lại thông tin như người dùng nhập
Pass
Trang 3606 So sánh SALE OFF của cửa hàng
1 Truy cập trang https://routine.vn/
2 Di chuyển chuột vào NAM + CLick vào end of season
3 Click vào SALE OFF 70%
4 Click vào SALE OFF
5 CLick vào SALE OFF 70%
So sánh số lượng sản phẩm của 2 trang SALE OFF
Số lượng sản phẩm 2 trang bằng nhau
Pass
07 Nhập tài khoản không tồn tại khi
đăng nhập
1.Truy cập trang https://routine.vn/
2.Click vào Đăng nhập3.Nhập tài khoản, mật khẩu bất kỳ4.Click vào đăng nhập
Kết quả mong đợi:
Đăng nhập không thànhcông
Pass
08 Xóa sản phẩm trong giỏ hàng
1 Truy cập trang https://routine.vn/
2 Chọn phụ kiện => mũ
3 Chọn sản phẩm
4 Chọn giỏ hàng và xóa sản phẩm
Hiển thị thông báo giỏ hàng không có sản phẩm
Pass
10 Quên mật khẩu 1.Truy cập trang https://routine.vn/2 Bấm vào quên mật khẩu
3 Nhập số điện thoại và mã OTP
Hiển thị về trang đăng
11 Tuyển dụng 1.Truy cập trang https://routine.vn/2 Bấm vào xem tuyển dụng
3 Nhập bomber
Không có nhu cầu
Trang 3713 Tìm kiếm sản phẩm 1.Truy cập trang https://routine.vn/2 Bấm vào tìm kiếm
3 Nhập thông tin sản phẩm cần tìm
Tìm thấy sản phẩm
15 Thêm sản phẩm trong giỏ hàng
1.Truy cập trang https://routine.vn/
2 Bấm vào giỏ hàng
3 Bấm thêm sản phẩm đã chọn trong giỏ hàng
Thêm sản phẩm thành
16 Đăng ký tài khoản 1.Truy cập trang https://routine.vn/2 Bấm vào đăng ký tài khoản
3 Nhập thông tin
Đăng ký tài khoản thành
17 Xóa địa chỉ giao hàng 1.Truy cập trang https://routine.vn/2 Bấm vào địa chỉ
3 Xóa thông tin địa chỉ
Xóa thông tin thành
1.Truy cập trang https://routine.vn/
2 Bấm vào sản phẩm
3 thêm sản phẩm vào giỏ hàng
4 so sánh số tiền trong giỏ hàng với số tiền sản phẩm
Số tiền bằng
19 Sắp xếp sản phẩm theo giá tăng dần
1.Truy cập trang https://routine.vn/
2 Bấm vào chức năng sắp xếp tăng dần
3 so sánh số tiền trong giỏ hàng với số tiền sản phẩm
So sánh tăng
Trang 39KẾT LUẬN Kết quả đạt được
Xây dựng test case website quản lý nói chung và test case trang web bán quần áo routinekhông chỉ là việc xây dựng đơn thuần mà đòi hỏi trước đó phải tiến hành một cách có hệ thốngcác giai đoạn khảo sát
Qua việc nghiên cứu xây dựng đề tài này, chúng em đã phần nào củng cố được các kiếnthức về kiểm thử và nắm được cách làm thế nào để xây dựng được các test case từ một trangweb Từ đó, chúng em có thể xây dựng được những test case từ các trang web tương tự như:quản lý thư viện, quản lý nhân sự, quản lý khách sạn, …
Mặt hạn chế
Để xây dựng được một kịch bản và test case kiểm thử tốt cần đầu tư chi phí vào máymóc, nhân sự
Một số test case trong website vẫn chưa giải quyết được hết
Chưa thể đảm bảo website hoàn toàn hết lỗi
Trang 41TÀI LIỆU THAM KHẢO
https://tech.cybozu.vn/tong-quan-ve-selenium-va-vai-tro-cua-cac-thanh-phan-%20Development,m%E1%BB%99t%20test%20case%20n%C3%A0o