Tải bản đầy đủ (.pdf) (62 trang)

Nghiên cứu và ứng dụng kiểm thử chấp nhận tự động với robot framework

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 62 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN THỊ HIÊN

NGHIÊN CỨU VÀ ỨNG DỤNG KIỂM THỬ CHẤP NHẬN
TỰ ĐỘNG VỚI ROBOT FRAMEWORK

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

Hà Nội - 2014


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN THỊ HIÊN

NGHIÊN CỨU VÀ ỨNG DỤNG KIỂM THỬ CHẤP NHẬN
TỰ ĐỘNG VỚI ROBOT FRAMEWORK
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103

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

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. TRƯƠNG ANH HOÀNG

TS. TRỊNH THANH BÌNH

Hà Nội - 2014




i

LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của tôi dƣới sự giúp đỡ
rất lớn của Giảng viên hƣớng dẫn là Tiến sĩ Trƣơng Anh Hoàng và Tiến sĩ
Trịnh Thanh Bình. Những nội dung nghiên cứu và kết quả trong đề tài này
hoàn toàn trung thực.
Các trích dẫn từ nguồn tài liệu bên ngoài đều đƣợc liệt kê rõ ràng ở
phần cuối của luận văn.

Hà Nội, tháng 12 năm 2014
Học viên

Trần Thị Hiên


ii

LỜI CẢM ƠN
Để có thể hoàn thành đề tài luận văn thạc sĩ một cách hoàn chỉnh, bên
cạnh sự nỗ lực cố gắng của bản thân còn có sự hƣớng dẫn nhiệt tình của quý
Thầy Cô, cũng nhƣ sự động viên ủng hộ của gia đình và bạn bè trong suốt
thời gian học tập, nghiên cứu và thực hiện luận văn thạc sĩ.
Em chân thành bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ Trƣơng Anh
Hoàng, Tiến sĩ Trịnh Thanh Bình. Các Thầy đã dành rất nhiều thời gian và
tâm huyết hƣớng dẫn em nghiên cứu và hoàn thành luận văn thạc sĩ. Em xin
gửi lời tri ân nhất đến các Thầy.
Xin chân thành bày tỏ lòng biết ơn đến toàn thể quý Thầy Cô trong khoa

Công Nghệ Thông Tin Trƣờng Đại Học Công Nghệ - Đại Học Quốc Gia Hà
Nội đã tận tình truyền đạt những kiến thức quý báu cũng nhƣ tạo mọi điều
kiện thuận lợi nhất cho em trong suốt quá trình học tập, nghiên cứu và cho
đến khi thực hiện đề tài luận văn.
Cuối cùng, tôi xin chân thành bày tỏ lòng cảm ơn đến gia đình, bạn bè
đã luôn bên tôi, giúp đỡ cho tôi rất nhiều trong suốt quá trình, học tập và thực
hiện đề tài luận văn thạc sĩ của mình.
Mặc dù tôi đã rất cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình
và năng lực của mình. Tuy nhiên do trình độ, kinh nghiệm và khả năng
chuyên môn có hạn, chắc chắn luận văn còn nhiều thiếu sót. Rất mong nhận
đƣợc những góp ý của quý Thầy Cô và các bạn.
Hà Nội, tháng 12 năm 2014
Học viên

Trần Thị Hiên


iii

MỤC LỤC

MỤC LỤC ...................................................................................................... iii
DANH MỤC BẢNG ........................................................................................ v
DANH MỤC HÌNH .........................................................................................vi
CHƢƠNG 1. PHẦN MỞ ĐẦU ........................................................................ 1
1.1.Lý do chọn đề tài .................................................................................. 1
1.2.Mục tiêu luận văn ................................................................................. 2
1.3.Cấu trúc luận văn .................................................................................. 2
CHƢƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................. 4
2.1.Kiểm thử phần mềm ............................................................................. 4

2.2.Kiểm thử chấp nhận ............................................................................. 5
2.3.Kiểm thử chấp nhận tự động ................................................................ 6
2.4.Một số kỹ thuật của khung kiểm thử chấp nhận tự động ..................... 7
2.4.1.Kiểm thử tuyến tính...................................................................... 7
2.4.2.Kiểm thử hƣớng dữ liệu ............................................................... 8
2.4.3.Kiểm thử bằng điều khiển từ khóa ............................................... 9
2.5.Một số công cụ hỗ trợ kiểm thử tự động ............................................ 10
CHƢƠNG 3. ROBOT FRAMEWORK ........................................................ 13
3.1.Giới thiệu Robot Framework ............................................................. 13
3.2.Các thƣ viện chuẩn của Robot Framework ........................................ 14
3.3.Các thƣ viện mở rộng của Robot Framework .................................... 16
3.4.Tạo dữ liệu kiểm thử .......................................................................... 17
3.4.1.Cú pháp dữ liệu kiểm thử ........................................................... 17
3.4.2.Các kiểu định dạng tệp đƣợc hỗ trợ ........................................... 18
3.4.3.Các loại bảng dữ liệu kiểm thử .................................................. 20
3.4.4.Các quy tắc phân tích dữ liệu ..................................................... 21


iv
3.4.5.Tạo các ca kiểm thử ................................................................... 22
3.4.6.Để tạo các ca kiểm thử tốt .......................................................... 24
3.4.6.1.Cách đặt tên ......................................................................... 24
3.4.6.2.Tài liệu hƣớng dẫn............................................................... 25
3.4.6.3.Cấu trúc ............................................................................... 27
3.4.6.4.Từ khóa ngƣời dùng và các biến ......................................... 28
CHƢƠNG 4. ỨNG DỤNG ROBOT FRAMEWORK VÀO KIỂM THỬ
TRANG WEB ................................................................................................. 31
4.1.Mô tả bài toán ..................................................................................... 31
4.2.Kiểm thử chức năng đăng nhập .......................................................... 32
4.2.1.Kịch bản kiểm thử xây dựng dựa trên từ khóa thông thƣờng .... 32

4.2.2.Kịch bản kiểm thử xây dựng theo hƣớng dữ liệu ..................... 40
4.3.Kiểm thử chức năng báo cáo .............................................................. 43
4.4.Kiểm thử chức năng đăng xuấ ............................................................ 44
KẾT LUẬN ..................................................................................................... 46
TÀI LIỆU THAM KHẢO .............................................................................. 47
PHỤ LỤC........................................................................................................ 49


v
DANH MỤC BẢNG

