Nghiên Cứu và Ứng Dụng Công Cụ Kiểm Thử Selenium Trong Kiểm Thử Website

Chuyên khảo phân tích Nghiên cứu và ứng dụng công cụ kiểm thử selenium trong kiểm thử website, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

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

2023

110
4
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC

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

DANH MỤC CÁC BẢNG

DANH MỤC HÌNH ẢNH

PHẦN MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

1.1. Tổng quan về kiểm thử phần mềm

1.1.1. Khái niệm kiểm thử phần mềm

1.2. Các mức độ kiểm thử (level)

1.3. Phương pháp (kỹ thuật) kiểm thử

1.3.1. Black box testing

1.3.2. White box testing

1.3.3. Gray box testing

2. NGHIÊN CỨU CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM

2.1. Khái quát về công cụ kiểm thử tự động Selenium

2.2. Đặc điểm của công cụ kiểm thử Selenium

2.3. Các thành phần của Selenium

3. PHÂN TÍCH VÀ XÂY DỰNG WEBSITE QUẢN LÝ BÁN GIÀY CANDY STORE

3.1. Phân tích bài toán đặt ra

3.2. Phân tích các chức năng của hệ thống

3.3. Sơ đồ hoạt động một số chức năng website

3.4. Một số giao diện chức năng của website cho người dùng

3.5. Một số giao diện chức năng của website cho người quản lý (admin)

4. CHƯƠNG 4: ỨNG DỤNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM WEBDRIVER VÀO KIỂM THỬ WEBSITE BÁN GIÀY CANDYSTORE

4.1. Cài đặt phần mềm

4.2. Tạo testcase và kiểm thử một số chức năng của website

KẾT LUẬN VÀ KIẾN NGHỊ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về Nghiên cứu Ứng dụng Công cụ Kiểm thử Selenium

Nghiên cứu ứng dụng công cụ kiểm thử Selenium trong kiểm thử website đang trở thành một xu hướng quan trọng trong ngành công nghệ thông tin. Selenium là một công cụ mã nguồn mở, cho phép tự động hóa kiểm thử các ứng dụng web trên nhiều trình duyệt khác nhau. Việc áp dụng Selenium 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ử. Bài viết này sẽ đi sâu vào các khía cạnh của Selenium và cách nó được ứng dụng trong kiểm thử website.

1.1. Khái niệm về Công cụ Kiểm thử Selenium

Công cụ kiểm thử Selenium là một bộ công cụ mạnh mẽ cho phép kiểm thử tự động các ứng dụng web. Selenium WebDriver, một thành phần chính của Selenium, hỗ trợ nhiều ngôn ngữ lập trình và trình duyệt khác nhau, giúp kiểm thử viên dễ dàng thực hiện các kịch bản kiểm thử phức tạp.

1.2. Lợi ích của việc sử dụng Selenium trong kiểm thử

Việc sử dụng Selenium trong kiểm thử website mang lại nhiều lợi ích như giảm thiểu thời gian kiểm thử, tăng độ chính xác và khả năng tái sử dụng kịch bản kiểm thử. Điều này giúp các nhà phát triển phần mềm tiết kiệm chi phí và nâng cao chất lượng sản phẩm.

II. Vấn đề và Thách thức trong Kiểm thử Website

Mặc dù việc ứng dụng Selenium trong kiểm thử website mang lại nhiều lợi ích, nhưng cũng tồn tại không ít thách thức. Các vấn đề như sự phức tạp của giao diện người dùng, sự thay đổi liên tục của mã nguồn và yêu cầu về khả năng tương thích giữa các trình duyệt đều có thể gây khó khăn cho quá trình kiểm thử.

2.1. Các vấn đề thường gặp trong kiểm thử tự động

Một trong những vấn đề lớn nhất là việc duy trì các kịch bản kiểm thử khi có sự thay đổi trong mã nguồn. Điều này có thể dẫn đến việc các kịch bản kiểm thử trở nên lỗi thời và không còn chính xác.

2.2. Thách thức về khả năng tương thích giữa các trình duyệt

Selenium hỗ trợ nhiều trình duyệt khác nhau, nhưng việc đảm bảo rằng ứng dụng hoạt động nhất quán trên tất cả các trình duyệt vẫn là một thách thức lớn. Các nhà phát triển cần phải kiểm tra kỹ lưỡng để phát hiện và khắc phục các lỗi tương thích.

