1. Trang chủ
  2. » Công Nghệ Thông Tin

Kiểm thử ứng dụng web với công cụ selenium

67 522 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 3,51 MB

Nội dung

Vì vậy một ứng dụng Web thường có rất nhiều có một cộng đồng khách hàng sử dụng với các nền tảng khác nhau như hệ điều hành, trình duyệt, các thiết bị… Từ đó việc kiểm thử một ứng dụng W

Trang 1

LỜI CẢM ƠN

Sau một thời gian tìm hiểu đề tài “Kiểm thử ứng dụng Web với công cụ Selenium”, em đã hoàn thành tiến độ dự kiến Để đạt được kết quả này, em đã nỗ

lực thực hiện và đồng thời cũng nhận được rất nhiều sự giúp đỡ, quan tâm, ủng

hộ của các thầy cô bạn bè và gia đình

Em xin chân thành cảm ơn giáo viên hướng dẫn: Th.S Nguyễn Thị Dung

– Bộ môn Công nghệ phần mềm – Trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã tận tình hướng dẫn sát sao em trong quá trình làm đồ án tốt nghiệp Trong thời gian làm việc với cô, em không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho

em trong quá trình học tập và công việc sau này

Em xin chân thành cảm ơn các thầy cô và ban lãnh đạo trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên đã nhiệt tình giảng dạy và truyền đạt kiến thức quý báu và bổ ích trong suốt quá trình em học tập tại trường

Và cuối cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tâp, thời gian nghiên cứu và hoàn thành đồ án tốt nghiệp

Thái Nguyên, tháng 06 năm 2016

Sinh viên thực hiện

Hoàng Thị Hiền

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan những kết quả trong đề tài “Kiểm thử ứng dụng Web với công cụ Selenium” là sản phẩm nghiên cứu của riêng cá nhân em, không sao

chép lại của người khác Trong toàn bộ nội dung đồ án những điều được trình bày là của cá nhân em hoặc là được tổng hợp từ nhiều nguồn tham khảo mà em

đã chắt lọc được để lấy ra những thông tin cần thiết và bổ ích phục vụ cho đồ án Tất cả tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn

toàn trách nhiệm

Tác giả đề tài

Hoàng Thị Hiền

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC CÁC HÌNH VẼ 5

LỜI MỞ ĐẦU 7

CHƯƠNG 1 CƠ SỞ LÍ THUYẾT 9

1.1 Kiểm thử phần mềm 9

1.1.1 Khái niệm 9

1.1.2 Các phương pháp kiểm thử (Testing Methods) 9

1.1.3 Các mức độ kiểm thử (Testing level) 10

1.2 Kiểm thử ứng dụng Web 11

1.2.1 Khái quát 11

1.2.2 Tại sao phải kiểm thử ứng dụng Web? 12

1.2.3 Đặc trưng khi kiểm thử ứng dụng Web 13

1.2.4 Công việc khi kiểm thử Theme WordPress 13

1.3 Giới thiệu về Selenium 19

1.3.1 Tổng quan 19

1.3.2 Lịch sử phát triển 20

1.3.3 Selenium IDE 22

1.3.4 Selenium RC/ Web driver 30

1.3.5 Cài đặt Selenium Remote Control 31

1.3.6 Báo cáo kết quả kiểm thử 32

CHƯƠNG 2 PHÂN TÍCH, THIẾT KẾ BÀI TOÁN 35

2.1 Bài toán thử nghiệm 35

2.1.1 Giới thiệu bài toán 35

2.1.2 Lựa chọn công cụ 35

2.1.3 Phương pháp test 39

2.1.4 Sự khác nhau giữa kịch bản kiểm thử tự động và kịch bản kiểm thử thủ công 39

Trang 4

2.2 Xây dựng các TestCase 40

2.2.1 Kịch bản kiểm thử thủ công 40

2.2.2 Kịch bản kiểm thử khi kiểm thử tự động 48

CHƯƠNG 3 CÀI ĐẶT DEMO 49

3.1 Thực thi các testcase với Selenium IDE 49

3.1.1 Chức năng đăng nhập 49

3.1.2 Chức năng Contact 53

3.1.3 Chức năng Subcribe 59

3.1.4 Chức năng Comment 59

3.2 Thực thi testcase với Selenium WebDiver 60

3.3 Công cụ quản lí bug và báo cáo kết quả kiểm thử 61

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

TÀI LIỆU THAM KHẢO 66

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 67

Trang 5

DANH MỤC CÁC HÌNH VẼ

Hình 1.1Những kiểm thử cần có cho một ứng dụng web 12

Hình 1.2 Test Plan của dự án 14

Hình 1.3 Kiểm thử Front- End và Back-End 15

Hình 1.4 Kiểm thử Front -End 15

Hình 1.5 Check speed 16

Hình 1.6 Kiểm thử các tùy chọn trong Theme Option 18

Hình 1.7 Kiểm thử các tùy chọn trong Page Option 18

Hình 1.8 Cấu trúc của Selenium 19

Hình 1.9 Kiến trúc của Selenium IDE 22

Hình 1.10 Trang download tiện ích Selenium IDE 23

Hình 1.11 Quá trình cài đặt Selenium IDE 23

Hình 1.12 Thao tác mở IDE trên menu Tool 24

Hình 1.13 Giao diện của Selenium IDE 24

Hình 1.14 Các thành phần và kí hiệu của Selenium IDE 25

Hình 1.15 Lưu trữ các testcase dạng HTML của Selenium 26

Hình 1.16 Sơ đồ Selenium RC/ WebDriver 30

Hình 2.1 Form Sign Up của Theme Pizzeria 40

Hình 2.2 Form Contact của Theme Pizzeria 42

Hình 2.3 Form Delivery của Theme Pizzeria 43

Hình 2.4 Form Comment của Theme Pizzeria 44

Hình 2.5 Form Review của Theme Pizzeria 46

Hình 2.6 Form Subcribe của Theme Pizzeria 47

Hình 3.1 Trường hợp Sign in với trường Username và password để trống 49

Hình 3.2 Sign in với trường password để trống 50

Hình 3.3 Sign in với trường Username để trống 50

Hình 3.4 Sign in thành công 51

Hình 3.5 Sign in không thành công với username và password sai 51

Hình 3.6 Testsuite cho chức năng đăng nhập 52

Trang 6

Hình 3.8 Testcase Selenium WebDriver được dịch sang TestNG từ Selenium

WebDriver 53

Hình 3.9 Contact với Subject and Message trống 53

Hình 310 Contact không thành công với tất cả các trường để trống 54

Hình 3.11 Contact không thành công khi để trống Name 54

Hình 3.112 Contact không thành công khi để trống Email 55

Hình 3.13 Contact thành công 55

Hình 3.14 Contact không thành công khi Email không hợp lệ 56

Hình 3.15 Contact không thành công khi để trống Subject 56

Hình 3.16 Contact không thành công khi để trống Message 57

Hình 3.17 Contact không thành công khi nhập Name và để trống các trường 57

Hình 3.18 Thao tác dịch Selenium IDE sang code Webdriver 58