Bảng 2.1. Dữ liệu kiểm thử trong FitNesse .......................................... 10
Bảng 3.2. Các thiết lập sẵn ................................................................... 23


vi
DANH MỤC HÌNH
Hình 2.1. Kịch bản của một ca kiểm thử đƣợc Selenium tạo tự động. .. 8
Hình 3.1. Kiến trúc của Robot Framework. ......................................... 14
Hình 3.2. Sử dụng định dạng HTML. .................................................. 19
Hình 3.3. Sử dụng định dạng TSV. ...................................................... 19
Hình 3.4. Sử dụng định dạng văn bản thuần túy. ................................. 20
Hình 3.5. Dữ liệu kiểm thử khi chƣa đƣợc chia ................................... 22
Hình 3.6. Dữ liệu kiểm thử đã đƣợc chia ............................................. 22
Hình 3.7. Cú pháp của ca kiểm thử. ..................................................... 23
Hình 3.8. Thiết lập trong bảng Test case. ............................................. 24
Hình 3.9. Tên dài .................................................................................. 25
Hình 3.10. Tên ngắn gọn, súc tích ........................................................ 25
Hình 3.11. Tài liệu hƣớng dẫn của một bộ kiểm thử ........................... 26
Hình 3.12. Test case không gồm tại liệu hƣớng dẫn. ........................... 26

Hình 3.13. Test case có chứa tại liệu hƣớng dẫn.................................. 27
Hình 3.14. Kiểm thử dựa vào dữ liệu ................................................... 28
Hình 3.15. Đặt tên biến......................................................................... 29
Hình 3.16. Giá trị trả về của biến thông qua từ khóa .......................... 30
Hình 3.17. Sử dụng từ khóa thiết lập biến kiểm thử ............................ 30
Hình 4.1. Trang chủ của truongnha.com. ............................................. 31
Hình 4.2. Kết quả sau khi chạy xong bộ LoginTest. ............................ 36
Hình 4.3. Tập tin đầu ra output.xml. .................................................... 37
Hình 4.4. Báo cáo tổng quan bộ kiểm thử. ........................................... 38
Hình 4.5. Báo cáo quá trình thực hiện kiểm thử. ................................. 39
Hình 4.6. Báo cáo chi tiết các ca kiểm thử. .......................................... 39


1
CHƯƠNG 1. PHẦN MỞ ĐẦU
1.1.

Lý do chọn đề tài

Ngày nay, các sản phẩm phần mềm đã có mặt trong tất cả các lĩnh vực
đời sống, kinh tế, xã hội của con ngƣời. Sản xuất phần mềm trở thành một
ngành công nghiệp mang lại giá trị lớn, có tốc độ phát triển nhanh nhƣ vũ
bão. Đặc biệt với sự bùng nổ của Internet đã thúc đẩy nhu cầu cộng tác làm
việc qua mạng và sử dụng các dịch vụ trực tuyến. Các ứng dụng web trở
thành xu hƣớng tất yếu của ngành công nghiệp phần mềm. Nó giúp ngƣời
dùng cộng tác với nhau trên những hệ thống linh hoạt không phụ thuộc vào
một nền tảng cố định mọi lúc mọi nơi.
Trong quy trình phát triển phần mềm, việc đảm bảo chất lƣợng phần
mềm đang là một bài toán khó tiêu tốn hơn 50%[1][2] công sức và chi phí
của các doanh nghiệp phần mềm. Kiểm thử là khâu không thể thiếu trong

việc đảm bảo chất lƣợng phần mềm.Tùy vào từng giai đoạn phát triển phần
mềm mà có kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử chấp nhận v.v.
Kiểm thử bằng tay tốn kém về thời gian, công sức, không kinh tế và dễ gây
nhàm chán cho ngƣời thực hiện kiểm thử. Vì vậy,nhiều công cụ kiểm thử tự
động ra đời phần nào giải quyết đƣợc những vấn đề trên.
Tuy nhiên, kiểm thử chấp nhận dùng để kiểm định phần mềm có đáp
ứng đúng nhu cầu khách hàng, khách hàng có chấp nhận phần mềm hay
không, kiểm thử này lại không dễ tự động hóa, nhất là với các phần mềm ứng
dụng web. Kiểm thử tƣơng tác giao diện ngƣời dùng là một vấn đề khó trong
kiểm thử chấp nhận các ứng dụng web. Thực tế, chúng ta phải kiểm tra sự hài
lòng của khách hàng khi có sự thay đổi giao diện màn hình ứng với các tƣơng
tác của ngƣời dùng. Các thay đổi trạng thái này có thể xảy ra trong một trang
web hoặc từ trang web này sang trang web khác. Trong thực tế, kiểm thử
chấp nhận các ứng dụng web vẫn thực hiện thủ công[3]. Vì thế, ngoài việc
gây nhàm chán cho kiểm thử viên, tốn kém cho nhà sản xuất, các ứng dụng
web hiện nay vẫn tiếm ẩn nhiều lỗi khi triển khai cho khách hàng.
Vì những lí do trên, luận văn này “Nghiên cứu và ứng dụng kiểm thử
chấp nhận tự động với Robot Framework”. Robot Framework [11] là một
khung mã nguồn mở dùng để kiểm thử chấp nhận tự động phần mềm, thực
hiện kiểm thử dựa trên từ khóa, khách hàng dễ dàng tham gia vào quá trình


2
kiểm thử. Hiện nay Robot Framework đang đƣợc cộng đồng kiểm thử trong
nƣớc và thế giới quan tâm và đƣợc đánh giá rất cao.
1.2.

Mục tiêu luận văn

Trên cơ sở về thực tiễn của kiểm thử trong việc đảm bảo chất lƣợng

phần mềm, tầm quan trọng của kiểm thử chấp nhận, tôi đã nghiên cứu, tìm
hiểu và chọn đề tài: “Nghiên cứu và ứng dụng kiểm thử chấp nhận tự động
với Robot Framework”. Mục đích là vừa nghiên cứu lý thuyết, vừa xây dựng
kịch bản kiểm thử đối với một ứng dụng thực tế. Sau khi hoàn thành luận
văn, một làhiểu nắm đƣợc Robot Framework với các thƣ viện chuẩn. Hai là
tạo ra bộ kiểm thử sử dụng các từ khóa do các thƣ viện của Robot Framework
cung cấp, sử dụng thêm thƣ viện mở rộng SeleniumLibrary để kết hợp với
Selenium kiểm thử ứng dụng web />1.3.