III. Phương pháp Kiểm thử với Selenium WebDriver

Để thực hiện kiểm thử hiệu quả với Selenium WebDriver, cần có một quy trình rõ ràng và các phương pháp kiểm thử phù hợp. Việc xây dựng các kịch bản kiểm thử chi tiết và sử dụng các công cụ hỗ trợ sẽ giúp tối ưu hóa quy trình kiểm thử.

3.1. Cài đặt và cấu hình Selenium WebDriver

Cài đặt Selenium WebDriver yêu cầu một số bước cơ bản như tải xuống các thư viện cần thiết và cấu hình môi trường phát triển. Việc này đảm bảo rằng các kịch bản kiểm thử có thể chạy mượt mà trên các trình duyệt mục tiêu.

3.2. Xây dựng kịch bản kiểm thử hiệu quả

Xây dựng kịch bản kiểm thử hiệu quả là rất quan trọng. Các kịch bản này cần phải rõ ràng, dễ hiểu và có thể tái sử dụng. Việc sử dụng các phương pháp như Page Object Model sẽ giúp tổ chức mã nguồn và giảm thiểu sự trùng lặp.

IV. Ứng dụng Thực tiễn của Selenium trong Kiểm thử Website

Selenium đã được áp dụng rộng rãi trong nhiều dự án kiểm thử website, từ các ứng dụng thương mại điện tử đến các hệ thống quản lý nội dung. Các kết quả từ việc ứng dụng Selenium cho thấy sự cải thiện rõ rệt về hiệu suất và độ chính xác trong kiểm thử.

4.1. Kết quả kiểm thử trên website Candy Store

Trong nghiên cứu này, việc ứng dụng Selenium WebDriver vào kiểm thử website Candy Store đã cho thấy khả năng phát hiện lỗi cao hơn so với các phương pháp kiểm thử thủ công. Các kịch bản kiểm thử tự động đã giúp tiết kiệm thời gian và nâng cao chất lượng sản phẩm.

4.2. Phân tích hiệu suất kiểm thử

Phân tích hiệu suất kiểm thử cho thấy rằng việc sử dụng Selenium không chỉ giúp phát hiện lỗi nhanh chóng mà còn giảm thiểu thời gian kiểm thử tổng thể. Điều này cho phép các nhà phát triển tập trung vào việc cải thiện các tính năng của sản phẩm.

V. Kết luận và Tương lai của Kiểm thử Website với Selenium

Kết luận từ nghiên cứu cho thấy rằng Selenium là một công cụ mạnh mẽ trong kiểm thử website. Tương lai của kiểm thử tự động sẽ tiếp tục phát triển với sự hỗ trợ của các công nghệ mới, giúp nâng cao hiệu quả và độ chính xác trong kiểm thử.

5.1. Xu hướng phát triển của kiểm thử tự động

Xu hướng phát triển của kiểm thử tự động đang ngày càng gia tăng, với sự xuất hiện của các công cụ và công nghệ mới. Selenium sẽ tiếp tục đóng vai trò quan trọng trong việc tự động hóa quy trình kiểm thử.

5.2. Tương lai của Selenium trong kiểm thử phần mềm

Selenium sẽ không ngừng cải tiến và mở rộng khả năng của mình, giúp các nhà phát triển và kiểm thử viên có thể thực hiện kiểm thử hiệu quả hơn. Việc tích hợp với các công nghệ mới như AI và Machine Learning sẽ mở ra nhiều cơ hội mới cho kiểm thử tự động.

11/07/2025
Nghiên cứu và ứng dụng công cụ kiểm thử selenium trong kiểm thử website

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

CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1. Tổng quan về kiểm thử phần mềm 1.1 Khái niệm kiểm thử phần mềm Kiểm thử phần mềm là quá trình phê chuẩn và xác minh xem một chương trình máy tính/ ứng dụng/ sản phẩm: • Đáp ứng các yêu cầu hướng dẫn thiết kế và phát triển của nó • Hoạt động như mong đợi như mong đợi và đáp ứng nhu cầu của các bên liên quan • Có thể thực hiện được với các đặc điểm khác nhau [2]. Các mức độ kiểm thử (level) Mức độ của kiểm thử phần mềm được chia thành 4 mức độ thể hiện như Hình 1.1: Các mức độ kiểm thử 1. Kiểm thử đơn vị (Unit Test) 3 Downloaded by MAI ??I CÁT (maingoc0911.com) Một đơn vị (Unit) là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm thử được, ví dụ: các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method).

