Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

11 734 1
Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu kiểm thử cho mơ hình ứng dụng Web Nguyễn Việt Anh Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuyên ngành: Công nghệ phần mềm; Mã số: 60 48 10 Cán hướng dẫn khoa học: PGS.TS Nguyễn Việt Hà Năm bảo vệ: 2012 Abstract Giới thiệu khái niệm kiểm thử kỹ thuật kiểm thử thông thường, cụ thể kiểm thử hộp trắng, kiểm thử hộp đen, dựa kỹ thuật kiểm thử tập trung tìm hiểu ứng dụng Web, thành phần ứng dụng Web kiểm thử ứng dụng Web như: kiểm thử giao diện, kiểm thử chức năng, kiểm thử sở liệu, kiểm thử hiệu kiểm thử với thiết bị di động Nghiên cứu u cầu tốn việc xây dựng cơng cụ kiểm thử tự động ứng dụng Web; Thông qua việc thực trường hợp kiểm thử đăng nhập vào ứng dụng Web; Công cụ kiểm thử tự động thực việc đọc trường hợp đầu vào từ tệp tin Excel, sau thực việc kiểm thử chương trình ghi kết trình kiểm thử tệp tin Excel, XML chụp ảnh hình để xem việc kiểm thử thành công hay thất bại; Và để xây dựng công cụ giải pháp đưa sử dụng hàm API cung cấp công cụ Selenium WebDriver Thực cài đặt ứng dụng Web xây dựng hàm API để thực việc kiểm thử, sau thực chương trình đưa kết đạt q trình xây dựng cơng cụ kiểm thử ứng dụng Web tự động Keywords: Kiểm thử phần mềm; Công nghệ thông tin; Web; Phần mềm mã nguồn mở Content CHƢƠNG ĐẶT VẤN ĐỀ 1.1 Lý chọn đề tài Những năm gần đầy công nghệ thông tin đạt bước phát triển tích cực, với phát triển mạnh mẽ sở hạ tầng đặc biệt hệ thống mạng Internet Những ứng dụng Web phổ biến nhờ vào có mặt nơi đâu chương trình Khả cập nhật bảo trì ứng dụng Web mà khơng phải phân phối cài đặt phần mềm hàng ngàn máy tính lý cho phổ biến Chính nhờ vào phổ biến mà ứng dụng Web không ứng dụng đơn giản nữa, mà việc xây dựng ứng dụng Web trở nên phức tạp nhiều Các ứng dụng Web dùng để thực bán hàng trực tuyến, đấu giá trực tuyến, quản trị quan hệ khách hàng, Tuy nhiên để triển khai ứng dụng Web có nhiều vấn đề phát sinh ảnh hưởng trực tiếp đến ứng dụng Web như: Tính bảo mật, hiệu suất, thành phần ứng dụng Web, giao diện, chức năng, khả tương thích ứng dụng Web với trình duyệt hệ điều hành,… Vì vậy, việc tìm hiểu nghiên cứu xây dựng mơ hình ứng dụng web tự động khơng có ý nghĩa việc xây dựng cơng cụ kiểm thử tự động mà cịn mang tính thực tế cao Do vậy, mà tơi định chọn đề tài: “Nghiên cứu kiểm thử mô hình cho ứng dụng Web” để nghiên cứu 1.2 Mục đích nội dung nghiên cứu Trong nội dung luận văn tập trung vào việc nghiên cứu kỹ thuật kiểm thử Và dựa kiến thức kỹ thuật kiểm thử tìm hiểu kiểm thử ứng dụng Web Cuối xây dựng công cụ thực việc kiểm thử tự động ứng dụng Web dựa công cụ mã nguồn mở Selenium WebDriver 1.3 Cấu trúc luận văn Các phần cịn lại luận văn có cấu trúc sau: Chương giới thiệu khái niệm kiểm thử kỹ thuật kiểm thử thông thường, cụ thể kiểm thử hộp trắng, kiểm thử hộp đen Chương yêu cầu toán việc xây dựng công cụ kiểm thử tự động ứng dụng Web Thông qua việc thực trường hợp kiểm thử đăng nhập vào ứng dụng Web Chương thực cài đặt ứng dụng Web xây dựng hàm API để thực việc kiểm thử, sau thực chương trình đưa kết đạt q trình xây dựng cơng cụ kiểm thử ứng dụng Web tự động Chương Kết luận, hướng nghiên cứu CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Các kỹ thuật kiểm thử 2.1.1 Khái niệm kiểm thử Có nhiều khái niệm khác kiểm thử, nhiên có khái niệm kiểm thử (Glen Myers) cho tổng quát nhất: “Việc kiểm thử trình thực thi chương trình với mục đích tìm lỗi.” [5] 2.1.2 Vịng đời quy trình kiểm việc kiểm thử Mục đích việc kiểm thử thiết kết chuỗi trường hợp kiểm thử mà có khả phát lỗi cao Và việc kiểm thử đạt kết tốt cần phải có chuẩn bị kế hoạch kiểm thử, trải qua công đoạn khác đồng thời phải có biện pháp để khắc phục phát lỗi 2.1.3 Kiểm thử hộp trắng Kiểm thử hộp trắng (White-Box Testing) hay gọi kiểm thử logic, cho phép kiểm tra cấu trúc bên trúc bên ứng dụng với mục đích đảm bảo tất câu lệnh điều kiện thực thi lần Kiểm thử hộp trắng nghĩa kiểm thử hộp suốt, mà kiểm thử hộp trắng gọi số tên khác kiểm thử hộp thủy tinh (Glass-Box Testing) hay kiểm thử suốt (Clear-Box Testing) Người kiểm thử truy cập vào mã nguồn chương trình để kiểm tra lấy làm sở cho việc kiểm thử Và việc kiểm thử dựa trình thực xây dựng chương trình ứng dụng Kiểm thử hộp trắng phương pháp kiểm thử dựa vào cấu trúc/mã lệnh chương trình Phương pháp cho phép kiểm thử chương trình (một phần chương trình, hay hệ thống, phần hệ thống) đáp ứng tất giá trị đầu vào bao gồm giá trị không hay không theo dự kiến chương trình Khi nói đến vần đề kiểm thử hộp trắng cần quan tâm đến vấn đề đường dẫn lệnh kỹ thuật hay phương pháp Nếu phải thực tất đường dẫn đồ thị điều khiển chương trình thơng quan việc chạy tất trường hợp kiểm thử nói chương trình kiểm thử cách triệt để Tuy nhiên, điều khơng thể thực số đường dẫn logic khác chương trình lớn 2.1.4 Kiểm thử hộp đen Kiểm thử hộp đen (Black – Box Testing) hay gọi kiểm thử chức năng, việc thực kiểm thử không cần quan tâm đến thiết kế mã nguồn chương trình Kiểm thử hộp đen quan tâm đến chức ứng dụng đề Vì kiểm thử loại cần dựa vào mô tả chức chương trình, xem chương trình có thực cung cấp chức mô tả chức hay khơng? Ngồi kiểm thử hộp đen cịn hiểu kiểm thử hướng liệu (data – driven) hay kiểm thử hướng vào (input/output driven) Và với khái niệm người kiểm thử coi ứng dụng hộp đen, có nghĩa khơng quan tâm đến cấu trúc hoạt động bên chương trình Kiểm thử hộp đen cho phép kỹ thuật viên kiểm thử xây dựng nhóm liệu đầu vào mà thực thi đầy đủ yêu cầu chức chương trình Tuy nhiên, kiểm thử hộp đen kỹ thuật thay cho kỹ thuật kiểm thử hộp trắng mà phương pháp bổ sung giúp phát loại lỗi khác phương pháp kiểm thử hộp trắng Kiểm thử hộp đen thực trường hợp kiểm thử để cố gắng tìm loại lỗi sau: - Thiếu sai chức - Lỗi cấu trúc liệu hay liệu bên - Lỗi giao diện - Lỗi bắt đầu hay kết thúc chương trình - Lỗi thực thi chương trình Hình 2.1 Kiểm thử hộp đen 2.2 Kiểm thử mơ hình ứng dụng Web 2.2.1 Ứng dụng Web gì? Trong kỹ thuật phần mềm, ứng dụng Web hay Webapp trình ứng dụng mà tiếp cận qua web thơng qua mạng Internet 2.2.2 Các thành phần ứng dựng Web Nếu hiểu thành phần bên ứng dụng Web giao tiếp thành phần hoạt động với giúp cho việc kiểm tử tốt nhiều Hệ thống Client – Server: Web nhóm thành ba tầng liên quan đến nhau: (1) thành phần dịch vụ phía người dùng, (2) thành phần dịch vụ xử lý, (3) thành phần dịch vụ liệu [5] 2.2.3 So sánh kiểm thử Web kiểm thử truyền thống Khi thực kiểm thử ứng dụng Web cần quan tâm đến phương pháp phân tích kiểm thử lỗi Giả sử nắm hết kỹ thuật kiểm thử thông thường, vấn đề đặt lúc áp dụng phương pháp hay kỹ thuật vào việc kiểm thử ứng dụng Web Và để thực điều cách hiệu bạn cần hiểu khác kiểm thử ứng dụng Web kiểm thử truyền thống thơng thường a) Mơ hình ứng dụng Đầu tiên cần xem xét qua mơ hình ứng dụng hệ thống máy tính so với hệ thống Client – Server dựa hệ thông Web b) Các ứng dụng phía Client Trình khách hệ thống máy khách chủ truyền thống thực thi nên tảng chuyên biệt hệ điều hành Windows, Linux,… c) Các ứng dụng phía Server Các ứng dụng phát triển phía trình chủ khác với ứng dụng trình khách hai điểm sau: Thứ là, ứng dụng trình chủ chương trình khơng có giao diện để người dùng cuối hệ thống tương tác, người dùng cuối tương tác với ứng dụng phía trình khách Thứ hai, ứng dụng trình chủ thực thi liên tục, nghĩa ứng dụng trình chủ khởi động ln thường trực để cung cấp dịch vụ cho ứng dụng phía trình khách 2.2.4 Các kiểm thử cho ứng dụng Web Như mục phân tích nắm ứng dụng Web, thành phần ứng dụng Web gì, có so sánh kiểm thử thơng thường kiểm thử ứng dụng Web Vấn đề đặt lúc để kiểm thử ứng dụng Web cần quan đến vấn đề gì? a) Kiểm thử Giao diện ngƣời dùng Vấn đề kiểm thử ứng dụng Web cần xem xét đến “Kiểm thử Giao diện người dùng” Khi xây dựng giao diện ứng dụng Web phải quan tâm đến tư tưởng người thiết kế xem mục tiêu thiết kế giao diện áp dụng cho lĩnh vực gì, tư tưởng người phát triển xem sử dụng cơng nghệ để xây dựng giao diện b) Kiểm thử Chức Kiểm tra chức giống trường hợp kiểm thử khác tìm lỗi, nhiên kiểm thử chức cho phép kiểm thử cho tất liên kết trang Web, kết nối sở liệu, cách thức sử dụng trang Web để gửi nhận thơng tin người sử dụng c) Kiểm thử phía trình chủ Khi nói đến mơ hình Client – Server xây dựng ứng dụng Web, để hiển thị giao diện người dùng đăng sau ln có nhiều trình chủ Trình chủ giúp điều khiển hoạt động hiển thị ứng dụng Web Hay gọi não hệ thống Client – Server Thực kiểm thử trình chủ phức tạp nhiều so với kiểm thử khác Bởi kiểm thử khác bạn tận dụng giao diện trình khách Cịn trình chủ khơng tận dụng giao diện trình khách d) Kiểm thử Cơ sở liệu Tất ứng dụng Web truy cập sở liệu u cầu trình chủ sở liệu, để thiết kế trường hợp kiểm thử sở liệu phân tích lỗi liên quan đến sở liệu, kiểm thử viên cần hiểu khái niệm liên quan đến sở liệu, cách thành phần trình chủ Web giao tiếp với thành phần sở liệu e) Kiểm thử bảo mật Đối ứng dụng Web bảo mật vấn đề sống với ứng dụng đó, bảo mật khơng tốt làm thơng tin quan trọng, chí cịn quyền kiểm sốt hệ thống ứng dụng Web f) Kiểm thử hiệu Đối với ứng dụng Web thương mại điện tử phục vụ cho việc mua bán hàng trực tuyến, điều xảy bạn thực giao tác bấm vào “mua hàng”, bạn có tin tưởng chờ lâu hay xử lý nặng nề khơng CHƢƠNG BÀI TỐN VÀ GIẢI PHÁP 3.1 Mơ tả u cầu tốn Trong phạm vi luận văn này, tiến hành xây dựng công cụ kiểm thử tự động liên kết chức ứng dụng web dựa đưa test cases chung Phạm vi đối tượng tốn mà tơi giải tập trung vào giúp cho nhà phát triển web dễ dàng việc thao tác, kiểm tra phần toàn cấu trúc chương trình Ngồi ra, nghiên cứu tơi cịn giúp cho người sử dụng tránh lỗi liên quan tới việc sử dụng chức mà ứng dụng web cung cấp, giúp tránh phiền tối nâng cao hiệu cơng việc 3.2 Giải pháp giải tốn Mơ hình giải vấn đề mơ tả hình 3.1 với tính cụ thể sau Phần đầu vào chương trình ứng dụng web với tập hợp trang web, liệu có liên kết với Dựa vào liên kết đó, tơi đưa bảng liên kết chi tiết trạng thái xảy chức năng, coi tệp đầu vào cho ca kiểm thử cụ thể chức Phần chương trình trình thực thi ca kiểm thử Quá trình thực thi mơ tả hình 3.2 cài môi trường WebDriver Trong phần kết quả, đưa chức ứng dụng web kiểm thử thông qua liên kết cụ thể Phần kết tính chặt chẽ liên kết, liên kết xảy lỗi so với đặc tả ca kiểm thử Hình 3.1 Mơ hình giải Hình 3.2 Q trình thực thi tốn 3.2.1 Đầu vào cho ứng dụng kiểm thử Thực xây dựng Ứng dụng Web sử dụng ứng dụng Web tồn thực kiểm thử tự động ứng dụng Web Để đơn giản xây dựng ứng dụng Web mã nguồn mở sử dụng Joomla ứng dụng Web trang HTML đơn giản Hình 3.3: Kiểm thử chức tạo viết 3.2.2 WebDriver WebDriver thiết kế để cung cấp giao diện lập trình đơn giản ngăn với việc giải hạn chế API Selenium RC 3.2.3 Giải pháp ghi lại kết đầu a) Chụp hình lại kết kiểm thử b) Ghi kết tệp tin XML c) Ghi kết tệp tin Excel CHƢƠNG THỰC NGHIỆM 4.1 Cài đặt môi trƣờng kiểm thử 4.2 Xây dựng chƣơng trình kiểm thử tự động đăng nhập ứng dụng Web Giao diện trang chủ: Hình 4.1 Giao diện trang chủ Giao diện quản trị đăng nhập: Hình 4.2 Giao diện đăng nhập Màn hình đăng nhập thành cơng: Khi nhập tên đăng nhập mật mã truy cập vào ứng dụng Hình 4.3 Màn hình đăng nhập thành cơng Tạo bảng trạng thái đầu vào công cụ kiểm thử tự động cho đăng nhập: Hình 4.4 Bảng trạng thái tương ứng Sử dụng ứng dụng Graphviz để tạo mơ hình chuyển trạng thái trực quan: Hình 4.5 Mơ hình trạng thái trực quan Đoạn lệnh thực việc xây dựng mô hình trạng thái trực quan sử dụng cơng cụ Graphviz: 4.3 Các bƣớc thực kiểm thử tự động Từ việc phân tích trường hợp kiểm thử trên, xây dựng chương trình thực việc kiểm thử tự động Bƣớc 1: Viết hàm đọc tệp tin Excel Xls_Reader[13] đầu vào mơ tả tất trường hợp xảy mô tả Bƣớc 2: Viết hàm ghi kết tệp tin XML, Excel viết hàm chụp lại tất trường hợp kiểm thử xảy Với hàm ghi kết tệp tin XML: Với đầu vào ca kiểm thử kiểm tra, ca kiểm thử hàm tự động ghi vào tệp tin XML Hình 4.6 Quy trình ghi kết tệp tin XML 4.4 Kết thực nghiệm Sau thực chạy chương trình duyệt tất trường hợp kiểm thử thực đăng nhập, kết thu cụ thể: Kết ghi Excel: Kết ghi vào tệp tin Excel, ghi lại trường hợp kiểm thử trạng thái thành cơng hay thất bại Hình 4.7 Kết ghi kiểm thử Login ghi tệp tin Excel Trường hợp với việc nhập User name anhnv, Password anhnvpwd123, Ngôn ngữ Vietnamese-VN => Ở cột Results thông báo đăng nhập thành công Kết ghi XML: Kết ghi nhận vào tệp tin XML, liệt kê tất trường hợp kiểm thử Hình 4.8 Trường hợp đăng nhập khơng thành cơng 4.5 Ý nghĩa chƣơng trình kiểm thử tự động Chương trình kiểm thử tự động ứng dụng Web thực nghiệm với 10 Website khác thỏa mãn cấu trúc toán Và kết đạt đáp ứng với yêu cầu toán Với việc kiểm thử thành công với ứng dụng Web khác nhau, cho thấy ý nghĩa quan trọng việc thực kiểm thử tự động, đồng thời giải vấn đề mà kiểm thử thủ công gặp phải số kiểm thử bị bỏ qua, ghi nhận lỗi phát sinh Với việc xây dựng thực nghiệm thành cơng chương trình kiểm thử tự động đăng nhập ứng dụng Web, làm tảng để phát hiển chương trình hoản chỉnh đảm bảo kiểm thử tồn ứng dụng ứng dụng Web cụ thể CHƢƠNG KẾT LUẬN Ngày với sở hạ tầng mạng Internet phát triển mạnh mẽ, với đời hàng hoạt ứng dụng Web để đáp ứng nhu cầu người sử lĩnh vực sống Cùng với đa dạng phức tạp ứng dụng Web đòi hỏi người dùng ngày cao ứng dụng yêu cầu thân thiện hơn, sử dụng nhanh hơn, chức thuận tiện với thao tác người sử dụng, đặc biệt khơng có lỗi sử dụng Với đề tài “Nghiên cứu kiểm thử mơ hình ứng dụng Web” nội dung luận văn giới thiệu kiểm thử kiểm thử thành phần ứng dụng Web Đồng thời tìm hiểu thành phần công cụ kiểm thử nguồn mở WebDriver cung cấp thư viện hàm API để giúp cho việc xây dựng chương trình kiểm thử tự động ứng dụng Web Hƣớng phát triển Nội dung luận văn nêu lên nội dung kiểm thử kiểm thử ứng dụng Web Cùng với xây dựng thành cơng chương trình kiểm thử tự động, nhiên, chương trình tập trung kiểm thử số thành phần định ứng dụng Web, chưa mang tình chất tổng qua cho ứng dụng Web Chính mà hướng nghiên cứu tơi tối ưu hóa chương trình xây dựng cơng cụ kiểm thử đầy đủ để thực việc kiểm thử toàn ứng dụng Web cách tổng thể không kiểm thử chức mà cịn kiểm thử hiệu năng, kiểm thử giao diện,… References Tiếng Việt [1] Thạch Bình Cường (2011), Kiểm thử đảm bảo chất lượng phần mềm, Đại học Bách khoa Hà Nội [2] Pressman R (1997), Introduction to Software Engineering, Ngô Trung Việt dịch, NXB Giáo dục [3] Trung tâm Học liệu (2009), Kiểm thử phần mềm, Đại học Thái Nguyên [4] Nguyễn Xuân Huy (2007), Công nghệ phần mềm, NXB Đại học Tổng hợp TP Hồ Chí Minh Tiếng Anh [5] Hung Q.Nguyen, Bob Johnson, Michael Hacket (2009), Testing Applications on the Web [6] Glenford J.Myers (2004), The Art Of Software Testing, pp 4-5 [7] Jeffrey Feldstein (2005-2006), Model-Based Testing for Java and Web applications [8] Oluwaseun Akinmade (2008), Automated Model-Based Testing of Web Applications Website tham khảo [9] http://www.softwaretestinghelp.com/web-application-testing/ [10] http://www.softwaretestinghelp.com/web-application-testing/ [11] http://www.mkyong.com/java/how-to-create-xml-file-in-java-dom/ ... kiểm thử cho ứng dụng Web Như mục phân tích nắm ứng dụng Web, thành phần ứng dụng Web gì, có so sánh kiểm thử thông thường kiểm thử ứng dụng Web Vấn đề đặt lúc để kiểm thử ứng dụng Web cần quan... tả ca kiểm thử Hình 3.1 Mơ hình giải Hình 3.2 Q trình thực thi toán 3.2.1 Đầu vào cho ứng dụng kiểm thử Thực xây dựng Ứng dụng Web sử dụng ứng dụng Web tồn thực kiểm thử tự động ứng dụng Web Để... chương trình Hình 2.1 Kiểm thử hộp đen 2.2 Kiểm thử mơ hình ứng dụng Web 2.2.1 Ứng dụng Web gì? Trong kỹ thuật phần mềm, ứng dụng Web hay Webapp trình ứng dụng mà tiếp cận qua web thông qua