Cấu trúc luận văn

Nội dung của luận văn xoay quanh các vấn đề đƣợc trình bày ở bốn
chƣơng nhƣ sau:
Chƣơng một là phần mở đầu. Chƣơng này trình bày tổng quan tình
trạng phát triển phần mềm, đảm bảo chất lƣợng phần mềm hiện nay ở Việt
Nam. Giới thiệu mục tiêu và nội dung trong luận văn.
Chƣơng hai là cơ sở lý thuyết về kiểm thử. Chƣơng này sẽ nêu lên các
khái niệm về kiểm thử chấp nhận, kiểm thử chấp nhận tự động. Chƣơng sẽ
trình bày các phƣơng pháp kiểm thử chấp nhận hiện nay. Đồng thời, cũng
giới thiệu một số các công cụ hỗ trợ kiểm thử tự động.
Chƣơng ba giới thiệu cơ bản Robot Framework. Chƣơng sẽ đi tìm hiểu
sâu về Robot Framework, các thƣ viện chuẩn cùng một số các thƣ viện mở
rộng của Robot Framework. Chƣơng này cũng hƣớng dẫn cách tạo dữ liệu
kiểm thử: cú pháp, kiểu định dạng tệp hỗ trợ, bảng dữ liệu kiểm thử, quy tắc
phân tích dữ liệu, sinh các ca kiểm thử và các lƣu ý để tạo đƣợc ca kiểm thử
tốt.
Chƣơng cuối sẽ ứng dụng Robot Framework vào kiểm thử trang web
để minh họa rõ hơn những tính năng mà Robot Framework cung cấp. Trang
web đƣợc kiểm thử là truongnha.com. Ứng dụng sẽ xây dựng các ca kiểm thử



3
để kiểm tra chức năng đăng nhập vào hệ thống. Các ca kiểm thử đƣợc xây
dựng trong một tập tin hoặc trong một thƣ mục.
Phần kết luận sẽ là một vài nhận xét về Robot Framework, các kết quả
luận văn đạt đƣợc và hƣớng nghiên cứu tiếp của luận văn.


4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. Kiểm thử phần mềm
Kiểm thử phần mềm là là một phần trong tiến trình đảm đảo chất lƣợng
phần mềm. Kiểm thử phần mềm là việctiến hành kiểm tra để cung cấp cho
các bên liên quan thông tin về chất lƣợng của sản phẩm phần mềm đƣợc kiểm
thử. Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách
nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu đƣợc
những rủi ro trong quá trình triển khai phần mềm. Mục đích chính của kiểm
thử là phát hiện ra các lỗi phần mềm để từ đó khắc phục và sửa chữa. Việc
kiểm thử không thể khẳng định đƣợc rằng các chức năng của sản phẩm đúng
trong mọi điều kiện, mà chỉ có thể khẳng định rằng nó không hoạt động đúng
trong những điều kiện cụ thể[4]. Phạm vi của kiểm thử phần mềm thƣờng bao
gồm việc kiểm tra mã, thực hiện các mã trong môi trƣờng và điều kiện khác
nhau, và việc kiểm thử các khía cạnh của mã: nó có làm đúng nhiệm vụ của
nó hay không, và nó có làm những gì cần phải làm hay không. Trong môi
trƣờng phát triển phần mềm hiện nay, một đội kiểm thử thƣờng tách biệt với
đội phát triển. Các thành viên trong đội kiểm thử giữ các vai trò khác nhau.
Các thông tin thu đƣợc từ kiểm thử có thể đƣợc sử dụng để điều chỉnh quá
trình phát triển phần mềm[5].
Kiểm thử phần mềm đƣợc phân làm kiểm thử tĩnh và kiểm thử động.
Kiểm thử tĩnh liên quan đến việc kiểm chứng trong khi kiểm thử động liên

quan đến việc xác nhận. Các phƣơng pháp kiểm thử nhƣ kiểm thử hộp trắng,
kiểm thử hộp đen, kiểm thử hộp xám.
Kiểm thử phần mềm có các loại hình kiểm thử: Kiểm thử cài đặt, kiểm
thử khả năng tƣơng thích, kiểm thử hồi quy, kiểm thử mức chấp nhận, kiểm
thử chức năng hoặc kiểm thử phi chức năng v.v.
Kiểm thử phần mềm cũng đƣợc chia ra các mức kiểm thử theo vị trí
chúng đƣợc thêm vào trong quy trình phát triển phần mềm, hoặc theo mức độ
đặc hiệu của kiểm thử . Có thể phân kiểm thử phần mềm theo các mức chính
sau: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp
nhận.


5
2.2. Kiểm thử chấp nhận
Một trong những vấn đề khó khăn nhất hiện nay trong phát triển phần
mềm là giao tiếp. Một định nghĩa về mỗi yêu cầu sản phẩm là cần thiết để cải
thiện giao tiếp giữa khách hàng, quản lý dự án, các nhà phân tích và phát
triển phần mềm. Kiểm thử chấp nhận là một phần quan trọng trong kiểm thử
để đảm bảo phần mềm đáp ứng đúng yêu cầu khách hàng.
Kiểm thử chấp nhận là kiểm thử chính thức được tiến hành để xác định
có hay không một hệ thống đáp ứng các tiêu chuẩn chấp nhận nó (các tiêu
chuẩn hệ thống phải đáp ứng để được chấp nhận bởi khách hàng) và cho
phép khách hàng xác định có hay không chấp nhận hệ thống[6].
Kiểm thử chấp nhận đƣợc dùng để xác minh một yêu cầu đã hoàn tất.
Kiểm thử chấp nhận thƣờng đƣợc thực hiện bởi khách hàng, ngƣời dùng hệ
thống hoặc các bên liên quan khác. Mục đích của kiểm thử chấp nhận không
đặt nặng việc tìm kiếm lỗi mà nhằm xác nhận lại phần mềm thỏa mãn tất cả
yêu cầu chức năng của khách hàng và khách hàng chấp nhận sản phẩm. Một
yêu cầu ngƣời dùng đƣợc coi là hoàn thành khi nó vƣợt qua đƣợc bài kiểm
thử chấp nhận. Kiểm thử chấp nhận đƣợc thực hiện ở thời điểm trƣớc khi

