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

34 0 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC ĐẠI NAM KHOA CƠNG NGHỆ THƠNG TIN ĐỀ TÀI: Tìm hiểu công cụ kiểm thử tự động Selenium Giảng viên hướng dẫn: Thầy Lê Chí Luận Lớp: CNTT13.01 Sinh viên thực hiện: Nhóm Đỗ Thị Thắm - 1351020103( C ) Trần Đình Khánh Đào Đăng TrườngLê Ngọc Đức- Hà Nội, ngày tháng 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 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 .6 2.2.3 Mục đích kiểm thử tự động 2.2.4 Kiểm thử tự động ? .6 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 Hướng dẫn cài đặt Selenium IDE 3.2.2 Một số chức Selenium IDE 12 3.2.3 Thao tác với Selenium IDE 14 3.2.4 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 .24 4.2.1 Ca kiểm thử trường hợp nhập thiếu tên đăng nhập 24 4.2.2 Ca kiểm thử trường hợp nhập mật không hợp lệ 25 4.2.3 Ca kiểm thử trường hợp đăng ký thành công 27 4.3 Kiểm thử chức đăng nhập tài khoản website 27 4.3.1 Ca kiểm thử trường hợp nhập thiếu tên đăng nhập 28 4.3.2 Ca kiểm thử nhập mật không hợp lệ .29 4.3.3 Ca kiểm thử trường hợp đăng nhập thành công 30 KẾT LUẬN 32 TÀI LIỆU THAM KHẢO .32 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 hố, đại hố đấ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 Bên cạnh đó, xu hướng áp dụng tự động hố 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 trình làm tập lớ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 Ngoà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 độ chun 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 xác định cho thành phần đơn lẻ Phân loại theo tính kiểm định :  - Những 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 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 q 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ó 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 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 số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 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 khơng biết 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 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 thư viện cho ngôn ngữ hỗ trợ: HTML, Java, Perl, PHP, Ruby, Python, C# Selenium WebDriver phiên kế nhiệm Selenium RC Cũng giống Selenium RC, Selenium WebDriver hỗ trợ viết kịch kiểm thử ngôn ngữ khác Java, NET, PHP, Python, Perl, Ruby kiểm thử viên sử dụng điều kiện if, else hay vịng lặp để tăng tính xác cho kịch kiểm thử Selenium WebDriver có kiến trúc đơn giản, điều khiển trình duyệt trực tiếp từ hệ điều hành 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 ... 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ử. .. 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 .6 2.2.3 Mục đích kiểm thử tự động 2.2.4 Kiểm thử tự động ? .6 2.3 Một số công cụ kiểm. .. 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

Tài liệu liên quan