Hình 3.19 Testcase Selenium WebDriver được dịch sang TestNG từ Selenium WebDriver 58

Hình 3 20 Testsuite cho chức năng Subscribe 59

Hình 3 21 Testcase cho chức năng Comment 59

Hình 3.22 Các lỗi của Theme Pizzeria 61

Hình 3.23 Quá trình thực thi testcase 62

Hình 3.24 Báo cáo thực thi test cho chức năng Contact 62

Trang 7

LỜI MỞ ĐẦU

Bạn dùng một đồ vật hay thiết bị nào đó, bạn có đảm bảo rằng nó đã đủ chất lượng hay thực sự là một sản phẩm tốt hay chưa? Khi bạn đang xem xét nâng cấp cho một phần mềm hay thiết bị nào đó, bạn có chắc chắn các nhà phát triển đã kiểm tra lại các lỗi hay không hay bạn vẫn phải nghe ngóng những người dùng trước sau khi nâng cấp có lỗi nào xảy ra không? Đó là một thực tế chứng minh cho việc kiểm thử thực sự quan trọng trong cuộc sống hiện nay

Với việc phát triển của máy tính và mạng Internet, việc phát triển các ứng dụng trên mã nguồn mở rất được xem trọng trong lĩnh vực thương mại điện tử

Là một mã nguồn mở nổi bật góp phần không nhỏ trong sự phát triển thương mại điện tử cũng như mã nguồn mở được sử dụng rộng rãi hơn Vậy việc kiểm thử trên nền tảng WordPress sẽ được thực hiện ra sao, có sự khác biệt nào giữa kiểm thử các sản phẩm trên nền tảng web và các sản phầm phần mềm trên các nền tảng khác? Việc đưa ra một ứng dụng Web hoàn hảo cho những người đang và sẽ sử dụng ứng dụng đã trở thành một thử thách trong đảm bảo chất lượng Kiểm thử các ứng dụng Web đã vượt qua giới hạn của việc kiểm thử những hệ thống phần mềm truyền thống Vì vậy một ứng dụng Web thường có rất nhiều có một cộng đồng khách hàng sử dụng với các nền tảng khác nhau như hệ điều hành, trình duyệt, các thiết bị… Từ đó việc kiểm thử một ứng dụng Web cũng cần có những phương pháp đặc biệt khác với phần mềm truyền thống

Ngày nay, tự động hóa đang được nghiên cứu và ứng dụng rộng rãi trên nhiều lĩnh vực trong đó công nghệ phần mềm nói chung và kiểm thử phần mềm nói riêng cũng không phải là ngoại lệ Cùng với việc kiểm thử thủ công thì việc kết hợp với các công cụ kiểm thử tự động sẽ mang lại những hiệu quả đáng kinh ngạc và hoàn hảo hơn Sự ra đời của các công cụ kiểm thử tự động như Quick Test Professinal NUnit, JUnit, Load Runner(thường dùng trong kiểm thử hiệu năng) là tất yếu Selenium là một công cụ kiểm thử ứng dụng Web với khá nhiều

ưu điểm nổi bật Đây là một công cụ mã nguồn mở, mạnh mẽ hỗ trợ trên nền tảng Web, nhiều platform và các trình duyệt phổ biến Công cụ này được phát triển

Trang 8

chủ yếu trong Java Script và công nghệ trình duyệt như DHTML và các khung hình với việc hỗ trọ các trình duyệt trên tất cả các nền tảng Selenium đã trở thành một trong những công cụ kiểm thử phần mềm tự động tốt nhất trên thị trường cho các ứng dụng Web

Với việc thực hiện đề tài:” Kiểm thử ứng dụng Web với Selenium” sẽ

giúp em làm sang tỏ những lý do đã được đưa ra đặc biệt việc kiểm thử được thực hiện trong môi trường thực tế với các dự án thực tế trên thị trường, thấy được rõ các vấn đề tồn tại giữa lí thuyết và thực tế quan sát

Đồ án được tổ chức thành 3 chương với nội dung mỗi chương :

- Chương 1: Tìm hiểm chung về kiểm thử phần mềm, kiểm thử ứng dụng web, quy trình kiểm thử phần mềm và các phương pháp để tiến hành kiểm thử

- Chương 2: Đưa ra bài toán, phân tích, lựa chọn công cụ và phương pháp thực hiện test

- Chương 3: Cài đặt demo chương trình và trình bày báo cáo lỗi

Thái Nguyên, tháng 6 năm 2016

Sinh viên

Hoàng Thị Hiền

Trang 9

CHƯƠNG 1 CƠ SỞ LÍ THUYẾT

- Phát hiện và xác định càng nhiều lỗi càng tốt ở các phần mềm được kiểm thử

- Tiến hành sửa lỗi ở các phần mềm được kiểm thử và kiểm thử lại cho đến khi đạt một mức độ chất lượng phần mềm chấp nhận được

- Thực thi những trường hợp kiểm thử một cách hiệu quả trong một giới hạn ngân sách và lịch trình cho phép

Mục tiêu gián tiếp:

Để biên dịch một tài liệu về các lỗi phần mềm thường gặp nhằm mục đích ngăn ngừa và sửa chữa lỗi

Kiểm thử tự động: là quá trình kiểm tra hệ thống với dữ liệu đầu vào và

đầu ra đã xác định trước một các tự động

1.1.2 Các phương pháp kiểm thử (Testing Methods)

 Kĩ thuật kiểm thử hộp đen (Black Box)

Với kĩ thuật này giúp chúng ta hiểu rõ một chức năng cụ thể của một hàm hay một module thông qua bản đặc tả mà không cần biết bên trong chương trình được viết như thế nào Kiểm thử này còn được gọi là kiểm thử ở mức giao diện.Ta chỉ cần nhập dữ liệu vào và sẽ nhận được kết quả mong muốn chứ không cần biết làm cách nào và tại sao nó lại làm được như vậy Với kỹ thuật kiểm thử này chúng ta chỉ phát hiện được các lỗi chức năng, sai sót về giao diện của module, tính hiệu quả, phát hiện lỗi khởi tạo, lỗi kết thúc

Đối với phương pháp kiểm thử hộp đen, để thiết kế các testcase dựa vào phương pháp phân hoạch miền giá trị, phân tích giá trị biên, kiểm thử mọi

Trang 10

cặp, kiểm thử fuzz, kiểm thử dựa trên mô hình, ma trận dấu vết, kiểm thử thăm dò, kiểm thử dựa trên đặc tả

Kỹ thuật kiểm thử hộp đen chỉ dựa vào đặc tả chương trình, xây dựng

dữ liệu thử trước khi mã hóa/lập trình, thường phát hiện các lỗi đặc tả yêu cầu, thiết kế; Dễ dàng thực hiện, chi phí thấp

 Kiểm thử hộp trắng