thực hiện kiểm thử tích hợp hoặc hồi quy, hoặc đƣợc thực hiện trong quá
trình chuyển giao giữa hai pha của quy trình phát triển phần mềm. Mỗi một
kiểm thử chấp nhận đại diện cho một số kết quả mong đợi từ hệ thống. Kiểm
thử chấp nhận sử dụng kỹ thuật kiểm thử hộp đen và đƣợc tiến hành thông
qua hai loại là kiểm thử Alpha và kiểm thử Beta.
Kiểm thử Alpha là kiểm thử hoạt động chức năng thực tế hoặc giả lập
do ngƣời dùng, khách hàng tiềm năng hoặc một nhóm kiểm thử viên độc lập
thực hiện tại nơi sản xuất phần mềm. Kiểm thử Alpha thƣờng đƣợc sử dụng
cho phần mềm đại trà (đóng gói sẵn để bán) nhƣ là một hình thức kiểm thử
mức chấp nhận nội bộ trƣớc khi phần mềm chính thức đi vào giai đoạn kiểm
thử Beta.
Kiểm thử Beta đƣợc đƣa ra sau khi kiểm thử Alpha và có thể đƣợc coi
là một hình thức mở rộng của kiểm thử mức chấp nhận của ngƣời dùng. Các
phiên bản của phần mềm, gọi là phiên bản beta, đƣợc phát hành cho một đối
tƣợng hạn chế bên ngoài của nhóm lập trình. Phần mềm này đƣợc phát hành
cho nhiều nhóm ngƣời dùng để kiểm thử nhiều hơn nữa và nó có thể đảm bảo
sản phẩm có ít thiếu sót và lỗi. Đôi khi, các phiên bản beta đƣợc phát hành


6
rộng rãi để tăng phạm vi phản hồi thông tin từ một số lƣợng tối ta ngƣời dùng
trong tƣơng lai.
2.3. Kiểm thử chấp nhận tự động
Kiểm thử tự động là quá trình thực hiện một cách tự động các bƣớc
trong một kịch bản kiểm thử. Kiểm thử tự động bằng một công cụ nhằm rút
ngắn thời gian kiểm thử. Mục đích của kiểm thử tự động làm giảm thiểu thời
gian, công sức và kinh phí, tăng độ tin cậy, tăng tính hiệu quả và giảm sự
nhàm chán cho ngƣời kiểm thử trong quá trình kiểm thử sản phẩm phần
mềm.
Với sự phức tạp ngày càng gia tăng của các phần mềm, kiểm thử chấp

nhận càng trở lên quan trọng. Kiểm thử chấp nhận bằng tay tốn nhiều thời
gian, dễ mắc lỗi và gây nhàm chán. Vì vậy, kiểm thử chấp nhận nên đƣợc tự
động hóa[7]. Bằng tự động hóa các bài kiểm thử chấp nhận đƣợc viết dƣới
dạng code. Các bài kiểm thử sau đó đƣợc chạy lặp đi lặp lại nhiều lần mà ít
tốn kém, đƣợc thực hiện vào bất kỳ thời gian nào và bởi bất kỳ ai [8]. Có ba
ƣu điểm chính để tự động hoá kiểm thử chấp nhận:
Một là, các ca kiểm thử đƣợc thực hiện lặp đi lặp lại nhiều lần mang
đến sự tự tin rằng thành phần mới đƣợc tích hợp vào hệ thống đã không phá
vỡ hoặc làm mất ổn định bất cứ điều gì mà hệ thống trƣớc đó đã thực hiện
đƣợc. Nó chỉ thực hiện đúng chức năng nó phải làm.
Hai là, chạy lặp đi lặp lại nhiều lần các ca kiểm thử giúp hiểu đƣợc
phần nào các chức năng mong muốn của hệ thống đã đƣợc đáp ứng theo yêu
cầu.
Thứ ba, các ca kiểm thử chấp nhận tự động có thể tập hợp thành một
bộ kiểm thử hồi quy. Kiểm thử hồi quy là lựa chọn kiểm thử lại một hệ thống
hay một thành phần của hệ thống để xác minh rằng thay đổi đã không gây ra
tác dụng ngoài ý muốn và hệ thống hoặc một thành phần vẫn tuân thủ đúng
với yêu cầu quy định của nó[6].
Tóm lại, kiểm thử chấp nhận tự động giúp tránh đƣợc một số lỗi khi
thực hiện kiểm thử bằng tay, tiết kiệm chi phí, thời gian, không bị ảnh hƣởng
của áp lực tiến độ dự án. Kiểm thử chấp nhận tự động mang lại nhiều lợi ích
và đang rất đƣợc chú trọng trong các dự án phát triển phần mềm hiện nay đặc
biệt là dự án Agile.


7
2.4. Một số kỹ thuật của khung kiểm thử chấp nhận tự động
Một khung kiểm thử tự động [12] là một hệ thống tích hợp giúp ngƣời
phát triển phần mềm dễ dàng tự động hóa các hoạt động kiểm thử. Hệ thống
này tích hợp các thƣ viện chức năng, các nguồn dữ liệu kiểm thử, chi tiết đối

tƣợng và các mô-đun tái sử dụng khác nhau. Các thành phần ở đây hoạt động
nhƣ các khối xây dựng nhỏ mà cần phải đƣợc lắp ráp để đại diện cho một quy
trình nghiệp vụ. Các khungnày cung cấp các cơ sở của tự động hóa kiểm thử
và đơn giản hóa các nỗ lực tự động.
Một số kỹ thuật tự động hóa của các khung kiểm thử tự động đƣợc
phân loại nhƣ sau.
2.4.1. Kiểm thử tuyến tính
Kiểm thử tuyến tính (Linear)[12]còn gọi là kiểm thử tuần tự là kiểm thử
mà hành động kiểm thử đƣợc thực hiện tuần tự. Mã kiểm thử có thể đƣợc
sinh ra bởi các công cụ ghi lại các hành động của ngƣời kiểm thử trên trình
duyệt và lƣu chúng lại nhƣ một kịch bản kiểm thử. Kiểm thử viên có thể sử
dụng chính kịch bản này để kiểm thử hồi quy. Kiểm thử viên cũng có thể sửa
trên chính kịch bản này để tạo ra các bài kiểm tra khác mà không tốn nhiều
thời gian, công sức. Hình 2.1 dƣới đây là một minh họa. Hành động kiểm thử
của việc đăng nhập vào trang đƣợc Selenium IDE tự
động ghi lại và đƣợc đặt tên “Login”. Nhƣ vậy, kịch bản của một ca kiểm thử
với tên “Login” đã đƣợc lƣu lại để dùng cho lần kiểm thử sau. Kiểm thử viên
không cần phải kiểm thử bằng tay chức năng đăng nhập của trang web nữa,
hoặc có thể sửa trên chính kịch bản này cho lần kiểm thử sau.


