Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 124 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
124
Dung lượng
4,86 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ NGỌC HƯƠNG KỸ THUẬT KIỂM THỬ CÁC ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ Hà nội – 2011 z ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ NGỌC HƯƠNG KỸ THUẬT KIỂM THỬ CÁC ỨNG DỤNG WEB Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin Mã số : 60 48 05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Ngọc Bình Hà nội – 2011 z Luận văn Thạc sĩ 2011 Kỹ thuật kiểm thử ứng dụng Web MỤC LỤC LỜI CAM ĐOAN BẢNG KÝ HIỆU BẢNG CÁC HÌNH VẼ DANH MỤC CÁC BẢNG 10 MỞ ĐẦU 12 CHƢƠNG 1:CÁC KHÁI NIỆM,PHƢƠNG PHÁP VÀ CHIẾN LƢỢC KIỂM THỬ PHẦN MỀM, SO SÁNH KIỂM THỬ WEB VÀ KIỂM THỬ PHẦN MỀM 14 1.1 Đặt vấn đề 14 1.2 Các khái niệm kiểm thử phần mềm 14 1.2.1 Khái niệm kiểm thử phần mềm? 14 1.2.2 Mục đích kiểm thử 14 1.3 Điều kiện kiểm thử 15 1.3.1 Điều kiện liên quan đến ứng dụng 15 1.3.2 Điều kiện liên quan đến môi trƣờng 15 1.4 Các giai đoạn kiểm thử phần mềm[18] 16 1.4.1 Kiểm thử đơn vị (Unit Test) 16 1.4.2 Kiểm thử tích hợp(Integration test) 16 1.4.3 Kiểm thử hệ thống(System Test) 16 1.4.4 Kiểm thử chấp nhận sản phẩm-Acceptance test 17 1.4.5 Kiểm thử hồi quy-Regression Testing 17 1.5 Các phƣơng pháp kiểm thử 18 1.5.1 Kiểm thử tĩnh - Static testing 18 1.5.2 Kiểm thử động – Dynamic testing[12] 18 1.6 Các chiến lƣợc kiểm thử 18 1.6.1 Kiểm thử hộp đen (Black-Box Testing) 18 1.6.2 Kiểm thử hộp trắng- White box testing 18 1.6.3 Kiểm thử hộp xám-Gray box testing 19 1.7 So sánh kiểm thử Web kiểm thử phần mềm 19 1.7.1 Khái niệm kiểm thử Website[16] 20 1.7.2 So sánh khác mơ hình ứng dụng 20 1.7.3 So sánh khác phần cứng phần mềm 22 1.7.4 Sự khác hệ thống khách chủ truyền thống Web 24 1.7.5 Các điều khiển giao diện ngƣời dùng[13] 27 1.7.6 Các ứng dụng trình chủ 29 1.7.7 Các vấn đề khả tƣơng tác[8] 31 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 Kỹ thuật kiểm thử ứng dụng Web CHƢƠNG 2: TỔNG QUAN VỀ KỸ THUẬT, NGUYÊN TẮC CƠ BẢN CỦA VIỆC LẬP KẾ HOẠCH KIỂM THỬ VÀ CÁC THÀNH PHẦN ỨNG DỤNG WEB 33 2.1 Tổng quan kiểm thử ứng dụng Web 33 2.2 Kiến trúc ứng dụng phân tán 33 2.2.1 Hệ thống khách –chủ truyền thống 33 2.2.2 Hệ thống khách- chủ Web 34 2.3 Kiến trúc thành phần ứng dụng Web[8] 37 2.3.1 Những thành phần phía trình chủ 37 2.3.2 Những thành phần dịch vụ ứng dụng 37 2.3.3 Những chƣơng trình dựa mở rộng trình chủ Web[6] 39 2.3.4 Những thành phần dịch vụ ứng dụng khác 41 2.3.5 Thành phần truyền thông 44 2.4 Nguyên tắc để lập kế hoạch kiểm thử 44 2.4.1 Kế hoạch kiểm thử 44 2.4.2 Tài liệu kế hoạch kiểm thử 44 2.4.3 Các mẫu kế hoạch kểm thử (test plan templates) 45 CHƢƠNG 3: TRÌNH BÀY CÁC KIỂU KIỂM THỬ TRONG KIỂM THỬ ỨNG DỤNG WEB VÀ CÁCH ỨNG DỤNG 46 3.1 Kỹ thuật Kiểm thử giao diện ngƣời dùng 46 3.1.1 Kỹ thuật Kiểm thử thiết kế giao diện ngƣời dùng 46 3.1.2 Kỹ thuật kiểm thử khả sử dụng truy cập 62 3.1.3 Các vấn đề cần xem xét kiểm thử 63 3.2 Kỹ thuật kiểm thử chức năng: 64 3.2.1 Kiểm thử đơn giản chấp nhận chức 64 3.2.2 Kiểm thử chức hƣớng tác vụ 65 3.2.3 Kỹ thuật kiểm thử lỗi ép buộc 66 3.2.4 Kỹ thuật kiểm thử điều kiện biên phân tích lớp tƣơng đƣơng 66 3.2.5 Kỹ thuật kiểm thử dạng khám phá 66 3.3 Kỹ thuật kiểm thử phía trình chủ 67 3.3.1 Kỹ thuật sử dụng tệp log 67 3.3.2 Kỹ thuật sử dụng công cụ giám sát 68 3.3.3 Kỹ thuật tạo giao diện kiểm thử trình điều khiển kiểm thử 71 3.3.4 Kỹ thuật thiết lập lại trình chủ 72 3.3.5 Kỹ thuật sử dụng script kiểm thử trình chủ 72 3.4 Sử dụng script để kiểm thử 72 3.4.1 Kỹ thuật quản trị hệ thống 72 3.4.2 Kỹ thuật kiểm thử trực tiếp trình chủ 72 3.4.3 Kỹ thuật làm việc với ứng dụng độc lập với giao diện 73 3.4.4 Kỹ thuật xem xét liệu: (các tệp log báo cáo) 73 3.4.5 Kỹ thuật sử dụng script để hiểu rõ kết kiểm thử 73 3.5 Kỹ thuật kiểm thử sở liệu 73 3.5.1 Các phƣơng pháp kiểm thử hộp trắng 74 3.5.2 Các phƣơng pháp kiểm thử hộp đen 75 3.6 Kỹ thuật kiểm thử trợ giúp 76 3.6.1 Các phƣơng pháp kiểm thử 76 3.6.2 Những vấn đề cần xem xét kiểm thử trợ giúp 76 3.7 Kỹ thuật kiểm thử cài đặt 78 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 Kỹ thuật kiểm thử ứng dụng Web 3.7.1 Các tiện ích kiểm thử chƣơng trình cài đặt, xóa cài đặt 78 3.7.2 Những vấn đề cần xem xét kiểm thử 78 3.8 Kỹ thuật kiểm thử khả tƣơng thích cấu hình 82 3.8.1 So sánh kiểm thử cấu hình với kiểm thử khả tƣơng thích 82 3.8.2 Các vấn đề kiểm thử cấu hình khả tƣơng thích 82 3.8.3 Các vấn đề cần xem xét kiểm thử 83 3.9 Kỹ thuật kiểm thử bảo mật Web 85 3.9.1 Kiểm thử yêu cầu thiết kế 86 3.9.2 Kiểm thử mã nguồn ứng dụng[9] 86 3.9.3 Kiểm thử mã nguồn hãng thứ ba 86 3.9.4 Kiểm thử xâm nhập (Penetration testing) 87 3.9.5 Kiểm thử bảo vệ ngƣời sử dụng qua thiết lập trình duyệt[14] 88 3.10 Kỹ thuật kiểm thử hiệu 88 3.10.1 Kỹ thuật tạo liệu thử 89 3.10.2 Kỹ thuật thiết lập môi trƣờng kiểm thử 89 3.10.3 Kỹ thuật thiết lập tham số kiểm thử 89 CHƢƠNG 4: ÁP DỤNG KIỂM THỬ TRÊN ỨNG DỤNG WEB CỤ THỂ, ĐÁNH GIÁ VÀ ĐỀ XUẤT 91 4.1 4.2 4.3 4.3.1 4.3.2 Kế hoạch kiểm thử Website Hand-made Flower Shop 91 Mô Use Case cụ thể 101 Thực kiểm thử 107 Kiểm thử tay 107 Kiểm thử tự động tool 111 PHỤ LỤC 114 A Các công cụ kiểm thử Web 116 A.1 Browershots 116 A.2 Superpreview 116 A.3 Cross brower testing 116 A.4 Spoon brower sandbox 116 A.5 Browerseal 116 A.6 IE tester 116 A.7 Watchfire linkbot pro 117 A.8 Parasoft web king 117 A.9 Macromedia homsite 117 A.10 Xenu‘s link sleuth 117 A.11 Dr.watson 117 A.12 Reasoning illuma 117 A.13 Test center 118 B Các công cụ kiểm thử hiệu kiểm thử tải Web 118 B.1 Empirix eload 118 B.2 Compuware qacenter performancedition 118 B.3 XML load testing 118 B.4 Mecury interactive application performance management 119 B.5 Segue silkperformers 119 B.6 Loadtesting.com portent 119 B.7 Webpartner stress testing 119 C Công cụ kiểm tra tự động mã nguồn mở 119 D Một số công cụ mã nguồn mở khác 120 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 Kỹ thuật kiểm thử ứng dụng Web KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 114 TÀI LIỆU THAM KHẢO 122 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 Kỹ thuật kiểm thử ứng dụng Web BẢNG KÝ HIỆU Ký hiệu Thuật ngữ RAM Random Access Memory CPU UI LAN HTML Central Processing Unit User Interface Local area network Hypertext Markup Language XML EXtensible Markup Language DHTML Dynamic Hypertext Markup Language CSS SDI SDI- single document interface MDI Multiple document interface CORBA Common Object Request Broker Architecture DCOM Distributed Common Object Model API Application Programming Interface DLL Dynamic link library PDA Personal Digital Assistant SDK Soffware Development Kit JVM FPT HTTP RDBMS Java Virtual Machine File Transfer Protocol Hypertext Transfer Protocol Relational Database Ý nghĩa Mục tham chiếu Bộ nhớ truy cập ngẫu nhiên Bộ xử lý trung tâm Giao diện ngƣời dùng Mạng nội Ngôn ngƣ̃ đánh dấ u siêu văn bản 1.3.2 Ngôn ngữ đánh dấu mở rộng 1.7.4 1.7.1 1.7.1 1.7.3 1.7.4 1.7.4 Giao diện đơn tài liếu 1.7.4 1.7.4 Giao diện đa tài liệu 1.7.4 Cơng nghệ chuyển đổi giao diện Mơ hình đối tƣợng phân tán Giao diện lập trình ứng dụng Thƣ viện liên kết động Các thiết bị số cầm tay Bộ công cụ phát triển phần mềm Máy ảo Java 1.7.7 Giao thức truyền tập tin 2.3.2 Giao thức truyền tải siêu văn Trình chủ sở liệu 2.3.2 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng 1.7.7 1.7.6 1.7.5 2.2.2 2.2.2 2.2.2 2.3.2 Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 SQL SOAP Management System Struct Query Language CGI Simple Object Access Protocol Common Gateway ASP Active Server Page JSP Java Server Page PERL Practical Extraction and Reporting Language Kỹ thuật kiểm thử ứng dụng Web quan hệ Ngôn ngữ truy vấn có cấu trúc Giao thức truy cập đối tƣợng đơn giản 2.3.2 2.3.2 2.3.2 Ngôn ngữ máy chủ ASP(công nghệ Microsoft) Ngôn ngữ máy chủ JSP(công nghệ Sun) Công cụ soạn kịch Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng 2.3.2 2.3.2 2.3.2 Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 Kỹ thuật kiểm thử ứng dụng Web BẢNG CÁC HÌNH VẼ Số thứ tự 10 11 12 13 Hình Hình 1.1 Hình 1.2 Hình 1.3 Hình 1.4 Hình 1.5 Hình 1.6 Hình 1.7 Hình 1.5 Hình 1.6 Hình 1.7 Hình 1.8 Hình 1.9 Hình 1.10 14 15 Hình 1.11 Hình 1.12 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Hình 1.13 Hình 1.14 Hình 1.15 Hình 1.16 Hình 1.17 Hình 2.1 Hình 2.2 Hình 2.3 Hình 2.4 Hình 2.5 Hình 3.1 Hình 3.2 Hình 3.3 Hình 3.4 Hình 3.5 Mơ tả Mục tham chiếu Cấu hình hai máy Mục 1.3.2 Sơ đồ tranh chấp tài nguyên Mục 1.3.2 Cấu trúc kiểm thử hộp đen Mục 1.6.1 Cấu trúc kiểm thử hộp trắng Mục 1.6.2 Cấu trúc đồ thị luồng Mục 1.6.2 Độ phức tạp Cyclomat Mục 1.6.2 Các kiểu vòng lặp Mục 1.6.2 Kiểm thử hộp xám Mục 1.6.3 Mơ hình ứng dụng Mục 1.7.2 Các hệ thống máy tính lớn Mục 1.7.2 Các hệ thống máy tính cá nhân để bàn Mục 1.7.2 Các hệ thống khách – chủ Mục 1.7.2 Môi trƣờng phần cứng phần mềm đƣợc Mục 1.7.3 điều khiển Một hệ thống khách –chủ mạng LAN Mục 1.7.3 Các trình khách truyền thống trình Mục 1.7.4 khách Web Hai thể ứng dụng Mục 1.7.4 Nhiều cửa sổ ứng dụng Mục 1.7.4 dụng giao diện đa tài liệu Mục 1.7.4 Ứng dụng giao diện đơn tài liệu Mục 1.7.4 Khả tƣơng tác Mục 1.7.7 Hệ thống thin-client Mục 2.2.1 Hệ thống thick-client Mục 2.2.1 Hệ thống Web ba tầng Mục 2.2.2 Ứng dụng thin-client Web Mục 2.2.2 Ứng dụng thick-client Web Mục 2.2.2 Phép ẩn dụ dựa tài liệu Mục 3.1.1 Phép ẩn dụ dựa thiết bị Mục 3.1.1 Lựa chọn qua nút radio Mục 3.1.1 Lựa chọn qua trình đơn kéo xuống Mục 3.1.1 Các điều khiển HTML bao gồm hộp Mục 3.1.1 văn chuẩn HTML hộp văn Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 31 Hình 3.6 32 Hình 3.7 33 Hình 3.8 34 Hình 3.9 35 36 37 Hình 3.10 Hình 3.11 Hình 3.12 38 Hình 3.13 39 40 Hình 3.14 Hình 3.15 41 Hình 3.16 42 Hình 3.17 43 Hình 3.18 44 Hình 3.19 45 Hình 3.20 46 47 48 Hình 3.21 Hình 3.22 Hình 4.1 Kỹ thuật kiểm thử ứng dụng Web cuộn Các điều khiển HTML bao gồm trình đơn kéo xuống Các liên kết đồ họa, liên kết văn di chuyển chuột qua trƣờng văn Đoạn mã HTML cho liên kết đồ họa, liên kết văn di chuyển chuột qua va liên kết văn Bảng, mẫu, khung mô điều khiển giao diện Windows Thơng điệp lỗi dựa trình duyệt minh họa phản hồi phía trình chủ Khơng tƣơng thích trình duyệt- Trình duyệt A Khơng tƣơng thích trình duyệt- Trình duyệt B Tệp log ví dụ (System Monitor Utility )có thể ghi lại việc sử dụng tài nguyên hệ thống Windows Performance Monitor- ghi nhận loại hoạt động phần cứng khác Window Event Viewer – Tiện ích ghi nhận thông tin log Windows System Information- cho biết tài nguyên phần cứng môi trƣờng phần mềm Terminal System Information- cho phép xem thông tin hệ thống Windows Task Manager- Xem ứng dụng tiến trình chạy, số liệu đo lƣờng sử dụng CPU nhớ Ví dụ giao diện kiểm thử Các điểm tƣơng tác Biểu đồ mô use case Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Mục 3.1.1 Mục 3.1.1 Mục 3.1.1 Mục 3.1.1 Mục 3.1.1 Mục 3.1.1 Mục 3.1.1 Mục 3.1.1 Mục 3.3.1 Mục 3.1.3 Mục 3.3.1 Mục 3.3.1 Mục 3.3.1 Mục 3.3.1 Mục 3.3.1 Mục 3.3.1 Mục 3.5 Mục 4.2 Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 109 Kỹ thuật kiểm thử ứng dụng Web Kiểm thử bảo mật SQL Injection: Danh sách Website bị lỗi SQL injection: http://www.security.com.vn -Dạng công lúc đăng nhập: -User name : 'OR''=' -Pass: 'OR''=' Câu lệnh SQL trở thành: SELECT * FROM T_USERS WHERE USR_NAME ='' OR ''='' and USR_PASSWORD= '' OR ''='' => Hợp lệ: Hệ thống đăng nhập bình thƣờng Khoa Cơng Nghệ Thơng Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 110 Kỹ thuật kiểm thử ứng dụng Web -Dạng công sử dụng câu lệnh SELECT hay gặp Website tin tức Câu lệnh trả tất tin tức thay tin tìm kiếm Khoa Cơng Nghệ Thơng Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 111 Kỹ thuật kiểm thử ứng dụng Web SELECT * FROM T_NEWS WHERE NEWS_ID=0 or 1=1 4.3.2 Kiểm thử tự động tool XENU’S LINK SLEUTH Mục đích: Đây trình kiểm tra liên kết miễn phí Đầu vào: -link huongntn.aprotrain.com -Danh sách loạt Website cần check URL Kết quả: Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 112 Kỹ thuật kiểm thử ứng dụng Web COMPUWARE QACENTER PERFORMANCE EDITION Mục đích: Kiểm thử tải, hiệu khả tăng trƣởng Địa chỉ: http://www.compuware.com/application-performance-management/ Kết quả: Sinh biểu đồ bảng liệu thời gian tải, số byte tải Security_TestTool (cài Websecurity 8.0) Mục đích: Kiểm thử lỗi bảo mật (SQL injection ) Đầu vào: link huongntn.aprotrain.com Kết : Phát đƣợc lỗi SQL injection kiểm thử tay không phát (trang Web cố tình chặn lỗi SQL injection javascript, khơng bắt WebServer) Phát triển tool –TestPerformance Mục đích: Kiểm thử hiệu tải Đầu vào: Nhập link: huongntn.aprotrain.com Nhập time số 30 request / giây Thời gian: phút Kết quả: Trong file TestPerforme.xls Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 113 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Kỹ thuật kiểm thử ứng dụng Web Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 114 Kỹ thuật kiểm thử ứng dụng Web KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kiểm thử phần mềm nói chung kiểm thử ứng dụng Web nói riêng hoạt động quan trọng nhằm đảm bảo chất lƣợng phần mềm Vấn đề đề tài mẻ Việt Nam Việc nghiên cứu kiến trúc công nghệ Web cần thiết để lựa chọn kỹ thuật chiến lƣợc kiểm thử phù hợp giúp cho việc kiểm thử ứng dụng Web có hiệu quả, giảm chi phí thời gian Việc xây dựng tài liệu kiểm thử ứng dụng Web hợp lý giúp cho việc tổ chức, quản lý thực kiểm thử có hiệu Trong khuôn khổ luận văn thạc sĩ, nghiên cứu kiến trúc, mơ hình, kĩ thuật tảng chiến lƣợc kiểm thử ứng dụng Web, từ áp dụng để thiết kế, xây dựng kiểm thử ứng dụng Web ―Hand-made Flower shop‖ Toàn hệ thống đƣợc lập trình ngơn ngữ máy chủ ASP JavaScript ứng dụng CSS, HTML, DHTML, sử dụng công cụ DreamWeaver Dữ liệu đƣợc lƣu trữ hệ quản trị CSDL SQL Server 2005 đƣợc dùng tốt trình duyệt Firefox 3.0, InternetExplorer 7.0 trở lên Áp dụng kỹ thuật kiểm thử nghiên cứu thực đƣợc công việc dƣới cho Website “Hand-made Flower shop”: Xây dựng kế hoạch kiểm thử (test plan) Xây dựng use case, test case Kiểm thử tay, công cụ kiểm thử tự động số Website Phát triển công cụ kiểm thử hiệu (test perfomance)cho ứng dụng Web Hiện nay, vấn đề kiểm thử ứng dụng Web hầu nhƣ chƣa đƣợc đầu tƣ quan tâm mức Ở Việt Nam q trình phát triển bùng nổ Website khơng thể xem nhẹ việc kiểm thử xác suất thất bại cao (bị công, mát liệu…) Kết nghiên cứu áp dụng thực tế cho đề tài dự án phát triển ứng dụng Web, làm tài liệu tham khảo cho sở tiến tới đƣa qui trình kiểm thử ứng dụng Web thành qui trình bắt buộc dự án phát triển Website họ Hƣớng phát triển đề tài tiếp tục nghiên quy trình kiểm thử ứng dụng Web đƣợc phát triển triển khai công nghệ đại giới mẻ Việt Nam nhƣ ứng dụng Web tảng công Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 115 Kỹ thuật kiểm thử ứng dụng Web nghệ điện tốn đám mây, phát triển Việt Nam vòng vài năm tới Từ đó, xây dựng quy trình, tài liệu kiểm thử cho ứng dụng Web tảng công nghệ Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 116 Kỹ thuật kiểm thử ứng dụng Web PHỤ LỤC A Các công cụ kiểm thử Web A.1 Browershots http://browsershots.org/:BrowserShots miễn phí trực tuyến lâu đời tiếng trình duyệt ảnh chụp hình đa dịch vụ Nó hỗ trợ số lƣợng lớn trình duyệt: tổng cộng 61 phiên trình duyệt khác hệ điều hành Với tính thơng minh, cho phép bạn kích hoạt Javascript, vơ hiệu hố Java Flash thay đổi kích thƣớc hình Bạn xem ảnh chụp hình trang web bạn nhƣ hiển thị trình duyệt khác Trình duyệt ảnh cho phép bạn chọn kích thƣớc hình, độ sâu màu, JavaScript Flash cài đặt A.2 Superpreview Internet Explorer cho phép bạn kiểm tra trang web bạn nhiều phiên Internet Explorer Không giống nhƣ tùy chọn kiểm tra khác, SuperPreview cho phép bạn kiểm tra trang nhƣ bạn phát triển chúng máy tính cá nhân bạn Tuy giai đoạn phát triển, nhƣng chƣơng trình hứa hẹn A.3 Cross brower testing http://crossbrowsertesting.com/:Chọn hệ điều hành, chọn trình duyệt, xem ảnh chụp hình tốt nhiều trình duyệt cung cấp cho bạn tổng quan trang web bạn A.4 Spoon brower sandbox http://spoon.net/browsers/:Từ trang chủ họ, bạn kiểm tra trang Safari, Chrome, IE, Firefox Một lần nhấp chuột mở cửa sổ với trình duyệt ƣa thích bạn Những điều tốt để kiểm tra trang web Công cụ yêu cầu plug-in download, nhƣng trình dễ dàng nhanh chóng Sau cài đặt plugin cho trình duyệt bạn trở lại Spoon Browser Sandbox chọn lấy browse muốn kiểm tra A.5 Browerseal http://spoon.net/browsers/:BrowserSeal cơng cụ Tƣơng tự nhƣ SuperPreview, ứng dụng dịch vụ Web, tốc độ chụp trang web tốt A.6 IE tester http://www.my-debugbar.com/wiki/IETester/HomePage: IETester WebBrowser miễn phí cho phép bạn xem trang web IE8, IE7, IE IE5 Windows 7, Vista XP Hỗ trợ Debug Bar cho phép xem đoạn mã HTML, CSS hay scripts trực tiếp trang web Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 117 Kỹ thuật kiểm thử ứng dụng Web A.7 Watchfire linkbot pro http://www.watchfire.com:Trình hợp thức hóa HTML trình kiểm tra liên kết đƣợc tích hợp vào giải pháp cho doanh nghiệp cho phép quản lý Web site doanh nghiệp động phức tạp Nguồn:Watchfire Nền tảng:Windows Bản dùng thử: Có A.8 Parasoft web king http://www.parasoft.com:Trình hợp thức hóa HTML trình kiểm tra liên kết công cụ quản lý phát triển kiểm thử hoàn chỉnh Nguồn:Parasoft Nền tảng: Windows, Linux Sun Solaris Bản dùng thử: Khơng, có minh họa miễn phí sử dụng Web King A.9 Macromedia homsite http://www.macromedia.com/software/homesite/:Một trình soạn thảo mã nguồn phát triển Web có trình hợp thức hóa HTML trình kiểm tra liên kết Nguồn: Homesite Nền tảng: Windows Bản dùng thử: Có A.10 Xenu’s link sleuth http://home.snafu.de/tilman/xenulink.html: Đây trình kiểm tra liên kết miễn phí Nguồn: Khơng áp dụng Nền tảng: Windows Bản dùng thử: Không áp dụng A.11 Dr.watson http://watson.addy.com: Dr Watson dịch vụ miễn phí mà bạn sử dụng để phân tích trang Web bạn Internet Bạn cung cấp URL trang Web Dr.Watson chép từ trình chủ Web bạn Dr.Watson kiểm tra nhiều vấn đề Web site, bao gồm hợp lệ liên kết, tốc độ tải xuống, khả tƣơng thích máy tìm kiếm khả phổ biến liên kết Nguồn: Addy & Associates Nền tảng: Không áp dụng Bản dùng thử: Không áp dụng A.12 Reasoning illuma http:// www.reasoning.com: Dịch vụ tra mã nguồn nhằm có độ tin cậy cao cho mã nguồn C C++ Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 118 Kỹ thuật kiểm thử ứng dụng Web Nguồn: Reasoning Nền tảng: Không áp dụng Bản dùng thử: Khơng áp dụng A.13 Test center http://www.centerline.com/productline.html: Phân tích mã nguồn C C++ Nguồn: Center Line Nền tảng: Máy trạm Sun-4/SPARC, ULtraSPARC HP 700 Series, HP 800 (PA 1.1), máy trạm IBM RS600 Bản dùng thử: Không B Các công cụ kiểm thử hiệu kiểm thử tải Web Các công cụ tạo script kiểm thử cách ghi nhận hoạt động ngƣời dùng kết hợp chúng với ngôn ngữ script Chúng tạo nhiều tuyến (thread), tuyến thực thi script kiểm thử kịch mô yêu cầu thực đƣợc gửi đến trình chủ Các độ đo hiệu nhƣ thời gian trả lời thơng lƣợng liệu đƣợc ghi nhận báo cáo định dạng bảng nhƣ định dạng đồ họa để phân tích hiệu B.1 Empirix eload http://www.rswsoftware.com Nền tảng: Windows Bản dùng thử: Có B.2 Compuware qacenter performancedition http://www.compuware.com/products/qacenter/perfomance: Kiểm thử tải, hiệu khả tăng trƣởng Nguồn: Compuware Nền tảng: PC/Windows, IBM mainframe/OS/390/MVS/VM Bản dùng thử:Có B.3 XML load testing http://www.red-gate.com/advanced_dotnet_testing_system.html:Trình kiểm thử tải ANTS Nguồn: Red-gate Nền tảng: Windows Bản dùng thử: Có Khoa Cơng Nghệ Thơng Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 119 Kỹ thuật kiểm thử ứng dụng Web B.4 Mecury interactive application performance management http://www.mercuryinteractive.com: Kiểm thử tải, hiệu khả tăng trƣởng Nguồn: Mercury Interactive Nền tảng: Windows Bản dùng thử: Có B.5 Segue silkperformers http://www.segue.com:Kiểm thử tải, hiệu khả tăng trƣởng Nguồn: Segue Nền tảng: Windows Bản dùng thử:Có B.6 Loadtesting.com portent http://www.loadtesting.com Kiểm thử tải, hiệu khả tăng trƣởng Nguồn: LoadTesting.com Nền tảng: Java (đƣợc kiểm thử với Windows 9x, NT, 2000, Linux Solaris x86) Bản dùng thử: Có B.7 Webpartner stress testing http://www.webpartner.com/st_main.html: Kiểm thử tải, hiệu khả tăng trƣởng Nguồn: WebPartner Nền tảng: Trên Web Bản dùng thử: Có C Cơng cụ kiểm tra tự động mã nguồn mở C.1 Jmeter http://jakarta.apache.org/jmeter/: Là công cụ chuyên dùng để kiểm tra hiệu ứng dụng web, đƣợc viết Java, JMeter hoạt động hệ điều hành có hỗ trợ JVM (Java Virtual Machine) phiên 1.4 trở lên JMeter khơng địi hỏi kiến thức lập trình chuyên sâu để sử dụng Hiện ứng dụng đƣợc cải tiến để đo lƣờng hiệu hoạt động đối tƣợng giao thức sau: HTTP, HTTPS, SOAP, JDBC, LDAP, JMS, POP3 C.2 Selenium Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 120 Kỹ thuật kiểm thử ứng dụng Web http://seleniumhq.org: Selenium gồm cơng cụ hỗ trợ kiểm tra tự động tính ứng dụng web, bao gồm: Selenium IDE, Selenium Remote Control (RC), Selenium Core Selenium Grid Bộ công cụ hoạt động tốt nhiều hệ điều hành thực thi kiểm tra trực tiếp trình duyệt web khác Một ứng dụng mở rộng cho Mozilla Firefox phiên 2.0 trở lên Công cụ cung cấp chức "thu chạy lại" – Record and Playback Nhờ đó, Tester nhanh chóng tạo kịch kiểm tra (test script) cách trực tiếp "thu" thao tác đối tƣợng cần kiểm tra thành tập câu lệnh Selenese (ngôn ngữ kịch đƣợc dùng riêng cho Selenium IDE Selenium Core, có dạng bảng HTML) Sau chạy lại câu lệnh để kiểm tra Chức hữu dụng giúp tiết kiệm thời gian viết kịch kiểm tra Selenium IDE cho phép lƣu kịch thâu dƣới nhiều loại ngôn ngữ lập trình khác nhƣ Java, PHP, C#, Ruby, Perl hay Python D Một số công cụ mã nguồn mở khác Ngồi hai cơng cụ hữu ích trên, cơng cụ sau có số khuyết điểm nhƣng gây đƣợc ấn tƣợng tốt với cộng đồng ngƣời dùng nên điểm qua số thơng tin sau: D.1 The grinder http://grinder.sourceforge.net: The Grinder có nhiều điểm tƣơng đồng với JMeter: ứng dụng Java, hoạt động nhiều hệ điều hành, yêu cầu JVM phiên 1.4 trở lên The Grinder đƣợc thiết kế để kiểm tra hiệu web, sở liệu qua JDBC số giao thức khác Điều khác biệt The Grinder đòi hỏi tester phải có khả sử dụng ngơn ngữ Jython để viết/chỉnh sửa kịch kiểm tra (test script) theo ý mình, hệ thống báo cáo kết kiểm tra không linh động nhƣ JMeter D.2 Testmaker http://www.pushtotest.com: Hỗ trợ kiểm tra hiệu tính ứng dụng web TestMaker có khả chạy test script đƣợc thâu từ công cụ khác nhƣ TestGen4Web Selenium Tuy nhiên, phiên đƣợc xây dựng sẵn để cài đặt sử dụng miễn phí nhƣng bị hạn chế khả chạy kiểm tra tối đa với 200 ngƣời dùng ảo Để xóa bỏ hạn chế này, ngƣời sử dụng trả tiền tự tải mã nguồn TestMaker tự xây dựng (build) thành cài đặt sử dụng hoàn chỉnh Điều đòi hỏi kiến thức Java, Ant, NetBean, D.3 Webload opensource http://webload.org: Là công cụ thƣơng mại hỗ trợ kiểm tra hiệu web RadView Software Gia nhập cộng đồng mã nguồn mở vào năm 2007 nhƣng WebLoad OpenSource bị hạn chế nhiều tính so với phiên thƣơng mại Khoa Cơng Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 121 Kỹ thuật kiểm thử ứng dụng Web Hiện WebLoad OpenSource không hỗ trợ giao thức HTTPS nên bất tiện số trƣờng hợp D.4 Opensta http://opensta.org: Là cơng cụ kiểm tra hiệu web có tên tuổi nhƣng không đƣa phiên từ cuối năm 2007 Một yếu điểm OpenSTA hoạt động Windows Tuy nhiên tính thân thiện dễ sử dụng công cụ lại đƣợc đánh giá cao Ngôn ngữ kịch đƣợc sử dụng OpenSTA SCL Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 122 Kỹ thuật kiểm thử ứng dụng Web TÀI LIỆU THAM KHẢO Tiếng Anh [1] Beizer, B (1995), Black- box Testing, Wiley [2] Boehm B W (1976), Software Engineering, IEEE Transactions on Computers [3] British Standard (1998), BS 7925- - Standard for Software Component Vocabulary, British Computer Society [4] British Standard (1998), BS 7925- - Standard for Software Component Testing, British Computer Society, p 1- 15 [5] Binder, Robert V Testing Object-Oriented Systems: Models, Patterns, and Tools Reading, WA: Addison Wesley Longman,2000 [6].Barron, David, The World of Scripting Languages.New York: John Wiley & Sons, inc.,2000 [7].Boume, Kelly C Testing Client/Server Systems New York: McGraw-Hill, 1997 Coffman, Gayle SQL Server 7: The Complete Reference Berkeley, CA: Osborn/McGraw-Hill, 1999 [8].Hung Q.Nguyen Bob Johnson Michael Hacket Testing_Applications_on_the_Web [9].Howard, M., and David LeBlanc Writing Secure Code Rednond, WA: Microsoft Press, 2002 Larson, E., and Stephens, B WebServer, Security, and Maintenance Upper Saddle River, NJ: Prentice-Hall PTR,2000 [10] Kaner, Cern, Jack Falk, Hung Q.Nguyen Testing Computer Software.New York: Joim Wiley & Sons, inc.,1999 [11].McClure, S., Joel Scambray, and George Kurtz Attacking Exposed:Network Security Secrets ans Solutions, 3rd ed New York:McGraw Hill,2001 [12].M.Fewster and D.Graham, Software Test Automation:Effective Use of Test Execution Tools, -ACM Press, 1999; ISBN: 0201331403 [13].QA Trainning Handbook:Testing Windows Desktop and Server-Based Applications San Mateo, CA: LogiGear Corporation, 2002 [14] The Art of Software Testing, Canada: John Wiley & Sons, inc 2004 Viega J., and G.McGraw Building Secure Software: How to Advoid Security problems the Right Way Boston, MA: Addison-Wesley,2002 Website: [15] http://vi.wikipedia.org/ [16] http://www.vietnamesetestingboard.org [17] RAS Security web site, www.rsasecurity.com Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z Luận văn Thạc sĩ 2011 123 Kỹ thuật kiểm thử ứng dụng Web [18].Security Focus Online, http://online.securityfocus.com/archive/1 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội z ... 46 Kỹ thuật kiểm thử ứng dụng Web CHƢƠNG 3: CÁC KỸ THUẬT KIỂM THỬ ỨNG DỤNG WEB 3.1 Kỹ thuật Kiểm thử giao diện ngƣời dùng 3.1.1 Kỹ thuật Kiểm thử thiết kế giao diện ngƣời dùng Kỹ thuật kiểm thử. .. hạn luận văn, tơi tập chung trình bày tổng quan kiểm thử phần mềm kiểm thử ứng dụng Web, phƣơng pháp kiểm thử ứng dụng kiểm thử úng dụng web, công cụ kiểm thử cách ứng dụng Cấu trúc luận văn. .. tảng kỹ thuật nhƣ nguyên tắc lập kế hoạch kiểm thử Chƣơng 3: Trình bày kiểu kiểm thử, cơng cụ kiểm thử ứng dụng kiểm thử ứng dụng Web cách ứng dụng Chƣơng 4: Áp dụng kiểm thử ứng dụng Web cụ thể,