Ngược lại với kỹ thuật kiểm thử hộp đen là kỹ thuật kiểm thử hộp White-Box (clear-box) thì kỹ sư kiểm thử phải kiểm tra mã nguồn của chương trình để có thể kiểm thử hay tìm ra những đầu mối để giúp cho công việc kiểm thử Từ đó giúp chúng ta hiểu rõ cách hoạt động của một hàm/module hay sản phẩm Điều mà chúng ta cần làm là thiết kế tất cả các đường logic của chương trình và sau đó là cài đặt tất cả các trường hợp kiểm định có được Tuy nhiên, trong kỹ thuật này có một số rủi ro nhất định bởi tester sẽ can thiệp sâu vào mã nguồn nên thường đưa ra các ý kiến chủ quan đồng thời việc kiểm thử thấu đáo tất cả các trường hợp là không thể và tốn rất nhiều chi phí

trắng-Theo phương pháp này ta chia testcase dựa vào cấu trúc đơn vị cần kiểm tra

- Kiểm tra giao tiếp của đơn vị là để đảm bảo dòng thông tin vào ra của đơn

vị luôn đúng (đúng giá trị, khớp kiểm…)

- Kiểm tra dữ liệu cục bộ để đảm bảo dữ liệu được lưu trữ trong đơn vị toàn vẹn trong suốt quá trình giải thuật được thực hiện

- Kiểm tra các điều kiện biên của các câu lệnh if, vòng lặp để đảm bảo đơn

vị luôn chạy đúng tại các biên này

- Kiểm tra để đảm bảo mọi con đường thực hiện phải đi qua ít nhất một lần Con đường thực hiện của một đơn vị chương trình là một dãy có thứ tự các câu lệnh bên trong đơn vị đó sẽ được kích hoạt khi thực hiện

1.1.3 Các mức độ kiểm thử (Testing level)

 Kiểm thử đơn vị (Unit test):

- KN: Là test với đơn vị phần mềm nhỏ nhất như hàm, module còn được gọi là component test, unit test Developer thực hiện test code của chính mình xem code có được thực hiện như bản thiết kế vật lý hay không?

Trang 11

- Mục đích: Phải phát hiện các vấn đề liên quan đến việc thực hiện, kiểm tra xem các chức năng của phần mềm đã được phân chia để có thể test (module, program, object, class…) có đúng hay không?

 Kiểm thử tích hợp (Combine test): Sau khi kết thúc unit test và chất lượng ở mức độ đơn vị đã được đảm bảo, sẽ bắt đầu tích hợp các module đơn vị

để tiến hành test

- Mục đích: Phát hiện các lỗi về mặt logic và xử lý của các khối, kiểm thử việc truyền tin giữa chúng Kiểm tra xem software sau khi tích hợp có thực hiện đúng chức năng hay không?

 Kiểm thử hệ thống (System test): là kiểm thử hệ thống một cách toàn diện để đánh giá các chức năng có được đáp ứng, các thao tác giao diện có giống thiết kế hay không

- Mục đích: Kiểm thử xem hoạt động của tổng thể hệ thống, phần mềm đã được định nghĩa thành phạm vi của project phát triển có hoạt động đúng không

 Kiểm thử chấp nhận (Aceptance test) là kiểm thử được tiến hành từ phía khách hàng để tiến hành phê duyệt cuối cùng

- Mục đích: xác nhận xem phần mềm còn có những sai sót, thiếu sót so với yêu cầu của khách hàng hay không

1.2 Kiểm thử ứng dụng Web

1.2.1 Khái quát

Các ứng dụng Web đã được phát triển và trở thành một nền tảng kết nối thông tin thiết yếu trong nhiều doanh nghiệp Các ứng dụng Web đóng vai trò quyết định của thương mại điện tử và trao đổi thông tin

Một ứng dụng Web hiệu quả cần đảm bảo chất lượng tốt và hiệu suất cao Việc chuyển giao các ứng dụng đến tay khách hàng đang và sẽ sử dụng nó một sản phẩm chất lượng chính là thử thách đối với các nhà phát triển nhất là đội ngũ đảm bảo chất lượng

Thông thường khi kiểm thử các phương pháp đều tập trung vào đánh giá các chức năng của ứng dụng Tuy nhiên việc tập trung được tất cả các yêu cầu của khách hàng trước khi phát triển là không thể bởi vì tùy theo từng sản phẩm

và đối tượng khách hàng mà yêu cầu được cung cấp đầy đủ hay thường xuyên

Trang 12

thử ứng dụng Web ngoài kiểm thử các chức năng chính của ứng dụng, ta còn cần kiểm tra nhiều yêu cầu phi chức năng khác như: hiệu năng sử dụng, tính dễ sử dụng, độ tin cậy, tính bảo mật của hệ thống…

1.2.2 Tại sao phải kiểm thử ứng dụng Web?

Các ứng dụng Web đưa ra những thách thức mới trong việc đánh giá và kiểm tra Các ứng dụng Web bao gồm nhiều thành phần khác nhau có thể được cung cấp cho những nhà phát triển khác nhau Chất lượng của một ứng dụng Web cơ bản phụ thuộc vào các thành phần kể trên và khả năng tương tác giữa chúng Kiểm thử là một trong những công việc quan trọng nhất trong quá trình phát triển 1 ứng dụng Web để tạo ra những sản phẩm với chất lượng cao đáp ứng được mong đợi của người dùng Việc kiểm thử một các có phương pháp và hệ thống các ứng dụng Web là một điều quan trọng Hiện nay có rất nhiều các phương pháp và kĩ thuật tiên tiến hiệu quả để kiểm thử những hệ thông phần mềm Tuy nhiên chúng ta cần phải linh hoạt sử dụng chúng chứ không áp dụng một các cứng nhắc những phương pháp và kĩ thuật cho phần mềm truyền thống lên những ứng dụng Web

Hình 1.1Những kiểm thử cần có cho một ứng dụng web