8

Hình 2.1. Kịch bản của một ca kiểm thử được Selenium tạo tự động.

2.4.2. Kiểm thử hướng dữ liệu
Kiểm thử hƣớng dữ liệu (Data-driven testing - DDT)sử dụng trực tiếp
một bảng điều kiện nhƣ đầu vào và kết quả kiểm chứng của bài kiểm thử
cũng nhƣ quy trình nơi mà thiết lập môi trƣờng kiểm thử và kiểm soát không
đƣợc mã hóa cứng. Trong hình thức đơn giản nhất là kiểm thử viên cung cấp

các đầu vào từ một hàng trong bảng và dự kiến các kết quả đó xảy ra trong
cùng một hàng. Bảng này thƣờng chứa các giá trị tƣơng ứng với ranh giới
hoặc phân vùng không gian đầu vào. Trong phƣơng pháp điều khiển, cấu
hình của bài kiểm tra là "đọc" từ một cơ sở dữ liệu.
Kiểm thử hƣớng dữ liệu là việc tạo ra các kịch bản thử nghiệm để chạy
cùng với các bộ dữ liệu liên quan trong một khung (framework) kiểm thử.
Các khung kiểm thử này cung cấp logic kiểm thử tái sử dụng để làm giảm


9
bảo trì và cải thiện tính bao phủ của thử nghiệm. Giá trị dữ liệu của đầu vào
và kết quả (tiêu chí thử nghiệm) có thể đƣợc lƣu trữ trong một hoặc nhiều
nguồn dữ liệu trung tâm hoặc cơ sở dữ liệu. Định dạng thực tế và tổ chức có
thể đƣợc thực hiện cụ thể.
2.4.3. Kiểm thử bằng điều khiển từ khóa
Kiểm thử bằng điều khiển từ khóa (Keyword-Driven Testing) [12] còn
đƣợc gọi là kiểm thử từ khoá (Keyword Testing). Bản chất từ khóa là hàm.
Từ khóa sẽ mô tả hoạt động tƣơng ứng với các hành động kiểm thử tự động.
Mỗi hoạt động quy định cụ thể hành động đƣợc mô phỏng và các thông số
liên quan đến hành động đó. Các công cụ kiểm thử thực hiện các thử nghiệm
tự động, thao tác theo từng lệnh thông qua từ khóa, và do đó mô phỏng các
hành động của ngƣời dùng trên ứng dụng đƣợc thử nghiệm.
Phƣơng pháp này phân chia tài liệu các trƣờng hợp kiểm thử bao gồm
các dữ liệu để sử dụng, từ cách quy định các bài kiểm thử đƣợc thực hiện.
Kết quả là nó phân chia quá trình kiểm thử thành hai giai đoạn riêng biệt: giai
đoạn thiết kế và phát triển và giai đoạn thực hiện.
Từ khóa đƣợc tạo trực quan trong một trình soạn thảo cụ thể. Để tạo ra
các bài kiểm tra phần mềm tự động kiểm tra với các từ khóa, kỹ năng lập
trình là không cần thiết. Vì vậy, ngƣời dùng ít kinh nghiệm cũng có thể sử
dụng chúng để tạo ra các bài kiểm tra phần mềm tự động mạnh mẽ ngay lập

tức, mà không cần phải học một ngôn ngữ kịch bản.
Tùy vào từng công cụ sẽ cung cấp cách xây dựng các hoạt động cho
phép ta thực hiện các hành động kiểm thử tự động khác nhau trên ứng dụng
đang thử nghiệm với các từ khóa nhƣ: Khởi động ứng dụng đƣợc kiểm thử và
trình duyệt web, mô phỏng hành động của ngƣời dùng trên các quy trình
đƣợc kiểm tra nhƣ cửa sổ, điều khiển, menu và các đối tƣợng, kiểm tra trạng
thái của đối tƣợng và chạy thử nghiệm bài kiểm tra tự động khác. Thực hiện
các hoạt động nâng cao và thậm chí tổ chức thực hiện dòng: tạo ra các vòng
lặp, kiểm tra điều kiện, xử lý các trƣờng hợp ngoại lệ, và nhiều hơn nữa.
Bằng cách sử dụng các hoạt động này, có thể tự động hóa các hoạt động phức
tạp và thực hiện các thuật toán thực hiện nhiều thử nghiệm với từ khóa.


10
2.5. Một số công cụ hỗ trợ kiểm thử tự động
FitNesse [13] là một công cụ cộng tác phát triển phần mềm. Những
phần mềm lớn đòi hỏi sự giao tiếp và cộng tác và FitNesse là một công cụ để
tăng cƣờng hợp tác trong phát triển các phần mềm đó. FitNesse là một công
cụ kiểm thử phần mềm. Từ góc độ khác, FitNesse là một khung mã nguồn
mở, gọn nhẹ (lightweight) mà làm dễ dàng cho các đội phát triển phần mềm:
hợp tác xác định các bài kiểm thử chấp nhận và thực hiện các bài kiểm tra đó
cho ra kết quả. FitNesse cho phép khách hàng, kiểm thử viên và lập trình viên
tìm hiểu cái phần mềm của họ nên làm, và tự động so sánh với những gì nó
thực sự làm. Nó so sánh kỳ vọng của khách hàng với kết quả thực tế.
FitNesse là một cách quý giá giúp hợp tác các vấn đề phức tạp sớm trong
phát triển. FitNesse là một wiki. Nó có thể dễ dàng tạo và chỉnh sửa các
trang. Đồng thời là một máy chủ web không đòi hỏi có cấu hình hoặc thiết
lập, chỉ cần chạy nó và sau đó hƣớng trình duyệt đến máy mà nó đang chạy.
Trong FitNesses, dữ liệu kiểm thử đƣợc thể hiện nhƣ bảng kết quả đầu vào
đầu ra mong đợi.Bảng 2.1 dƣới đây là dữ liệu kiểm thử khi kiểm thử chức

năng chia của ứng dụng tính toán.
Bảng 2.1. Dữ liệu kiểm thử trong FitNesse

VD.Chia
So_bi_chia

So_chia

KQ_mong_doi

100

50

2.0

24.6

3

8.2

100

5

20

Trong Bảng 2.1 Cột So_bi_chia và So_chia là đầu vào, cột
KQ_mong_doi nói cho FitNesse biết kết quả đầu ra mong đợi.

