Luận Văn Thạc Sĩ: Phương Pháp Sinh Bộ Kiểm Thử Tự Động Cho Kiểm Thử Giao Diện Ứng Dụng Web

Luận văn thạc sĩ VNU UET trình bày phương pháp sinh bộ kiểm thử tự động cho kiểm thử giao diện ứng dụng web, nâng cao hiệu quả kiểm thử.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2013

63
4
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về phương pháp tạo bộ kiểm thử tự động cho giao diện ứng dụng web

Phương pháp tạo bộ kiểm thử tự động cho giao diện ứng dụng web đang trở thành một xu hướng quan trọng trong ngành công nghệ thông tin. Với sự phát triển nhanh chóng của các ứng dụng web, việc đảm bảo chất lượng và hiệu suất của chúng là rất cần thiết. Kiểm thử tự động giúp tiết kiệm thời gian và chi phí, đồng thời nâng cao độ chính xác trong quá trình kiểm thử. Bài viết này sẽ trình bày chi tiết về các phương pháp và công cụ hiện có để tạo bộ kiểm thử tự động cho giao diện ứng dụng web.

1.1. Khái niệm về kiểm thử tự động và ứng dụng web

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. Ứng dụng web là các ứng dụng chạy trên trình duyệt, cho phép người dùng tương tác thông qua giao diện người dùng. Việc kết hợp giữa kiểm thử tự động và ứng dụng web giúp phát hiện lỗi nhanh chóng và hiệu quả hơn.

1.2. Lợi ích của việc sử dụng kiểm thử tự động cho ứng dụng web

Sử dụng kiểm thử tự động mang lại nhiều lợi ích như tiết kiệm thời gian, giảm thiểu sai sót do con người, và khả năng thực hiện kiểm thử liên tục. Điều này đặc biệt quan trọng trong môi trường phát triển Agile, nơi mà việc phát hành phần mềm thường xuyên là cần thiết.

II. Những thách thức trong việc kiểm thử giao diện ứng dụng web

Mặc dù kiểm thử tự động mang lại nhiều lợi ích, nhưng cũng tồn tại nhiều thách thức. Các ứng dụng web thường có giao diện phức tạp và thay đổi liên tục, điều này gây khó khăn cho việc tạo ra các ca kiểm thử chính xác. Ngoài ra, việc tương tác với các yếu tố động như JavaScript và AJAX cũng làm tăng độ phức tạp trong kiểm thử.

2.1. Khó khăn trong việc tạo ca kiểm thử cho giao diện động

Giao diện động yêu cầu các ca kiểm thử phải được cập nhật thường xuyên để phản ánh các thay đổi trong ứng dụng. Điều này có thể dẫn đến việc tốn nhiều thời gian và công sức trong việc duy trì bộ kiểm thử.

2.2. Vấn đề tương thích giữa các trình duyệt

Một thách thức lớn khác 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. Các trình duyệt khác nhau có thể xử lý mã HTML, CSS và JavaScript theo cách khác nhau, dẫn đến việc cần phải kiểm thử trên nhiều nền tảng.

III. Phương pháp sinh bộ kiểm thử tự động cho giao diện ứng dụng web

Để tạo bộ kiểm thử tự động hiệu quả, có thể áp dụng nhiều phương pháp khác nhau. Một trong những phương pháp phổ biến là sử dụng mô hình máy hữu hạn trạng thái để mô phỏng các trạng thái của giao diện ứng dụng. Từ đó, các ca kiểm thử có thể được sinh ra tự động dựa trên các trạng thái này.

3.1. Sử dụng mô hình máy hữu hạn trạng thái

Mô hình máy hữu hạn trạng thái giúp xác định các trạng thái khác nhau của giao diện ứng dụng và các chuyển tiếp giữa chúng. Điều này cho phép tạo ra các ca kiểm thử cho từng trạng thái và chuyển tiếp, đảm bảo rằng tất cả các tình huống đều được kiểm tra.

3.2. Tạo ca kiểm thử từ đồ thị trạng thái

Sau khi xây dựng mô hình máy hữu hạn trạng thái, có thể chuyển đổi nó thành một đồ thị trạng thái. Từ đồ thị này, các ca kiểm thử có thể được sinh ra bằng cách duyệt qua các nhánh của đồ thị, đảm bảo rằng tất cả các tình huống đều được kiểm tra.

IV. Ứng dụng thực tiễn của kiểm thử tự động trong phát triển ứng dụng web

Kiểm thử tự động đã được áp dụng rộng rãi trong nhiều dự án phát triển ứng dụng web. Các công cụ như Selenium và WebDriver cho phép kiểm thử tự động các giao diện người dùng một cách hiệu quả. Việc sử dụng các công cụ này không chỉ giúp phát hiện lỗi mà còn cải thiện quy trình phát triển phần mềm.

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

