Luận văn thạc sĩ về phương pháp kiểm thử tự động cho giao diện ứng dụng web

Luận văn thạc sĩ nghiên cứu phương pháp sinh bộ kiểm thử tự động cho kiểm thử giao diện ứng dụng web 002, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện pháp hoàn thiện trong

Trường đại học

Đại học Quốc gia Hà Nội

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. Giới thiệu

Sự phát triển của Internet đã thúc đẩy nhu cầu sử dụng các ứng dụng web ngày càng tăng. Các ứng dụng này không chỉ đơn thuần là hệ thống độc lập mà còn phải đáp ứng nhu cầu làm việc linh hoạt của người dùng. Do đó, việc đảm bảo chất lượng phần mềm ứng dụng web trở thành một vấn đề cấp thiết. Kiểm thử tự động được xem là giải pháp tiềm năng để phát hiện lỗi và tiết kiệm thời gian, chi phí cho các doanh nghiệp. Tuy nhiên, việc kiểm thử thủ công vẫn tồn tại nhiều hạn chế, dẫn đến việc không phát hiện được tất cả các lỗi. Mục tiêu của luận văn này là đề xuất một phương pháp kiểm thử tự động cho giao diện ứng dụng web, nhằm đảm bảo tính chính xác và hiệu quả trong quá trình kiểm thử.

1.1. Khái niệm ứng dụng web

Ứng dụng web là các hệ thống giao tiếp với máy khách thông qua các giao thức như HTTP, WSDL, hoặc SOAP. Sự phát triển của các ứng dụng web ngày càng đa dạng, từ thương mại điện tử đến ngân hàng trực tuyến. Điều này tạo ra nhu cầu cao về việc đảm bảo chất lượng và an toàn cho các sản phẩm phần mềm. Kiểm thử giao diện người dùng là một phần quan trọng trong quy trình kiểm thử, nhằm đảm bảo rằng các ứng dụng hoạt động đúng theo thiết kế và đáp ứng nhu cầu của người dùng.

1.2. Các phương pháp kiểm thử

Có nhiều phương pháp kiểm thử khác nhau, bao gồm kiểm thử hộp đen, kiểm thử hộp trắng, và kiểm thử hộp xám. Mỗi phương pháp có những ưu điểm và nhược điểm riêng. Kiểm thử hộp đen tập trung vào chức năng mà không cần biết cấu trúc bên trong, trong khi kiểm thử hộp trắng yêu cầu hiểu biết về mã nguồn. Kiểm thử hộp xám kết hợp cả hai phương pháp, cho phép kiểm thử ở mức độ người dùng nhưng vẫn có sự truy cập vào cấu trúc bên trong. Việc lựa chọn phương pháp kiểm thử phù hợp là rất quan trọng để đảm bảo chất lượng phần mềm.

II. Phương pháp kiểm thử tự động

Phương pháp kiểm thử tự động cho giao diện ứng dụng web được xây dựng dựa trên mô hình máy hữu hạn trạng thái. Mô hình này giúp xác định các trạng thái và chuyển đổi giữa chúng, từ đó tạo ra các ca kiểm thử tự động. Công cụ kiểm thử tự động như Selenium và WebDriver được sử dụng để thực hiện các ca kiểm thử này. Việc tự động hóa kiểm thử không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu sai sót do con người. Các ca kiểm thử được sinh ra từ mô hình giúp phát hiện lỗi một cách hiệu quả hơn.

2.1. 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 là một công cụ mạnh mẽ trong việc kiểm thử phần mềm. Nó cho phép mô tả các trạng thái khác nhau của ứng dụng và các chuyển đổi giữa chúng. Bằng cách sử dụng mô hình này, các ca kiểm thử có thể được sinh ra một cách tự động, giúp đảm bảo rằng tất cả các tình huống có thể xảy ra đều được kiểm tra. Điều này đặc biệt quan trọng trong kiểm thử giao diện người dùng, nơi mà các tương tác của người dùng có thể dẫn đến nhiều trạng thái khác nhau.

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

Công cụ kiểm thử tự động như Selenium và WebDriver cung cấp khả năng thực hiện các ca kiểm thử một cách tự động. Những công cụ này cho phép lập trình viên viết các kịch bản kiểm thử để kiểm tra các chức năng của ứng dụng web. Việc sử dụng các công cụ này không chỉ giúp tiết kiệm thời gian mà còn đảm bảo rằng các ca kiểm thử được thực hiện một cách chính xác và nhất quán. Điều này giúp phát hiện lỗi sớm hơn trong quá trình phát triển phần mềm, từ đó nâng cao chất lượng sản phẩm.