Kiểm thử đơn vị thường do lập trình viên thực hiện. Công đoạn này cần được thực hiện càng sớm càng tốt trong giai đoạn viết code và xuyên suốt chu kỳ phát triển phần mềm. Mục đích của kiểm thử đơn vị là bảo đảm thông tin được xử lý và kết xuất (khỏi Unit) là chính xác, trong mối tương quan với dữ liệu nhập và chức năng xử lý của Unit. Điều này thường đòi hỏi tất cả các nhánh bên trong Unit đều phải được kiểm tra để phát hiện nhánh phát sinh lỗi.

Cũng như các mức kiểm thử khác, kiểm thử đơn vị cũng đòi hỏi phải chuẩn bị trước các ca kiểm thử (hay trường hợp kiểm thử) (test case) hoặc kịch bản (test script), trong đó chỉ định rõ dữ liệu vào, các bước thực hiện và dữ liệu mong muốn sẽ xuất ra. Các test case và test script được giữ lại để sử dụng sau này[5]. Kiểm thử tích hợp (Integration Test) Kiểm thử tích hợp kết hợp các thành phần của một ứng dụng và kiểm thử như một ứng dụng đã hoàn thành. Trong khi kiểm thử đơn vị kiểm tra các thành phần và Unit riêng lẻ thì kiểm thử tích hợp kết hợp chúng lại với nhau và kiểm tra sự giao tiếp giữa chúng.

Kiểm thử tích hợp có hai mục tiêu chính là: + 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 con (gọi là subsystem) và cuối cùng là nguyên hệ thống hoàn chỉnh chuẩn bị cho kiểm thử ở mức hệ thống (system test). Có 4 loại kiểm thử trong kiểm thử tích hợp như sau: 4 Downloaded by MAI ??I CÁT (maingoc0911.com) + Kiểm thử cấu trúc (Structure test): 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): 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[5]. Kiểm thử hệ thống (System Test) Mục đích của kiểm thử hệ thống là kiểm thử xem thiết kế và toàn bộ hệ thống (sau khi tích hợp) có thỏa mãn yêu cầu đặt ra hay không. Kiểm thử hệ thống kiểm tra cả các hành vi chức năng của phần mềm lẫn các yêu cầu về chất lượng như độ tin cậy, tính tiện lợi khi sử dụng, hiệu năng và bảo mật. Kiểm thử hệ thống bắt đầu khi tất cả các bộ phận của phần mềm đã được tích hợp thành công.

Thông thường loại kiểm thử này tốn rất nhiều công sức và thời gian. Trong nhiều trường hợp, việc kiểm thử đòi hỏi một số thiết bị phụ trợ, phần mềm hoặc phần cứng đặc thù, đặc biệt là các ứng dụng thời gian thực, hệ thống phân bố, hoặc hệ thống nhúng. Ở mức độ hệ thống, người kiểm thử cũng tìm kiếm các lỗi, nhưng trọng tâm là đánh giá về hoạt động, thao tác, sự tin cậy và các yêu cầu khác liên quan đến chất lượng của toàn hệ thống. Điểm khác nhau then chốt giữa kiểm thử tích hợp và kiểm thử hệ thống là kiểm thử hệ thống chú trọng các hành vi và lỗi trên toàn hệ thống, còn kiểm thử tích hợp chú trọng sự giao tiếp giữa các đơn thể hoặc đối tượng khi chúng làm việc cùng nhau.

Thông thường ta phải thực hiện kiểm thử đơn vị và kiểm thử tích hợp để bảo đảm mọi Unit và sự tương tác giữa chúng hoạt động chính xác trước khi thực hiện kiểm thử hệ thống. 5 Downloaded by MAI ??I CÁT (maingoc0911.com) Sau khi hoàn thành kiểm thử tích hợp, một hệ thống phần mềm đã được hình thành cùng với các thành phần đã được kiểm tra đầy đủ. Tại thời điểm này, lập trình viên hoặc kiểm thử viên (Tester) bắt đầu kiểm thử phần mềm như một hệ thống hoàn chỉnh. Việc lập kế hoạch cho kiểm thử hệ thống nên bắt đầu từ giai đoạn hình thành và phân tích các yêu cầu.