Selenium là một trong những công cụ phổ biến nhất cho kiểm thử tự động giao diện ứng dụng web. Nó hỗ trợ nhiều ngôn ngữ lập trình và cho phép kiểm thử trên nhiều trình duyệt khác nhau, giúp đảm bảo tính tương thích của ứng dụng.

4.2. Kết quả nghiên cứu từ ứng dụng kiểm thử tự động

Nhiều nghiên cứu đã chỉ ra rằng việc áp dụng kiểm thử tự động giúp giảm thiểu thời gian kiểm thử và tăng cường chất lượng sản phẩm. Các công ty đã báo cáo rằng họ có thể phát hiện lỗi sớm hơn và giảm thiểu chi phí phát triển.

V. Kết luận và tương lai của kiểm thử tự động cho ứng dụng web

Kiểm thử tự động cho giao diện ứng dụng web đang trở thành một phần không thể thiếu trong quy trình phát triển phần mềm. Với sự phát triển của công nghệ, các phương pháp và công cụ kiểm thử tự động sẽ ngày càng trở nên mạnh mẽ và hiệu quả hơn. Tương lai của kiểm thử tự động hứa hẹn sẽ mang lại nhiều cải tiến trong việc đảm bảo chất lượng phần mềm.

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

Công nghệ kiểm thử tự động đang phát triển nhanh chóng với sự xuất hiện của trí tuệ nhân tạo và học máy. Những công nghệ này có thể giúp tự động hóa nhiều khía cạnh của kiểm thử, từ việc tạo ca kiểm thử đến phân tích kết quả.

5.2. Tương lai của kiểm thử tự động trong phát triển phần mềm

Tương lai của kiểm thử tự động sẽ tập trung vào việc cải thiện khả năng phát hiện lỗi và giảm thiểu thời gian kiểm thử. Các công cụ mới sẽ được phát triển để hỗ trợ các phương pháp kiểm thử hiện đại, giúp nâng cao chất lượng sản phẩm phần mềm.

22/07/2025
Luận văn thạc sĩ vnu uet phương pháp sinh bộ kiểm thử tự động cho kiểm thử giao diện ứng dụng web 002

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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HÀ KHÁNH TOÀN PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2013 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HÀ KHÁNH TOÀN PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm Mã số: 60 48 10 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. LÊ THANH HÀ Hà Nội - 2013 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của tôi dƣới sự giúp đỡ rất lớn của Giảng viên hƣớng dẫn là Tiến sĩ Lê Thanh Hà, Tiến sĩ Phạm Ngọc Hùng. Những nội dung nghiên cứu và kết quả trong đề tài này hoàn toàn trung thực. Các trích dẫn từ nguồn tài liệu bên ngoài đều đƣợc liệt kê rõ ràng ở phần cuối của luận văn.

Hà Nội, tháng 12 năm 2013 Học viên Hà Khánh Toàn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ii LỜI CẢM ƠN Để có thể hoàn thành đề tài luận văn thạc sĩ một cách hoàn chỉnh, bên cạnh sự nỗ lực cố gắng của bản thân còn có sự hƣớng dẫn nhiệt tình của quý Thầy Cô, cũng nhƣ sự động viên ủng hộ của gia đình và bạn bè trong suốt thời gian học tập, nghiên cứu và thực hiện luận văn thạc sĩ. Xin chân thành bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ Lê Thanh Hà, Tiến sĩ Phạm Ngọc Hùng, những ngƣời đã dành rất nhiều thời gian và tâm huyết hƣớng dẫn tôi nghiên cứu và hoàn thành luận văn thạc sĩ. Xin gửi lời tri ân nhất đối với những điều mà các Thầy đã dành cho tôi. Xin chân thành bày tỏ lòng biết ơn đến toàn thể quý Thầy Cô trong khoa Công Nghệ Thông Tin Trƣờng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã tận tình truyền đạt những kiến thức quý báu cũng nhƣ tạo mọi điều kiện thuận lợi nhất cho tôi trong suốt quá trình học tập, nghiên cứu và cho đến khi thực hiện đề tài luận văn.

Cuối cùng, tôi xin chân thành bày tỏ lòng cảm ơn đến Ban lãnh đạo Hệ thống Đào tạo Lập trình viên Quốc tế Aprotrain-Aptech đã tạo điều kiện cho tôi rất nhiều trong suốt quá trình làm việc, học tập và thực hiện đề tài luận văn thạc sĩ của mình. Mặc dù tôi đã rất cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình và năng lực của mình. Tuy nhiên do trình độ, kinh nghiệm và khả năng chuyên môn có hạn, chắc chắn luận văn còn nhiều thiếu sót. Rất mong nhận đƣợc những góp ý của quý Thầy Cô và các bạn.