Kiểm thử các ứng dụng Web đã vượt qua giới hạn của kiểm thử các hệ thống phần mềm truyền thống bởi một ứng dụng Web không chỉ phát triển cho một nguwoif sử dụng mà là nhiều nhóm người sử dụng với nhiều nền tảng khác nhau(

Trang 13

có những phương pháp đặc biệt khác với phần mềm truyền thống Bởi vì thông thường rất khó để đoán được số lượng người sẽ sử dụng ứng dụng Web là bao nhiêu Thời gian hồi đáp lại yêu cầu của người sử dụng là một yếu tố then chốt trong số những yếu tố quyết định thành công của 1 ứng dụng Web trên Internet

và nó cần được quan tâm cũng như kiểm thử sớm

1.2.3 Đặc trưng khi kiểm thử ứng dụng Web

Một ứng dụng được phát triển luôn hướng đến người sử dụng với mục tiêu chương trình sữ được vận hành một cách ổn định, chính xác với hiệu năng sử dụng trên 24 giờ trên 1 ngày và 7 ngày trong tuần Đặc biệt là chương trình phải tồn tại những ưu điểm như tính dễ sử dụng, độ tin cậy, tốc độ, tương thích với các hệ thống khác nhau và tương thích với các phiên bản trong tương lai

Còn với một ứng dụng Web thì những yêu cầu về chất lượng bao gồm:

- Yêu cầu về chức năng: sự hiện diện của các chức năng đáp ứng những yêu cầu được xác định Các yêu cầu cần có là tính phù hợp chính xác, khả năng tương tác, tuân thủ và bảo mật

- Yêu cầu về độ tin cậy: khả năng của một ứng dụng để duy trì sự hiệu quả của nó trong một điều kiện cụ thể và trrong một khoảng thời gian xác định

- Yêu cầu về khả năng sử dụng: Tính dễ sử dụng và hiệu quả của một ứng dụng sẽ được thẩm định bằng một nhóm người bằng giả định

- Yêu cầu về hiệu quả: Tỷ lệ giữa mức độ hiệu quả của một ứng dụng và các tài nguyên mà nó sử dụng trong các điều kiện cụ thể

Như vậy các yêu cầu về chất lượng đóng vai trò thiết yếu khi thử nghiệm các ứng dụng Web Mặc dù nhìn chung thì các yêu cầu về chất lượng của các ứng dụng Web tương tự như trong các hệ thống phần mềm truyền thống nhưng nó lại

có những đòi hỏi đặc thù và chuyên sâu hơn

1.2.4 Công việc khi kiểm thử Theme WordPress

1.2.4.1 Xây dựng Test Plan

Kế hoạch kiểm thử là một phần quan trọng và không thể thiếu với bất cứ một sản phầm phần mềm hay chương trình nào Kế hoạch kiểm thử được Test Manger hoặc Test Leader xây dựng ngay trong giai đoạn đầu của dự án để định

Trang 14

nghĩa phạm vi kiểm thử, các chiến lược kiểm thử, nhận dạng các rủi ro và yếu tố

bất ngờ, nhận dạng các hoạt động kiểm thử nào là thủ công, kiểm thử nào là tự

động hay cả hai, ước lượng chi phí kiểm thử và xây dựng lịch kiểm thử, nhận

dạng môi trường kiểm thử…

Kế hoạch kiểm thử cần được xem lại bởi đội quản lý kiểm tra chất lượng phần mềm, nhà phát triển phần mềm, nhà phân tích kinh doanh, kiểm thử viên

và khác hàng Nếu đạt yêu cầu nó được quyết định bởi nhà quản lí dự án và chính

khách hàng Trong suốt quá trình kiểm thử có thể hiệu chỉnh để phù hợp với yêu

cầu, chu kì kiểm thử nếu có những thay đổi cần thiết được đưa ra

PROJECT TEST

Unit Test Combine Test Acceptance Test

Kế hoạch Thiết kế Thực thi

Lập kế

hoạch

chi tiết

Phân tích chi tiết

Chuẩn

bị thực hiện

Thực hiện

Kiểm tra

Đánh giá

Thực thi

Khách hàng, người dùng cuối thiết kế

Kế hoạch Thiết kế

Kế hoạch

Thiết kế Thực thi

Lập kế hoạch chi tiết

Phân tích chi tiết

Tiêu chuẩn thực hiện

Thực hiện

Kiểm tra

Đánh giá

System Test

Đánh giá Kiểm tra Thực hiện

Chuẩn bị thực hiện

Phân tích chi tiết

Test Design

Trang 15

Hình 1.3 Kiểm thử Front- End và Back-End

1.4.1.2 Kiểm thử Front-End

Test Front – end chủ yếu liên quan đến test giao diện và chức năng của trang web dựa trên design có sẵn Thường sử dụng các tool hỗ trợ đi kèm như:

Photoshop, Lightshot…

Hình 1.4 Kiểm thử Front -End

 Kiểm thử giao diện

Đối với một Theme WordPress thì giao diện là một phần quan trọng quyết định thành công cho Theme đó

Test giao diện người dùng (UI) kiểm tra các tương tác của người dùng với phần mềm Mục tiêu của test UI là để đảm bảo rằng giao diện người dùng cung cấp cho người sử dụng cách truy cập và sử dụng thích hợp thông

Trang 16

qua các chức năng trong mục tiêu test Ngoài ra, test UI còn để đảm bảo rằng các đối tượng trong phạm vi chức năng UI giống như mong đợi và phù hợp với tổ chức hoặc chuẩn ngành

 Kiểm thử chức năng

Mục đích của kiểm thử chức năng là tập trung vào các yêu cầu test có thể được lưu vết trực tiếp trong các use case hoặc các chức năng và quy tắc nghiệp vụ Mục tiêu của kiểu test này là kiểm tra tính đúng đắn của các dữ liệu quy trình và báo cáo cũng như việc thực hiện đúng những quy tắc nghiệp vụ Kiểu test này dựa vào kĩ thuật black box tức là kiểm tra ứng dụng

và các xử lí nội tại bằng cách tương tác với ứng dụng thông qua giao diện người sử dụng và phân tích kết quả hoặc đầu ra

 Check speed

Mục đích của check speed nhằm đánh giá tốc độ chạy và xử lý trang web khi sử dụng trên các thiết bị như điện thoại và máy tính Có rất nhiều tool để thực hiện việc này, tuy nhiên chúng ta thường sử dụng một trang web

uy tín của Google develope để thực hiện Link

Trang 17

- Bước 3: Click button “Phân tích” và chờ vài giây để lấy kết quả

Nếu kết quả báo màu đỏ (site đáp ứng được dữ liệu test về speed dưới 70%) thì ta log bug lên hệ thống Taiga Đối với web wordpress của công ty yêu cầu speed trên các thiết bị trên 80% và User Experience trên 90% là không lỗi (báo màu xanh)

 Check responsive

Check responsive là việc thực hiện check trang web trên các màn hình nhỏ

và các thiết bị thật có kích thước màn hình nhỏ (như điện thoại hay Ipad …) Việc này đòi hỏi check trên các kích thước màn hình sau: 320, 480, 768, 992,

1024, 1280, 1366 và 1920

Để thực hiện việc đó, ta mở trang web trên trình duyệt Firefox và sử dụng tổ hợp phím tắt Ctrl+Shirft+M để thu nhỏ màn hình và test trên máy tính trước Sau đó, ta cần check site trên các thiết bị thật có màn hình nhỏ như Iphone hay Ipad Một số lỗi thường xảy ra khi check responsive là các hình ảnh và chữ hay bị mất, bị cắt hay chồng chéo lên nhau, khoảng cách bị sai lệch hay các phím các chức năng không hoạt động nữa khi thu nhỏ màn hình

 Check integrate

Là giai đoạn kiểm tra trang web trên tất cả các trình duyệt và các hệ điều hành như: Firefox, Chrome, Safary, IE9+, hệ điều hành Windown, IOS… để tìm

ra các lỗi không tương thích với môi trường

 Check các chức năng và option trên trang web

Dựa vào test case hay kinh nghiệm test, ta check các chức năng hay option

có trên trang web như: khi click vào link có dẫn đến một trang khác không, option contact có gửi được mail hay không, vv…

 Check validation HTML and javascript

Mở khung check code trên trình duyệt đang dùng và chọn cửa sổ Console Nếu trong khung bên dưới báo đỏ và có list danh sách lỗi thì chụp lại và đưa lên Taiga cho coder check lại lỗi javascript

Trang 18

1.2.4.3 Kiểm thử Back- End

 Kiểm thử quá trình cài đặt và impost dữ liệu

Ở quy trình test Back– End ta cần hiểu sâu về wordpress, các chức năng, cách cài đặt và sử dụng cũng như các chuẩn để test unit của wordpress Các bước

cơ bản để test unit cho Wordpress được đưa ra như sau:

- Step1: Install necessary plugin: Theme Check, Theme Forest Check, Theme Mentor, Monter Widget, Debug bar Đây là các plugin đã có sẵn trên trong http:// wordpress.org

 Step2: Install theme

 Kiểm thử chức năng

 Kiểm thử các tùy chọn trong Theme Option

Hình 1.6 Kiểm thử các tùy chọn trong Theme Option

 Kiểm thử các tùy chọn trong Page Option

Hình 1.7 Kiểm thử các tùy chọn trong Page Option

 Kiểm thử một vài shortcode tiêu biểu trong Visual Composer

Đây là bước kiểm thử khó nhất bởi vì khi ta check trong chế độ Back-end của Visual Composer khi tùy chọn được thiết lập đúng nhưng ngoài site kết quả

Trang 19

vẫn không hiển thị như mong muốn thì ta cần chuyển sang chế độ Static Mode của Visual Composer để check code html xây dựng nên page và tìm ra lỗi

Bước kiểm thử này đồi hỏi tester cần có những kiến thức chuyên sâu về WordPress, việc sử dụng html, CSS… Nếu tester không thể kiểm tra và check lỗi gây ra ở đâu thì cần liên hệ với coder để phát hiện lỗi và tìm cách fix lỗi đó

1.3 Giới thiệu về Selenium

1.3.1 Tổng quan

Selenium(SE) là một trong những công cụ kiểm thử phần mềm tự động nguồn mở(Open source test automation tool) phát triển và được ưa chuộng nhất hiện nay.SE là một công cụ kiểm tra tự động các ứng dụng Web Nó có thể chạy trên hầu hết các trình duyệt và hệ điều hành: Windows, Linux, Mac…và hỗ trợ hầu hết các ngôn ngữ lập trình Web như C#, Java, Perl, PHP, Python, Ruby…

Về cấu trúc thì Selenium có 4 phần

Selenium IDE

Selenium RC (Selenium 1 – Selenium Remote Control)

Selenium Gird

Selenium WebDriver (Selenium 2)

Hình 1.8 Cấu trúc của Selenium

Selenium IDE (Integrated Development Environment) là một công cụ cho

phép chúng ta Record/Playback một test script Đây là một add-on hỗ trợ cho

Trang 20

FireFox Chúng ta chỉ có thể Record trên trình duyệt FireFox, nhưng bù lại, chúng ta có thể Playback trên các trình duyện khác như là IE, Chrome…

Selenium Gird là một hệ thống hỗ trợ người dùng thực thi test script trên

nhiều trình duyệt một cách song song mà không cần phải chỉnh sửa test script

Selenium RC, Selenium WebDriver là một thư viện cho phép chúng ta lập

trình (scripting) test script trên các ngôn ngữ lập trình khác nhau như Python, Java, C#, Ruby

1.3.2 Lịch sử phát triển

Selenium được phát triển ban đầu bởi nhóm ThoughtWorks vào năm 2004 tại Chicago với tên ban đầu là JavaScriptTestRunner Đến năm 2007, tác giả Jason Huggins rời ThoughtWorks và gia nhập Selenium Team, một phần của Google

và phát triển thành Selenium như hiện nay Ông là một kĩ sư ở ThoughtWorks được làm việc với các ứng dụng web cần được kiểm tra thường xuyên Sau khi nhận ra kiểm tra thủ công lặp đi lặp lại các ứng dụng ngày càng trở nên kém hiệu quả, ông đã viết một chương trình JavaScript “JavaScriptTestRunner” tự động kiểm soát các hoạt động của trình duyệt.Từ đó ông đã thực hiện viết ra một mã nguồn mở JavaScriptRunner mà sau này nó được lấy tên là Selenium Core Với chính sách cùng gốc (Same Origin Policy) đã ngăn cản các đoạn mã JavaScript truy cập các phần tử từ các tên miền là khác nhau tại địa chỉ mà nó được chạy Đó là lí do tại sao trước khi Selenium RC ra đời, tester cần cài đạt bản copy cục bộ của cả Selenium Core và web server chứa ứng dụng web cần test vì chúng không thuộc cùng một tên miền Dựa trên hạn chế đó, kĩ sư Paul Hammant quyết định tạo ra 1 server hoạt động như một proxy HTTP để “lừa” trình duyệt tin rằng Selenium Core và ứng dụng web đang được kiểm thử đến từ cùng một tên miền Hệ thống này được gọi là điều khiển từ xa Selenium Remote Control hay Selenium 1

Selenium Grid được phát triển bởi Patrick Lightbody để giải quyết nhu cầu giảm thiểu thời gian thực hiện kiểm thử càng nhiều càng tốt Ban đầu ông đặt tên

hệ thống là “Hosted QA” Nó có khả năng chụp ảnh màn hình trình duyệt trong giai đoạn quan trọng và đồng thời gửi lệnh Selenium đến các máy khác nhau

Trang 21

Shinya Kasatani, một kĩ sư đến từ Nhật Bản tạo ra Selenium IDE, một phần

mở rộng của Firefox có thể tự động thực hiện trên các trình duyệt thông qua một chức năng ghi và chạy lại (record and playback) Ông đã đưa ra ý tưởng này để tăng thêm tốc độ trong việc tạo ra các test case Ông đã tặng Selenium IDE cho

dự án Selenium trong năm 2006

Simon Stewart tạo WebDriver khoảng năm 2006 khi các trình duyệt và các ứng dụng Web trở nên mạnh mẽ hơn và chặt chẽ hơn với các chương trình JavaScript như Selenium Core Đó cũng là nền tảng kiểm thử đa nền tảng mà có thể điều khiển các trình duyệt từ cấp hệ điều hành

Trong năm 2008 , toàn bộ nhóm Selenium quyết định hợp nhất WebDriver

và Selenium RC để tạo thành một công cụ mạnh hơn gọi là Selenium 2 , với WebDriver là trọng tâm

Tại sao lại có tên Selenium?

Phải chăng cái tên Selenium được bắt nguồn từ nguyên tố hóa học Selenium? Được biết Selenium là một nguyên tố hóa học với số nguyên tử 34 và kí hiệu hóa học Se, Nó là một phi kim, về mặt hóa học rất giống với lưu huỳnh (S) Từ Selenium xuất phát từ tiếng Hy Lạp “Selene” có nghĩa là mặt trăng Cách đặt tên trên có liên quan đến sự phản quang của Selenium được nhân lên khoảng 1000 lần khi Selenium được đưa từ bóng tối ra ánh sang mặt trời…Đây là một phát hiện quan trong của nhà phát minh người Anh W.Smith khi phát hiện ra tính quang dẫn của Selenium vào năm 1873

Nhưng những người trong cuộc đã khẳng định đó không phải lí do để Selenium trở thành tên của công cụ Nó bắt nguồn từ một tên đùa mà Jason đưa

ra một lần cho cả đội của anh ấy Một nền tảng kiểm thử tự động khá phổ biến trong thời kì phát triển Selenium bởi các công ty gọi là Mercury Interactive (công ty người ban đầu tạo ra công cụ QTP (Quick Test Pro) trước khi nó đã được mua lại bởi HP) Selenium được biết đến là một thuốc giải độc nổi tiếng cho ngộ độc thủy ngân, Jason đề nghị tên đó và được sự thống nhất của

cả đội nên cái tên Selenium được chọn để gọi cho framework này từ đó cho đến ngày nay

Trang 22

1.3.3 Selenium IDE

1.3.3.1 Giới thiệu Selenium IDE

Selenium IDE là 1 add – on của Mozilla Firefox phiên bản 2.0 trở lên, ban đầu được phát triển bởi Shinya Kasatani theo hướng sử dụng Selenium Core mà không cần cài đặt Selenium vào máy chủ ứng dụng Nó được xây dựng sử dụng JavaScript do vậy mà nó có thể tương tác với DOM (Document Object Model) sử dụng được những cách gọi JavaScript

Selenium cho phép ghi lại những hành động trong luồng công việc cần kiểm tra bằng các chức năng Record và PlayBack Từ đó Tester có thể nhanh chóng tạo ra một bộ kịch bản kiểm tra (TestScript) bằng cách “thu” các thao tác của mình trên đối tượng cần kiểm tra thành một tập những “Selenese”( ngôn ngữ kịch bản được phát triển cho Selenium IDE và Selenium Core- dưới dạng bản HTML) Sau đó chạy lại các câu lệnh này để kiểm tra Chức năng này rất hữu dụng cho phép tiết kiệm thời gian viết kịch bản kiểm tra.Selenium IDE cho phép lưu kịch bản đã thu dưới nhiều loại ngôn ngữ lập trình Selenium IDE có kiến trúc Browser và Web Server như hình:

Hình 1.9 Kiến trúc của Selenium IDE

Selenium IDE cũng chứa một menu ngữ cảnh cho phép lựa chọn yếu tố người dùng từ các trình duyệt đang hiển thị trang và sau đó chọn từ một danh

Trang 23

sách các lệnh Selenium và các thông số được xác định theo ngữ cảnh của phần giao diện người dùng lựa chọn

1.3.3.2 Hướng dẫn cài đặt Selenium IDE

Bởi vì Selenium IDE là 1 add – on của Mozilla Firefox nên đầu tiên ta cần kiểm tra xem nó được cài đặt trên trình duyệt Firefox hay chưa? Muốn kiểm tra ta cần mở trình duyệt Firefox sau đó nhấp vào mục Tool trên Menu Bar rồi quan sát trên đó menu đổ xuống có mục Selenium IDE hay không Nếu thấy không có thì ta cần thực hiện những bước sau đây để cài tiện ích này trên Firefox

 Bước 1: Truy cập vào trang: http://www.seleniumhq.org tại thẻ

“Download” và lựa chọn “Selenium IDE” rồi download

Hình 1.10 Trang download tiện ích Selenium IDE

 Bước 2: Popup như hình hiện lên, click “Install” để cho phép cài đặt phần mềm trên máy tính

Hình 1.11 Quá trình cài đặt Selenium IDE

 Bước 3: Bạn cần khởi động lại trình duyệt Firefox Như vậy bạn đã cài đặt thành công Selenium IDE Bạn sẽ thấy tiện ích Selenium IDE bên phải màn hình

Trang 24

 Bước 4: Bạn có thể khởi động Selenium để trải nghiệm những tính năng của nó bằng cách: Click vào Tool trên Menu bar, di chuyển chuột và click lên mục Selenium IDE hoặc nhấn tổ hợp phím Ctrl+Alt+S hoặc click vào biểu tượng Selenium IDE ở góc phải màn hình

Hình 1.12 Thao tác mở IDE trên menu Tool

Một cửa sổ mới bật ra cho thấy giao diện của Selenium IDE

Hình 1.13 Giao diện của Selenium IDE

Trang 25

1.3.3.3 Các thành phần của Selenium IDE

Hình 1.14 Các thành phần và kí hiệu của Selenium IDE

 Giải thích về một số kí hiệu:

 Base URL: là nơi lưu trữ homepage của ứng dụng Web được kiểm thử

 Thanh trượt : Điều chỉnh tốc độ nhanh chậm khi thực thi testcase

 Nút : Thực thi tất cả các testcase chúng ta đang mở

 Nút : Thực thi testcase đang được mở

 Nút : Cho phép dừng thử nghiệm tại bất kỳ một điểm nào bạn muốn

 Nút : Sau khi click vào biểu tượng Pause, nó sẽ chuyển sang biểu tượng Resume Với nút này cho phép bạn có thể tiếp tục chạy thử nghiệm của bạn tại đoạn đường bạn đã dừng

 Nút : Bỏ qua một testcase khi nó đã bị tạm dừng

 Nút : Được sử dụng để thu các testcase qua những thao tác bạn tác động đến trang Web cần kiểm thử

 Textbox Command: danh sách các action mà Selenium IDE đang hỗ trợ

 Textbox Target: Kết quả mong đợi của dòng lệnh

 Textbox Value: Giá trị đầu vào của dòng lệnh

Trang 26

Bảng Selenium sẽ lưu lại các lệnh, kết quả mong đợi và giá trị đầu vào của các lệnh Nếu Click vào tab Source, ta có thể thấy Selenium IDE lưu trữ các testcase có dạng HTML:

Hình 1.15 Lưu trữ các testcase dạng HTML của Selenium

 Khu vực phía dưới Textbox Value sẽ hiển thị các log của Selenium trong khi các testcase chạy Nếu có một testcase bị thất bại Selenium IDE sẽ log một lỗi

 Log: Hiển thị thông báo lỗi và các bước thực thi trong quá trình chạy các testcase tự động Ngay cả khi mình không chọn tab log, các thông tin này vẫn được hiển thị

 Reference: Thẻ tham chiếu hướng dẫn sử dụng action đang được chọn Thẻ tham chiếu là lựa chọn mặc định bất cứ khi nào bạn nhập hoặc thay đổi các lệnh Selenese và các thông số trong bảng chế độ UI- Element và Rollup: Tính năng nâng cao của Selenium IDE khi mà chúng ta tự thiết kế các nhận diện control hay gom nhóm action

1.3.3.4 Các thao tác thực hiện kiểm thử tự động Selenium IDE

 Khởi động chế độ ghi

Theo mặc định sau khi bật Selenium IDE lên thì chế độ Record đã được bật

Để tắt/bật chế độ này chỉ cần click vào nút Record màu đỏ

Trong quá trình ghi, Selenium IDE sẽ tự động chèn thêm các lệnh vào trường hợp thử nghiệm của bạn dựa trên hành động của bạn Thông thường điều này sẽ bao gồm:

Trang 27

 Click a link- click or clickAndWait commands

 Nhập các giá trị- Type command

 Select options from a drop-down listbox– select command

 Click checkboxes or radiobutton- click command

 Chạy 1 test case: Chọn 1 testcase và click vào nút Run để chạy testcase đó

 Stop and Start: Khi muốn dừng một testcase đang chạy bạn sử dụng nút Pause và muốn nó tiếp tục chạy lại ta dùng nút Resume

 Chúng ta có thể thiết lập các điểm ngắt, điểm dừng bằng cách sử dụng break point và start point

Break point

Selenium IDE hỗ trợ thiết lập các điểm ngắt, điểm dừng các hoạt động của 1 testcase từ bất kỳ điểm nào trong trường hợp thử nghiệm Người ta có thể chạy một lệnh cụ thể giữa các test case và kiểm tra các testcase hoạt động tại điểm đó

Để làm điều này ta sẽ thiết lập một lệnh break point trước khi lệnh mà bạn muốn kiểm tra

Chèn ở dạng bảng: Chọn điểm trong Testcase của bạn nơi bạn muốn chèn

lệnh rồi chuột phải và chọn lệnh insert, IDE sẽ thêm một dòng trống trước dòng bạn đã chọn Bây giờ bạn sử dụng các lệnh chỉnh sửa văn bản để nhập lệnh mới

và các thông số của nó

Chèn ở trong mã nguồn: Chọn điểm trong testcase nơi bạn muốn chèn lệnh \

Trang 28

 Chèn nhận xét

Nhận xét (Comment) có thể được thêm vào để làm Testcase của bạn dễ đọc hơn Những comments được bỏ qua khi các Testcase được chạy.Khác với khi thêm một command nếu thêm một comment trống thì nó không gây ra lỗi cho scripts của bạn

Chèn dạng bảng

Chọn một dòng trong TestCase nơi bạn muốn chèn câu lệnh Nhấp chuột phải vào và chọn Insert Comment Comment của bạn sẽ xuất iện trong văn bản màu tím

Chèn dạng mã nguồn

Chọn điểm trong testcase nơi bạn muốn chèn rồi thêm một bình luận kiểu HTML tức là <- Điền dòng comment ở đây ->

1.3.3.5 Các câu lệnh trong Selenium

Các câu lệnh của Selenium thường được gọi là Selenese, là tập hợp những command chạy test của bạn Một chuỗi những commands là một test script Selenium cung cấp một tập phong phú các command đầy đủ cho việc test các ứng dụng Web

Trong Selenese có thể kiểm tra sự tồn tại của các Elements giao diện dựa trên các thẻ tag HTML, kiểm tra các nội dung cụ thể kiểm tra các link hỏng, các trường đầu vào, các tùy chọn selection, form submit và dữ liệu bảng, theme vào, commands Selenium hỗ trợ kkieemr tra sizre,window, vị trí chuột, alert, các hàm ajax, cửa sổ pop up, event handling và nhiều tính năng ứng dụng web khác Selenese gồm 3 loại chính: Action, accessors, assertion

 Action: là thao tác chung trên ứng dụng ví dụ “Click this link” Nếu thao tác thất bại sẽ có một lỗi, việc thực thi kiểm thử sẽ bị tạm dừng Một vài hành động sử dụng hậu tố “AndWait” ví dụ “Click and Wait”.Selenium sử dụng hậu tố này trong trường hợp chờ một trang web được tải

 Accessors: Kiểm tra trạng thái của ứng dụng và lưu trữ kết quả vào các biến Đồng thời chúng có thể được sử dụng để sinh tự động các assertion

Trang 29

 Assertion: giống với accessors nhưng chúng xác định trạng thái của ứng dụng thích nghi với kết quả mong đợi

Assertion của Selenium có thể được chia thành ba dạng: “assert”, “verify”,

“waitFor” Khi “assert” thất bại việc kiểm thử sẽ dừng lại, khi “verify” thất bại việc kiểm thử sẽ tiếp tục nhưng sẽ hiển thị một lỗi Còn lệnh “waitFor” chờ một vài điều kiện được thực thi, nó thành công khi điều kiện đúng và sẽ thất bại hoặc tạm dừng nếu các điều kiện không đúng

Một số lệnh thường được sử dụng trong Selenium

 Open: Mở một ứng dụng Web sử dụng URL

 Click/ clickAndWait: Thực thi click và đợi tải một trang web mới

 VerifyTitle/assertTitle: Xác định một tiêu đề trang mong đợi

 VerifyTextPresent: Xác nhận văn bản cụ thể tồn tại ở một vị trí nào đó trên trang Sử dụng VerifyTextPresent khi bạn quan tâm đến văn bản chỉ có bản thân có mặt trên trang Lệnh sẽ không được sử dụng khi bạn cần phải kiểm tra văn bản nơi xảy ra trên trang

 VerifyElementPresent: Xác nhận một yếu tố được mong đợi trên giao diện người sử dụng hơn là nội dung của nó Xác minh này không kiểm tra các văn bản chỉ kiểm tra các tag HTML Thông thường nó được sử dụng để kiểm tra sự hiện diện của một hình ảnh

 VerifyText: Xác nhận văn bản được mong đợi và các thẻ HTML tương ứng

 VerifyTable: Xác nhận các nội dung mong đợi của một bảng

 waitForPageToLoad: Tạm dừng thực thi lệnh cho đến khi trang Web mong đợi được tải thành công, được gọi là tự động khi sử dụng lệnh clickAndWait

 waitForElementPresent: Tạm dừng thực thi cho tới khi các yếu tố giao diện người dùng xuất hiện trên trang Web

Trang 30

1.3.4 Selenium RC/ Web driver

1.3.4.1 Giới thiệu chung về Selenium RC

Selenium RC ban đầu được phát triển bởi Patrick Lightbody theo hướng kiểm tra các ứng dụng Web trên các trình duyệt khác nhau mà không cần cài đặt Selenium Core trên Server Nó được phát triển để tương tác như một giao tiếp giữa ứng dụng cần kiểm tra và kịch bản kiểm thử Selenium Core được tích hợp với Selenium RC cho việc cài đặt trên máy chủ

Hình 1.16 Sơ đồ Selenium RC/ WebDriver

Selenium RC là công cụ phục vụ cho các công việc kiểm thử đòi hỏi nhiều thao tác với các website trên giao diện Selenium RC sử dụng ngôn ngữ lập trình kiểm thử các trường hợp phức tạp mà Selenium không hỗ trợ

Thành phần chính của Selenium RC gồm 2 phần:

 Máy chủ Selenium: Thực hiện phân tích và chạy các lệnh được gửi đến từ các ứng dụng cần kiểm thử và các thao tác như HTTP proxy, phân tích và xác minh các thông điệp HTTP giữa trình duyệt và ứng dụng cần kiểm tra

 Thư viện máy khách: Cung cấp giao tiếp giữa ngôn ngữ lập trình và máy

Máy chủ Selenium

Máy chủ Selenium nhận lệnh từ chương trình kiểm thử Selenium, thực hiện biên dịch nó và gửi lại thông báo kết quả của việc chạy các testcase

Trang 31

Máy chủ Selenium được tích hợp Selenium Core và tự động đưa nó vào trình duyệt Điều này xảy ra khi chương trình được kiểm thử mở trên trình duyệt( sử dụng chức năng thư viện máy khách API) Selenium Core là một chương trình JavaScript, thực tế là một tập các chức chức năng dùng để biên dịch và thực thi các lệnh Selenese sử dụng trình duyệt để thông dịch JavaScript

Máy chỉ nhận các lệnh Selenese từ chương trình được kiểm thử sử dụng các

đề nghị HTTP GET/POST đơn giản Điều này có nghĩa là chúng ta có thể sử dụng mọi ngôn ngữ lập trình có khả năng gửi yêu cầu HTTP tới các kịch bản kiểm thử tự động trên trình duyệt

Các thư viện máy khách

Các thư viện máy khách cung cấp giao diện hỗ trợ lập trình cho phép chạy lệnh Selenium từ chương trình của chúng ta Các thư viện máy khách hỗ trợ các ngôn ngữ lập trình khác nhau thì khác nhau Giao diện lập trình( API) là một tập các chức năng lập trình hỗ trợ Selenium

Thư viện máy khách sử dụng lệnh Selenese và chuyển tới máy chủ Selenium

để xử lí các hoạt động cụ thể và kiểm tra ngược lại với các ứng dụng cần kiểm tra Thư viện máy khách cũng nhận kết quả của lệnh và chuyển trở lại chương trình Chương trình có thể nhận kết quả và lưu nó vào một biến chương trình và thông báo trở lại thành công hay thất bại hoặc có thể thực thi các hành động trực tiếp nếu nó là các lỗi không được mong đợi

1.3.5 Cài đặt Selenium Remote Control

Download Selenium Remote Control từ link: http://www.seleniumhq.org/ Sau khi download file zip Selenium RC từ trang: http://www.seleniumhq.org/ download và giải nén sẽ được các thư mục con Những thư mục này sẽ có tất cả các thành phần cần sử dụng cho Selenium và ngôn ngữ mình đã chọn

Khi đã chọn được ngôn ngữ lập trình, ta thực hiện:

 Cài đặt máy chủ Selenium RC

 Thiết lập một dự án sử dụng ngôn ngữ cụ thể với Driver máy khách cụ thể

 Cài đặt máy chủ Selenium RC

Trang 32

Máy chủ Selenium RC đơn giản là một file jar của Java standalone-2.53.0), nó không yêu cầu bất cứ cài đặt đặc biệt nào Ta chỉ cần tải