Đòi hỏi nhiều công sức, thời gian và tính chính xác, khách quan, kiểm thử hệ thống được thực hiện bởi một nhóm kiểm tra viên hoàn toàn độc lập với nhóm phát triển dự án để đảm bảo tính chính xác và khách quan. Kiểm thử hệ thống thường có các loại kiểm thử sau: + Kiểm thử chức năng (Functional test): Bảo đảm các hành vi của hệ thống thỏa mãn đúng yêu cầu thiết kế. + Kiểm thử khả năng vận hành (Performance test): Bảo đảm tối ưu việc phân bổ tài nguyên hệ thống (ví dụ bộ nhớ) nhằm đạt các chỉ tiêu như thời gian xử lý hay đáp ứng câu truy vấn,. + Kiểm thử khả năng chịu tải (Stress test hay Load test): Bảo đảm hệ thống vận hành đúng dưới áp lực cao (ví dụ nhiều người truy xuất cùng lúc).

Stress test tập trung vào các trạng thái tới hạn, các "điểm chết", các tình huống bất thường như đang giao dịch thì ngắt kết nối (xuất hiện nhiều trong test thiết bị như POS, ATM),. + Kiểm thử cấu hình (Configuration test): Đảm bảo hệ thống hoạt động tương thích với các loại phần cứng khác nhau. + Kiểm thử khả năng bảo mật (Security test): Bảo đảm tính toàn vẹn, bảo mật của dữ liệu và của hệ thống. + Kiểm thử khả năng phục hồi (Recovery test): Bảo đảm hệ thống có khả năng khôi phục trạng thái ổn định trước đó trong tình huống mất tài nguyên hoặc dữ liệu; đặc biệt quan trọng đối với các hệ thống giao dịch như ngân hàng trực tuyến[5].

Kiểm thử chấp nhận sản phẩm (Acceptance Test) 6 Downloaded by MAI ??I CÁT (maingoc0911.com) Mục đích của kiểm thử chấp nhận là kiểm thử khả năng chấp nhận cuối cùng để chắc chắn rằng sản phẩm là phù hợp và thỏa mãn các yêu cầu của khách hàng và khách hàng chấp nhận sản phẩm. Trong giai đoạn kiểm thử chấp nhận thì người kiểm tra là khách hàng. Khách hàng sẽ đánh giá phần mềm với mong đợi theo những thao tác sử dụng quen thuộc của họ. Việc kiểm tra ở giai đoạn này có ý nghĩa hết sức quan trọng tránh cho việc hiểu sai yêu cầu cũng như sự mong đợi của khách hàng.

Gắn liền với giai đoạn kiểm thử chấp nhận thường là một nhóm những dịch vụ và tài liệu đi kèm, phổ biến như hướng dẫn cài đặt, sử dụng, v.v…Tất cả tài liệu đi kèm phải được cập nhật và kiểm tra chặt chẽ[5]. Phương pháp (kỹ thuật) kiểm thử 1.1 : Black box testing: Là phương pháp test dựa trên đầu vào và đầu ra của chương trình không quan tâm tới code bên trong được viết ra sao. Kiểm thử hộp đen tập trung vào các yêu cầu chức năng của phần mềm. Kiểm thử hộp đen cho phép người kiểm thử xây dựng các nhóm giá trị đầu vào sẽ thực thi đầy đủ tất cả các yêu cầu chức năng của chương trình.

Phương pháp này không thay thế kỹ thuật kiểm thử hộp trắng, nhưng nó bổ sung khả năng phát hiện các lớp lỗi khác với các phương pháp hộp trắng[3]. Chính vì cơ chế như vậy nên phương pháp này có các ưu nhược điểm thể hiện như Bảng 1.1: Ưu điểm Nhược điểm - Rất phù hợp và hiệu quả khi mà số - Bị giới hạn ở độ bao phủ của các trường lượng các dòng lệnh của hệ thống là lớn. hợp kiểm thử. - Không cần truy cập vào các dòng lệnh.

