công cụ kiểm thử tự động

57 449 0
công cụ kiểm thử tự động

Đ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

Việc đưa ra một ứng dụng hoàn hảo cho những người đang,sẽ sử dụng ứng dụng đã trở thành một thử thách chính trong đảm bảo chất lượng. Kiểm thử các ứng dụng đã vượt quá giới hạn của kiểm thử những hệ thống phần mềm truyền thống.Như chúng ta đã biết, một ứng dụng thường có rất nhiều nhóm người sử dụng với các nền tảng khác nhau (hệ điều hành, trình duyệt,…), điều này dẫn tới việc kiểm thử ứng dụng cần phải có những phương pháp đặc biệt khác với phần mềm truyền thống.

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN KIỂM THỬ PHẦN MỀM ĐỀ TÀI KIỂM THỬ ỨNG DỤNG WEB VỚI CÔNG CỤ SELENIUM Giảng viên hướng dẫn : Ts Nguyễn Hoàng Tú Nhóm thực : NHÓM Lớp : KHMT4-K9 Danh sách nhóm: 1.Phạm Văn Hải 2.Lê Sỹ Tiến 3.Dương Đức Tuyến 4.Hoàng Bá Vũ Hà Nội,năm 2017 LỜI NÓI ĐẦU Các ứng dụng Web phát triển trở thành tảng kết nối thông tin thiết yếu nhiều doanh nghiệp, đóng vai trò định thương mại điện tử (e commerce), trao đổi thông tin Để đạt điều này, ứng dụng web cần phải có hiệu cao, đáng tin cậy,…Việc đưa ứng dụng Web hoàn hảo cho người sử dụng ứng dụng trở thách đảm bảo chất lượng Kiểm thử ứng dụng Web vượt giới hạn kiểm thử hệ thống phần mềm truyền thống.Như biết, ứng dụng Web thường có nhiều nhóm người sử dụng với tảng khác (hệ điều hành, trình duyệt,…), điều dẫn tới việc kiểm thử ứng dụng Web cần phải có phương pháp đặc biệt khác với phần mềm truyền thống Selenium công cụ kiểm thử ứng dụng Web tiêu biểu Đây công cụ mã nguồn mở, mạnh mẽ hỗ trợ Web, nhiều platform trình duyệt phổ biến Công cụ phát triển chủ yếu Java script công nghệ trình duyệt DHTML khung hình, hỗ trợ tất trình duyệt tất tảng Selenium có lẽ công cụ tốt thị trường cho ứng dụng Web Điều đáng lưu ý kiểm thử phần mềm nói chung kiểm thử ứng dụng web nói riêng chưa phổ biến Việt Nam Đây lý nhóm em chọn đề tài “Kiểm thử ứng dụng Web với công cụ Selenium” với mong muốn giúp nhiều người hiểu rõ kiểm thử ứng dụng web, cách sử dụng công cụ Selenium vào công việc MỞ ĐẦU LÝ DO CHỌN ĐỀ TÀI Với mục tiêu đến năm 2020 đưa đất nước ta trở thành nước Công nghiệp hóa theo hướng đại, Công nghệ thông tin phải ngành kinh tế mũi nhọn Đất nước, mở đường, tạo động lực cho giai đoạn đổi mạnh mẽ đất nước Đảng Nhà nước ta tiếp tục đầu tư khuyến khích phát triển, ứng dụng Công nghệ thông tin tất lĩnh vực đời sống Như biết, để 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 tra phần mềm đóng vai trò quan trọng Nó đảm bảo cho phần mềm tạo có chạy với yêu cầu khách hàng hay không, có xảy sai sót mà khác với bảng phân tích thiết kế ban đầu không từ đảm bảo yêu cầu chất lượng sản phẩm trước bàn giao cho khách hàng Tuy nhiên, 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á quy trình kiểm thử phần mềm đặt để nhằm giảm nhân lực, vật lực, thời gian mà có độ xác cao Hiện nay, ứng dụng web sử dụng phổ biến Lĩnh vực kiểm thử phần mềm phát triển lâu với kiểm thử phần mềm cho ứng dụng web phát triển Rất nhiều doanh nghiệp CNTT có nhu cầu tuyển dụng lớn lĩnh vực không tuyển đủ hầu hết người làm kiểm thử nghiên cứu kiểm thử desktop application Hiện lĩnh vực kiểm thử phần mềm cho Web app có nhiều công cụ hỗ trợ kiểm thử tự động như: QuickTest Pro, Selenium, LoadRunner… Trong số đó, , Selenium tool tốt mạnh, bao gồm nhiều chức điển hình công cụ kiểm thử tự động Vì lý trên nên nhóm định chọn đề tài “Kiểm thử tự động ứng dụng web với Selenium” từ áp dụng vào thực nghiệm việc sử dụng công cụ Selenium để kiểm thử ứng dụng web MỤC TIÊU - Tìm hiểu kiểm thử phần mềm Tìm hiểu kiểm thử tự động, công cụ kiểm thử tự động - Tìm hiểu, nghiên cứu công cụ kiểm thử tự động Selenium: Tổng quan cài đặt, ứng dụng - Xây dựng kịch kiểm thử (testcase) cho số chức phần mềm - Ứng dụng công cụ kiểm thử ứng dụng web, Sử dụng công cụ kiểm thử Selenium, thực kiểm thử xây dựng testscript kiểm thử demo số chức sở testcase có xây dựng báo cáo, kết kiểm thử - CHƯƠNG I.TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Khái niệm kiểm thử phần mềm - Kiểm thử phần mềm trình thực thi hệ thống phần mềm để xác định xem phần mềm có với đặc tả không thực môi trường mong đợi - hay không Mục đích kiểm thử phần mềm để kiểm tra xem phần mềm có đáp ứng với nhu cầu khách hang phù hợp với đặc tả yêu cầu, đảm bảo chất lượng tính xác ứng dụng Các cấp độ kiểm thử phần mềm Hình 1: Các cấp độ kiểm thử 2.1 Kiểm thử đơn vị Một đơn vị (Unit) thành phần phần mềm nhỏ mà ta kiểm thử được, ví dụ: hàm (Function), thủ tục (Procedure), lớp (Class), phương thức (Method) Unit testing đề cập đến kiểm thử để chứng thực (xác minh - verify) chức phần riêng biệt code, thường mức hàm (function level) Trong môi trường hướng đối tượng (object-oriented environment), kiểm thử đơn vị thường sử dụng mức lớp (class) kiểm thử đơn vị nhỏ bao gồm hàm constructor destructor Kiểm thử đơn vị thường lập trình viên thực Công đoạn cần thực sớm tốt giai đoạn viết code xuyên suốt chu kỳ phát triển phần mềm Một hàm có nhiều kiểm thử, để bắt trường hợp nhánh code Cũng mức kiểm thử khác, kiểm thử đơn vị đòi hỏi phải chuẩn bị trước ca kiểm thử (hay trường hợp kiểm thử) (test case) kịch (test script), định rõ liệu vào, bước thực liệu mong muốn xuất Các test case test script giữ lại để sử dụng sau 2.2 Kiểm thử tích hợp Integration test kết hợp thành phần ứng dụng kiểm thử ứng dụng hoàn thành Trong Unit Test kiểm tra thành phần Unit riêng lẻ Intgration Test kết hợp chúng lại với kiểm tra giao tiếp chúng  Integration Test có mục tiêu chính: • Phát lỗi giao tiếp xảy Unit • Tích hợp Unit đơn lẻ thành hệ thống nhỏ (subsystem) cuối nguyên hệ thống hoàn chỉnh (system) chuẩn bị cho kiểm thử mức hệ thống (System Test)  Có loại kiểm thử Integration Test: • Kiểm thử cấu trúc (Structure Test): Tương tự White Box Test (kiểm thử nhằm bảo đảm thành phần bên chương trình chạy đúng), trọng đến hoạt động thành phần cấu trúc nội chương trình chẳng hạn lệnh nhánh bên • Kiểm thử chức (Functional Test): Tương tự Black Box Test (kiểm thử trọng đến chức chương trình, không quan tâm đến cấu trúc bên 2.3 trong), khảo sát chức chương trình theo yêu cầu kỹ thuật • Kiểm thử hiệu (Performance Test): kiểm thử việc vận hành hệ thống • Kiểm thử khả chịu tải (Stress Test): kiểm thử giới hạn hệ thống Kiểm thử hệ thống Kiểm thử hệ thống (ST) bao gồm loạt kiểm nghiệm nhằm xác minh toàn thành phần hệ thống tích hợp cách đắn Mục đích ST đảm bảo toàn hệ thống hoạt động khách hàng mong muốn System Test bắt đầu tất phận PM tích hợp thành công Thông thường loại kiểm tra tốn nhiều công sức thời gian Trong nhiều trường hợp, việc kiểm tra đòi hỏi số thiết bị phụ trợ, phần mềm phần cứng đặc thù, đặc biệt ứng dụng thời gian thực, hệ thống phân bố, hệ thống nhúng Ở mức độ hệ thống, người kiểm tra tìm kiếm lỗi, trọng tâm đánh giá hoạt động, thao tác, tin cậy yêu cầu khác liên quan đến chất lượng toàn hệ thống Điểm khác then chốt Integration Test System Test System Test trọng hành vi lỗi toàn hệ thống, Integration Test trọng giao tiếp đơn thể đối tượng chúng làm việc Thông thường ta phải thực Unit Test Integration Test để bảo đảm Unit tương tác chúng hoạt động xác trước thực System Test  Kiểm thử hệ thống thường có loại kiểm thử sau: • Kiểm tra chức (Functional Test): bảo đảm hành vi hệ thống thỏa mãn • yêu cầu thiết kế Kiểm tra khả vận hành (Performance Test): bảo đảm tối ưu việc phân bổ tài nguyên hệ thống (ví dụ nhớ) nhằm đạt tiêu thời gian xử lý hay đáp ứng câu truy vấn… • Kiểm tra khả chịu tải (Stress Test hay Load Test): bảo đảm hệ thống vận hành áp lực cao (ví dụ nhiều người truy xuất lúc) Stress Test tập trung • vào trạng thái tới hạn, “điểm chết”, tình bất thường… Kiểm tra cấu hình (Configuration Test) Kiểm tra khả bảo mật (Security Test): bảo đảm tính toàn vẹn, bảo mật • liệu hệ thống Kiểm tra khả phục hồi (Recovery Test): bảo đảm hệ thống có khả khôi • phục trạng thái ổn định trước tình tài nguyên liệu; đặc biệt quan trọng hệ thống giao dịch ngân hàng trực tuyến 2.4 Kiểm thử chấp nhận Sau giai đoạn ST AT, giai đoạn kiểm tra khách hàng thực Mục đích AT để chứng minh phần mềm thỏa mãn tất yêu cầu khách hàng khách hàng chấp nhận sản phẩm trả tiền toán hợp đồng AT có ý nghĩa quan trọng, hầu hết trường hợp, phép kiểm tra ST AT gần tương tự, chất cách thức thực lại khác biệt Trên thực tế, khách hàng không quan tâm không tham gia vào trình phát triển phần mềm thường kết AT sai lệch lớn, PM trải qua tất kiểm tra trước Sự sai lệch liên quan đến việc hiểu sai yêu cầu mong chờ khách hàng Ví dụ PM xuất sắc vượt qua phép kiểm tra chức thực nhóm thực dự án, khách hàng kiểm tra sau thất vọng bố cục hình nghèo nàn, thao tác không tự nhiên, không theo tập quán sử dụng khách hàng… Có phương pháp kiểm thử chấp nhận: • Kiểm thử alpha: thực nơi tổ chức phát triển • nhóm phát triển test mà khách hàng thực test Kiểm thử beta: thực khách hàng khách hàng tiềm nơi họ (khách hàng download beta cài vào máy sử dụng) Các kỹ thuật kiểm thử Một sản phẩm kiểm thử theo cách: • Hiểu rõ chức cụ thể hàm hay module Các trường hợp kiểm thử xây dựng để kiểm thử tất thao tác • Hiểu rõ cách hoạt động hàm/module hay sản phẩm Các trường hợp kiểm thử xây dựng để đảm bảo tất thành phần khớp với Đó tất thao tác nội hàm dựa vào mô tả tất thành phần nội kiểm thủ cách thoả đáng Cách tiếp cận gọi kiểm thử hộp đen (Black-box testing) cách tiếp cận thứ hai gọi kiểm thử hộp trắng (White-box testing) 3.1 Kiểm thử hộp đen (Black Box Test) Kiểm thử hộp đen hay gọi kiểm tra chức thử nghiệm hành vi Xem chương trình “hộp đen”, hoàn toàn không quan tâm cách cư xử cấu trúc bên chương trình Thay vào đó, Tập trung vào tìm trường hợp mà chương trình không thực theo đặc tả [2]  Phương pháp kiểm thử hộp đen bao gồm: • Phân vùng tương đương - Equivalence partitioning • • • • • • • Phân tích giá trị biên – Boundary value analysis Kiểm thử cặp – All-pairs testing Kiểm thử fuzz – Fuzz testing Kiểm thử dựa mô hình – Model-based testing Ma trận dấu vết – Traceability matrix Kiểm thử thăm dò – Exploratory testing Kiểm thử dựa đặc tả – Specification-base testing 3.1.1 Phân vùng tương đương - Equivalence partitioning Phân vùng tương đương (Equivalence Class): kỹ thuật kiểm thử phần mềm có liên quan đến phân chia giá trị đầu vào thành phân vùng hợp lệ không hợp lệ, sau viết kịch kiểm thử cho phần, chọn giá trị đại diện từ phân vùng làm liệu thử nghiệm.[2] • Phân vùng tương đương: kỹ thuật thực test theo class đồng giá trị (tập • hợp điều kiện thao tác) Tập hợp giá trị input có kết xử lý, tập hợp thời gian có kết • xử lý, tập hợp kết export xử lý giá trị nhập Mục đích : Giảm đáng kể số lượng test case cần phải thiết kế với lớp tương đương ta cần test phần tử đại diện • • Chọn tối thiểu giá trị đại diện từ class đồng giá trị để tiến hành test Thiết kế ca kiểm thử cho phân vùng tương đương dựa đánh giá vùng tương đương với điều kiện vào Vùng tương đương biểu thị tập cho trạng thái hợp lệ hay không hợp lệ điều kiện vào • Thiết kế test case phân vùng tương đương tiến hành theo hai bước: - Xác định lớp tương đương - Xác định ca kiểm thử Hình 2:Các giá trị vùng tương đương > Nếu có lỗi xảy giá trị khác class đồng giá trị có lỗi giống 3.1.2 Phân tích giá trị biên – Boundary Value Analysis Phân tích giá trị biên (Boundary Value Analysis): kỹ thuật kiểm thử phần mềm có liên quan đến việc xác định biên (ranh giới) điều kiện mô tả cho giá trị đầu vào chọn giá trị biên bên cạnh giá trị biên làm liệu kiểm thử Phương pháp phân tích giá trị biên đưa giá trị đặc biệt, bao gồm loại liệu, giá trị lỗi, bên trong, bên biên giá trị, lớn nhỏ Hình 3: Các giá trị biên  Test • Tìm • giá trị biên thực theo trình tự đây: đường biên Quyết định giá trị biên - Mật phải chứa ký tự trở lên Phân tích *Áp dụng phương pháp phân tích giá trí biên, phân vùng tương đương: - Mật phải lớn ký tự: thực nhập vào 1, 2, 3,4,5 ký tự - Thực nhập vào trường mật ký tự có chứa khoảng trắng - Thưc nhập vào trường mật 7,8 ký tự  Bảng liệt kê vùng tương đương: Số ký tự 1-5 Không hợp lệ 6-20 Hợp lệ > =21 Không hợp lệ Các test case: Test case id TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9 TC10 TC11 TC12 TC13 TC14 TC15 TC16 TC17 TC18 TC19 TC20 TC21 Số ký tự nhập 10 11 12 13 14 15 16 17 18 19 20 21 *Áp dụng phương pháp nguyên nhân kết quả:  Nguyên nhân - Bỏ trống trường “Email” - Nhập email không định dạng - Nhập Email - Nhập sai Email - Bỏ trống trường mật - Nhập ký tự vào trường mật Kết mong đợi Không hợp lệ Không hợp lệ Không hợp lệ Không hợp lệ Không hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Hợp lệ Không hợp lệ Nhập ký tự vào trường mật Nhập ký tự vào trường mật Nhập sai mật Nhập vào trường có chứa ký tự đặc biệt  Kết - Đăng nhập thành công - Đăng nhập thất bại  Áp dụng phương pháp bảng định ta có số trường hợp sau: - Bỏ trống email mật khẩuHệ thống hiển thị thông báo “Bạn chưa nhập - email,bạn chưa nhập mật khẩu” - Bỏ trống email nhập sai mật khẩuHệ thống hiển thị thông báo “Bạn chưa nhập email” - Nhập email mật khẩuHệ thống đăng nhập thành công, cho phép xem thông tin tài khoản - Nhập sai email mật khẩuHệ thống hiển thị thông báo “thông tin đăng nhập không xác”” - Nhập email sai mật khẩuHệ thống hiển thị thông báo “thông tin đăng nhập không xác” - Nhập email mật có ký tựHệ thống hiển thị thông báo “thông tin đăng nhập không xác” - Nhập sai email mật khẩuHệ thống hiển thị thông báo “thông tin đăng nhập không xác” - Nhập sai email bỏ trống mật khẩuHệ thống hiển thị thông báo “Bạn chưa nhập mật khẩu” - Bỏ trống email nhập mật khẩuHệ thống hiển thị thông báo “Bạn phải nhập email”  Một số trường hợp kiểm thử Đầu vào Đầu mong đợi Bỏ trống email Thông báo “Email không bỏ trống” Bỏ trống mật Thông báo “mật không bỏ trống” Bỏ trống email mật Thông báo “Bạn phải nhập email mật khẩu” Hoangbavu2@gmail.co Thông báo “Email chưa hoàn chỉnh” Hoangbavu2gmail.com Thông báo “Email chưa hoàn chỉnh” Hoangbavu2@google.yahoo Mật khẩu=12345 Thông báo “Email không định dạng” Thông báo “Mật phải lớn ký tự”`` Nhập sai email mật Thông báo “Tài khoản không tồn tại” Nhập email mật Hiển thị tên người dùng đăng ký Chức đăng ký 5.2.1 Đặc tả chức đăng ký Chức đăng ký thể gồm thành phần: - Các ô textbox: Tên,Họ,Email,Mật Khẩu 5.2 - Button Đăng ký thực thi lệnh đăng ký user - Button Quay Lại để quay lại trang trước 5.2.2 Mô tả hình đăng ký Hình 24 :Màn hình đăng ký Xây dựng testcase kiểm thử chức đăng ký tả điều kiện: Các trường bắt buộc Email phải định dạng (xxx@gmail.com) Mật phải chứa ký tự trở lên bé 50 ký tự Email phải  Phân tích - Áp dụng phương pháp phân vùng tương đương: • Mật phải chứa ký tự trở lên: thực nhập vào 5,6,7,51 ký tự 5.2.3  Mô o o o o Xây dựng chương trình thực kiểm thử 6.1 Ghi lại bước kiểm thử B1: Tạo file kịch :Chọn tệp tin\New Test Case B2: Chọn Actions/Record B3: Ở textbox “Base UR” nhập vào địa chỉ:“https://themes.bizweb.vn/demo/freshfood/” B4 Thực thao tác bước thực test B5.Sau thực xong bước test, bấm Pause để dừng việc ghi  Dữ liệu kiểm thử Hình 25 : Test data chức đăng nhập Hình 26 : Test data chức đăng ký  Kết kiểm thử: -Chức đăng nhập Hình 27 : Bỏ trống Email Hình 28: Email @ Hình 29 : Mật ký tự Hình 30: Một số testcase khác - Chức đăng ký Hình 31: Bỏ trống Email Hình 32: Email dấu chấm Hình 33: Mật ký tự Hình 34 : Một số testcase khác Báo cáo kết kiểm thử Đã test 100% Thành công STT Tổng 91% Modul Đăng nhập Đăng ký Pass 11 20 Fail 1 Chưa test 0 Bảng: Báo cáo kết kiểm thử Số Testcase 12 10 22 Testcase đăng nhập Testcase đăng ký 8.Tổng kết Chương V giới thiệu ứng dụng web sử dụng để kiểm thử, nêu toán, thực theo quy trình test để thực kiểm thử ứng dụng web công cụ Selenium lập báo cáo kiểm thử

