Đề tài tìm hiểu công cụ kiểm thử tự động selenium

29 1 0
Đề tài tìm hiểu công cụ kiểm thử tự động selenium

Đ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

TRƯỜNG ĐẠI HỌC ĐẠI NAM KHOA CÔNG NGHỆ THÔNG TIN  Giảng viên hướng dẫn Sinh viên thực hiện Lớp Nhóm 7 CNTT 1301 tháng 10 năm 2022 MỤC LỤC CHƯƠNG I GIỚI THIỆU 1 1 1 Lý do chọn đề tài 1 1 2 Đóng góp c[.]

TRƯỜNG ĐẠI HỌC ĐẠI NAM KHOA CÔNG NGHỆ THÔNG TIN  Giảng viên hướng dẫn : Sinh viên thực : Nhóm Lớp : CNTT-1301 tháng 10 năm 2022 MỤC LỤC CHƯƠNG I GIỚI THIỆU 1.1 Lý chọn đề tài 1.2 Đóng góp đề tài 1.3 Bố cục .2 CHƯƠNG II: PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM 2.1 Phần mềm khái niệm liên quan 2.1.1 Phần mềm 2.1.2 Lỗi phần mềm 2.1.3 Yêu cầu khách hàng 2.1.4 Đặc tả yêu cầu phần mềm 2.2 Kiểm thử tự động 2.2.1 Khái niệm: 2.2.2 Quy trình kiểm thử tự động 2.2.3 Mục đích kiểm thử tự động 2.2.4 Kiểm thử tự động ? 2.3 Một số công cụ kiểm thử tự động .7 CHƯƠNG III CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM 3.1 Giới thiệu chung Selenium 3.2 Selenium IDE 3.2.1 Giới thiệu 3.2.2 Hướng dẫn cài đặt Selenium IDE 10 3.2.3 Một số chức Selenium IDE12 3.2.4 Thao tác với Selenium IDE 14 3.2.5 Các câu lệnh Selenium IDE – Selenese 19 CHƯƠNG IV CHƯƠNG TRÌNH DEMO 22 4.1.Giới thiệu toán 22 4.2 Kiểm thử chức đăng ký tài khoản website https://id.zing.vn/ sử dụng công cụ Selenium IDE 23 4.2.1 Ca kiểm thử trường hợp nhập thiếu tên đăng nhập 23 4.2.2 Ca kiểm thử trường hợp nhập mật không hợp lệ 24 4.2.3 Ca kiểm thử trường hợp đăng ký thành công 25 KẾT LUẬN 26 TÀI LIỆU THAM KHẢO .27 CHƯƠNG I GIỚI THIỆU 1.1 Lý chọn đề tài Ngày nay, công nghệ thông tin nói chung cơng nghệ phần mềm nói riêng chiếm vị trí quan trọng tiến trình cơng nghiệp hoá, đại hoá đất nước Song song với việc phát triển công nghệ phần mềm tiềm ẩn thách thức cho dành doanh nghiệp, nhà phát triển phần mềm việc kiểm soát lỗi, chất lượng đầu sản phẩm Tuy nhiên Việt Nam, số lượng kiểm thử viên chưa đáp ứng với nhu cầu thị trường Các chuyên gia nhận định: “Với đà tăng trưởng mạnh mẽ ngành gia công phần mềm, vài năm tới, Việt Nam thiếu khoảng 10.000 kiểm thử viên.” Bên cạnh đó, xu hướng áp dụng tự động hoá triển khai rộng rãi nhiều lĩnh vực, có kiểm thử phần mềm Đặc biệt, kiểm thử phần mềm công đoạn chiếm phần lớn thời gian trình phát triển dự án phần mềm đời công cụ kiểm thử tự động có ý nghĩa hết, giúp tiết kiệm thời gian, công sức tiền bạc Selenium công cụ hỗ trợ kiểm thử tự động dành cho ứng dụng Web, hoạt động hầu hết trình duyệt phổ biến Firefox, Chrome, Internet Explorer, Safari, v.v hỗ trợ số lượng lớn ngơn ngữ lập trình Web phổ biến Cơng cụ Selenium đánh giá công cụ tốt cho kiểm thử tự động ứng dụng Web Với mong muốn tìm hiểu sâu lĩnh vực kiểm thử phần mềm trở thành kỹ sư kiểm thử phần mềm sau tốt nghiệp đại học, nhóm em chọn đề tài “Tìm hiểu cơng cụ kiểm thử tự động Selenium.” Trong q trình làm tập lớn, cịn hạn chế thời gian kinh nghiệm thực tế, nhóm em mong nhận góp ý chân thành từ thầy bạn 1.2 Đóng góp đề tài Đề tài giới thiệu lý thuyết kiểm thử phần mềm, công cụ hỗ trợ kiểm thử tự động Ngồi ra, đề tài sâu vào việc tìm hiểu, sử dụng tính năng, cơng cụ phần mềm Selenium như: - Đưa hướng dẫn cài đặt, sử dụng hiệu công cụ - Ứng dụng kiến thức học để viết kịch kiểm thử cho ứng dụng cụ thể 1.3 Bố cục Chương I: Trình bày rõ lý chọn đề tài, mục tiêu nghiên cứu bố cục tập lớn Chương 2: Phần mềm kiểm thử phần mềm Chương trình bày khái niệm phần mềm, kiểm thử phần mềm kiểm thử phần mềm tự động Chương 3: Giới thiệu chung Selenium, cài đặt sử dụng công cụ, ứng dụng thực tế với Selenium Chương 4: Kiểm thử ứng dụng công cụ Selenium (Demo) Kết luận: Phần đưa kết nghiên cứu đạt được, thiếu sót chưa thực hướng phát triển đề tài tương lai CHƯƠNG II: PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM Chương sâu vào việc tìm hiểu khái niệm phần mềm kiểm thử phần mềm, giúp khái quát việc phân loại kiểm thử phần mềm, đưa quy trình, mức độ, kỹ thuật kiểm thử phần mềm 2.1 Phần mềm khái niệm liên quan 2.1.1 Phần mềm Phần mềm thường mô tả với ba phận cấu thành:  Tập lệnh (chương trình máy tính) máy tính thực tạo dịch vụ đem lại kết mong muốn cho người dùng  Các cấu trúc liệu (lưu giữ nhớ) làm cho chương trình thao tác hiệu với thơng tin thích hợp nội dung thơng tin số hố  Các tài liệu để mơ tả thao tác, cách sử dụng bảo trì phần mềm (hướng dẫn sử dụng, tài liệu kỹ thuật, tài liệu phân tích, thiết kế, kiểm thử, v.v.) .2 Lỗi phần mềm Lỗi phần mềm nhìn chung khơng khớp chương trình đặc tả nó, kéo theo vấn đề xuất giai đoạn phát triển phần mềm Lỗi phần mềm thường xuất hình thức sau đây:  Sai (Fault): Khi phần mềm gặp lỗi đưa đến sai sót Tuy nhiên, khơng dễ để phát sai sót q trình phát triển phần mềm Sai lầm xuất đầu quy trình phát triển phần mềm người phân tích, thiết kế bỏ sót thơng tin dẫn tới thiếu chức mà lẽ cần phải có  Thất bại (Failure): Thất bại dễ nhận thấy lỗi thực thi Chúng thường xuất dạng: thất bại chạy (ví dụ mã nguồn) thất bại liên kết với lỗi nhiệm vụ Ngồi ra, kể đến thất bại liên quan tới lỗi bỏ quên Chúng ta hạn chế thất bại bước quy trình phát triển phần mềm việc khảo sát thực tốt  Sự cố (Incident): Sự cố thường liên kết với thất bại Tuy nhiên khác với thất bại chỗ cố hiển thị cho người dùng kiểm thử viên biết tồn  Thừa: số chức khơng có đặc tả u cầu phần mềm lại xuất phần mềm xây dựng Ngồi ra, cịn xuất số lỗi phi chức phần mềm khó sử dụng, tốc độ không đáp ứng yêu cầu (vấn đề hiệu năng) hay giao diện khó nhìn dễ khiến cho người sử dụng nghĩ phần mềm hoạt động không 2.1.3 Yêu cầu khách hàng Phần mềm phát triển dựa nhu cầu khách hàng Chính lẽ đó, chức phần mềm xây dựng dựa việc thu thập, phân tích, khảo sát nhu cầu khách hàng thông qua yêu cầu cụ thể Đối với phần mềm, yêu cầu thường tổng hợp từ nhiều người, nhiều tổ chức có mức độ chuyên môn mức độ tham gia tương tác với phần mềm khác môi trường hoạt động Có thể phân loại yêu cầu khách hàng cho sản phẩm phần mềm thành số loại sau: Phân loại theo sản phẩm tiến trình :  - Yêu cầu sản phẩm: đòi hỏi hay ràng buộc mà phần mềm phải thực - Yêu cầu tiến trình: ràng buộc liên quan đến việc phát triển phần mềm (kĩ thuật sử dụng, mơ hình phát triển, v.v.) Ví dụ: Khách hàng muốn phát triển website làm thi trực tuyến Lúc này, yêu cầu sản phẩm xây dựng website thi trực tuyến với tính quản lý câu hỏi; quản lý đề thi; cho phép người dùng tham gia làm thi; quản trị viên duyệt câu hỏi đề thi trước đăng lên website Việc website phát triển theo mơ hình Agile hay mơ hình thác nước u cầu tiến trình sản phẩm phần mềm  Phân loại theo chức : - Yêu cầu chức năng: đặc tả chức mà phần mềm cần phải thực - Yêu cầu phi chức năng: ràng buộc giải pháp chất lượng (hiệu năng, việc bảo trì, mức độ an toàn, bảo mật, v.v.) - Yêu cầu đặc tả thuộc tính bật: đặc tả cho thuộc tính phụ thuộc vào vận hành, đặc biệt kiến trúc hệ thống Các thuộc tính khơng thể xác định cho thành phần đơn lẻ  Phân loại theo tính kiểm định : - Những yêu cầu mang tính mơ hồ, khơng thể kiểm định - Những yêu cầu rõ ràng kiểm định  - Phân loại theo phạm vi đặc tả : Yêu cầu hệ thống: đặc tả cấu hình, sở hạ tầng, phần cứng, phần mềm, người, kỹ thuật, v.v toàn hệ thống - Yêu cầu phần mềm: đặc tả chức năng, giao diện, v.v cấu phần phần mềm 2.1.4 Đặc tả yêu cầu phần mềm Từ yêu cầu khách hàng yêu cầu bắt buộc khác, đặc tả yêu cầu phần mềm viết để mô tả cách xác yêu cầu cần đáp ứng sản phẩm phần mềm Đây tài liệu sở để lập trình viên, kiểm thử viên phận khác dựa vào để phát triển phần mềm hoàn chỉnh, với yêu cầu đặt ban đầu Các khái niệm lỗi nói mục 1.1.2 đề cập đến việc phần mềm sau xây dựng hoạt động không với đặc tả yêu cầu phần mềm Tài liệu đặc tả yêu cầu phần mềm cần cung cấp đầy đủ thơng tin chi phí, rủi ro lịch trình cho trình phát triển sản phẩm Đặc tả yêu cầu phần mềm viết phục vụ nhiều đối tượng từ người dùng hệ thống, khách hàng đến nhà phát triển bảo trì phần mềm Do đó, tài liệu đặc tả nên viết ngôn ngữ tự nhiên, sử dụng biểu đồ, bảng biểu để đảm bảo tính dễ hiểu, dễ sử dụng cho tất đối tượng 2.2 Kiểm thử tự động 2.2.1 Khái niệm: Kiểm thử tự động: Là xử lý cách tự động bước thực testcase, kiểm thử tự động công cụ nhằm rút ngắn thời gian kiểm thử Kiểm thử tự động: kỹ thuật tự động người kiểm thử tự viết tập lệnh sử dụng phần mềm phù hợp để kiểm thử phần mềm Nó q trình tự động hóa quy trình kiểm thử thủ cơng Giống kiểm thử hồi quy, kiểm thử tự động sử dụng để kiểm thử ứng dụng theo quan điểm tải, hiệu ứng suất Kiểm thử tự động giúp giảm chi phí kiểm thử cách hỗ trợ q trình kiểm thử thơng qua cơng cụ phần mềm Kiểm thử tự động hay sử dụng phần mềm để kiểm thử với ưu điểm: Có thể thực ca kiểm thử cách liên tục, lặp lại giảm chi phí cho  nhân lực kiểm thử Luôn đảm bảo hoạt động theo kịch - không bị ảnh hưởng  với kiểm thử viên 2.2.2 Quy trình kiểm thử tự động Quy trình kiểm thử tự động bao gồm: tester sử dụng kịch tự động (automation scripts) thực thi script để chạy ứng dụng với giúp sức automation tool Một script sẵn sàng việc thực thi kiểm thử diễn nhanh chóng hiệu Các hoạt động kiểm thử tự động:  Phân tích yêu càu/Xác định mơi trường/cơng cụ  Xác định tiêu chí đầu  Lên kế hoạch kiểm soát  Thiết lập môi trường kiểm thử  Triển khai thiết kế kiểm thử  Thực thi kiểm thử  Phân tích báo cáo 2.2.3 Mục đích kiểm thử tự động Kiểm thử tự động với mục đích:  Giảm bớt công swusc thời gian thực trình kiểm thử  Tăng độ tin cậy  Giảm nhàm chán cho người  Ràn luyện kỹ lập trình cho kiểm thử  Giảm chi phí cho tổng q trình kiểm thử 2.2.4 Kiểm thử tự động ? Khi cần kiểm thử tự động: Không đủ tài nguyên: Khi số lượng TestCase q nhiều mà kiểm thử viên khơng thể hồn tất thời gian cụ thể Kiểm tra hồi quy: Nâng cấp phần mềm, kiểm tra lại tính anwng chạy tốt tính sửa Tuy nhiên, việc khó đảm bảo mặt thời gian Kiểm tra khả vận hành phần mềm môi trường đặc biệt (Đo tốc độ trung bình xử lý yêu cầu Web server, xác định cấu hình máy thấp mà phần mềm hoạt động tốt) 2.3 Một số công cụ kiểm thử tự động Một số cơng cụ giúp ích cho việc kiểm thử tự động:  Selenium  WATIR  Visual Studio Test Professional  TestComplete CHƯƠNG III CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM 3.1 Giới thiệu chung Selenium Selenium phần mềm mã nguồn mở - công cụ kiểm thử phần mềm tự động để kiểm thử ứng dụng Web Năm 2004, Selenium phát triển ThoughtWorks với tên ban đầu JavaScriptTestRunner Đến năm 2007, tác giả Jason Huggins rời ThoughtWorks gia nhập Selenium Team (thuộc Google), từ tiếp tục phát triển Selenium Selenium không công cụ mà công cụ giúp kiểm thử tự động ứng dụng Web hiệu hơn, bao gồm phần: Selenium IDE, Selenium RC, Selenium Grid, Selenium WebDriver Selenium IDE công cụ cho phép ghi lại kịch tái sử dụng kịch Nó hoạt động Add-on trình duyệt Mozilla Firefox với giao diện trực quan, dễ sử dụng với kiểm thử viên code Hình : Cấu trúc Selenium Với Selenium IDE, ghi lại kịch (Record) trình duyệt Mozilla Firefox tái sử dụng kịch nhiều trình duyệt khác Internet Explorer, Google Chrome, v.v Selenium RC cho phép nhà phát triển tự động hóa q trình kiểm thử cách sử dụng ngơn ngữ lập trình nào, phát huy tối đa mạnh Selenium kiểm thử đơn vị Để dễ dàng cho việc kiểm thử, Selenium RC cung cấp API Phần giải thích hướng dẫn cách sử dụng số chức năng, ký hiệu tiện ích Selenium IDE Hình 8: Giải thích số chức năng, ký hiệu Selenium IDE  Base URL: Chứa địa URL ứng dụng Web kiểm thử  Thanh trượt : Điều chỉnh tốc độ thực thi ca kiểm thử tự động  Chạy kiểm thử : Chạy tất ca kiểm thử có kiểm thử (test suite)  Chạy ca kiểm thử  Tạm dừng  Tiếp tục  Bỏ qua  Ghi (Record) : Chạy ca kiểm thử chọn : Tạm dừng ca kiểm thử thực thi : Tiếp tục chạy ca kiểm thử vừa tạm dừng : Bỏ qua bước vị trí dừng : Ghi lại thao tác ca kiểm thử Mặc định khởi động Selenium IDE, chức ghi thao tác tự động kích hoạt Textbox  Command: Lưu trữ hành động (action) ca kiểm thử Textbox Target:  Đích đến thao tác  Textbox Value: Giá trị đầu vào cho thao tác ca kiểm thử 13 Tab Source nơi hiển thị kịch ca kiểm thử dạng HTML Đây source file HTML sau tiến hành lưu lại ca kiểm thử cho mục đích sử dụng lại Hình 9: Kịch kiểm thử Selenium IDE lưu trữ dạng HTML Ngồi ra, thơng báo cho thao tác vừa thực hiện, thông báo lỗi thể khung ghi Log Trong Selenium IDE, ca kiểm thử ln có điểm bắt đầu Điều tương ứng với cách thiết kế tiền điều kiện (Pre-condition) ca kiểm thử Điển hình cho điểm bắt đầu ca kiểm thử với Selenium IDE việc truy cập ứng dụng Web để bắt đầu luồng công việc 3.2.4 Thao tác với Selenium IDE Tạo ca kiểm thử kiểm thử Với trường hợp cần tạo ca kiểm thử đơn lẻ, ta sử dụng thao tác File / New Test Case Tuy nhiên, dù kiểm thử form đơn giản cần tạo nhiều ca kiểm thử khác Lúc ta cần tạo kiểm thử (Test Suite) chứa ca kiểm thử để dễ dàng quản lý cách chọn File / New Test Suite 14 Hình 10: Chức tạo ca kiểm thử/bộ kiểm thử nằm menu File Khởi động chức ghi (Record): Mặc định mở tiện ích Selenium IDE chức ghi kích hoạt Có thể dễ dàng nhận trạng thái kích hoạt giao diện trực quan tiện ích Để kiểm tra, di chuyển trỏ chuột vào nút Record , xuất thông báo Click to Record tương đương với chức ghi chưa kích hoạt Lưu ca kiểm thử/bộ kiểm thử Sau hoàn thành thao tác với ca kiểm thử, ta lưu chúng lại cách chọn File / Save Test Case (Ctrl+S) Trường hợp muốn lưu ca kiểm thử tồn tên khác, ta chọn File / Save Test Case As… 15 Hình 11: Minh họa thao tác lưu ca kiểm thử Việc lưu lại kiểm thử tương tự, ta chọn File / Save Test Suite File / Save Test Suite As… muốn lưu ca kiểm thử tồn tên khác Hình 12: Minh họa thao tác lưu kiểm thử Mở ca kiểm thử/bộ kiểm thử lưu Chọn File / Open tìm tới thư mục lưu ca kiểm thử để mở ca kiểm thử lưu Hình 13: Minh họa thao tác mở ca kiểm thử Trường hợp muốn mở kiểm thử, chọn File / Open Test Suite… tìm tới thư mục lưu kiểm thử, tiếp tục chọn kiểm thử cần thực thi sau chọn Open 16 Hình 14: Minh họa thao thác mở kiểm thử lưu Chạy ca kiểm thử Selenium IDE có nhiều tùy chọn phù hợp cho việc thực thi ca kiểm thử, tạm dừng, chạy dòng lệnh đơn lẻ (step), thiết lập điểm ngắt (breakpoint) chạy tất ca kiểm thử có kiểm thử Điều giúp kiểm thử viên dễ dàng làm chủ thao tác ca kiểm thử Chạy ca kiểm thử: Chọn biểu tượng Play current test case để chạy ca kiểm thử chọn Tạm dừng/tiếp tục chạy ca kiểm thử: Chọn Pause muốn tạm dừng ca kiểm thử chạy Resume để tiếp tục chạy ca kiểm thử bị tạm dừng Thiết lập điểm dừng (Toggle breakpoint): Selenium IDE hỗ trợ thiết lập điểm dừng chạy ca kiểm thử Cụ thể, kiểm thử viên xác định điểm dừng dòng lệnh ca kiểm thử nhằm mục đích kiểm tra tình trạng ứng dụng Web điểm dừng Để thiết lập điểm dừng, chọn dịng lệnh mà ca kiểm thử dừng hoạt động, click chuột phải chọn Toggle breakpoint 17 Hình 15: Thiết lập điểm dừng cho ca kiểm thử Thiết lập điểm bắt đầu (Start Point): Ngược lại với việc thiết lập điểm dừng, Selenium IDE hỗ trợ thiết lập điểm bắt đầu cho ca kiểm thử vị trí mà kiểm thử viên mong muốn Giả sử ca kiểm thử bắt đầu việc truy cập vào ứng dụng Web, đăng nhập thực thao tác với ứng dụng Tuy nhiên kiểm thử viên muốn kiểm tra thao tác sau đăng nhập thành công Lúc kiểm thử viên hồn tồn thiết lập điểm bắt đầu sau hệ thống duyệt qua thao tác đăng nhập Chọn dịng lệnh vị trí bắt đầu mong muốn, sau click chuột phải, chọn Set / Clear Start Point để thiết lập điểm bắt đầu cho ca kiểm thử Tại dòng lệnh điểm bắt đầu xuất biểu tượng thông báo thiết lập thành công Tiếp tục chọn Set / Clear Start Point lần để xóa thiết lập điểm bắt đầu 18 ... Kiểm thử tự động 2.2.1 Khái niệm: 2.2.2 Quy trình kiểm thử tự động 2.2.3 Mục đích kiểm thử tự động 2.2.4 Kiểm thử tự động ? 2.3 Một số công cụ kiểm thử tự động .7 CHƯƠNG III CÔNG... cách tự động bước thực testcase, kiểm thử tự động công cụ nhằm rút ngắn thời gian kiểm thử Kiểm thử tự động: kỹ thuật tự động người kiểm thử tự viết tập lệnh sử dụng phần mềm phù hợp để kiểm thử. .. trình tự động hóa quy trình kiểm thử thủ cơng Giống kiểm thử hồi quy, kiểm thử tự động sử dụng để kiểm thử ứng dụng theo quan điểm tải, hiệu ứng suất Kiểm thử tự động giúp giảm chi phí kiểm thử

Ngày đăng: 21/03/2023, 18:04

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

  • Đang cập nhật ...

Tài liệu liên quan