Xây Dựng Bộ Khung Phục Vụ Việc Kiểm Thử Ứng Dụng Web Tự Động

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp an toàn thông tin xây dựng bộ khung phục vụ kiểm thử ứng dụng web tự động, vận dụng lý thuyết vào thực tế, đề xuất giải pháp cụ thể cho

Chuyên ngành

An toàn thông tin

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2023

70
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN

1.1. Mục tiêu đề tài

1.2. Phạm vi nghiên cứu

1.3. Đối tượng nghiên cứu

1.4. Phương pháp thực hiện

1.5. Cấu trúc khóa luận

2. CHƯƠNG 2: KIẾN THỨC NỀN TẢNG

2.1. Các kỹ thuật KTPM

2.2. Vòng đời kiểm thử và quy trình thực hiện kiểm thử

2.3. Phương pháp KTPM sử dụng hộp trắng

2.4. Phương pháp KTPM sử dụng hộp đen

2.5. Mô hình kiểm tra ứng dụng Web

2.5.1. Khái niệm về ứng dụng web

2.5.2. Thành phần cơ bản ứng dụng Web

2.5.3. Kiểm thử bên trong ứng dụng Web

2.5.4. Các công cụ hỗ trợ kiểm thử

3. CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

3.1. Giới thiệu chung hệ thống

3.2. Phân tích thiết kế module Metadata Collector

3.2.1. Các thành phần chính của metadata collector

3.2.2. Cơ chế hoạt động của metadata collector

3.3. Phân tích thiết kế module Vulnerability Checker

3.3.1. Các thành phần module vulnerability checker

3.4. Phân tích thiết kế module Automation test

3.4.1. Các thành phần chính của module automation test

3.4.2. Cơ chế hoạt động

3.5. Phân tích thiết kế hệ thống report

3.5.1. Các thành phần chính

3.5.2. Cơ chế hoạt động của hệ thống

4. CHƯƠNG 4: TRIỂN KHAI, THỰC NGHIỆM VÀ ĐÁNH GIÁ

4.1. Môi trường triển khai

4.2. Module metadata collector

4.3. Mô hình automation test

4.4. Thực nghiệm và đánh giá

4.4.1. Kết quả khi chạy code test web saucedemo

4.4.2. Kết quả khi chạy code test web practice

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT KHÓA LUẬN

Tóm tắt

I. Tổng Quan Về Xây Dựng Bộ Khung Kiểm Thử Ứng Dụng Web Tự Động

Bộ khung kiểm thử ứng dụng web tự động là một công cụ quan trọng trong việc đảm bảo chất lượng phần mềm. Việc xây dựng bộ khung này không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong quá trình kiểm thử. Các ứng dụng web ngày càng trở nên phổ biến, do đó, việc kiểm thử tự động là cần thiết để phát hiện lỗi và bảo mật cho người dùng.

1.1. Khái Niệm Về Kiểm Thử Tự Động

Kiểm thử tự động là quá trình sử dụng phần mềm để kiểm tra các ứng dụng mà không cần sự can thiệp của con người. Điều này giúp phát hiện lỗi nhanh chóng và hiệu quả hơn.

1.2. Lợi Ích Của Bộ Khung Kiểm Thử

Bộ khung kiểm thử tự động giúp giảm thiểu thời gian kiểm thử, tăng cường độ chính xác và đảm bảo rằng các ứng dụng hoạt động như mong đợi trước khi ra mắt.

II. Những Thách Thức Trong Việc Xây Dựng Bộ Khung Kiểm Thử Ứng Dụng Web

Việc xây dựng bộ khung kiểm thử ứng dụng web tự động gặp phải nhiều thách thức. Các vấn đề như hiệu suất, bảo mật và khả năng tương thích giữa các công cụ kiểm thử là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn Đề Về Bảo Mật

Bảo mật là một trong những thách thức lớn nhất khi xây dựng bộ khung kiểm thử. Các lỗ hổng bảo mật có thể bị khai thác nếu không được phát hiện kịp thời.

2.2. Khả Năng Tương Thích Giữa Các Công Cụ

Sự tương thích giữa các công cụ kiểm thử khác nhau có thể gây khó khăn trong việc tích hợp và sử dụng bộ khung kiểm thử một cách hiệu quả.