Ngày đăng: 25/02/2014, 16:20

Hình ảnh liên quan

Hình 2.1. Kiểm thử hộp đen. - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 2.1..

Kiểm thử hộp đen Xem tại trang 3 của tài liệu.
Hình 3.1. Mơ hình giải quyết bài toán  - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 3.1..

Mơ hình giải quyết bài toán Xem tại trang 6 của tài liệu.
Hình 4.1. Giao diện trang chủ. - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 4.1..

Giao diện trang chủ Xem tại trang 7 của tài liệu.
Hình 4.2. Giao diện đăng nhập - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 4.2..

Giao diện đăng nhập Xem tại trang 7 của tài liệu.
Hình 4.3. Màn hình đăng nhập thành cơng. - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 4.3..

Màn hình đăng nhập thành cơng Xem tại trang 8 của tài liệu.
Tạo bảng trạng thái cũng chính là đầu vào của công cụ kiểm thử tự động cho đăng nhập: - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

o.

bảng trạng thái cũng chính là đầu vào của công cụ kiểm thử tự động cho đăng nhập: Xem tại trang 8 của tài liệu.
Hình 4.7. Kết quả ghi ra kiểm thử Login ghi ra tệp tin Excel. - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 4.7..

Kết quả ghi ra kiểm thử Login ghi ra tệp tin Excel Xem tại trang 9 của tài liệu.
Hình 4.6. Quy trình ghi kết quả ra tệp tin XML - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 4.6..

Quy trình ghi kết quả ra tệp tin XML Xem tại trang 9 của tài liệu.
Hình 4.8. Trường hợp đăng nhập không thành công - Tài liệu Báo cáo "Nghiên cứu về kiểm thử cho mô hình ứng dụng Web " pot

Hình 4.8..

Trường hợp đăng nhập không thành công Xem tại trang 10 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan