Kiểm Thử Ứng Dụng Trên Nền Web Bằng Công Cụ Selenium

Khóa luận tốt nghiệp trình bày phương pháp kiểm thử ứng dụng web hiệu quả bằng công cụ Selenium, giúp nâng cao chất lượng phần mềm.

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

2022

74
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. PHẦN I: MỞ ĐẦU

1.1. Tên đề tài “Kiểm thử ứng dụng trên nền web bằng công cụ selenium”

1.2. Đặt vấn đề

1.3. Mục đích – Yêu cầu

2. PHẦN II: TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC

2.1. Tình hình nghiên cứu trong nước

2.2. Tình hình nghiên cứu ngoài nước

2.3. Đề tài và tính thời sự, tầm quan trọng của đề tài

3. PHẦN III: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU

3.1. Địa điểm và thời gian nghiên cứu - Nội dung nghiên cứu - Phương pháp nghiên cứu

4. PHẦN IV: KẾT QUẢ VÀ THẢO LUẬN

4. CHƯƠNG I: PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM

4.1. Phần mềm và các khái niệm liên quan

4.2. Kiểm thử phần mềm

4.2.1. Khái niệm

4.2.2. Vai trò của kiểm thử phần mềm

4.2.3. Các cấp độ kiểm thử phần mềm

4.2.4. Quy trình kiểm thử phần mềm

4.3. Các kỹ thuật trong kiểm thử

4.3.1. Kỹ thuật phân vùng tương đương

4.3.2. Kỹ thuật phân tích giá trị biên

4.3.3. Kỹ thuật chuyển trạng thái

5. CHƯƠNG II: KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB

5.1. Nội dung kiểm thử ứng dụng web

5.1.1. Kiểm thử chức năng

5.1.2. Kiểm thử tính khả dụng

5.1.3. Kiểm thử giao diện

5.1.4. Kiểm thử khả năng tương thích

5.1.5. Kiểm thử hiệu năng

5.1.6. Kiểm thử bảo mật

5.2. Các công cụ kiểm thử

5.2.1. Công cụ kiểm thử hiệu năng

5.2.2. Công cụ kiểm thử bảo mật

5.2.3. Công cụ kiểm thử chức năng

6. CHƯƠNG III: KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB BẰNG CÔNG CỤ SELENIUM

6.1. Công cụ kiểm thử tự động Selenium

6.1.1. Giới thiệu chung về Selenium

6.1.2. Bài toán thực tế

6.1.2.1. Giới thiệu về website
6.1.2.2. Kiểm thử các chức năng của website JVNET

PHẦN V: KẾT LUẬN

PHẦN VI: TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Kiểm Thử Ứng Dụng Web Bằng Selenium

Kiểm thử ứng dụng web là một phần quan trọng trong quy trình phát triển phần mềm. Với sự phát triển nhanh chóng của công nghệ, việc đảm bảo chất lượng phần mềm trở nên cần thiết hơn bao giờ hết. Selenium là một trong những công cụ phổ biến nhất cho việc kiểm thử tự động ứng dụng web. Bài viết này sẽ cung cấp cái nhìn tổng quan về kiểm thử ứng dụng web và cách Selenium WebDriver hỗ trợ trong quá trình này.

1.1. Khái Niệm Về Kiểm Thử Ứng Dụng Web

Kiểm thử ứng dụng web là quá trình đánh giá và xác nhận rằng ứng dụng hoạt động đúng như mong đợi. Điều này bao gồm việc kiểm tra các chức năng, hiệu suất và bảo mật của ứng dụng.

1.2. Tại Sao Nên Sử Dụng Selenium

Selenium cung cấp một bộ công cụ mạnh mẽ cho việc kiểm thử tự động, hỗ trợ nhiều ngôn ngữ lập trình và trình duyệt khác nhau. Điều này giúp tiết kiệm thời gian và công sức trong quá trình kiểm thử.

II. Những Thách Thức Trong Kiểm Thử Ứng Dụng Web

Mặc dù kiểm thử ứng dụng web mang lại nhiều lợi ích, nhưng cũng tồn tại nhiều thách thức. Các vấn đề như tính tương thích giữa các trình duyệt, hiệu suất và bảo mật là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn Đề Tương Thích Giữa Các Trình Duyệt