III. Phương Pháp Xây Dựng Bộ Khung Kiểm Thử Ứng Dụng Web Tự Động

Để xây dựng bộ khung kiểm thử ứng dụng web tự động, cần áp dụng các phương pháp và công nghệ hiện đại. Việc sử dụng các công cụ như Webdriver IO và Allure Report sẽ giúp tối ưu hóa quy trình kiểm thử.

3.1. Sử Dụng Webdriver IO

Webdriver IO là một công cụ mạnh mẽ cho phép viết các bài kiểm thử tự động bằng JavaScript, giúp tăng tốc độ và độ chính xác trong quá trình kiểm thử.

3.2. Tích Hợp Allure Report

Allure Report cung cấp báo cáo chi tiết về kết quả kiểm thử, giúp người dùng dễ dàng theo dõi và đánh giá hiệu quả của các bài kiểm thử.

IV. Ứng Dụng Thực Tiễn Của Bộ Khung Kiểm Thử Ứng Dụng Web Tự Động

Bộ khung kiểm thử ứng dụng web tự động có thể được áp dụng trong nhiều lĩnh vực khác nhau, từ thương mại điện tử đến các dịch vụ trực tuyến. Việc kiểm thử tự động giúp đảm bảo rằng các ứng dụng hoạt động ổn định và an toàn.

4.1. Kiểm Thử Ứng Dụng Thương Mại Điện Tử

Trong lĩnh vực thương mại điện tử, việc kiểm thử tự động giúp phát hiện các lỗi trong quy trình thanh toán và bảo mật thông tin khách hàng.

4.2. Kiểm Thử Các Dịch Vụ Trực Tuyến

Các dịch vụ trực tuyến cần được kiểm thử thường xuyên để đảm bảo rằng chúng hoạt động hiệu quả và không gặp phải sự cố trong quá trình sử dụng.

V. Kết Luận Về Xây Dựng Bộ Khung Kiểm Thử Ứng Dụng Web Tự Động

Việc xây dựng bộ khung kiểm thử ứng dụng web tự động là một bước đi quan trọng trong việc nâng cao chất lượng phần mềm. Các công cụ và phương pháp hiện đại sẽ giúp tối ưu hóa quy trình kiểm thử, từ đó đảm bảo an toàn và hiệu quả cho người dùng.

5.1. Tương Lai Của Kiểm Thử Tự Động

Tương lai của kiểm thử tự động sẽ tiếp tục phát triển với sự xuất hiện của các công nghệ mới, giúp nâng cao hiệu quả và độ chính xác trong quá trình kiểm thử.

5.2. Khuyến Nghị Đối Với Các Doanh Nghiệp

Các doanh nghiệp nên đầu tư vào việc xây dựng bộ khung kiểm thử tự động để đảm bảo rằng sản phẩm của họ luôn đạt chất lượng cao nhất trước khi ra mắt thị trường.

10/07/2025
Khóa luận tốt nghiệp an toàn thông tin xây dựng bộ khung phục vụ kiểm thử ứng dụng web tự động

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu tổng quan Chương 2: Kiến thức cần có, khái niệm liên quan. Chương 3: Phân tích chỉ tiết bản thiết kế của hệ thống. Triển khai, thử nghiệm và thực hiện đánh giá. Kết luận và hướng phát triển.

KIÊN THUC NEN TANG 2.1 Khái niệm KTPM Khái niệm kiểm thử của Glen Myers được xem là phổ biến nhất: “Việc kiểm thử là quá trình thực thi một chương trình với mục đích là tìm ra lỗi.2 Vòng đời kiểm thử và quy trình thực hiện kiểm thử Mục đích thực hiện kiểm thử là phân tích và thiết kế loạt trường hợp thử nghiệm để phát hiện lỗi với xác suất cao. Và dé đạt được kết quả kiểm thử tốt nhất thì ta nên lập Ta một kế hoạch thật chỉ tiết cho việc kiểm thử cũng như thực hiện các bước khác nhau và thực hiện từng bước để xác định lỗi. Phương pháp KTPM sử dụng hộp trắng Kiểm thử hộp trắng tên tiếng anh “White-Box Testing” cho phép ta thực hiện việc kiểm tra các câu trúc lệnh của một ứng dụng hay phần mén nhằm đảm bảo là toàn bộ câu lệnh cũng như các điều kiện đã thi hành ít nhất là một lần. White-Box Testing là một cách dé kiểm tra kiến trúc ở bên trong của chương trình.