- Sẽ không hiệu quả bởi thực tế các tester bị giới hạn kiến thức về hệ thống. 7 Downloaded by MAI ??I CÁT (maingoc0911.com) Ưu điểm Nhược điểm - Phân biệt được rõ ràng quan điểm của - Độ bao phủ sẽ bị thiếu vì tester không người dùng với quan điểm của nhà phát kiểm tra được các đoạn lệnh của hệ thống triển. hoặc tập trung vào các dòng lệnh dễ xảy ra lỗi. - Không cần đòi hỏi những kiến thức về - Sẽ khó để có thể thiết kế đầy đủ các ngôn ngữ lập trình ở các tester để có thể trường hợp kiểm thử.

kiểm thử hệ thống.1: Ưu và nhược điểm của phương pháp Black Box testing.2 : White box testing: Kiểm thử hộp trắng hay còn gọi là kiểm thử hướng logic, cho phép kiểm tra cấu trúc bên trong của phần mềm với mục đích bảo đảm rằng tất cả các câu lệnh và điều kiện sẽ được thực hiện ít nhất một lần. Người kiểm thử truy nhập vào mã nguồn chương trình và có thể kiểm tra nó, lấy đó làm cơ sở để hỗ trợ việc kiểm thử[3].2 bên dưới là các ưu, nhược điểm của phương pháp này: Ưu điểm Nhược điểm - Đối với những tester có kiến thức về - Trên thực tế việc sử dụng các tester có ngôn ngữ lập trình sẽ rất dễ dàng để kiến thức về ngôn ngữ lập trình sẽ làm gia phát hiện ra những lỗi ở trong các dòng tăng giá thành để phát triển phần mềm. - Giúp tối ưu hóa các dòng lệnh của hệ - Đôi lúc sẽ là không khả thi khi kiểm tra thống. chi tiết từng dòng lệnh để có thể từ đó phát hiện ra các lỗi tiềm ẩn của hệ thống, có rất nhiều các luồng không thể kiểm tra được.

8 Downloaded by MAI ??I CÁT (maingoc0911.com) Ưu điểm Nhược điểm - Các dòng lệnh không cần thiết hoặc - Rất khó để duy trì phương pháp này liên các dòng lệnh có khả năng mang đến tục, cần phải có những tool chuyên biệt các lỗi tiềm ẩn sẽ bị loại bỏ. như tool về phân tích code hay tool về phát hiện lỗi và sửa lỗi.

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

Tài liệu "Nghiên Cứu Ứng Dụng Công Cụ Kiểm Thử Selenium Trong Kiểm Thử Website" cung cấp cái nhìn sâu sắc về việc sử dụng Selenium, một công cụ kiểm thử tự động, trong việc kiểm tra chất lượng và hiệu suất của các trang web. Tài liệu này không chỉ giải thích cách thức hoạt động của Selenium mà còn nêu bật những lợi ích mà nó mang lại, như tiết kiệm thời gian, tăng độ chính xác và khả năng tái sử dụng các kịch bản kiểm thử. Đặc biệt, nó giúp các nhà phát triển và kiểm thử viên hiểu rõ hơn về quy trình kiểm thử tự động, từ đó nâng cao chất lượng sản phẩm cuối cùng.

Nếu bạn muốn mở rộng kiến thức của mình về lĩnh vực này, hãy tham khảo thêm tài liệu Đồ án kiểm thử phần mềm áp dụng seleniumide vào kiểm thử phần mềm asp net mvc, nơi bạn sẽ tìm thấy ứng dụng cụ thể của Selenium trong môi trường ASP.NET MVC. Ngoài ra, tài liệu Báo cáo đồ án kết thúc môn học chuyên ngành công nghệ thông tin ứng dụng selenium trong kiểm thử website di động sẽ giúp bạn hiểu rõ hơn về việc áp dụng Selenium trong kiểm thử các ứng dụng di động. Cuối cùng, tài liệu Giáo trình kiểm thử phần mềm cung cấp kiến thức toàn diện về các phương pháp và kỹ thuật kiểm thử phần mềm, giúp bạn nắm vững hơn về lĩnh vực này.