Hà Nội, tháng 12 năm 2013 Học viên Hà Khánh Toàn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com iii MỤC LỤC TRANG PHỤ BÌA 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 CÁC HÌNH VẼ CHƢƠNG 1. Khái niệm Web Application. Các kỹ thuật kiểm thử. Kiểm thử hộp đen.

Kiểm thử hộp xám. Kiểm thử dựa trên mô hình. Kiểm thử sử dụng máy hữu hạn trạng thái. Các mức kiểm thử.

Kiểm thử đơn vị. Kiểm thử tích hợp. Kiểm thử hệ thống. Kiểm thử chấp nhận.

BỘ CÔNG CỤ SELENIUM – WEBDRIVER TRONG VIỆC KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB. Tổng quan về Selenium. Một số Selenium-Webdriver API. PHƢƠNG PHÁP SINH BỘ KIỂM THỬ TỰ ĐỘNG CHO KIỂM THỬ GIAO DIỆN ỨNG DỤNG WEB.

18 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Mục tiêu của phƣơng pháp nghiên cứu. Tạo các ca kiểm thử cho ứng dụng Web. Xây dựng mô hình máy hữu hạn trạng thái.

Xây dựng mô hình đồ thị cho máy hữu hạn trạng thái. Thực hiện việc tạo ra các ca kiểm thử. Thuật toán sinh ca kiểm thử. Phƣơng pháp thực hiện.

Xây dựng công cụ kiểm thử tự động. Mô tả công cụ kiểm thử .2 Xây dựng ứng dụng Web. Xây dựng máy hữu hạn trạng thái cho ứng dụng Web. Kết quả thử nghiệm chƣơng trình.

47 TÀI LIỆU THAM KHẢO. 54 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com v DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt Cụm từ đầy đủ Ý nghĩa FSM Finite State Machine Máy hữu hạn trạng thái HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn bản WSDL Web Services Description Ngôn ngữ mô tả các dịch vụ Language Web SOAP Simple Object Access Protocol Giao thức truy cập đối tƣợng đơn giản API Application Programming Giao diện lập trình ứng dụng Interface UML Unified Modeling Language Ngôn Ngữ Mô Hình Hóa Thống Nhất SWEBOK Software Engineering Body of Tổ chức quốc tế theo chuẩn Knowledge ISO/IEC TR 19759:2005 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vi DANH MỤC CÁC BẢNG Số hiệu Tên bảng Trang bảng 2.1 Bảng chuyển trạng thái 10 3.1 Bảng chuyển trạng thái trang login.aspx 20 Bảng chuyển trạng thái trang 3.3 Bảng chuyển trạng thái trang resultStudent.4 Bảng chuyển trạng thái trang addMark.5 Bảng chuyển trạng thái trang logout.1 Các phần tử html trang login.2 Bảng trạng thái trang login.3 Bảng sự kiện trang login.4 Bảng biểu diễn trạng thái chuyển trang login.5 Các phần tử html trang studentInformation.6 Bảng trạng thái trang studentInformation.7 Bảng sự kiện trang studentInformation.aspx 39 Bảng biểu diễn trạng thái chuyển trang 4.9 Các phần tử html trang resultStudent.10 Bảng trạng thái trang resultStudent.11 Bảng sự kiện trang resultStudent.aspx 40 Bảng biểu diễn trạng thái chuyển trang 4.13 Bảng trạng thái trang logout.14 Bảng sự kiện trang logout.15 Bảng biểu diễn trạng thái chuyển trang logout.aspx 41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com vii DANH MỤC CÁC HÌNH VẼ Số hiệu Tên hình vẽ Trang hình vẽ 2.1 Kiểm thử hộp đen 4 2.2 Một ví dụ về kiểm thử hộp trắng 5 2.3 Sơ đồ luồng điều khiển đƣợc tạo ra từ chƣơng trình 6 2.4 Các bƣớc thực hiện kiểm thử mô hình 8 2.5 Mô hình đồ thị của máy FSM 11 3.1 Máy hữu hạn trạng thái cho trang login.2 Máy hữu hạn trạng thái cho trang studentInformation.3 Máy hữu hạn trạng thái cho trang ResultStudent.4 Máy hữu hạn trạng thái cho trang addMark.5 Máy hữu hạn trạng thái cho trang logout.6 Thuật toán duyệt đồ thị theo chiều sâu 31 4.1 Sơ đồ xây dựng bài toán 33 4.2 Giao diện chính của chƣơng trình 34 4.3 Giao diện trang Login.4 Giao diện trang studentInformation.5 Giao diện trang resultStudent.6 Giao diện trang addMark.7 Giao diện trang logout.aspx 37 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1 CHƢƠNG 1. GIỚI THIỆU Ngày nay, sự phát triển của Internet đã thúc đẩy nhu cầu cộng tác làm việc qua mạng và sử dụng các dịch vụ trực tuyến dần trở thành một nhu cầu thiết yếu trong cuộc sống của chúng ta. Xu hƣớng này đòi hỏi các ứng dụng không chỉ là những hệ thống đơn lẻ trên một máy và chịu sự phụ thuộc vào một nền tảng cố định nào nữa, mà chúng phải là những hệ thống linh hoạt giúp ngƣời dùng làm việc “mọi lúc, mọi nơi”.