Phương pháp giúp bạn có thể kiểm tra chương trình hay phần mềm hay là hệ thống khớp với toàn bộ giá trị được đưa vào, gồm cả giá trị hệ thống không chính xác hoặc không mong muốn. Khi thực hiện kiểm tra hộp trắng, điều quan trọng nhất có lẻ là phải chú ý đến đường dẫn lệnh dành cho kỹ thuật. Nếu toàn bộ đường thực thi của chương trình vượt qua tất cả trường hợp thử nghiệm, thì ta có thể xem là chương trình đó đã kiểm tra đầy đủ. White Box __ FE - ` mủ Hình 2.1 Kiểm thứ bằng hộp trắng 2.4 Phuong pháp KTPM sử dụng hộp đen Kiểm thử bằng hộp đen tên tiếng anh “Black — Box Testing” đây là một phương pháp thực thi kiểm thử mà không xem xét đến phan thiết kế bên trong của chương trình và mã nguồn.

Khi ta thực hiện kiểm thử bằng hộp đen ta chỉ quan tâm tới phần chức năng bên trong ứng dụng. Vì vậy, dạng kiểm tra này nên dựa trên phần mô tả các chức năng đã xây dựng mà chương trình hiện có dé xem nó có cung cap day đủ chức năng được mô tả trong hàm không? Kiểm thử bằng hộp đen đề cập đến việc thực hiện kiểm thử mà chỉ quan tâm đến dữ liệu ta đưa vào và dữ liệu đầu ra của hệ thống. Tuy vậy thì việc sử dụng kiểm thử bằng hộp den ta không thé thay thế được cho kiểm thử bằng hộp trắng, nó chỉ là phương pháp đề hỗ trợ để phát hiện những loại lỗi khác nữa mà thôi. Kiểm tra bằng hộp đen có thé tìm ra loại lỗi như: - Dữ liệu bên ngoài hoặc lỗi cấu trúc dữ liệu.

- Chức năng bị thiếu hoặc không hợp lệ. - Lỗi hiển thị giao diện. - Lỗi start hoặc end chương trình. - Lỗi thi hành của chương trình.

Output Black Box I—> Hình 2. Kiểm thử bằng hộp đen. Mô hình kiểm tra ứng dụng Web 2.1 Khái niệm về ứng dụng web Công nghệ phần mềm hiện nay, ứng dụng web là một ứng dụng được truy cập qua mạng, chẳng hạn như là Internet. Thành phan cơ ban ứng dụng Web Việc biết về các thành phần ứng dụng web, phần bên trong và cách mà các thành phần này tương tác qua lại với nhau sẽ cải thiện thử nghiệm của chúng ta tốt hơn.

Hệ thống Máy khách-Máy chủ: Web được chia thành ba lớp: — Phan dịch vụ dành cho người dùng — Xử lý phần dịch vụ — Dữ liệu thành phan dịch vụ.4 Kiểm thử bên trong ứng dụng Web Như đã tìm hiểu bên trên, thì ta đã có thé hiéu ứng dung web là gì, các thành phần bên trong. Bây giờ, khi nói đến kiểm thử của ứng dụng web thì ta cần xem xét những điều gì? — Kiểm thử phần giao diện dành cho người dùng. — Kiểm thử phần chức năng web. — Kiểm tra phía máy chủ.

— Kiểm tra phan cơ sở dữ liệu. — Kiểm tra khả năng bảo mật — Kiểm tra hiệu năng 2.3 Các công cụ hỗ trợ kiểm thử 2.1 Webdriver io là gì ? Webdriver io là công cụ hỗ trợ kiểm tra nguồn mở dành cho NodeJS. + Nó cho phép bạn viết các bài thử nghiệm bằng cách sử dụng Javascripts trong khung TDD hoặc BDD « — Về cơ bản, nó sẽ gửi các yêu cầu đến máy chủ. Selenium triển khai giao thức WebDriver và xử lý các phản hồi của nó.

« _ Những truy van này được gói gọn trong các lệnh hữu ích và có thể được dùng dé thực hiện tự động kiểm tra các thành phần nhất định bên trên trang web đó. * — Webdriver io là triển khai tùy chỉnh của API webdriver W3C của Selenium. Nó được viết bằng Javascript và được đóng gói dang "npm" và chạy trên Node js.1 Logo của webdriver IO 2.2 Lợi ích khi sử dụng webdriver io — Thân thiện với phần Front-end — Khai thác các điểm mạnh của Selenium — Dễ sử dụng 2.3 Các loại trình duyệt khác nhau đều được hỗ trợ bởi Webdriver io — Edge — Chrome — Firefox — Safari — PhantomJs 2.4 Các Framework testing khác nhau được Webdriver io hỗ trợ là gì? — Jasmine — Mocha — Cucumber 2.1 Khai niém Allure Report là một công cụ báo cáo thử nghiệm hỗ trợ nhiều ngôn ngữ lập trình. Nó không chỉ cung cấp cho người sử dụng một góc nhìn tông quan ngắn gọn về các bài kiểm thử đã được thử nghiệm mà nó còn cho bạn những thông tin có ích về việc thực thi, chang hạn như: xu hướng của kết quả kiểm thử, thành công và thất bại của các trường hợp đã được kiểm thử, v.

Các báo cáo này được hiển thị ở định dạng hút mắt và dé nhìn với người sử dụng. Allure ALLURE REPORT 6/17/2021 TREND bee 209 CATEGORIES EXECUTORS ENVIRONMENT FEATURES BY STORIES Hinh 2.2 Vi du vé allure report 2.2 Các tinh năng nỗi trội e Hỗ trợ đa ngôn ngữ Java, Python, JavaScript, Ruby, Groovy, PHP, .NET ° Tích hợp trên nhiều hệ thống CUCD Jenkins, TeamCity, Bamboo, Codefresh, Gradle, Maven e _ Hỗ trợ nhiều loại biểu mẫu báo cáo Allure Report hỗ trợ nhiều loại biểu mẫu báo cáo khác nhau: dạng thống kê, dạng đồ thị, dạng chỉ tiết theo suites hay từng test case, v. PHAN TÍCH THIET KE HE THONG 3.1 Giới thiệu chung hệ thống Mục đích chính luận văn là xây dựng framework có thể hỗ trợ thực hiện việc kiểm thử web tự động có khả năng lấy về những thông tin về trang web về báo cáo cũng như thực hiện quét các lỗ hồng bảo mật của trang web Framework thiết kế chủ yếu dựa vào webdriver io để tạo ra khả năng kiêm thử web nhanh và chính xác ngoài ra nó còn đồng thời cũng có thể kết hợp báo cáo (Allure report) để có một góc nhìn trực quan về phần kết quả đã thử nghiệm. Hệ thống có các thành phần như: Metadata Collector, Vulnerability Checker, Report maker, Manual test Auto test và Einal report.

Meta Data Vulnerability Collector Checker Manùal-Test Automation test Hình 3.1 Mô hình co bản của hệ thống 10 Các thành phần chủ yếu của hệ thống và chức năng của chúng mà em nghiên cứu đưa ra: URL: dữ liệu đầu vào của model kiểm thử. Tat cả URL đều có thé thực hiện test black box và một phan white box còn phan còn lại phải được khởi tạo riêng cho từng trang web. Metadata Collector đây là module thu thập các thông tin có liên quan về mã nguồn của trang web như là người sở hữu, địa chi ip, vi trí máy chủ,. Vulnerability Checker thực hiện kiểm tra lỗ héng bao mật của trang web.

Các lỗ héng kiểm tra là những lỗ hồng phổ biến của OWASP. Report maker ghi nhận lại những lỗ hồng đã được quét những lỗ hồng nào mà trang web gặp phải ,. Automation test kiểm thử tự động chức năng, giao diện các tính năng trang web dang cung cấp dành cho người sử dụng. Report: o HTML: báo cáo lại toàn bộ kết quả trả về sau khi thực hiện kiểm thử hộp đen, nếu pass sẽ lay, truy xuất những thông tin lấy được mà nó có liên quan về cho report về trang web (URL) được đưa vào.

o _ Allure Report: báo cáo chỉ tiết về toàn bộ những gì đã kiểm tra cũng như đánh giá phần công tông quan pass false của từng test case, false thì có hình anh false ở bước nào cũng như có lỗi nào dién ra trong quá trình test. o Report Maker: báo cáo chỉ tiết về việc thực hiện quét các lỗ hồng của trang web bao gồm toàn bộ các case đã thực hiện.2 Phân tích thiết kế module Metadata Collecter Hình 3.2 Sơ đồ cơ bản của metadata collecter 3.1 Các thành phần chính của metadata collecter Internet: mạng internet là cần thiết cho quá trình kiểm thử web tự động vì các trang web cần load đữ liệu thông qua internet. Ở đây tôi thực hiện kiểm thử có một số nguồn trang web có server nước ngoài nên cần nguồn internet ồn định đề có thé có được giá trị chính xác cũng như nhanh nhất. URL: địa chỉ nguồn dẫn của trang web mà chúng ta cần kiểm thử cũng như lấy thông tin.

Node JS: ở đây phần mềm được thiết kế chính dựa trên ngôn ngữ javascript nên chúng ta cần môi trường của Node JS đề có thể thực hiện việc chạy chương trình. 12 Webdriveio: tôi dùng webdriver io để thực hiện kiểm thử của mình vì nó có một tốc độ phản hồi (load, test, get data, .) và tính ôn định gần như là nhanh nhất trong các loại frame work hỗ trợ việc kiểm thử tự động thường được sử dụng. Web get data: là những trang web dùng dé cung cấp về những thông tin, dữ liệu chi tiết về trang web đang được thử nghiệm. Vì một trang web không thé có đầy đủ toàn bộ thông tin mà chúng ta cần nên tôi sử dụng một số trang web từ các nguồn khác nhau để có thể có được càng nhiều dữ liệu càng tốt.

Data Output: Dữ liệu trả về sau khi kiểm tra có thể là mã hoặc địa chỉ IP hoặc chuỗi, v.2 Cơ chế hoạt động của metadata collecter Đầu tiên cần thiết lập môi trường cần thiết cho quá trình kiểm thử ( node js, webdriver io, internet ). Hiện tại hệ thống chỉ hỗ trợ chạy trên trình duyệt chrome. Url sẽ là đầu vào chính của kiểm thử hộp den, sau khi đưa url vào chương trình chạy trên node js thi url sẽ được load lên internet thông qua webdriver io.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Xây Dựng Bộ Khung Kiểm Thử Ứng Dụng Web Tự Động" cung cấp một cái nhìn tổng quan về quy trình và phương pháp xây dựng bộ khung kiểm thử tự động cho các ứng dụng web. Tài liệu này nhấn mạnh tầm quan trọng của việc tự động hóa kiểm thử để nâng cao hiệu quả và độ chính xác trong quá trình phát triển phần mềm. Độc giả sẽ tìm thấy các bước cụ thể để thiết lập môi trường kiểm thử, cũng như các công cụ và kỹ thuật cần thiết để thực hiện kiểm thử tự động một cách hiệu quả.

Để mở rộng kiến thức về phân tích và thiết kế hệ thống, bạn có thể tham khảo tài liệu Tiểu luận đồ án môn học phân tích và thiết kế hướng đối tượng quản lý bán hàng cho chuỗi cửa hàng tiện lợi ministop, nơi cung cấp cái nhìn sâu sắc về thiết kế hệ thống quản lý. Ngoài ra, tài liệu Tiểu luận báo cáo bài tập lớn môn học phân tích thiết kế hệ thống thông tin chi tiết hệ thống và mô tả bằng biểu đồ sử dụng uml sẽ giúp bạn hiểu rõ hơn về việc sử dụng UML trong phân tích và thiết kế hệ thống. Cuối cùng, tài liệu Tiểu luận báo cáo tài liệu srs dự án website quảng bá du lịch môn phân tích quản lý yêu cầu sẽ cung cấp thông tin hữu ích về việc xây dựng yêu cầu cho các dự án web, từ đó giúp bạn áp dụng kiến thức vào thực tiễn.

Mỗi liên kết trên đều là cơ hội để bạn khám phá sâu hơn về các khía cạnh khác nhau của phân tích và thiết kế hệ thống, mở rộng kiến thức và kỹ năng của mình trong lĩnh vực này.