Một trong những thách thức lớn nhất là đảm bảo rằng ứng dụng hoạt động tốt trên tất cả các trình duyệt phổ biến. Điều này đòi hỏi phải thực hiện nhiều bài kiểm tra khác nhau.

2.2. Kiểm Thử Hiệu Suất Ứng Dụng

Kiểm thử hiệu suất là cần thiết để đảm bảo rằng ứng dụng có thể xử lý một lượng lớn người dùng mà không gặp phải sự cố. Sử dụng Selenium có thể giúp thực hiện các bài kiểm tra này một cách hiệu quả.

III. Phương Pháp Kiểm Thử Ứng Dụng Web Bằng Selenium

Selenium cung cấp nhiều phương pháp kiểm thử khác nhau, từ kiểm thử chức năng đến kiểm thử hiệu suất. Việc lựa chọn phương pháp phù hợp là rất quan trọng để đạt được kết quả tốt nhất.

3.1. Kiểm Thử Chức Năng Với Selenium

Kiểm thử chức năng giúp xác nhận rằng các tính năng của ứng dụng hoạt động đúng như mong đợi. Selenium cho phép tự động hóa các bài kiểm tra này một cách dễ dàng.

3.2. Kiểm Thử Hiệu Suất Với Selenium

Selenium có thể được sử dụng để kiểm tra hiệu suất của ứng dụng bằng cách mô phỏng nhiều người dùng cùng lúc, giúp phát hiện các vấn đề về hiệu suất trước khi ứng dụng được triển khai.

IV. Ứng Dụng Thực Tiễn Của Kiểm Thử Ứng Dụng Web Bằng Selenium

Việc áp dụng Selenium trong kiểm thử ứng dụng web đã mang lại nhiều kết quả tích cực. Nhiều công ty đã sử dụng công cụ này để cải thiện quy trình kiểm thử và nâng cao chất lượng sản phẩm.

4.1. Kết Quả Nghiên Cứu Từ Các Doanh Nghiệp

Nhiều doanh nghiệp đã báo cáo rằng việc sử dụng Selenium đã giúp giảm thời gian kiểm thử và tăng độ chính xác trong việc phát hiện lỗi.

4.2. Các Trường Hợp Thành Công Khi Sử Dụng Selenium

Có nhiều trường hợp thành công trong việc áp dụng Selenium, từ các ứng dụng thương mại điện tử đến các hệ thống quản lý nội bộ, cho thấy tính linh hoạt và hiệu quả của công cụ này.

V. Kết Luận Về Kiểm Thử Ứng Dụng Web Bằng Selenium

Kiểm thử ứng dụng web bằng Selenium không chỉ giúp nâng cao chất lượng sản phẩm mà còn tiết kiệm thời gian và chi phí. Tương lai của kiểm thử tự động hứa hẹn sẽ còn phát triển mạnh mẽ hơn nữa.

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

Với sự phát triển của công nghệ, kiểm thử tự động sẽ ngày càng trở nên phổ biến và cần thiết trong quy trình phát triển phần mềm.

5.2. Lời Khuyên Cho Các Tester Mới

Các tester mới nên tìm hiểu và làm quen với Selenium để có thể áp dụng hiệu quả trong công việc, từ đó nâng cao kỹ năng và giá trị bản thân trong ngành công nghệ thông tin.

10/07/2025
Khóa luận tốt nghiệp đề tài kiểm thử ứng dụng trên nền web bằng công cụ selenium

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

Chương I: PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM Phần đầu tiên này đi sâu vào việc tìm hiểu các khái niệm về phần mềm và kiểm thử phần mềm, giúp khái quát việc phân loại kiểm thử phần mềm, đưa ra các quy trình, mức độ trong kiểm thử phần mềm.1 Phần mềm và các khái niệm liên quan : 1. Khái niệm: Phần mềm (Software) có thể hiểu là một tập hợp các tập tin có mối liên hệ chặt chẽ với nhau, đảm bảo thực hiện một số nhiệm vụ, chức năng nào đó trên thiết bị điện tử. Các tập tin này có thể bao gồm: các file mã nguồn viết bằng một hoặc nhiều ngôn ngữ lập trình, các file dữ liệu (thư viện), các file hướng dẫn. Phần mềm thực hiện các chức năng của nó bằng cách gửi các chỉ thị trực tiếp đến phần cứng (Hardware) hoặc cung cấp dữ liệu để phục vụ các chương trình hay phần mềm khác.

