Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
5,25 MB
Nội dung
ỦY BAN NHÂN DÂN TP.HCM TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU KHOA HỌC Tên đề tài: NGHIÊN CỨU MỘT SỐ FRAMEWORK HỖ TRỢ ĐÁNH GIÁ TỰ ĐỘNG CHO MƠN HỌC LẬP TRÌNH WEB Chủ nhiệm đề tài: PHAN GIA PHƯỚC Tp Hồ Chí Minh, năm 2016 LỜI CẢM ƠN Tơi xin chân thành cảm ơn Ban Giám Hiệu trường Cao đẳng Công nghệ Thủ Đức hỗ trợ, tạo điều kiện tốt cho tham gia nghiên cứu khoa học Xin kính chúc Ban Giám Hiệu Nhà trường dồi sức khỏe để tiếp tục đào tạo hệ sinh viên vừa hồng, vừa chuyên, góp phần vào nghiệp phát triển đất nước Xin chân thành cảm ơn Thầy Vũ Phạm Việt Hà – Trưởng phịng Khoa học Cơng nghệ Trường Cao đẳng Cơng nghệ Thủ Đức tạo điều kiện thuận lợi để giảng viên tơi có điều kiện thực tốt nhiệm vụ nghiên cứu khoa học Xin chân thành cảm ơn Thầy Võ Thành Trung – Trưởng Khoa Công nghệ thông tin tin tưởng giao nhiệm vụ thực tập doanh nghiệp cho tơi để tơi có điều kiện trau dồi phát triển kiến thức giảng dạy mơn lập trình cơng tác nghiên cứu khoa học Xin kính chúc Thầy ln ln mạnh khỏe vui tươi để dìu dắt khoa Cơng nghệ thơng tin ngày phát triển Xin chân thành cảm ơn gia đình, người thân đồng nghiệp cổ vũ, động viên tơi suốt q trình thực nhiệm vụ nghiên cứu khoa học Xin chân thành cảm ơn ! Tp Hồ Chí Minh, ngày 14 tháng 02 năm 2016 GIẢNG VIÊN Phan Gia Phước ii i MỤC LỤC TRANG TỰA TRANG LỜI CẢM ƠN i MỤC LỤC iii DANH MỤC CÁC CHỮ VIẾT TẮT vi DANH MỤC CÁC HÌNH vii DANH MỤC CÁC BẢNG viii PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài 1.1.1 Tính thời đề tài 1.1.2 Tính cấp thiết đáp ứng nhu cầu phát triển kinh tế - xã hội, nâng cao chất lượng đào tạo: 1.2 Mục tiêu đề tài 1.3 Đối tượng phạm vi nghiên cứu 1.3.1 Đối tượng nghiên cứu 1.3.2 Phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.4.1 Phương pháp nghiên cứu lý luận 1.4.2 Phương pháp nghiên cứu thực tiễn 1.5 Đóng góp đề tài 1.6 Kết cấu đề tài PHẦN NỘI DUNG Chương CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ NGHIÊN CỨU 1.1 Lịch sử vấn đề nghiên cứu 1.1.1 Trên giới 1.1.2 Ở Việt Nam 1.2 Cơ sở lý thuyết 1.2.1 Tổng quan Selenium Framework 1.2.2 Làm việc với Selenium WebDriver 11 1.2.2.1 Giới thiệu 11 ii 1.2.2.2 Kiểm tra text phần tử 11 1.2.2.3 Kiểm tra giá trị thuộc tính phần tử 12 1.2.2.4 Kiểm tra giá trị CSS phần tử 13 1.2.2.5 Sử dụng API tương tác người dùng nâng cao cho kiện chuột bàn phím 14 1.2.2.6 Thực nhấn đúp (double-click) vào phần tử 15 1.2.2.7 Thực thao tác kéo-và-thả cách tự động 16 1.2.2.8 Thực thi mã JavaScript 17 1.2.2.9 Chụp ảnh hình với Selenium WebDriver 18 1.2.2.10 Phóng lớn tối đa cửa sổ trình duyệt 19 1.2.2.11 Kiểm thử tự động control Dropdown List 19 1.2.2.12 Kiểm tra option Dropdown List: 23 1.2.2.13 Kiểm thử tự động với radio buttons radio groups: 24 1.2.2.14 Kiểm thử tự động với Checkbox: 26 1.2.2.15 Kiểm sốt tiến trình Windows 28 1.2.2.16 So sánh hình ảnh Selenium: 28 1.2.2.17 Highlight tự động phần tử trang web: 33 1.2.2 Khái quát kiểm thử hiệu (Performance Test) 34 1.2.3 Tổng quan công cụ Load Runner 37 1.2.4 Tổng quan công cụ Jmeter 38 Chương 41 ỨNG DỤNG CÁC FRAMEWORK VÀO HỖ TRỢ ĐÁNH GIÁ TỰ ĐỘNG CHO MƠN HỌC LẬP TRÌNH WEB 41 2.1 Đánh giá mặt chức trang Web 41 2.1.1 Cài đặt cấu hình Selenium WebDriver 41 2.2.2 Ứng dụng Selenium vào đánh giá chức trang Web 44 2.2.2.1 Chấm điểm chức điều hướng trang web: 44 2.2.2.2 Chấm điểm tồn phần tử trang Web 46 2.2.2.3 Chấm điểm chức tìm kiếm trang Web 47 2.2.2.4 Hỗ trợ chấm điểm tự động cho chức đăng ký tài khoản (không trùng email) 49 2.2.2.5 Chấm điểm control DropDownList trang Web 51 iv 2.2 Đánh giá hiệu trang Web 53 2.2.1 Cài đặt ứng dụng LoadRunner vào đánh giá hiệu trang Web 2.2.1.1 Cài đặt LoadRunner 53 2.2.1.2 Ứng dụng LoadRunner vào đánh giá hiệu trang Web 56 2.2.2 Cài đặt ứng dụng Jmeter vào đánh giá hiệu trang Web 70 PHẦN KẾT LUẬN 76 Kết luận: 76 Tự nhận xét đóng góp đề tài: 76 Hướng phát triển đề tài: 77 TÀI LIỆU THAM KHẢO 78 v DANH MỤC CÁC CHỮ VIẾT TẮT STT Nội dung viết tắt Ký hiệu chữ viết tắt Giáo viên GV Học sinh HS Sinh viên SV Hệ điều hành HĐH Kiểm thử phần mềm KTPM Behavior Driven Development BDD Test Case TC Automation Testing AT Manual Testing MT iv DANH MỤC CÁC HÌNH HÌNH TRANG Hình 2.1: Màn hình ghi lại Vuser script 59 Hình 2.2: Màn hình Step Navigator 63 Hình 2.3: Màn hình Vuser Editor 64 Hình 2.4: Màn hình Replay Vuser script 65 Hình 2.5: Màn hình hiển thị Trường hợp script Failed 66 Hình 2.6: Màn hình hiển thị Trường hợp Script Passed 66 Hình 2.7: Kết đo hiệu trang web sau Replay tự động nhiều lần 69 Hình 2.8: Màn hình tạo Test Plan Jmeter 70 Hình 2.9: Màn hình tạo Thread Group 70 Hình 2.10: Màn hình tạo HTTP Request 71 Hình 2.11: Màn hình Summary Report 72 Hình 2.12: Màn hình View Results Tree 73 Hình 2.13: Kiểm thử hiệu cho mục trang Web 73 DANH MỤC CÁC BẢNG BẢNG TRANG Bảng 1.1: Phân biệt Performance Test, Load Test, Stress Test 35 Bảng 1.2: Các thành phần LoadRunner 37 Bảng 2.1: Danh sách Driver Server trình duyệt tương ứng 44 vi PHẦN MỞ ĐẦU PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài 1.1.1 Tính thời đề tài Việc đánh giá môn học tự động quan tâm Khoa Công nghệ thông tin Trường Cao đẳng Công nghệ Thủ Đức việc giúp tăng thêm tính xác nhanh chóng việc đánh giá mơn học, đặc biệt mơn học Lập trình nói chung mơn học Lập trình Web nói riêng Hiện nay, có số Framework hỗ trợ kiểm thử tự động ứng dụng Web hay như: Selenium; Load Runner; Jmeter;….Tuy nhiên, việc ứng dụng Framework vào hỗ trợ đánh giá tự động cho mơn học Lập trình Web chưa nghiên cứu 1.1.2 Tính cấp thiết đáp ứng nhu cầu phát triển kinh tế - xã hội, nâng cao chất lượng đào tạo: Trường Cao đẳng Cơng nghệ Thủ Đức có bề dày lịch sử 30 năm thành lập phát triển Số lượng ngành nghề đào tạo trường nhiều, có ngành Cơng nghệ thơng tin – ngành thu hút nhiều nhân lực giai đoạn Cơ sở vật chất để đáp ứng việc giảng dạy công nghệ thông tin trường đầy đủ đại, đội ngũ giáo viên tiếp cận thực tế với môi trường làm việc doanh nghiệp để đem công nghệ nhất, đại truyền đạt lại cho sinh viên nhằm giúp em thuận lợi trình làm việc thực tế sau Là giảng viên khoa Công nghệ thông tin, vinh dự Nhà trường tạo điều kiện cho học tập làm việc thực tế Lập trình Kiểm thử phần mềm Cơng ty TMA Solutions Công ty FPT Software, người nghiên cứu mạnh dạn vận dụng kiến thức kinh nghiệm tích lũy để thực đề tài “Nghiên cứu số Framework hỗ trợ đánh giá tự động cho mơn học Lập trình Web 1” nhằm tăng tính xác, nhanh chóng thuận lợi việc đánh giá môn học 1.2 Mục tiêu đề tài Đề tài có mục tiêu nghiên cứu là: - Ứng dụng số Framework vào hỗ trợ đánh giá tự động cho mơn học Lập trình Web o VuGen Editor hiển thị đoạn văn script Trong Editor, hành động Vuserare đặt API function Trong Editor, VuGen sử dụng color-coding để hiển thị functions giá trị đối số tương ứng script Chúng ta gõ C LoadRunner API functions, luồng điều khiển trực tiếp vào script Giao diện Vuser Editor: Hình 2.3: Màn hình Vuser Editor b Chạy user Sau ghi lại Vuser Script thiết lập thực thi, sẵn sang chạy Vuser Script VuGen cung cấp số định script chạy o Thơng điệp “Running” xuất góc trái bên VuGen o Đánh dấu màu vàng Editor dòng xác định chạy lại o Output pane hiển thị xử lý chạy lại Vuser 64 Hình 2.4: Màn hình Replay Vuser script Chạy Vuser script o Mở Vuser script int VuGen o Click Replay > Run click nút Replay công cụ VuGen c Xem thông tin Vuser chạy - Khi Vuser Script dừng chạy, xem tổng quan việc chạy lại Replay Summary Giao diện Replay Summary Trường hợp script Failed: 65 Hình 2.5: Màn hình hiển thị Trường hợp script Failed Trường hợp Script Passed: Hình 2.6: Màn hình hiển thị Trường hợp Script Passed 66 Điều chỉnh số lần lặp, ví dụ: số lần lặp lại 10 lần 67 Kết đo hiệu trang web sau chạy lặp lặp lại 10 lần thao tác mua sản phẩm: 68 Hình 2.7: Kết đo hiệu trang web sau Replay tự động nhiều lần - Replay Summary liệt kê thông tin thời gian chạy, thời gian kết thúc Thêm vào Replay Summary cung cấp liên kết để hiển thị nhật ký kiện script liên kết khác để hiển thị chi tiết kết việc chạy script để xem Replay log - Trên bước để tạo chạy script LoadRunner để kiểm thử hiệu thực loạt hành động trang web Với phần mềm LoadRunner, ta xem hiệu trang web có nhiều người truy cập để thực chức thông dụng như: đăng nhập, đăng ký, mua hàng online,… 69 2.2.2 Cài đặt ứng dụng Jmeter vào đánh giá hiệu trang Web Cài đặt Jmeter 2.1.1 ( Đối với Window): - Tải Jmeter trang : http://jmeter.apache.org/download_jmeter.cgi - Giải nén vào thư mục bin sau chạy file ApacheJMeter để cài đặt Thực thi công cụ Jmeter: Sau chạy thành công Đặt tên cho Test Plan (ở ta đặt DemoConimit ) Hình 2.8: Màn hình tạo Test Plan Jmeter a Giả lập nhiều user truy cập vào website đồng thời Nhấn chuột phải vào Test Plan –> Add –> Threads(users) –> Thread Group Hình 2.9: Màn hình tạo Thread Group Name: đặt tên cho ThreadGroup (ở ta đặt JmeterUser ) Number of Threads (users): số lượng người dùng mà ta muốn mô 70 Ramp-up Period (in seconds): Cho biết thời gian để Jmeter tạo tất thread cần thiết Nếu thiết lập 10s cho thread Jmeter thực 10s để tạo thread Nếu thiết lập giá trị tất thread tạo lần Loop Count Forever : Nếu nhập vào thread tạo thực lần (thay n số thread lặp n lần) b Tạo request đến Server: thread (tương ứng user) tạo nhiều request http gửi lên server Nhấn chuột phải vào Thread Group –> Add –> Sample –> Http request Default Hình 2.10: Màn hình tạo HTTP Request Name: đặt tên request Server Name or IP : điền địa trang web cần truy cập Nếu biết IP cổng điền IP vào Server Name or IP số cổng vào Port Number, đường dẫn đến website cần truy cập vào Path Ví dụ: Truy cập vào trang http://dantri.com.vn cần điền: Server Name or IP: dantri.com.vn Port number: 80 71 c Xem kết kịch kiểm thử: - Xem kết tổng hợp tất thread: Nhấn chuột phải vào Thread Group –> Add -> Listener –> Summary Report Hình 2.11: Màn hình Summary Report Bảng thống kê kết quả: Label: tên request # Sample: số request Average: thời gian trung bình xử lý request Min: thời gian nhỏ xử lý request Max: thời gian lớn xử lý request Error: phần trăm bị lỗi request (lỗi kết nối lỗi cho đầu không mong muốn) Thoughput: số request/s server KB/sec = (avg.bytes*thoughput)/1024 - Xem kết Request kịch bản: Nhấn chuột phải vào Thread Group –> Add –> Listener –> View Results Tree Ví dụ: sau chạy chương trình, phần View Results Tree hiển thị thông tin request kết chúng Các request xanh request không lỗi, request đỏ bị lỗi Click vào request tương ứng bên cạnh có phần thơng tin request : sample result, request, response data 72 Hình 2.12: Màn hình View Results Tree Tương tự ta kiểm thử hiệu cho mục xã hội trang dantri.com.vn Hình 2.13: Kiểm thử hiệu cho mục trang Web Tóm lại, bước sử dụng Jmeter để kiểm thử hiệu bao gồm: – Tạo test plan, giả lập nhiều user truy cập vào website đồng thời: Test plan -> Add -> Thread ( users ) -> Thread Group – Tạo request đến server: Thread Group, Add -> Sampler -> HTTP request – Xem kết kịch kiểm thử: + Xem kết tổng hợp: Thread Group, chọn Add -> Listener -> Summary Report + Xem kết Request: Thread Group –> Add –> Listener –> View Results Tree + Xem kết dạng đồ thị: Thread Group –> Add –> Listener –> Graph Results 73 KẾT LUẬN CHƯƠNG Qua chương này, người nghiên cứu trình bày cách cài đặt cấu hình Selenium Webdriver ứng dụng vào xây dựng số Test Script mẫu để hỗ trợ chấm điểm tự động cho số chức trang web như: chấm điểm tự động chức điều hướng trang; chấm điểm tồn phần tử trang; chấm điểm hoạt động control: Dropdown List, ListView, Radio Button, CheckBox; chấm điểm tự động chức tìm kiếm, chức đăng nhập,… Đồng thời, chương này, người nghiên cứu hướng dẫn cách cài đặt, cấu hình cơng cụ kiểm thử hiệu LoadRunner, Jmeter cách sử dụng công cụ để hỗ trợ đánh giá tự động mặt hiệu trang web, ví dụ: đánh giá khả chịu tải trang web, xem hiệu trang web có nhiều người truy cập để thực chức thông dụng như: đăng nhập, đăng ký, mua hàng online,.v.v… 74 PHẦN KẾT LUẬN 75 PHẦN KẾT LUẬN Kết luận: Việc đánh giá môn học tự động quan tâm Khoa Công nghệ thông tin Trường Cao đẳng Công nghệ Thủ Đức việc giúp tăng thêm tính xác nhanh chóng việc đánh giá mơn học, đặc biệt mơn học Lập trình nói chung mơn học Lập trình Web nói riêng Sau thời gian tìm hiểu Selenium Webdriver, Jmeter LoadRunner, người nghiên cứu hoàn thành nhiệm vụ nghiên cứu đề ban đầu với nội dung sau: Người nghiên cứu nghiên cứu lý thuyết Selenium Framwork, cụ thể nghiên cứu cách áp dụng Selenium Webdriver vào kiểm thử tự động chức trang web Đồng thời, người nghiên cứu cịn tìm hiểu cơng cụ giúp kiểm tra, đánh giá mặt hiệu trang web, cụ thể công cụ: LoadRunner Jmeter Người nghiên cứu trình bày cách cài đặt cấu hình Selenium Webdriver ứng dụng vào xây dựng số code mẫu để hỗ trợ chấm điểm tự động cho số chức trang web như: chấm điểm tự động chức điều hướng trang; chấm điểm tồn phần tử trang; chấm điểm hoạt động control: Dropdown List, ListView, Radio Button, CheckBox; chấm điểm tự động chức tìm kiếm, chức đăng nhập,… Đồng thời, người nghiên cứu hướng dẫn cách cài đặt, cấu hình cơng cụ kiểm thử hiệu LoadRunner, Jmeter cách sử dụng công cụ để hỗ trợ đánh giá tự động mặt hiệu trang web, ví dụ: đánh giá khả chịu tải trang web Tự nhận xét đóng góp đề tài: Đề tài động lực thúc đẩy em sinh viên tham gia nghiên cứu khoa học cách nghiêm túc Đây tiền đề tốt cho em để trường em hịa nhập vào mơi trường làm việc thực tế doanh nghiệp cách nhanh chóng Các kết nghiên cứu đề tài ứng dụng để hỗ trợ đánh giá tự động cho tập thi Web sinh viên học mơn Lập trình Web 76 Hướng phát triển đề tài: Nếu có nhiều thời gian điều kiện hơn, người nghiên cứu tiếp tục thực thêm công việc sau: - Xây dựng thêm nhiều code mẫu để hỗ trợ đánh giá tự động cho chức khác trang web, ví dụ: chấm điểm chức upload, chức download, so sánh liệu hiển thị trang web với liệu sở liệu,… - Ứng dụng Selenium Framework vào hỗ trợ đánh giá tự động cho môn học Lập trình Web 77 TÀI LIỆU THAM KHẢO TIẾNG NƯỚC NGOÀI: Bayo Erinle (2014), JMeter Cookbook, Packt Publishing Ltd David Burns (2012), Selenium Testing Tools Beginner's Guide, Packt Publishing Ltd Emily H Halili (2008), Apache Jmeter, Packt Publishing Ltd Mark Collin (2015), Mastering Selenium WebDriver, Packt Publishing Ltd Softsmith Infotech, Load Runner 9.0 Training Courseware Unmesh Gundecha (2012), Selenium Testing Tools Cookbook, Packt Publishing Ltd 78