Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 137 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
137
Dung lượng
3,22 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 ĐẠ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 Chuyên ngành Mã số 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 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Ẽ .8 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 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 Luận văn Thạc sĩ 2011 Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội 3.7.1 Các tiện ích k 3.7.2 Những vấn đề cần xem xét kiểm thử 3.8 Kỹ thuật kiểm thử khả tƣơng thích v 3.8.1 So sánh kiểm thử cấu hình với kiểm thử khả tƣơng thích 3.8.2 Các vấn đề củ 3.8.3 Các vấn đề cần xem xét kiểm thử 3.9 Kỹ thuật kiểm thử bảo mật Web 3.9.2 3.9.3 3.9.4 3.9.5 Kiểm thử mã nguồn ứng dụng[9] Kiểm thử mã nguồn hãng thứ ba Kiểm thử xâm nhập (Penetration testing) Kiểm thử bảo vệ ngƣời sử dụng qua thiết lập trình duyệt[14] 3.10 Kỹ thuật kiểm thử hiệu 3.10.1 3.10.2 3.10.3 Kỹ thuật thiết Kỹ thuật thiết CHƢƠNG 4: ÁP DỤNG KIỂM THỬ TRÊN ỨNG DỤNG WEB CỤ THỂ, ĐÁNH GIÁ VÀ ĐỀ XUẤT 4.1 4.2 4.3 4.3.1 4.3.2 PHỤ LỤC Kế hoạch kiểm thử Website Hand-m Mô Use Case cụ thể Thực kiểm thử Kiểm thử tay Kiểm thử tự động tool A Các công cụ kiểm thử Web A.1 Browershots A.2 Superpreview A.3 Cross brower t A.4 Spoon brower A.5 Browerseal A.6 IE tester A.7 Watchfire linkb A.8 Parasoft web k A.9 Macromedia h A.10 Xenu‘s link sle A.11 Dr.watson A.12 Reasoning illu A.13 Test center B Các công cụ kiểm thử hiệu kiểm thử tải Web B.1 Empirix eload B.2 Compuware qa B.3 XML load test B.4 Mecury interac B.5 Segue silkperf B.6 Loadtesting.co B.7 Webpartner str C Công cụ kiểm tra tự động mã nguồn mở D Một số công cụ mã nguồn mở khác Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Luận văn Thạc sĩ 2011 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO 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 Luận văn Thạc sĩ 2011 Ký hiệu Thuậ RAM Random Acce CPU Central Proce UI User Interface LAN Local area ne HTML Hypertext Ma Language XML EXtensible M Language DHTML Dynamic Hyp Markup Lang CSS SDI SDI- single d interface MDI Multiple docu interface CORBA Common Obj Broker Archit DCOM Distributed C Object Model API Application P Interface DLL Dynamic link PDA Personal Dig SDK Soffware Dev JVM Java Virtual M FPT HTTP File Transfer Hypertext Tra Protocol RDBMS Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng Relational Da Luận văn Thạc sĩ 2011 Management Struct Query SQL SOAP CGI Simple Obje Protocol Common Ga ASP Active Serve JSP Java Server PERL Practical Ext Reporting La 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 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 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 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 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 Luận văn Thạc sĩ 2011 Khoa Công Nghệ Thông Tin Học viên: Nguyễn Thị Ngọc Hƣơng 113 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 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 “Handmade 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 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 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 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 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 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 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 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 hồ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 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 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 [4] British Standard (1998), BS 7925- - Standard for Software Component [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 rd Security Secrets ans Solutions, 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 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 ... 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ể,