Nghiên cứu và ứng dụng công cụ kiểm thử tự động selenium trong kiểm thử phần mềm

60 2.2K 5
Nghiên cứu và ứng dụng công cụ kiểm thử tự động selenium trong kiểm thử phần mềm

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN ĐẶNG THỊ PHƢƠNG NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM TRONG KIỂM THỬ PHẦN MỀM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN ĐẶNG THỊ PHƢƠNG NGHIÊN CỨU VÀ ỨNG DỤNG CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM TRONG KIỂM THỬ PHẦN MỀM Ngành: Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thông tin Mã số: Chuyên ngành đào tạo thí điểm LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS ĐỖ ĐỨC ĐÔNG : Hà Nội - 2015 LỜI CAM ĐOAN Tôi cam đoan luận văn làm Kết luận văn dựa kinh nghiệm thực tế tham gia phát triển dự án phần mềm nói chung kinh nghiệm lĩnh vực kiểm thử tự động nói riêng Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác Các số liệu trích dẫn trình nghiên cứu ghi rõ nguồn gốc Tác giả luận văn Đặng Thị Phương LỜI CẢM ƠN Để hoàn thành luận văn xin chân thành gửi lời cảm ơn đến thầy cô Viện CNTT – ĐH Quốc Gia Hà Nội đóng góp ý kiến, nhận xét quan tâm bảo, giúp đỡ tận tình trình thực đề tài Tôi xin gửi lời cảm ơn sâu sắc đến thầy giáo, TS Đỗ Đức Đông hướng dẫn, định hướng chuyên môn, quan tâm giúp đỡ tận tình tạo điều kiện thuận lợi giúp thực luận văn suốt thời gian vừa qua Đồng thời, xin gửi lời cảm ơn đến gia đình, bạn bè đồng nghiệp quan tâm, chia sẻ, động viên tạo điều kiện tốt để hoàn thành tốt công việc trình thực luận văn Mặc dù cố gắng trình thực luận văn tránh khỏi thiếu sót, mong nhận góp ý thầy cô bạn bè Tác giả luận văn Đặng Thị Phương MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT VÀ CÁC THUẬT NGỮ DANH MỤC CÁC HÌNH VẼ LỜI MỞ ĐẦU Chƣơng 1: TỔNG QUAN VỀ BDD - CUCUMBER - SELENIUM - PAGE OBJECT 1.1 Tổng quan kiểm thử phần mềm 1.2 TDD (Test Driven Development) .9 1.2.1 TDD gì? 1.2.2 Ba điều luật áp dụng TDD 10 1.2.3 Các bước thực chu trình TDD .11 1.2.4 Các cấp độ TDD 11 1.2.5 Các lỗi thường gặp áp dụng TDD 12 1.3 BDD (Behaviour Driven Development) 12 1.3.1 Khái niệm 12 1.3.2 Quy trình phát triển phần mềm truyền thống .14 1.3.3 Quy trình phát triển theo hướng BDD 14 1.4 Cucumber 15 1.4.1 Khái niệm 15 1.4.2 Ngôn ngữ Gherkin 15 1.4.3 Chạy Cucumber Junit test 17 1.4.4 Chu trình .17 1.4.5 Sơ đồ workflow xử lý steps cucumber 20 1.4.6 Cấu trúc dự án cài đặt Cucumber 21 1.4.7 Các thư viện cần thiết để chạy Cucumber 21 1.5 Selenium WebDriver 22 1.5.1 Selenium WebDriver 22 1.5.2 Tổng quan đối tượng UI (Locators) 23 1.5.2.1 Xác định phần tử Web theo ID .24 1.5.2.2 Xác định phần tử Web theo Name 24 1.5.2.3 Xác định phần tử Web theo LinkText 25 1.5.2.4 Xác định phần tử Web theo TagName 25 1.5.2.5 Xác định phần tử Web theo ClassName .25 1.5.2.6 Xác định phần tử Web theo CSS 26 1.5.2.7 Xác định phần tử Web theo Xpath 26 1.5.3 Các thư viện cần thiết để chạy Selenium WebDriver 28 1.5.4 Các hàm xử lý chung Selenium WebDriver 29 1.6 Page Object Model (POM) 30 1.6.1 Tại phải dùng POM 30 1.6.2 Page Object gì? 32 1.6.3 Lợi ích Page Object 32 1.6.4 Ví dụ .33 Chƣơng 2: HỆ THỐNG QUẢN LÝ TESTCASE – TESTLINK VÀ HỆ THỐNG TÍCH HỢP LIÊN TỤC 35 2.1 Hệ thống quản lý testcase - TestLink 35 2.1.1 Giới thiệu TestLink 35 2.1.2 Lợi ích TestLink .35 2.1.3 Các bước cài đặt TestLink 36 2.1.4 Kết hợp TestLink kiểm thử tự động .36 2.2 Hệ thống tích hợp liên tục (CI) 39 2.2.1 Khái niệm 39 2.2.2 Thực tiễn hệ thống tích hợp liên tục (Practices of Continuous Integration) 41 2.2.3 Lợi ích việc tích hợp liên tục 41 2.2.4 Jenkin 41 Chƣơng 3: ÁP DỤNG KIỂM THỬ TỰ ĐỘNG TẠI CÔNG TY EXOPLATFORM SEA VÀ ĐÁNH GIÁ KẾT QUẢ 43 3.1 Phân tích hoạt động kiểm thử công ty trƣớc áp dụng kiểm thử tự động 43 3.1.1 Giới thiệu tổng quan công ty, sản phẩm, môi trường kiểm thử công ty 43 3.1.2 Quy trình kiểm thử hoạt động kiểm thử trước 43 3.2 Cài đặt áp dụng kiểm thử tự động trình phát triển 45 3.2.1 Cấu trúc dự án .45 3.2.2 Cấu trúc mã nguồn 46 3.2.3 Tích hợp Jenkins 46 3.2.4 Report kết chạy test 47 3.3 Đánh giá kết 49 3.4 Những khó khăn triển khai hệ thống kiểm thử tự động công ty 49 3.5 Hƣớng phát triển framework 50 KẾT LUẬN 51 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC - CÀI ĐẶT MÔI TRƢỜNG TRÊN UBUNTU 14.04 53 DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT VÀ CÁC THUẬT NGỮ STT Tiếng Anh Automation Test Business Analyst Behavior Driven Development Continuous Integration Developer Maintenance Manual Test Page Object Model Refactor 10 Regression Test 11 Software Testing 12 Test case 13 Test Driven Development 14 Tester 15 Test script Tiếng Việt Kiểm thử tự động Nhân viên phân tích nghiệp vụ Phát triển hướng hành vi Viết tắt AT BA BDD Tích hợp liên tục Lập trình viên Bảo hành, bảo trì Kiểm thử thủ công Mô hình Page Object Tái cấu trúc Kiểm thử hồi quy Kiểm thử phần mềm Trường hợp kiểm thử Phát triển hướng kiểm thử Kiểm thử viên Kịch kiểm thử CI POM TDD DANH MỤC CÁC HÌNH VẼ Hình 1.1 Chu trình TDD qua màu sắc (từ trang 1minus1.com) 10 Hình 1.2 Các bước thực TDD .11 Hình 1.3 TDD kết hợp với BDD 13 Hình 1.4 Work flow kết hợp TDD BDD 13 Hình 1.5 Quy trình phát triển truyền thống 14 Hình 1.6 Quy trình phát triển BDD 14 Hình 1.7 Chương trình chạy test với Cucumber 17 Hình 1.8 Workflow Cucumber 20 Hình 1.9 Cấu trúc dự án cài đặt Cucumber 21 Hình 1.10 Thư viện Cucumber cần cài đặt 21 Hình 1.11 Thư viện cần thiết để chạy Selenium WebDriver .28 Hình 1.12 Cấu trúc POM 32 Hình 2.1 Giới thiệu TestLink 35 Hình 2.2 Báo cáo TestLink 39 Hình 2.3 Quá trình tích hợp liên tục CI 40 Hình 2.4 Hệ thống tích hợp liên tục .40 Hình 2.5 Giao diện Jenkins 42 Hình 3.1 Cấu trúc dự án thực tế 45 Hình 3.2 Cấu trúc mã nguồn cài đặt thực tế 46 Hình 3.3 Cucumber Report 48 Hình 3.4 Thucydides report 48 Hình 3.5.TestLink report .49 LỜI MỞ ĐẦU Lý chọn đề tài Ngày nay, tự động hóa ứng dụng nhiều lĩnh vực, mục đích thường đa dạng tùy theo nhu cầu đặc thù lĩnh vực, nhiên điểm chung giảm nhân lực, thời gian sai sót Ngành công nghệ thông tin mà cụ thể phát triển phần mềm không ngoại lệ Để tạo sản phẩm công nghệ thông tin hay phần mềm có chất lượng hoạt động kiểm thử phần mềm đóng vai trò quan trọng, hoạt động lại tiêu tốn chiếm tỷ trọng lớn công sức thời gian dự án Do vậy, nhu cầu tự động hoá kiểm thử phần mềm đặt Việc áp dụng kiểm thử tự động hợp lý mang lại thành công cho hoạt động kiểm thử phần mềm nâng cao chất lượng sản phẩm phần mềm Kiểm thử tự động giúp giảm bớt công sức thực hiện, tăng độ tin cậy, giảm nhàm chán rèn luyện kỹ lập trình cho kiểm thử viên Selenium công cụ kiểm thử phát triển dựa mã nguồn mở, hoàn toàn miễn phí Với công cụ với số công cụ hỗ trợ khác Cucumber, TestLink, Jenkins, Maven, Ant, kiểm thử viên phát triển thành framework hỗ trợ cho viết kịch kiểm thử chạy kịch cách tự động, giảm nguồn lực, tăng độ tin cậy nhàm chán công việc kiểm thử Ngoài ra, nay, nhu cầu kiểm thử tự động cao nhân lực ngành không nhiều, đặc biệt Hà Nội Các công ty muốn áp dụng kiểm thử tự động trình phát triển dự án việc hiểu biết kiểm thử tự động mơ hồ chưa xây dựng framework chuẩn áp dụng cho dự án công ty Dựa vào lý với kinh nghiệm có lĩnh vực kiểm thử Tôi muốn xây dựng framework kiểm thử tự động hỗ trợ kiểm thử viên hi vọng có ngày nhiều bạn yêu thích công việc kiểm thử nói chung hiểu rõ yêu thích kiểm thử tự động nói riêng Đó lý chọn đề tài “Nghiên cứu ứng dụng công cụ kiểm thử tự động Selenium kiểm thử phần mềm” Mục tiêu luận văn Đề tài tìm hiểu sở lý thuyết kinh nghiệm thực tế kiểm thử cách triển khai công cụ kiểm thử phần mềm tự động để giảm nhân lực kiểm thử đảm bảo chất lượng phần mềm với công việc kiểm thử tay Mục tiêu đề tài bao gồm: ● Đưa khái niệm quy trình phát triển việc áp dụng kiểm thử tự động quy trình phát triển phần mềm (TDD, BDD) ● Đưa khái niệm công cụ cần thiết như: Cucumber, Selenium, TestLink, Jenkins ● Đưa framework nhỏ (kết hợp Cucumber Selenium) cách chạy kịch kiểm thử Jenkins Đối tƣợng phạm vi nghiên cứu ● Đối tượng nghiên cứu: Công cụ kiểm thử tự động Selenium, Cucumber, TestLink, Jenkins tài liệu, nội dung liên quan đến công cụ ● Phạm vi nghiên cứu: Luận văn nghiên cứu công cụ kiểm thử tự động áp dụng dự án công ty phần mềm Exo Platform Sea Phƣơng pháp nghiên cứu ● Nghiên cứu tổng quan quy trình phát triển công cụ cần thiết kiểm thử tự động Selenium kết hợp với Cucumber ● Phân tích, tổng hợp tài liệu thu triển khai mô hình thử nghiệm ● Đánh giá kết quả, đưa khó khan hướng triển khai Cấu trúc luận văn ● Mở đầu ● Nội dung ○ Chƣơng 1: Tổng quan BDD - Cucumber - Selenium - Page Object ○ Chƣơng 2: Hệ thống quản lý TestCase – TestLink hệ thống tích hợp liên tục ○ Chƣơng 3: Áp dụng kiểm thử tự động công ty Exo Platform Sea đánh giá kết ● Kết luận ● Tài liệu tham khảo ● Phụ lục 44 Feature Số lƣợng testcase Wiki 342 Gatein 235 PLF 795 Forum 283 ECMS 1132 Calendar 455 Social 620 ● Để kiểm thử cho tất ứng dụng, hệ điều hành, trình duyệt sở liệu khác nhau, số lượng kịch kiểm thử lớn Bên cạnh feature phải tiến hành kiểm thử song song với feature cũ Có thể thấy nguồn lực cho kiểm thử hồi quy (Regression test) kiểm thử cho feature lớn ● Ngoài ra, công ty sử dụng CI để deploy sản phẩm hàng ngày Để phát sớm vấn để sản phẩm, kiểm thử tự động tích hợp CI để test sản phẩm hàng ngày ● Từ lợi ích BDD-Cucumber-Selenium-TestLink-CI, bạn đồng nghiệp xây dựng Framework tích hợp điểm mạnh BDDCucumber-Selenium-TestLink-CI để hỗ trợ trình kiểm thử, build dự án, phát hành sản phẩm với chất lượng tốt ● Dưới kết cài đặt, chạy thử đánh giá kết framework Do quy định luật bảo mật dự án quy định vê luật bảo mật công ty, không sử dụng mã nguồn chi tiết dự án triển khai công ty mà sử dụng mã nguồn viết để kiểm thử trang web application (live.guru99.com) Tuy nhiên cấu trúc dự án, cấu trúc mã nguồn kết đánh giá dựa vào dự án thực tế triển khai 45 3.2 Cài đặt áp dụng kiểm thử tự động trình phát triển 3.2.1 Cấu trúc dự án Hình 3.1 Cấu trúc dự án thực tế ● TestLink Server ○ TestLink nơi lưu trữ kịch kiểm thử bao gồm thông tin dự án, thông tin plan, thông tin môi trường, thông tin testcase ● Framework kiểm thử tự động ○ Framework sử dụng Maven Apache để khởi tạo project, biên dịch, đóng gói, chạy test… cách tự động nhanh chóng Trong file pom.xml nơi chứa thông tin cần thiết định nghĩa dự án tên dự án, version, nhóm phát triển, thư viện sử dụng, plugins ○ TestLink: bao gồm package, lớp, hàm sử dụng thư viện TestLinkAPI để thao tác kết nối TestLink server framework như: export kịch kiểm thử từ TestLink feature file import kết chạy test vào TestLink ○ Cucumber: bao gồm package, lớp, hàm sử dụng thư viện Cucumber để định nghĩa feature file step feature file ○ Selenium WebDriver: bao gồm package, lớp, hàm sử dụng thư viện Selenium WebDriver để thao tác với đối tượng web trình duyệt ○ Các hàm Cucumber Selenium WebDriver tương tác hỗ trợ lẫn ○ Mã nguồn framework đẩy lên github ● Jenkins ○ Jenkins nơi cấu hình job để chạy kịch kiểm thử ○ Có thể cấu hình job chạy định kỳ ○ Mỗi job jenkin checkout mã nguồn từ github dùng lệnh maven để chạy kịch kiểm thử 46 3.2.2 Cấu trúc mã nguồn Hình 3.2 Cấu trúc mã nguồn cài đặt thực tế ● src/main/java ○ Xây dựng thư viện chung bao gồm page objects, thư viện testlink, thư viện step cucumber, thư viện hàm xử lý action chung ● src/main/resources ○ Chứa file cấu hình cho dự án dùng cucumber ● src/test/java ○ Chứa kịch test để chạy cucumber ○ Các kịch để chạy tích hợp testlink với selenium ● src/test/resources ○ Chứa feature file ● Mã nguồn dự án: https://github.com/phuongdt/auto-project.git 3.2.3 Tích hợp Jenkins Dự án có sử dụng Maven để chạy test tích hợp Selenium/Cucumber Jenkins TestLink 47 3.2.4 Report kết chạy test ● Cucumber report 48 Hình 3.3 Cucumber Report ● Thucydides report Hình 3.4 Thucydides report 49 ● TestLink report Hình 3.5.TestLink report 3.3 Đánh giá kết ● Hiện viết kịch kiểm thử cho khoảng 50% số lượng kịch kiểm thử áp dụng chạy thử cho vài giai đoạn kiểm thử ● Dưới bảng thống kê nguồn nhân lực Số lượng testcase Kiểm thử thủ công Kiểm thử tự động 820 60 cases/manday 2-3 manday  Cần 14 manday để chạy test ○ Số lượng test case cần phải chạy khoảng 820 cases cho môi trường Trong ước tính manday test khoảng 60 cases Như để chạy khoảng 820 cases phải 14 mandays ○ Với việc triển khai kiểm thử tự động, kịch kiểm thử chạy qua đêm (ngoài làm việc) chạy nhiều server khác nhau, thời gian để kiểm thử viên kiểm tra kết các kịch khoảng 2-3 mandays cho môi trường kiểm thử ● Từ kết ta thấy kiểm thử tự động giúp giảm bớt nguồn nhân lực trình kiểm thử 3.4 Những khó khăn triển khai hệ thống kiểm thử tự động công ty ● Việc tìm nhân lực vừa có kỹ kiểm thử vừa có kỹ lập trình gặp khó khăn nhiều bạn nhân viên kiểm thử có kỹ kiểm thử tốt tư lập trình không tốt, bạn có kỹ lập trình tốt không muốn làm kiểm thử ● Khi feature có nhiều thay đổi cách tổ chức UI nhiều thời gian để maintain mã nguồn framework ● Kiểm thử tự động có hiệu cao dự án dài, có regression test nhiều Các dự án ngắn, đòi hỏi release sớm việc triển khai kiểm thử tự động không hiệu ● Hệ thống chạy ổn định firefox chrome, số lỗi chạy IE việc xử lý IE Firefox có số điểm khác 50 3.5 Hƣớng phát triển framework ● Xây dựng thêm phần DataDriven framework DataDriven giúp cho hệ thống đọc liệu đầu vào từ hệ thống quản lý file từ hệ quản trị sở liệu ● Cải tiến framework để hỗ trợ cho bạn kiểm thử kỹ lập trình sử dụng dễ dàng 51 KẾT LUẬN Trong trình tìm hiểu nghiên cứu, luận văn đưa khái niệm hướng áp dụng Selenium công cụ liên quan khác kiểm thử phần mềm Dựa vào kết nghiên cứu áp dụng kiểm thử tự động công ty Exo Platform Sea, thấy việc ứng dụng selenium công cụ liên quan dự án phần mềm hoàn toàn khả thi Do thời gian có hạn, đưa framework để áp dụng chạy thử nghiệm luôn, framework nhiều phần cần phải cải tiến cập nhật thêm (ví dụ: DataDriven, Dynamic Locator, tốc độ chạy kịch kiểm thử, tích hợp thành cloud test) Việc cải tiến framework nghiên cứu cập nhật thời gian tới 52 TÀI LIỆU THAM KHẢO Tiếng Anh BDD in action (Behavior-Driven Development for the whole software lifecycle) - John Ferguson Smart (Foreword by Dan North) Website http://www.guru99.com/ http://www.softwaretestinghelp.com/ http://en.wikipedia.org/wiki/Test-driven_development http://agiledata.org/essays/tdd.html 53 PHỤ LỤC - CÀI ĐẶT MÔI TRƢỜNG TRÊN UBUNTU 14.04 Cài đặt Java JDK 1.1 Cài đặt openjdk sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk 1.2 Cài đặt Java mặc định trƣờng hợp máy có nhiều phiên java sudo update-alternatives config java sudo update-alternatives config javac 1.3 Cài đặt JAVA_HOME export JAVA_HOME=/usr/lib/jvm/default-java/bin export PATH=$PATH:$JAVA_HOME 1.4 Kiểm tra java version java -version Cài đặt Git sudo apt-get update sudo apt-get install git Cài đặt maven 54 3.1 Cài đặt maven apt-cache search maven sudo apt-get install maven 3.2 Kiểm tra maven version mvn-version Cài đặt công cụ quản lý test case - TestLink 4.1 Download testlink wget http://sourceforge.net/projects/testlink/files/TestLink%201.9/TestLink%201.9.13/test link-1.9.13.tar.gz 4.2 Giải nén file copy vào thƣ mục to /var/www sudo tar xvzf testlink-1.9.13.tar.gz mv testlink-1.9.13 testlink sudo mv testlink /var/www 4.3 Cài đặt MySQL,PHP5 sudo apt-get install mysql-server php5 php5-mysql php5-gd 4.4 Cài đặt Apache2 sudo apt-get install apache2 Sửa file httpd.conf apache2.conf thư mục /etc/apache2 sudo vi /etc/apache2/httpd.conf Thêm vào dòng sau: AddType application/x-httpd-php php htm html AddDefaultCharset UTF-8 ServerName 127.0.0.1 Khởi động lại apcher server 55 sudo /etc/init.d/apache2 restart sudo service apacher2 restart 4.5 Cài đặt testlink web Vào http://your_ip/testlink làm theo hướng dẫn cài đặt 4.6 Sửa nội dung file config.inc.php sudo vi /var/www/testlink/config.inc.php Tắt chế độ warning message: $tlCfg->config_check_warning_ mode = 'SILENT'; Cho phép sinh API Key: $tlCfg->api->enabled = TRUE; 4.7 Tạo file sudo vi /var/www/testlink/config_db.inc.php với nội dung sau 56 4.8 Login vào testlink Login vào testlink với user/pass admin/admin Cài đặt Jenkins Ubuntu 5.1 Cài đặt wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins 5.2 Bật/tắt/kiểm tra trạng thái jenkin service sudo service jenkins start sudo service jenkins stop sudo service jenkins status sudo service jenkins restart 5.3 Truy cập jenkins ● Port mặc định để truy cập jenkin là: 8080 ● Có thể thay đổi port file: /etc/init.d/jenkins cách thay đổi dòng HTTP_PORT=8080 thành HTTP_PORT=9090 (hoặc port nào) ● Truy cập jenkins: http://ip:port 57 5.4 Cài đặt plugin jenkins ● Vào jenkins -> Manage Jenkins -> Manage plugin -> Cài đặt số plugin cần thiết 58 [...]... nữa Do đó một trong các mục tiêu của kiểm thử là tự động hóa kiểm thử, nhờ đó mà giảm thiểu chi phí rất nhiều, tối thiểu hóa các lỗi do người gây ra, đặc biệt giúp việc kiểm thử hồi qui dễ dàng và nhanh chóng hơn ● Tự động hóa việc kiểm thử là việc sử dụng một công cụ kiểm thử để thực thi các kịch bản kiểm thử thay cho con người Công cụ kiểm thử tự động có thể lấy dữ liệu từ bên ngoài đưa vào hệ thống,... chất lượng kiểm thử phần mềm đã dùng chi phí và nỗ lực tối thiểu ○ Tạo các kịch bản kiểm thử (testcase) chất lượng cao, thực hiện kiểm thử hiệu quả và tạo ra các báo cáo vấn đề đúng và hữu dụng ● Kiểm thử phần mềm tốn nhiều chi phí nguồn lực và thời gian Trong một số dự án, kiểm thử phần mềm chiếm khoảng trên 50% tổng giá phát triển phần mềm Nếu cần ứng dụng an toàn hơn, chi phí kiểm thử còn cao hơn... - SELENIUM - PAGE OBJECT 1.1 Tổng quan về kiểm thử phần mềm ● Kiểm thử phần mềm là một giai đoạn trong quy trình phát triển phần mềm để đảm bảo độ tin cậy và chất lượng của phần mềm ● Các mục tiêu chính của kiểm thử phần mềm : ○ Phát hiện càng nhiều lỗi càng tốt trong thời gian kiểm thử xác định trước ○ Chứng minh rằng sản phẩm phần mềm phù hợp với các đặc tả yêu cầu của nó ○ Xác thực chất lượng kiểm. .. WebDriver và các công cụ kiểm thử tự động khác Trên thị trường có khá nhiều công cụ kiểm thử Web khác nhau như QuickTestPro, công cụ của IBM Tuy nhiên, các công cụ đó không miễn phí và có những tính năng hỗ trợ ít hơn so với Selenium Dựa vào bảng so sánh trên, ta có thể thấy Selenium là công cụ tuyệt vời để sử dụng 1.5.2 Tổng quan về đối tượng UI (Locators) ● Trong selenium, các phần tử trên web (WebElement)... 15 Việc ứng dụng BDD góp phần làm gần khoảng cách giữa đội ngũ thiết kế phần mềm và sản phẩm thực tiễn, tối ưu quy trình Cụ thể như sau: ● Thông qua kịch bản kiểm thử, developer có cái nhìn trực quan về sản phẩm ngay trước khi xây dựng mã nguồn Sản phẩm họ tạo ra chính xác và gần gũi người dùng hơn ● Phần mã nguồn được thêm vào chỉ vừa đủ để chạy thành công kịch bản kiểm thử, hạn chế dư thừa và qua... thành phần trên Web để tái hiện lại các hành vi của người dùng được mô tả bởi Cucumber Selenium WebDriver sẽ làm được điều đó Đây là công cụ mã nguồn mở, hoàn toàn miễn phí và cung cấp đầy đủ các thư viện thao tác trên ứng dụng Web Framework kiểm thử tự động em xây dựng dưới đây có thể thiếu Cucumber nhưng nhất định không thể thiếu Selenium WebDriver Do đó, có thể nói Selenium WebDriver là thành phần. .. 1.5.1 Selenium WebDriver là gì ● Selenium WebDriver là công cụ kiểm thử tự động các ứng dụng Web ○ Viết scripts với nhiều ngôn ngữ lập trình khác nhau (Java, Net, Php, Python …) ○ Hỗ trợ test trên nhiều trình duyệt khác nhau (Firefox, Chrome, Internet Explorer, Opera, Safari) ○ Hỗ trợ chạy test trên nhiều hệ điều hành khác nhau (Ubunut, Windows, IOS …) 23 ● So sánh giữa Selenium WebDriver và các công cụ. .. phát triển phần mềm dựa trên kiểm thử hướng hành vi BDD quy định rằng các developer và product owner cần hợp tác và xác định hành vi của người sử dụng BDD sinh ra hướng tới các feature test mà người thực hiện là các Acceptance Tester ○ Thay vì chờ đợi sản phẩm hoàn thành và kiểm thử, tester/analyst tham gia vào quá trình xây dựng mã nguồn với vai trò phân tích và xây dựng hệ thống kịch bản kiểm thử dưới... kịch bản kiểm thử đơn giản cho phép người dùng login vào hệ thống 31 Theo kịch bản trên, để login vào hệ thống, ta cần tìm các phần tử web (elements) và thực hiện hành động (action) để nhập giá trị vào các element Đây là một kịch bản nhỏ, khá đơn giản Việc bảo trì (maintenance) khá dễ dàng Nhưng hãy tưởng tượng xem, số lượng kịch bản kiểm thử sẽ tăng lên rất nhiều Các kịch bản kiểm thử có thể sử dụng. .. khả năng xảy ra lỗi trên những phần dư thừa ● Bảo đảm mã nguồn luôn phản ánh đúng và vừa đủ yêu cầu phầm mềm, hạn chế được công sức tối ưu mã nguồn về sau 1.4 Cucumber 1.4.1 Khái niệm ● Cucumber là một công cụ kiểm thử tự động dựa trên việc thực thi các chức năng được mô tả dướng dạng plain-text, mục đích là để hỗ trợ cho việc viết BDD ● Cucumber hỗ trợ viết hành vi kiểm thử cho khoảng 60 ngôn ngữ khác ... vậy, nhu cầu tự động hoá kiểm thử phần mềm đặt Việc áp dụng kiểm thử tự động hợp lý mang lại thành công cho hoạt động kiểm thử phần mềm nâng cao chất lượng sản phẩm phần mềm Kiểm thử tự động giúp... nghiên cứu: Luận văn nghiên cứu công cụ kiểm thử tự động áp dụng dự án công ty phần mềm Exo Platform Sea Phƣơng pháp nghiên cứu ● Nghiên cứu tổng quan quy trình phát triển công cụ cần thiết kiểm thử. .. thích kiểm thử tự động nói riêng Đó lý chọn đề tài Nghiên cứu ứng dụng công cụ kiểm thử tự động Selenium kiểm thử phần mềm Mục tiêu luận văn Đề tài tìm hiểu sở lý thuyết kinh nghiệm thực tế kiểm

Ngày đăng: 29/03/2016, 22:03

Từ khóa liên quan

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

Tài liệu liên quan