Viêc thực thi nhiệm vụ có thể thể là tự động hoặc thực hiện theo các thông tin, dữ liệu đầu vào. Phải có phần cứng thì phần mềm mới thực thi được. Thông thường là máy tính, các thiết bị giải trí truyền thông, bộ điều khiển trên máy công cụ – ô tô…. Phân loại:  Theo phương thức hoạt động  Phần mềm hệ thống dùng để vận hành máy tính nói riêng và các thiết bị điện tử nói chung.

Ví dụ: hệ điều hành máy tính Windows, Linux, Unix; Các trình điều khiển (driver), phần sụn (firmware) và BIOS. Hệ điều hành di dộng iOS, Android, Windows Phone,… 9  Phần mềm ứng dụng – phần mềm máy tính : Các phần mềm văn phòng (Microsoft Office, OpenOffice), trò chơi điện tử (game), các công cụ & tiện ích khác (ví dụ như phần mềm quản lý chi tiêu cá nhân, phần mềm quản lý công việc,…).  Phần mềm dịch mã (trình dịch) gồm trình biên dịch và trình thông dịch, cụ thể là chúng dịch các câu lệnh từ mã nguồn của ngôn ngữ lập trình sang dạng ngôn ngữ máy sao cho thiết bị thực thi có thể hiểu được.  Nền tảng ứng dụng: như ASP.NET – nền tảng ứng dụng web của Microsoft, cái này hỗ trợ việc tạo ra các ứng dụng web, dịch vụ web (web service).

 Theo khả năng hay quyền hạn can thiệp vào mã nguồn  Phần mềm mã nguồn đóng (closed source software): Là phần mềm mà mã nguồn của nó không được công bố. Để sử dụng phần mềm nguồn đóng phải được cấp bản quyền (mua, tặng là tùy).  Phần mềm mã nguồn mở (open source software): Là phần mềm mà mã nguồn của nó được công bố rộng rãi, công khai và cho phép mọi người tiếp tục phát triển phần mềm đó. Thường thì loại phần mềm này miễn phí.

Lỗi phần mềm: Lỗi phần mềm là một lỗi hay hỏng hóc trong chương trình hoặc hệ thống máy tính khiến nó tạo ra kết quả không chính xác hoặc không mong muốn hoặc hành xử theo những cách không lường trước được. Lỗi phần mềm thường xuất hiện ở các hình thức sau đây:  Sai (Fault): Khi phần mềm gạp lỗi sẽ đưa đến những sai sót. Tuy nhiên, không dễ để phát hiện ra sai sót trong quá trình phát triển phần mềm. Sai lầm có thể xuất hiện ngay ở đầu quy trình phát triển phần mềm khi người phân tích, thiết kế bỏ sót thông tin dẫn tới thiếu chức năng mà lẽ ra cần phải có.

 Thất bại (Failure): Thất bại dễ nhận thấy nhất khi một lỗi được thực thi.  Chúng thường xuất hiện dưới 2 dạng: thất bại có thể chạy được (ví dụ  như mã nguồn) và thất bại chỉ liên kết với các lỗi về nhiệm vụ. Ngoài  ra, có thể kể đến các thất bại liên quan tới các lỗi do bỏ quên. Chúng ta 10  có thể hạn chế thất bại ngay tại bước đầu tiên của quy trình phát triển  phần mềm nếu việc khảo sát được thực hiện tốt.

 Sự cố (Incident): Sự cố thường được liên kết với một thất bại. Tuy  nhiên nó khác với thất bại ở chỗ sự cố luôn hiển thị cho người dùng  hoặc kiểm thử viên biết về sự tồn tại của nó.  Thừa: 1 số chức năng không có trong bản đặc tả yêu cầu phần mềm nhưng lại xuất hiện trong phần mềm được xây dựng. Ngoài ra, còn xuất hiện 1 số lỗi phi chức năng như phần mềm khó sử dụng, tốc độ không đáp ứng yêu cầu (vấn đề hiệu năng) hay giao diện khó nhìn cũng dễ khiến cho người sử dụng nghĩ rằng phần mềm đang hoạt động không đúng.