III. Kết quả và ứng dụng thực tiễn

Kết quả của nghiên cứu cho thấy rằng việc áp dụng phương pháp kiểm thử tự động cho giao diện ứng dụng web mang lại nhiều lợi ích. Các ca kiểm thử được sinh ra từ mô hình máy hữu hạn trạng thái giúp phát hiện lỗi một cách hiệu quả hơn so với kiểm thử thủ công. Hơn nữa, việc tự động hóa kiểm thử giúp giảm thiểu thời gian và chi phí cho các doanh nghiệp. Các ứng dụng thực tiễn của phương pháp này có thể được áp dụng trong nhiều lĩnh vực khác nhau, từ phát triển phần mềm đến kiểm thử chất lượng sản phẩm.

3.1. Lợi ích của kiểm thử tự động

Kiểm thử tự động giúp tiết kiệm thời gian và chi phí cho các doanh nghiệp. Việc phát hiện lỗi sớm trong quá trình phát triển phần mềm giúp giảm thiểu rủi ro và tăng cường chất lượng sản phẩm. Hơn nữa, kiểm thử tự động cũng giúp cải thiện khả năng giao tiếp giữa các thành viên trong nhóm phát triển và kiểm thử, từ đó nâng cao hiệu quả làm việc.

3.2. Ứng dụng trong thực tế

Phương pháp kiểm thử tự động có thể được áp dụng trong nhiều lĩnh vực khác nhau, từ phát triển phần mềm đến kiểm thử chất lượng sản phẩm. Các doanh nghiệp có thể sử dụng phương pháp này để đảm bảo rằng các ứng dụng web của họ hoạt động đúng theo thiết kế và đáp ứng nhu cầu của người dùng. Điều này không chỉ giúp nâng cao chất lượng sản phẩm mà còn tạo ra sự hài lòng cho khách hàng.

25/01/2025

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 z ĐẠ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 z 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 z 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 z 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.

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 z 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 z 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 z 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 z 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 z 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ử. Dựa trên đồ thị có hƣớng, theo các nhánh chúng ta có thể tạo ra các trƣờng hợp kiểm thử cho sản phẩm. Mục đích của luận văn này là đề xuất một phƣơng pháp cho phép để xây dựng một phƣơng pháp kiểm thử tự động cho giao diện các ứng dụng Web. Một công cụ kiểm thử tự động hỗ trợ cũng sẽ đƣợc phát triển nhằm minh chứng cho tính hiệu quả của phƣơng pháp này.

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

Bài luận văn thạc sĩ mang tiêu đề "Luận văn thạc sĩ về phương pháp kiểm thử tự động cho giao diện ứng dụng web" của tác giả Hà Khánh Toàn, dưới sự hướng dẫn của TS. Lê Thanh Hà và TS. Phạm Ngọc Hùng, được thực hiện tại Đại học Quốc gia Hà Nội vào năm 2013. Bài viết tập trung vào việc phát triển và áp dụng các phương pháp kiểm thử tự động nhằm nâng cao chất lượng và hiệu quả của giao diện ứng dụng web. Những lợi ích mà bài luận văn mang lại cho độc giả bao gồm việc hiểu rõ hơn về quy trình kiểm thử tự động, các công cụ hỗ trợ và cách thức áp dụng chúng trong thực tiễn, từ đó giúp cải thiện khả năng phát triển phần mềm.

Nếu bạn quan tâm đến các khía cạnh khác liên quan đến công nghệ thông tin và quản lý giáo dục, bạn có thể tham khảo thêm bài viết "Các yếu tố ảnh hưởng đến quyết định chọn nơi làm việc của sinh viên công nghệ thông tin tại Đà Nẵng", nơi phân tích các yếu tố tác động đến sự lựa chọn nghề nghiệp của sinh viên trong lĩnh vực công nghệ thông tin. Bên cạnh đó, bài viết "Luận văn về quản lý điều hành khoa học công nghệ thông tin và nguồn lực thông tin" cũng sẽ cung cấp cho bạn cái nhìn sâu sắc về quản lý trong lĩnh vực công nghệ thông tin. Cuối cùng, bài viết "Luận văn thạc sĩ về quản lý giáo dục và ứng dụng công nghệ thông tin trong dạy học ở huyện Phong Điền, TP Cần Thơ" sẽ giúp bạn khám phá thêm về ứng dụng công nghệ thông tin trong giáo dục. Những tài liệu này sẽ mở rộng kiến thức của bạn về các phương pháp và ứng dụng trong lĩnh vực công nghệ thông tin.