Ngày đăng: 01/07/2017, 15:08

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • MỞ ĐẦU

  • CHƯƠNG I.TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

  • 1. Khái niệm kiểm thử phần mềm

  • 2. Các cấp độ kiểm thử phần mềm

    • Hình 1: Các cấp độ kiểm thử

    • 2.1. Kiểm thử đơn vị

      • Một đơn vị (Unit) là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm thử được, ví dụ: các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method).

      • Unit testing đề cập đến các kiểm thử để chứng thực (xác minh - verify) chức năng của một phần riêng biệt của code, thường ở mức hàm (function level). Trong một môi trường hướng đối tượng (object-oriented environment), kiểm thử đơn vị thường được sử dụng ở mức lớp (class) và kiểm thử các đơn vị nhỏ nhất bao gồm các hàm constructor và destructor.

      • Kiểm thử đơn vị thường do lập trình viên thực hiện. Công đoạn này cần được thực hiện càng sớm càng tốt trong giai đoạn viết code và xuyên suốt chu kỳ phát triển phần mềm. Một hàm có thể có nhiều kiểm thử, để bắt được các trường hợp hoặc các nhánh trong code.

      • Cũng như các mức kiểm thử khác, kiểm thử đơn vị cũng đòi hỏi phải chuẩn bị trước các ca kiểm thử (hay trường hợp kiểm thử) (test case) hoặc kịch bản (test script), trong đó chỉ định rõ dữ liệu vào, các bước thực hiện và dữ liệu mong muốn sẽ xuất ra. Các test case và test script được giữ lại để sử dụng sau này.

      • 2.2 Kiểm thử tích hợp

      • 2.3 Kiểm thử hệ thống

      • 2.4 Kiểm thử chấp nhận

      • 3. Các kỹ thuật kiểm thử

        • 3.1 Kiểm thử hộp đen (Black Box Test)

          • 3.1.1 Phân vùng tương đương - Equivalence partitioning

            • Hình 2:Các giá trị trong vùng tương đương

            • 3.1.2 Phân tích giá trị biên – Boundary Value Analysis

              • Hình 3: Các giá trị biên

              • Hình 4: Các giá trị trong vùng dữ liệu

              • 3.1.3 Sử dụng bảng quyết định – Decision Table

                • Hình 5. Bảng quyết định

                • 3.2. Kiểm thử hộp trắng

                • 4. Tổng kết

                • CHƯƠNG II. TÌM HIỂU KIỂM THỬ TỰ ĐỘNG

                • 1. Khái niệm kiểm thử tự động

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

Tài liệu liên quan