Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Xây Dựng Ứng Dụng Kiểm Thử Phần Mềm Tự Động Sử Dụng Selenium Và Webdriver
PREMIUM
Số trang
76
Kích thước
3.0 MB
Định dạng
PDF
Lượt xem
1960

Xây Dựng Ứng Dụng Kiểm Thử Phần Mềm Tự Động Sử Dụng Selenium Và Webdriver

Nội dung xem thử

Mô tả chi tiết

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM THỊ HẢI YẾN

XÂY DỰNG ỨNG DỤNG KIỂM THỬ PHẦN MỀM TỰ ĐỘNG

SỬ DỤNG SELENIUM VÀ WEBDRIVER

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2020

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHẠM THỊ HẢI YẾN

XÂY DỰNG ỨNG DỤNG KIỂM THỬ PHẦN MỀM TỰ ĐỘNG

SỬ DỤNG SELENIUM VÀ WEBDRIVER

Ngành: Khoa học máy tính

Chuyên ngành: Khoa học máy tính

Mã số: 08480101.01

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. HOÀNG XUÂN HUẤN

HÀ NỘI - 2020

1

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của cá nhân tôi,

thực hiện dưới sự hướng dẫn của PGS. TS Hoàng Xuân Huấn. Trong toàn bộ nội dung

của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được tổng hợp từ

nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích

dẫn đúng quy định.

Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định

cho lời cam đoan của mình.

Hà Nội, ngày …. tháng ... năm 2020

Học viên

Phạm Thị Hải Yến

2

LỜI CẢM ƠN

Để hoàn thành luận văn này tôi xin chân thành gửi lời cảm ơn đến PGS. TS. Hoàng

Xuân Huấn cùng các thầy cô trong khoa Công nghệ thông tin – Đại học Quốc Gia Hà Nội

đã đóng góp ý kiến, nhận xét, quan tâm chỉ bảo và tạo cho tôi những điều kiện tốt nhất từ

khi bắt đầu cho tới khi hoàn thành luận văn của mình.

Đồng thời, tôi cũng xin gửi lời cảm ơn đến gia đình, bạn bè và đồng nghiệp đã

luôn quan tâm, chia sẻ, động viên và tạo mọi điều kiện để tôi có thể hoàn thành tốt mọi

công việc trong quá trình thực hiện luận văn.

Mặc dù đã rất cố gắng trong quá trình thực hiện nhưng luận văn không thể tránh

khỏi những thiếu sót, tôi rất mong nhận được sự góp ý của các thầy cô và bạn bè.

Học viên

Phạm Thị Hải Yến

3

MỤC LỤC

LỜI CAM ĐOAN ..........................................................................................................1

LỜI CẢM ƠN ................................................................................................................2

MỤC LỤC ......................................................................................................................3

DANH MỤC HÌNH VẼ.................................................................................................6

DANH MỤC BẢNG BIỂU ...........................................................................................8

DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT VÀ CÁC THUẬT NGỮ..............9

LỜI MỞ ĐẦU ..............................................................................................................10

CHƯƠNG 1: GIỚI THIỆU VỀ KIỂM THỬ PHẦN MỀM....................................12

1.1. Giới thiệu về kiểm thử phần mềm.........................................................................12

1.2. Phát triển hướng kiểm thử TDD (Test Driven Development)............................13

1.2.1. Khái niệm.....................................................................................................13

1.2.2. Các cấp độ TDD...........................................................................................16

1.2.3. Các lỗi thường gặp khi áp dụng TDD..........................................................16

1.3. Phát triển hướng hành vi BDD (Behaviour Driven Development)....................16

1.3.1. Khái niệm.....................................................................................................16

1.3.2. Quy trình phát triển phần mềm truyền thống...............................................18

1.3.3. Quy trình phát triển theo hướng BDD .........................................................18

CHƯƠNG 2. GIỚI THIỆU VỀ CÔNG CỤ KIỂM THỬ TỰ ĐỘNG VÀ MÔ HÌNH

THIẾT KẾ PAGE OBJECT MODEL (POM) .........................................................20

2.1. Công cụ kiểm thử tự động Cucumber ..................................................................20