HtmlUnit [14]là một công cụ mã nguồn mở mô phỏng hành vi của
trình duyệt. HtmlUnit là "GUI-Less browser for Java programs". Công cụ
đƣợc viết bằng Java và cung cấp một số API cho phép thực hiện tất cả các
hành động của trình duyệt từ cách gọi các trang web để điều khiển hành động
web nhƣ điền vào các trƣờng, nhấn vào liên kết… trên trang web.HtmlUnit


11
có hỗ trợ JavaScript khá tốt và có thể làm việc ngay cả với các thƣ viện
AJAX khá phức tạp, mô phỏng bằng Firefox hoặc Internet Explorer tùy thuộc
vào cấu hình mà bạn muốn sử dụng. HtmlUnit đƣợc sử dụng cho mục đích
kiểm thử nhƣng không phải là một khuôn khổ kiểm tra đơn vị nói chung. Đó
là một cách đặc biệt để mô phỏng một trình duyệt cho mục đích kiểm thử và
đƣợc thiết kế để đƣợc sử dụng cùng với một khuôn khổ kiểm thử khác nhƣ
JUnit hoặc TestNG. Dƣới đây là một ví dụ tạo ra trang web khách hàng bằng
cách tải từ trang chủ của website HtmlUnit. Sau đó, xác minh rằng trang này
có đúng tiêu đề. Kết quả trả về dƣới dạng nội dung văn bản:
@Test
public void homePage() throws Exception {
final WebClient webClient = new WebClient();
final HtmlPage page =
webClient.getPage("");
Assert.assertEquals("HtmlUnit - Welcome to
HtmlUnit", page.getTitleText());
final String pageAsXml = page.asXml();
Assert.assertTrue(pageAsXml.contains("class=\"composite\">"));
final String pageAsText = page.asText();
Assert.assertTrue(pageAsText.contains("Support for
the HTTP and HTTPS protocols"));

webClient.closeAllWindows();
}

Selenium[15] (thƣờng đƣợc viết tắt là SE) là một phần mềm mã nguồn
mở, đƣợc phát triển bởi Jason Huggins, sau đó đƣợc tiếp tục bởi nhóm
ThoughtWorks vào năm 2004. Phiên bản hoàn chỉnh mới nhất là 1.0.1 đƣợc
phát hành vào 10/06/2009. Selnium là một công cụ hỗ trợ kiểm tra tự động
cho các ứng dụng chạy trên nền web. Selenium hỗ trợ kiểm thử trên hầu hết
các trình duyệt phổ biến hiện nay nhƣ Firefox, Internet, Explorer, v.v.Nó
cũng hoạt động trên các hệ điều hành khác nhau nhƣ Windows, Linux, Mac,
v.v. Selenium đƣợc hỗ trợ bởi một số lớn các ngôn ngữ lập trình nhƣ C#,
Java, PHP, Python, v.v.Selenium có thể kết hợp thêm với một số công cụ
khác nhƣ Bromien, Junit nhƣng với ngƣời dùng thông thƣờng chỉ cần chạy tự
động mà không cần cài thêm các công cụ bổ trợ. Selenium bao gồm một bộ
các công cụ hỗ trợ kiểm tra tự động tính năng của ứng dụng web bao gồm:
Selenium IDE, Selenium Remote Control (RC), Selenium Core và Selenium


12
Grid. Selenium IDE đƣợc phát hành dƣới dạng một ứng dụng mở rộng (addon) cho Mozilla Firefox phiên bản 2.0 trở lên. Công cụ cung cấp chức năng
“thu và chạy lại” - Record and Playback. Nhờ đó kiểm thử viên có thể nhanh
chóng tạo một kịch bản kiểm thử (test script) bằng cách trực tiếp “thu” các
thao tác của mình trên đối tƣợng cần kiểm thử thành một tập những câu lệnh
“Selenese” (ngôn ngữ kịch bản đƣợc phát triển cho Selenium IDE và
Selenium Core - có dạng văn bản HTML). Sau đó chạy lại các câu lệnh này
để kiểm thử. Chức năng 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 thử. 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 khác nhau nhƣ Java, PHP, C#, Ruby, Perl hay
Python.
Robot Frameworklà một khung kiểm thử tự động dùng cho kiểm thử

chấp nhận. Nó sử dụng phƣơng pháp kiểm thử dựa trên từ khóa và hƣớng dữ
liệu . Khả năng kiểm thử của nó có thể đƣợc mở rộng bởi các thƣ viện kiểm
thử thực hiện với Python hay Java. Ngƣời dùng có thể tạo các từ khoá mới từ
những từ khóa hiện có bằng cách sử dụng cú pháp tƣơng tự đƣợc sử dụng để
tạo ra các trƣờng hợp thử nghiệm. Ngoài khả năng kiểm thử chức năng,
Robot Framework còn có khả năng kiểm thử hiệu suất khi kết hợp với công
cụ Selenium để kiểm thử các ứng dụng web.
Qua khảo sát các công cụ hỗ trợ kiểm thử chấp nhận tự động tôi thấy
Robot Framwork là công cụ mạnh, và hiện đại, đồng thời là phần mềm mã
nguồn mở, có tiềm năng ứng dụng phù hợp với các đơn vị phần mềm ở Việt
Nam, nên luận văn này sẽ tập trung nghiên cứu kỹ về Robot Framework.
Chƣơng sau sẽ trình bày kỹ hơn về Robot Framwork, và sau đó Chƣơng IV
sẽ áp dụng kiểm thử mộtchức năng của một ứng dụng web thực tế để giúp
hiểu hơn và vận dụng Robot Framework đƣợc tốt vào các dự án phát triển
phần mềm.


13
CHƯƠNG 3. ROBOT FRAMEWORK
3.1.

Giới thiệu Robot Framework

Robot Framework là một khung kiểm thử tự động mã nguồn mở, đƣợc
tài trợ bởi tổ chức Nokia Siemens Networks, bắt đầu phát triển năm 2005 và
đƣợc cấp phép Apache 2.0. Robot Framework sử dụng phƣơng pháp kiểm
thử dựa trên từ khóa, kiểm thử hƣớng dữ liệu, thích hợp cho cả kiểm thử tự
động thông thƣờng và kiểm thử chấp nhận tự động. Nó cho phép sử dụng đơn
giản bảng cú pháp để tạo ra các trƣờng hợp kiểm thử một cách thống nhất, có
khả năng sinh ra từ khóa ở mức cao hơn từ những từ khóa đang tồn tại.

Với Robot Framework, các kết quả báo cáo và các bản ghi đƣợc định
dạng HTML thuận tiện cho việc lập báo cáo. Nó cung cấp một thƣ viện API
để kiểm thử viên tạo thêm các thƣ viện kiểm thử với Python hoặc Java. Nó
cũng cung cấp một giao diện dòng lệnh và một tập tin đầu ra định dạng XML
để tích hợp vào cơ sở hạ tầng hiện có của hệ thống. Robot Framework cũng
hỗ trợ cho sinh các trƣờng hợp kiểm thử hƣớng dữ liệu. Nó cũng đƣợc xây
dựng hỗ trợ cho các biến, đặc biệt là thực hành kiểm thử trong các môi
trƣờng khác nhau, kiểm thử các công nghệ khác nhau nhƣ Web GUI, các ứng
dụng Swing, và TCP/IP dựa trên các giao thức độc quyền.
Thực tế, Robot Framework không làm bất kỳ hoạt động kiểm tra cụ thể
nào. Thay vào đó, nó hoạt động nhƣ một front end sử dụng các thƣ viện nhƣ
Selenium để thực hiện. Robot Framework và Selenium là một sự kết hợp tốt
cho kiểm thử ứng dụng web. Công cụ cung cấp chức năng gắn thẻ để phân
loại và chọn trƣờng hợp kiểm thử đƣợc thực hiện. Robot Framework còn cho
phép thiết lập (setup) và dọn dẹp (teardown) ở mức ca kiểm thử (test-case) và
ở mức bộ kiểm thử (test-suite). Việc hỗ trợ kiến trúc mô-đun giúp sinh ra các
bài kiểm thử cho các ứng dụng với nhiều giao diện khác nhau.
Robot Framework có thể kiểm thử các ứng dụng viết bằng các ngôn
ngữ lập trình khác nhau. Kiến trúc mô đun ở mức cao đƣợc thể hiện ở Hình
3.1.


14

Hình 3.1. Kiến trúc của Robot Framework.
Các tập tin trong RobotFramework đƣợc sắp xếp dƣới dạng các bảng.
Các bảng đƣợc định dạng linh hoạt, có thể sử dụng giá trị phân tách bằng tab
(TSV), html, ReStructured (text reST), hoặc plain text. Trong một tập tin
kiểm thử có thể có bốn bảng: TestCases, Variables, Keywords, Settings.
Trong đó bảng TestCases là bảng bắt buộc, nó chứa tất cả các ca kiểm thử

bạn đang muốn thực hiện.

3.2.

Các thư viện chuẩn của Robot Framework

Một trong những điểm mạnh của Robot Framwork là nó có một bộ thƣ
viện rất mạnh cho phép ngƣời lập trình sử dụng để xây dựng các kịch bản
kiểm thử. Một số thƣ viện chuẩn đƣợc xây dựng sẵn trong Robot
Framework. Khi cài đặt Robot Framework, ngƣời dùng có thể sử dụng các từ
khóa có trong các thƣ viện chuẩn này để kiểm thử mà không cần xây dựng.
Các thƣ viện đó là:
Builtln là một thƣ viện chuẩn của Robot Framework. Nó cung cấp tập
hợp các từ khóa chung chung cần thiết thƣờng xuyên sử dụng. Thƣ viện này
đƣợc nhập tự động,vì vậy, nó luôn có sẵn. Một số từ khóa đƣợc cung cấp bởi
thƣ viện nhƣ từ khóa dùng để kiểm tra, xác minh (Should Be Equal, Should
Contain), từ khóa dùng chuyển đổi (Convert To Integer) cho các mục đích
khác nhau (Log, Sleep, Run Keyword If, Set Global Variable).


15
Collections là thƣ viện chuẩn cung cấp các từ khóa cho xử lý danh sách
và từ điển trong Python. Các từ khóa đƣợc cung cấp để sửa đổi và nhận đƣợc
giá trị từ danh sách và từ điển: Append To List, Get From Dictionary, dùng
thẩm tra nội dung của nó: Lists Should Be Equal, Dictionary Should Contain
Value.
DateTime là thƣ viện chuẩn cung cấp các từ khóa để xử lý các giá trị
ngày và giờ. Ví dụ nhƣ, các từ khóa hỗ trợ việc sinh ra và chuyển đổi các giá
trị ngày và giờ: Get Current Date, Convert Time, làm các phép tính đơn giản:
Subtract Time From Date, Add Time To Time. Nó cũng hỗ trợ các định dạng

ngày và giờ khác nhau, và có thể đƣợc sử dụng bởi các thƣ viện khác.
Thƣ viện chuẩn Dialogs cung cấp phƣơng tiện để tạm dừng việc thực
hiện kiểm thử và nhận thông tin từ ngƣời dùng. Các hộp thoại là có hơi khác
nhau phụ thuộc vào kiểm thử chạy trên Python hay trên Jython. Tuy vậy,
chúng cung cấp các chức năng giống nhau.
OperatingSystem là thƣ viện chuẩn của Robot Framework cung cấp từ
khóa cho các tác vụ liên quan đến hệ điều hành. Thƣ viện cho phép các tác vụ
liên quan đến hệ điều hành khác nhau có thể thực hiện trong hệ thống. Nó có
thể thực hiện các lệnh nhƣ Run, tạo và xóa tập tin và thƣ mục: Create File,
Remove Directory, kiếm tra tập tin và thƣ mục có tồn tại không File Should
Exist, Directory Should Be Empty và điều khiển các biến môi trƣờng Set
Environment Variable.
Process là thƣ viện chuẩn của Robot Framework hỗ trợ cho các tiến
trình đang chạy. Một số công dụng chính của thƣ viện: đang chạy tiến trình
trong hệ thống và chờ đợi để hoàn thành quá trình, sử dụng từ khóa Run
Process, bắt đầu các tiến trình trên nền, sử dụng từ khóa Start Process, chờ
tiến trình bắt đầu để hoàn thành sử dụng từ khóa Wait For Process, hoặc
dừng tiến trình, từ khóaTerminate Process, Terminate All Processes.
Remote là một thƣ viện đặc biệt, khác hoàn toàn với các thƣ viện
chuẩn khác. Nó không chứa một từ khóa nào. Nó đóng vai trò là một proxy
giữa Robot Framework và các thƣ viện kiểm thử thực tế triển khai ở bất cứ
đâu. Có hai lý do chính để sử dụng thƣ viện Remote và các giao diện thƣ viện
nó cung cấp. Nó giúp các thƣ viện kiểm thử khác có thể đƣợc chạy trên các
máy khác nhau và đƣợc thực hiện sử dụng bằng bất kỳ ngôn ngữ lập trình hỗ
trợ giao thức XML-RPC.


16
Thƣ viện Screenshot cung cấp từ khóa để chụp lại màn hình trên máy
khi bài kiểm thử thực hiện. Nếu Robot Framework đƣợc triển khai sử dụng

với Python thì để sử dụng đƣợc thƣ viện Screenshot một trong số mô-đun
wxPython, PyGTK, Python Imaging Library (PIL) cần đƣợc cài đặt.
String là một thƣ viện chuẩn của Robot Framework, cung cấp các từ
khóa để thao tác và xác minh chuỗi. Một số từ khóa thao tác chuỗi nhƣ
Replace String Using Regexp, Split To Lines, từ khóa xác minh nội dung nhƣ
Should Be String. Một số từ khóa đƣợc xây dựng sẵn trong thƣ viện Builtln
đƣợc sử dụng với chuỗi nhƣ: Catenate, Get Length, Length Should Be,
Should
(Not)
Be
Empty,
Should
(Not)
Be
Equal
(As
Strings/Integers/Numbers), Should (Not) Match (Regexp).
Telnet là một thƣ viên chuẩn của Robot Framework. Nó cung cấp từ
khóa để Robot Framework có thể kết nối tới Telnet server và thực hiện lệnh.
Các từ khóa nhƣ Open Connection, Close Connection.
XML là thƣ viện chuẩn cung cấp từ khóa để tạo, sửa, xác minh tập tin
XML.
3.3.

Các thư viện mở rộng của Robot Framework

Ngoài các thƣ viện chuẩn có sẵn khi cài đặt Robot Framework, một số
thƣ viện mở rộng khác cần đƣợc cài đặt mới sử dụng đƣợc.
SeleniumLibrary là thƣ viện kiểm thử tự động của Robot Framework
có sử dụng công cụ kiểm thử web Selenium. Thƣ viện là một sự kết hợp

mạnh mẽ của cú pháp dữ liệu kiểm thử đơn giản và hỗ trợ cho các trình duyệt
khác nhau. Thƣ viện sử dụng công cụ Selenium Remote Control để điều
khiển kiểm soát một trình duyệt web. Nó làm việc trong hầu hết các trình
duyệt hiện đại nhƣ Firefox, Google Chrome sử dụng ngôn ngữ Python. Trƣớc
khi thực hiện các bài kiểm thử có sử dụng thƣ viện SeleniumLibrary thì lệnh
Selenium Server phải đƣợc thực hiện trƣớc. Để thực hiện lệnh này có thể sử
dụng từ khóa Start Selenium Server. Thêm nữa, từ khóa Open Browser phải
đƣợc sử dụng để mở trình duyệt ở địa chỉ mong muốn trƣớc bất kỳ từ khóa
nào của thƣ viện đƣợc sử dụng. Tất cả mọi từ khóa của thƣ viện cần tìm một
phần tử trên trang đều cần một đối số để định vị, thƣờng là trƣờng id.
Selenium2Library cũng là một thƣ viện mở rộng của Robot Framework
dùng để kiểm thử web, tƣơng tự SeleniumLibrary. Thƣ viện sử dụng


17
Selenium 2 (WebDriver) để điều khiển, kiểm soát một trình duyệt.
Selenium2Library thực hiện kiểm thử trong một trình duyệt thực, làm việc
đƣợc với hầu hết các trình duyệt hiện đại nhƣ Firefox, Google Chrome và
cũng sử dụng ngôn ngữ Python. Thƣ viện cần đƣợc nhập khẩu vào bộ kiểm
thử trƣớc khi chạy. Tƣơng tự SeleniumLibrary, từ khóa Open Browser phải
đƣợc sử dụng để mở trình duyệt ở địa chỉ mong muốn trƣớc bất kỳ từ khóa
nào của thƣ viện đƣợc sử dụng. Tất cả mọi từ khóa của thƣ viện cần tìm một
phần tử trên trang đều cần một đối số để định vị, thƣờng là trƣờng id.
Androidlibrary là một thƣ viện kiểm thử của Robot Framework dùng
cho tất cả các nhu cầu tự động hóa của Android. Nó sử dụng Calabash
Android để giao tiếp với các ứng dụng đƣợc trang bị Android tƣơng tự nhƣ
làm thế nào để WebDriver Selenium giao tiếp đƣợc với một trình duyệt web.
Các từ khóa thƣ viện cung cấp Capture Screenshot, Connect To Testserver,
Install Application, Press Menu Button, Screen Should Contain, Screen
Should Not Contain, Scroll Down, Scroll Up, Send Key, Set Basic Auth, Set

Device Endpoint, Set Device Url, Set Text, Set Webview Text, Start Emulator,
Start Testserver, Start Testserver With Apk, Stop Emulator, Stop Testserver,
Swipe Left, Swipe Right, Touch Button, Touch Image Button, Touch Position,
Touch Text, Touch View, Touch Webview Element, Uninstall Application,
Wait For Device, Webview Scroll To, Webview Should Contain.
Eclipse Library là thƣ viện của Robot Framework dùng để kiểm thử
các ứng dụng Eclipse RCP (Rich Client Platform – RCP) sử dụng bộ SWT.
Nó cũng hỗ trợ cho các ứng dụng Java đơn giản không dùng Eclipse RCP
nhƣng sử dụng SWT.Eclipse RCP là nền tảng để xây dựng và triển khai các
ứng dụng trên máy khách. SWT là bộ thƣ viện để làm giao diện.
3.4.

Tạo dữ liệu kiểm thử
3.4.1. Cú pháp dữ liệu kiểm thử

Phần này trình bày toàn bộ cú pháp dữ liệu kiểm thử của Robot
Framework. Các phần sau sẽ giải thích làm thế nào để thực sự tạo ra trƣờng
hợp kiểm thử, các bộ kiểm thử.
Cấu trúc phân cấp để bố trí các ca kiểm thử đƣợc xây dựng nhƣ sau.
Các ca kiểm thử đƣợc tạo ra trong các tệp ca kiểm thử (Test case). Một tệp
ca kiểm thử tự động tạo ra một bộ kiểm thử có chứa các ca kiểm thử tệp đó.


×