Yêu cầu của khách hàng: Phần mềm được phát triển dựa trên nhu cầu của khách hàng. Chính vì lẽ đó, các chức năng của phần mềm được xây dựng dựa trên việc thu thập, phân tích, khảo sát nhu cầu của khách hàng thông qua những yêu cầu cụ thể. Đối với phần mềm, yêu cầu thường được tổng hợp từ nhiều người, nhiều tổ chức có mức độ chuyên môn và mức độ tham gia cũng như tương tác với phần mềm khác nhau trong môi trường hoạt động của nó. Có thể phân loạ yêu cầu của khách hàng cho sản phẩm phần mềm thành một số loại như sau:  Phân loại theo sản phẩm và tiến trình: -Yêu cầu sản phẩm: là những đòi hỏi hay ràng buộc mà phần mềm phải thực hiện.

-Yêu cầu tiến trình: là những ràng buộc liên quan đến việc phát triển phần mềm (kĩ thuật sử dụng, mô hình phát triển, v. Ví dụ: Khách hàng muốn phát triển một website làm bài thi trực tuyến. Lúc này, yêu cầu sản phẩm là xây dựng website thi trực tuyến với các tính năng như quản lý câu hỏi; quản lý đề thi; cho phép người dùng có thể tham gia làm bài thi; quản trị viên có thể duyệt các câu hỏi và bộ đề thi trước khi đăng lên website. Việc website được phát triển theo mô hình Agile hay mô 11 hình thác nước chính là yêu cầu tiến trình của sản phẩm phần mềm.

 Phân loại theo chức năng - Yêu cầu chức năng: đặc tả các chức năng mà phần mềm cần phải thực hiện. - Yêu cầu phi chức năng: là các ràng buộc về giải pháp và chất lượng (hiệu năng, việc bảo trì, mức độ an toàn, bảo mật, v.) - Yêu cầu đặc tả các thuộc tính nổi bật: là đặc tả cho các thuộc tính phụ thuộc vào sự vận hành, đặc biệt là kiến trúc hệ thống. Các thuộc tính này không thể xác định được cho từng thành phần đơn lẻ.  Phân loại theo tính kiểm định - Những yêu cầu mang tính mơ hồ, không thể kiểm định - Những yêu cầu đã rõ ràng và có thể kiểm định được.

 Phân loại theo phạm vi đặc tả - Yêu cầu hệ thống: đặc tả các cấu hình, cơ sở hạ tầng, phần cứng, phần mềm, con người, kỹ thuật, v. của toàn bộ hệ thống. - Yêu cầu phần mềm: đặc tả các chức năng, giao diện, v. của các cấu phần phần mềm.

Đặc tả yêu cầu phần mềm: Từ yêu cầu của khách hàng và những yêu cầu bắt buộc khác, đặc tả yêu cầu phần mềm được viết ra để mô tả một cách chính xác về các yêu cầu cần đáp ứng của sản phẩm phần mềm. Đây cũng chính là tài liệu cơ sở để lập trình viên, kiểm thử viên và các bộ phận khác dựa vào để phát triển phần mềm hoàn chỉnh, đúng với yêu cầu đặt ra ban đầu. Các khái niệm về lỗi đã nói ở mục 1.3 cũng chính là đề cập đến việc phần mềm sau khi xây dựng hoạt động không đúng với bản đặc tả yêu cầu phần mềm. Tài liệu đặc tả yêu cầu phần mềm cũng cần cung cấp đầy đủ các thông tin về chi phí, rủi ro và lịch trình cho quá trình phát triển sản phẩm.

Đặc tả yêu cầu phần mềm được viết ra phục vụ rất nhiều đối tượng từ người dùng hệ thống, khách hàng đến các nhà phát triển và bảo trì phần mềm. Do đó, tài liệu đặc tả nên được viết bằng ngôn ngữ tự nhiên, sử dụng biểu đồ, bảng biểu để đảm bảo tính dễ hiểu, dễ sử dụng cho tất cả các đối tượng trên. Chất lượng và độ tin cậy của phần mềm: Chất lượng của phần mềm trước hết là sự đáp ứng các yêu cầu đề ra trong bản đặc tả yêu cầu phần mềm. Có thể kể đến các yếu tố đại diện cho chất lượng phần mềm như: tính đúng đắn, tính hiệu quả, độ tin cậy, tính khả kiểm thử, dễ học, dễ sử dụng, dễ bảo trì… Ta có thể thấy độ tin cậy chỉ là một trong những yếu tố đánh giá chất lượng phần mềm.

Tuy nhiên người kiểm thử lại hay nhầm lẫn giữa khái niệm chất lượng và độ tin cậy của phần mềm. Sau quá trình kiểm thử đảm bảo phần mềm có thể chạy ổn định, kiểm thử viên thường sẽ cho rằng phần mềm lúc này đã đạt chất lượng tốt.2 Kiểm thử phần mềm: 1.1 Khái niệm: Hiểu theo cách đơn giản hơn, kiểm thử phần mềm là quá trình tìm thất bại hoặc chứng tỏ việc tiến hành của phần mềm là đúng đắn.2 Vai trò của kiểm thử phần mềm: Kiểm thử phần mềm chiếm một vị trí quan trọng trong việc nâng cao chất lượng cũng như độ tin cậy của phần mềm trong quá trình phát triển. Hoàn thành vòng quay “đưa lỗi vào – tìm lỗi – khử lỗi đi” của quy trình kiểm thử phần mềm sẽ thu lại được những cải tiến đáng kể cho chất lượng sản phẩm phần mềm. Việc biết được sản phẩm phần mềm tốt tới mức nào trước khi đưa vào sử dụng sẽ hạn chế tối đa những rủi ro gặp phải trong quá trình phát triển phần mềm.1: Vòng đời của quá trình kiểm thử 13 1.3 Các cấp độ kiểm thử phần mềm: Có 4 cấp độ kiểm thử phần mềm sau: Kiểm thử đơn vị: Cấp độ này chủ yếu do lập trình viên trực tiếp thực hiện.

Phần mềm khi phát triển sẽ bao gồm nhiều đơn vị chức năng (hàm, phương thức) hợp thành. Mỗi lập trình viên sẽ đảm nhiệm việc phát triển một hay nhiều đơn vị chức năng. Kiểm thử đơn vị chính là việc lập trình viên sau khi hoàn thành code đơn vị chức năng của mình sẽ tiến hành kiểm thử chức năng đó một cách cô lập nhằm phát hiện ra lỗi và khắc phục trước khi tích hợp với các đơn vị chức năng khác. Kiểm thử đơn vị thường được tiến hành theo 2 giai đoạn: kiểm thử đơn vị tĩnh và kiểm thử đơn vị động.

Kiểm thử tích hợp: Sau khi kiểm thử đơn vị được tiến hành bởi chính lập trình viên viết ra nó, các đơn vị chức năng sẽ được ghép lại với nhau để tạo thành hệ thống đầy đủ và có thể làm việc được.

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

Tài liệu "Kiểm Thử Ứng Dụng Web Bằng Selenium: Hướng Dẫn Chi Tiết" cung cấp một cái nhìn sâu sắc về quy trình kiểm thử ứng dụng web bằng công cụ Selenium, một trong những công cụ phổ biến nhất trong lĩnh vực kiểm thử tự động. Tài liệu này không chỉ hướng dẫn chi tiết cách cài đặt và sử dụng Selenium, mà còn nêu rõ các phương pháp và kỹ thuật kiểm thử hiệu quả, giúp người đọc hiểu rõ hơn về cách tối ưu hóa quy trình phát triển phần mềm.

Đặc biệt, tài liệu mang lại nhiều lợi ích cho người đọc, từ việc tiết kiệm thời gian kiểm thử đến việc nâng cao chất lượng sản phẩm cuối cùng. Để mở rộng thêm kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu "Luận văn phương pháp và công cụ để hỗ trợ kiểm thử phần mềm android", nơi bạn sẽ tìm thấy các phương pháp kiểm thử tương tự nhưng áp dụng cho ứng dụng di động. Ngoài ra, tài liệu "Luận văn phương pháp kiểm thử tự động tương tác giao diện người dùng cho ứng dụng web" sẽ giúp bạn hiểu rõ hơn về các kỹ thuật tự động hóa trong kiểm thử giao diện người dùng. Cuối cùng, tài liệu "Luận văn thạc sĩ nghiên cứu tính khả kiểm thử của ứng dụng trên nền web" sẽ cung cấp cái nhìn tổng quan về khả năng kiểm thử của các ứng dụng web, giúp bạn có cái nhìn toàn diện hơn về lĩnh vực này.

Những tài liệu này sẽ là cơ hội tuyệt vời để bạn đào sâu hơn vào các khía cạnh khác nhau của kiểm thử ứng dụng web và nâng cao kiến thức chuyên môn của mình.