Do đó, việc phát triển các ứng dụng Web đang là xu hƣớng tất yếu của ngành công nghiệp phần mềm. Các ứng dụng Web đang đƣợc ứng dụng rộng rãi trong thực tế. Càng ngày các doanh nghiệp nói chung và mọi ngƣời nói riêng càng phụ thuộc vào các ứng dụng Web và làm thế nào để các ứng dụng Web đáp ứng đƣợc các nhu cầu này. Do đó, nhu cầu đảm bảo an toàn chất lƣợng các sản phẩm phần mềm ứng dụng Web ngày càng trở nên cấp thiết.

Việc đảm bảo chất lƣợng phần mềm hiện nay đang là một bài toán khó và nó tiêu tốn hơn 50% công sức và chi phí của các doanh nghiệp phần mềm. Kiểm thử đang đƣợc quan tâm nhƣ là phƣơng pháp chủ yếu để đảm bảo chất lƣợng của sản phẩm phần mềm ứng dụng Web nói riêng và sản phẩm phần mềm nói chung. Trong thực tế, các công ty gặp nhiều khó khăn, tốn thời gian và chi phí cao cho việc kiểm thử các ứng dụng Web. Mặc dù họ có thể thuê những ngƣời kiểm thử có kỹ năng kiểm thử giỏi, song những sai sót hoặc thiếu sót trong kiểm thử ứng dụng Web là không thể tránh khỏi do các phƣơng pháp kiểm thử ứng dụng Web thƣờng đƣợc thực hiện thủ công.

Do đó, các phƣơng pháp kiểm thử hiện tại không đảm bảo phát hiện ra tất cả các lỗi. Ngoài ra, việc kiểm thử thủ công của một ứng dụng Web có thể tẻ nhạt và tốn thời gian (đôi khi do tƣơng tác ngƣời dùng quá lớn), đặc biệt là khi thực hiện các bài kiểm thử qui hồi trong ứng dụng. Kết quả là các ứng dụng Web hiện nay tiềm ẩn rất nhiều lỗi sau khi triển khai cho khách hàng. Trong kiểm thử các ứng dụng Web, kiểm thử tƣơng tác giao diện ngƣời dùng là một vấn đề khó và thƣờng đƣợc thực hiện thủ công.

Trong thực tế, chúng ta có một thiết kế giao diện ngƣời dùng mô tả việc thay đổi trạng thái của màn hình ứng với các tƣơng tác của ngƣời dùng. Các thay đổi trạng thái này có thể xảy ra trong một trang Web hoặc từ trang Web này sang trang Web khác. Làm thế nào để đảm bảo rằng việc cài đặt tuân thủ đúng theo thiết kế này chính là mục đích chính của kiểm thử tƣơng tác giao diện ngƣời dùng cho các ứng dụng Web. Các kỹ thuật kiểm thử tự động đã đƣợc biết đến nhƣ là các giải pháp tiềm năng để giải quyết vấn đề trên.

Những kỹ thuật này có thể phát hiện ra tất cả các lỗi có thể trong ứng dụng bằng cách tạo ra và thực hiện tự động các ca kiểm thử. Kết quả là, chúng ta có thể tiết kiệm thời gian và chi phí trong kiểm thử. Tự động kiểm thử là quá trình thực LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 hiện tự động bởi một chƣơng trình máy tính để tránh các lỗi không đƣợc phát hiện khi kiểm thử thủ công. Để đảm bảo tính chính xác, các công cụ kiểm thử tự động thƣờng đƣợc xây dựng dựa trên các phƣơng pháp kiểm thử nhƣ kiểm thử hộp đen, kiểm thử hộp trắng, … Tuy nhiên, các công cụ kiểm thử tự động là rất đắt và nhiều công ty không thể mua chúng.

Luận văn này tập trung nghiên cứu các phƣơng pháp kiểm thử dựa trên mô hình nhằm đảm bảo việc cài đặt đúng theo thiết kế ban đầu. Đầu tiên sử dụng mô hình máy hữu hạn trạng thái cho giao diện ứng dụng Web, sau đó tạo ra các bộ kiểm thử từ máy hữu hạn trạng thái, từ đó xây dựng một đồ thị có hƣớng để biểu diễn các trƣờng hợp kiểm thử.

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