(selenium-server-về file zip và giải nén phần server trong thư mục mong muốn

 Chạy Selenium Server

Trước khi bắt đầu kiểm thử, ta phải khởi động Server bằng cách đi đến thư mục chứa máy chủ Selenium RC, chạy file từ bảng điều khiển dòng lệnh( Command- line console)

Để server có thể chạy, máy tính cần cài java và biến mỗi trường PATH được cấu hình đúng để chạy từ bảng điều khiển

Sử dụng Java Client Driver

 Download Selenium từ trang http://www.seleniumhq.org/download/

 Giải nén file selenium-java-2.53.0.zip thành file selenium-java-2.53.0.jar

 Mở Java IDE- Eclipse -> Tạo một Project mới

 Thêm file selenium-java-2.53.0.jar vapf project

 Thêm file selenium-java-2.53.0.jar vào classpath cho project

 Từ Selenium IDE xuất ra một kịch bản cho một file Java và đặt nó trong project Java hoặc đơn giản là viết kịch bản Selenium bằng Jave sử dụng selenium-java-2.53.0

 Chạy Selenium từ bảng điều khiển -> Thực thi việc kiểm thử từ Java IDE hoặc từ dòng lệnh

1.3.6 Báo cáo kết quả kiểm thử

Selenium RC không có cơ chế tự báo cáo kết quả kiểm thử Nhưng nó cho phép xây dựng báo cáo theo các đặc điểm của ngôn ngữ lập trình Chúng ta có thể sử dụng các framework kiểm thử của các ngôn ngữ lập trình để báo cáo Trong Java có hai framework thường sử dụng là Junit và TestNG

Trong đồ án em sẽ trình bày các bước để báo cáo kết quả kiểm thử trong Eclipse dựa trên framework TestNG Dưới đây là các bước cần thực hiện:

 Bước 1: Chuột phải vào project chúng ta đã kiểm thử -> click Refresh (F5)

Trang 33

 Bước 2: Ta sẽ nhìn thấy một thư mục “test-output” được tạo ra Click mở rộng nó và tìm kiếm tập tin index.html Đây chính là một báo cáo về kết quả chạy thử nghiệm gần nhất

 Bước 3: Double-click vào tập tin index.html để mở nó trong trình duyệt web tích hợp sẵn trong Eclipse Bạn có thể làm mới trang này bất cứ lúc nào sau khi bạn chạy lại thử nghiệm của bạn bằng cách đơn giản nhấn F5 giống như trong các trình duyệt web thông thường

Ngày đăng: 23/04/2017, 10:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Tường Thụy- Phạm Quang Hiển, Kiểm thử phần mềm( Testing), Thông Tin&amp;Truyền thông Sách, tạp chí
Tiêu đề: Kiểm thử phần mềm( Testing)
[3] Phạm Ngọc Hùng, Trương Anh Hoàng, Đặng Văn Hưng,Giáo trình kiểm thử phần mềm, Đại học Công nghệ- Đại học Quốc gia Hà Nội, 2014.Tài liệu Tiếng Anh Sách, tạp chí
Tiêu đề: Giáo trình kiểm thử phần mềm
[4] Glenford J. Myers, John Wiley and Sons, Inc, The Art of Software Testing, Second Edition, 2010 Sách, tạp chí
Tiêu đề: The Art of Software Testing
[5] David Burn, Selelium1.0 Testing Tool Beginner’s Guide, First Edition, Packt Publishing Ltd- UK, 2010 Sách, tạp chí
Tiêu đề: Selelium1.0 Testing Tool Beginner’s Guide
[6] David Burn, Selelium2.0 Testing Tool Beginner’s Guide, Second Edition, Packt Publishing Ltd- UK, 2012 Sách, tạp chí
Tiêu đề: Selelium2.0 Testing Tool Beginner’s Guide
[8] William E. Perry, Effective methods for Software Testing, 3rd Edition, Wiley Publishing, Indian Sách, tạp chí
Tiêu đề: Effective methods for Software Testing
[9] Satya Avasarala, Selenium WebDriver Practical Guide, First Edition, Packt Publishing Ltd-UK, 2014 Sách, tạp chí
Tiêu đề: Selenium WebDriver Practical Guide
[10] John Wiley &amp; Sons, Inc, Software Testing and quality assurance Theory and Practice, Canada, 2008 Sách, tạp chí
Tiêu đề: Software Testing and quality assurance Theory and Practice
[11]Boris Beizer , Software Testing Techniques, Second Edition, Van Nostrand Reinhold, 1990.Website Sách, tạp chí
Tiêu đề: Software Testing Techniques
[1] Bộ môn CNPM Trường ĐH CNTT&amp;TT, Giáo trình môn Công nghệ phần mềm Khác
[7] Guru99.com, Selenium Tool Complete Beginner’s guide Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w