2.1.1. Khái niệm.....................................................................................................20

2.1.2. Ngôn ngữ Gherkin........................................................................................20

2.1.3. Cách chạy một Cucumber Junit test.............................................................22

2.1.4. Chu trình.......................................................................................................23

2.1.5. Sơ đồ chu trình làm việc xử lý các bước trong cucumber ...........................27

2.1.6. Cấu trúc dự án cài đặt Cucumber.................................................................28

2.1.7. Các thư viện sử dụng để chạy Cucumber.....................................................28

2.2. Selenium WebDriver ..............................................................................................29

2.2.1. Khái niệm.....................................................................................................29

2.2.2. Giới thiệu về đối tượng UI (Locators) .........................................................31

2.2.2.1. Xác định phần tử Web theo ID..........................................................31

2.2.2.2. Xác định phần tử Web theo Name.....................................................32

4

2.2.2.3. Xác định phần tử Web theo LinkText................................................32

2.2.2.4.Xác định phần tử Web theo TagName ...............................................33

2.2.2.5. Xác định phần tử Web theo ClassName............................................33

2.2.2.6. Xác định phần tử Web theo CSS .......................................................34

2.2.2.7. Xác định phần tử Web theo Xpath ....................................................34

2.2.3. Các thư viện sử dụng để chạy Selenium WebDriver...................................36

2.2.4. Các hàm xử lý chung trong Selenium WebDriver.......................................36

2.3. Giới thiệu mẫu thiết kế (Design pattern)..............................................................38

2.3.1. Khái niệm......................................................................................................38

2.3.2. Phân loại mẫu thiết kế (Design Pattern).......................................................39

2.4. Mô hình thiết kế Page Object Model (POM).......................................................41

2.4.1. Lý do chọn mô hình thiết kế Page Object Model (POM)............................41

2.4.2. Mô hình thiết kế Page Object Model (POM) là gì? .....................................43

2.4.3. Ưu điểm của mô hình thiết kế Page Object Model (POM)..........................43

2.4.4. Ví dụ.............................................................................................................44

CHƯƠNG 3: HỆ THỐNG TÍCH HỢP LIÊN TỤC.................................................48

3.1. Hệ thống tích hợp liên tục (CI)..............................................................................48

3.1.1. Khái niệm.....................................................................................................48

3.1.2. Áp dụng hệ thống tích hợp liên tục..............................................................50

3.1.3. Lợi ích của việc tích hợp liên tục.................................................................50

3.1.4. Jenkins..........................................................................................................52

CHƯƠNG 4: THỰC NGHIỆM KIỂM THỬ TỰ ĐỘNG TẠI CÔNG TY VIVAS VÀ

ĐÁNH GIÁ KẾT QUẢ ...............................................................................................54

4.1. Phân tích hoạt động kiểm thử tại công ty trước khi áp dụng kiểm thử tự

động.................................................................................................................................54

4.1.1. Tổng quan về công ty, sản phẩm, môi trường kiểm thử ..............................54

4.1.2. Quy trình kiểm thử trước đây tại VIVAS ....................................................55

4.2. Cài đặt và áp dụng kiểm thử tự động vào các dự án của VIVAS ......................58

4.2.1. Cấu trúc dự án ..............................................................................................58

4.2.2. Cấu trúc mã nguồn .......................................................................................60

4.2.3. Tích hợp Jenkins ..........................................................................................64

4.2.4. Báo cáo kết quả chạy kiểm thử.....................................................................65

4.3. Đánh giá kết quả sau khi áp dụng kiểm thử tự động vào dự án của VIVAS....67

5

4.3.1. Tiết kiệm thời gian........................................................................................68

4.3.2. Tiết kiệm nguồn nhân lực .............................................................................70

4.4. Những khó khăn khi triển khai hệ thống kiểm thử tự động trong công ty VIVAS

71

4.5. Hướng phát triển tiếp theo của framework .........................................................72

KẾT LUẬN ..................................................................................................................73

TÀI LIỆU THAM KHẢO...........................................................................................74

Tải ngay đi em, còn do dự, trời tối mất!