Tải bản đầy đủ

Phương pháp kiểm thử tự động tương tác giao diện người dùng cho ứng dụng web

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

TRẦN THỊ THÚY HẰNG

PHƢƠNG PHÁP KIỂM THỬ TỰ ĐỘNG TƢƠNG TÁC
GIAO DIỆN NGƢỜI DÙNG CHO ỨNG DỤNG WEB

LUẬN VĂN THẠC SĨ
Ngành: Công Nghệ Thông Tin

HÀ NỘI – 2016


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

TRẦN THỊ THÚY HẰNG

PHƢƠNG PHÁP KIỂM THỬ TỰ ĐỘNG TƢƠNG TÁC
GIAO DIỆN NGƢỜI DÙNG CHO ỨNG DỤNG WEB


Ngành: Công Nghệ Thông Tin
Chuyên ngành: Kỹ Thuật Phần Mềm
Mã số: 60 48 01 03

LUẬN VĂN THẠC SĨ
Ngành: Công Nghệ Thông Tin

NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS. TS. Phạm Ngọc Hùng

HÀ NỘI – 2016


VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY

TRAN THI THUY HANG

A METHOD FOR AUTOMATED GUI TESTING OF
WEB APPLICATIONS
THE MS. THESIS
Major: Information Technology

Supervisor: Assoc. Prof. Dr. Pham Ngoc Hung

HANOI - 2016


MỤC LỤC
MỤC LỤC .................................................................................................................... i
LỜI CẢM ƠN ............................................................................................................iii
TÓM TẮT .................................................................................................................. iv
ABSTRACT ................................................................................................................ v
LỜI CAM ĐOAN ....................................................................................................... vi
DANH MỤC THUẬT NGỮ VIẾT TẮT ................................................................... vii
DANH MỤC HÌNH VẼ............................................................................................ viii
DANH MỤC BẢNG ................................................................................................... x
Chương 1: Giới thiệu ................................................................................................... 1
Chương 2: Tổng quan về kiểm thử phần mềm tự động................................................. 3
2.1 Kiểm thử phần mềm tự động ............................................................................. 3


2.2 Các phương pháp kiểm thử tự động ................................................................... 4
2.2.1 Các m c độ kiểm thử v công cụ kiểm thử tự động tương ng ................. 4
2.2.2 Kiểm thử tương tác giao diện người d ng ................................................ 6
2.3 Kiểm thử tự động dựa trên mô hình ................................................................... 8
Chương 3: Phương pháp đặc tả tương tác giao diện cho các ng dụng Web ............... 11
3.1 Phương pháp xây dựng mô hình cho to n bộ ng dụng Web ........................... 11
3.2 Đặc tả tương tác giao diện c a t ng trang Web b ng ô-tô-mát hữu h n tr ng thái13
3.3 Xây dựng mô hình đặc tả tương tác giao diện cho to n bộ ng dụng Web ....... 15
3.4 V dụ minh h a cho đặc tả trang Web .............................................................. 16
3.3.1 Xây dựng ô-tô-mát hữu h n tr ng thái M1 .............................................. 18
3.3.2 Gh p nối ô-tô-mát hữu h n tr ng thái M1 v M2 ..................................... 19
3.5 Biểu diễn mô hình đặc tả dưới d ng các tệp tin MS Excel ............................... 21
Chương 4: Sinh v thực thi các ca kiểm thử tự động .................................................. 30
4.1 Sinh các ca kiểm thử t mô hình đặc tả hình th c ............................................ 30
4.1.1 Đường dẫn kiểm thử .............................................................................. 30
4.1.2 Thuật toán sinh tự động các đường dẫn kiểm thử ................................... 30
4.2 Thực hiện các ca kiểm thử ............................................................................... 33


Chương 5: Công cụ v thực nghiệm ........................................................................... 34
5.1 Giới thiệu các công cụ bổ trợ ........................................................................... 34
5.1.1. Giới thiệu Selenium v một số API WebDriver được sử dụng................ 34
5.1.2. Công cụ JFLAP...................................................................................... 40
5.2 Giới thiệu công cụ kiểm thử tự động tương tác giao diện cho các ng dụng Web45
5.2.1 Kiến trúc c a công cụ............................................................................. 46
5.2.2 Đầu v o c a công cụ .............................................................................. 47
5.2.3 Giao diện v cách sử dụng công cụ ATWA ............................................ 54
5.2.4 Đầu ra c a công cụ ................................................................................. 56
5.2.5 Thực nghiệm .......................................................................................... 59
5.2.6 Kết quả áp dụng v cải tiến công cụ ....................................................... 74
5.2.7 Ý nghĩa c a công cụ thực nghiệm .......................................................... 77
Chương 6: KẾT LUẬN.............................................................................................. 79
TÀI LIỆU THAM KHẢO.......................................................................................... 81


LỜI CẢM ƠN
Trước tiên tôi xin gửi lời cảm ơn chân thành và sâu sắc đến thầy giáo PGS.TS
Ph m Ng c H ng - người đã trực tiếp hướng dẫn, khuyến kh ch, chỉ bảo v đóng góp
những ý kiến quý báu trong suốt quá trình tôi h c tập, nghiên c u cũng như t khi tôi
bắt đầu nghiên c u đề t i đến khi ho n th nh luận văn n y.
Tôi xin chân th nh cảm ơn các thầy cô giáo 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 đ o t o, cung cấp cho tôi
những kiến th c vô c ng quý giá, đã t o điều kiện tốt nhất cho tôi trong suốt quá trình
h c tập, nghiên c u t i trường.
Đồng thời tôi xin chân th nh cảm ơn những người thân trong gia đình c ng toàn
thể b n bè, đồng nghiệp đã luôn giúp đỡ, động viên tôi trong những lúc gặp phải khó
khăn trong việc h c tập v nghiên c u.
Cuối c ng, tôi xin chân th nh cảm ơn Lê Khánh Trình v Lê Thị Phượng người
đã giúp đỡ, t o điều kiện cho tôi nghiên c u công cụ kiểm thử tự động ATWT v các
đồng nghiệp c a tôi t i Công ty Phần Mềm FPT đã t o điều kiện thuận lợi cho tôi h c
tập v nghiên c u chương trình th c sĩ t i Đ i h c Công nghệ, ĐH QGHN.


TÓM TẮT
Luận văn tập trung nghiên c u phương pháp kiểm thử tự động tương tác giao
diện c a các ng dụng Web. Phương pháp v a nêu l một trong những phương pháp
kiểm thử đang được áp dụng v sử dụng ng y c ng rộng rãi trong việc kiểm thử các
sản phẩm phần mềm nói chung cũng như ng dụng Web nói riêng. Phương pháp kiểm
thử tự động tương tác giao diện người d ng đã được đề xuất v cải tiến bởi một số tác
giả với ý tưởng ch nh l đặc tả tương tác người d ng c a t ng trang Web b ng máy
hữu h n tr ng thái. Mô hình đặc tả h nh vi c a cả Website sẽ được xây dựng b ng
cách gh p nối các mô hình c a các trang Web. Sau đó, phương pháp n y sử dụng thuật
toán sinh các đường dẫn kiểm thử (test paths) một cách tự động dựa trên mô hình c a
Website sao cho các đường dẫn kiểm thử n y bao ph m i trường hợp c a hệ thống.
Tuy nhiên, phương pháp hiện áp dụng cho ph m vi hệ thống đơn giản v còn có những
h n chế cho việc xây dựng tự động cho bộ đầu v o. Luận văn tập trung nghiên c u v
áp dụng công cụ v o ng dụng Web t i công ty và cải tiến công cụ để thực hiện tự
động sinh bộ đầu v o nh m tiến tới mục tiêu tự động hóa một cách ho n to n. Phương
pháp đề xuất v công cụ được áp dụng t i các giai đo n kiểm thử chấp nhận v áp
dụng cho mô hình Agile. Kết quả thực nghiệm cho thấy tiềm năng ng dụng c a công
cụ n y trong việc kiểm thử tự động giao diện cho các ng dụng Web.

Từ khóa: Kiểm thử tự động, tương tác hành vi người dùng, máy hữu hạn trạng
thái, đường dẫn kiểm thử


ABSTRACT
This thesis researches an automated GUI testing of Web applications. This
method is one of the test methods are being applied and more widely in testing
software product and also in testing Web application. This method has been proposed
by some authors with main idea is the model of each Web page of the Website under
testing which describes the user interactions is represented by a finite state machine.
The model that describes the behaviors of the whole Website then is constructed by
composing the models of all Web pages. After that, the proposed method uses an
algorithm to generate automatically test paths based on the compositional model of the
Website so that these test paths cover all possible interactions of the system. However,
proposed method has been developed and applied to test on simple systems, and
remains certain limited which have not automate test input data completely. This thesis
have been applied successful and improve automation test tool on the Web
Applications of company and generate test input automatically. Proposed methods and
this tool have been applied in the acceptance testing stage of agile model. The
experimental results show the potential application of this tool for automated GUI
testing of Web applications in practice.

Keywords: Automated GUI testing, user interaction behavior, finite state machine, test
paths, Web application


LỜI CAM ĐOAN
Tôi xin cam đoan r ng luận văn th c sĩ công nghệ thông tin “Phương pháp kiểm
thử tự động tương tác giao diện người d ng cho các ng dụng Web” là công trình
nghiên c u c a riêng tôi, không sao chép l i c a người khác. 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 chính cá nhân tôi hoặc l được
tổng hợp t nhiều nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo đều có xuất x rõ
ràng và hợp pháp.
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 n y.
H Nội, ng y 24 tháng 03 năm 2016

Trần Thị Thúy H ng


DANH MỤC THUẬT NGỮ VIẾT TẮT
STT

Từ viết tắt

Từ đầy đủ

Ý nghĩa

1

API

Application Programming
Interface

Giao diện lập trình ng dụng

2

ATWA

Automation Testing Web
Application

Công cụ kiểm thử tự động
cho ng dụng Web

3

FSA

Finite State Automaton

Ô-tô-mát hữu h n tr ng thái

4

FSM

Finite State Machine

Máy hữu h n tr ng thái

5

GUI

Graphical User Interface

Giao diện tương tác người
dùng

6

MBT

Model- base testing.

Kiểm thử dựa trên mô hình.

7

OCR

Optical Character Recognition

Nhận d ng k tự quang h c

8

UML

Unified Modeling Language

Ngôn ngữ mô hình hóa thống
nhất


DANH MỤC HÌNH VẼ
Hình 3.1.

T i liệu thiết kế m n hình c a dự án ....................................................... 12

Hình 3.2.

Minh h a ô-tô-mát hữu h n tr ng thái c a to n ng dụng Web .............. 13

Hình 3.3.

Menu ch nh sau khi đăng nhập v o hệ thống .......................................... 17

Hình 3.4.

Tr ng thái bắt đầu c a Danh sách Tổ Ch c (Organisation List) .............. 17

Hình 3.5.

Tr ng thái Chi tiết về Tổ Ch c (Organisation Details) ........................... 18

Hình 3.6.

-tô-mát hữu h n tr ng thái M1 ............................................................. 19

Hình 3.7.

Thông tin Ch c Năng Organisation Details - Tab Information ............. 20

Hình 3.8.

-tô-mát hữu h n tr ng M2..................................................................... 21

Hình 3.9.

Mô hình M sau khi thực hiện thuật toán gh p nối giữa M1 và M2 ........... 22

Hình 5.1.

Cấu trúc c a Selenium .......................................................................... 35

Hình 5.2.

Kiến trúc c a công cụ Auto Testing Web Application (ATWA) ............. 46

Hình 5.3.

V dụ về một FA với cách định nghĩa như mục a.................................... 51

Hình 5.4.

Xuất ra tệp tin excel. .............................................................................. 51

Hình 5.5.

Tệp tin excel sau khi được xuất t công cụ JFLAP ................................. 52

Hình 5.6.

Tệp tin excel đầu v o sau khi được điền giá trị kiểm thử ........................ 53

Hình 5.7.

Lưu trữ các tệp tin đầu v o ..................................................................... 54

Hình 5.8.

Giao diện nhập dữ liệu đầu v o c a công cụ........................................... 55

Hình 5.9.

Ch n bộ kiểm thử để thực hiện............................................................... 55

Hình 5.10. Selenium Webdriver thực hiện kiểm thử tự động trên Web .................... 56
Hình 5.11. Kết quả hiển thị sau khi ch y xong bộ kiểm thử ..................................... 57
Hình 5.12. V dụ về ho t động c a công cụ ATWA ................................................. 58
Hình 5.13. Kết quả kiểm thử.................................................................................... 60
Hình 5.14. Ứng dụng Web quản lý thông tin cán bộ. ............................................... 61
Hình 5.15. Giao diện trang đăng nhập...................................................................... 62
Hình 5.16. Danh sách các ch c năng (Menu List) .................................................... 62
Hình 5.17. Giao diện các ch c năng c a Organisation. ............................................ 63
Hình 5.18. Ch c năng tìm kiếm theo bảng chữ cái................................................... 63
Hình 5.19. Ch c năng sắp xếp Organisation ............................................................ 64
Hình 5.20. Giao diện các ch c năng c a Organisation. ............................................ 64


Hình 5.21. Giao diện phần Service Features ............................................................ 65
Hình 5.22. Giao diện phần List Product ................................................................... 65
Hình 5.23. Giao diện phần Premise Detail ............................................................... 65
Hình 5.24. Giao diện phần Materials ....................................................................... 66
Hình 5.25. Giao diện phần Bu Derectorate .............................................................. 66
Hình 5.26. Mô hình ô-tô-mát hữu h n tr ng thái trang Login ................................... 67
Hình 5.27. Mô hình ô-tô-mát hữu h n tr ng thái ch c năng Organisation Details ... 67
Hình 5.28. Mô hình ô-tô-mát hữu h n tr ng thái ch c năng Organisation Details Tab Infomation .......................................................................................................... 68
Hình 5.29. Thư mục các tệp tin đặc tả ch c năng Organisation ................................ 69
Hình 5.30. Giao diện c a công cụ ............................................................................ 69
Hình 5.31. Kết quả thực hiện đường dẫn kiểm thử hiển thị trong tệp tin đầu ra ........ 73
Hình 5.32. Thực hiện kiểm thử qua t ng giai đo n theo mô hình Agile ................... 75
Hình 5.33. T o bộ kiểm thử qua t ng sprint............................................................. 76
Hình 5.34. Sinh đầu v o t mô hình theo [3] ........................................................... 76
Hình 5.35. Cải tiến sinh đầu v o t mô hình t đề xuất c a [3] ................................ 77


DANH MỤC BẢNG
Bảng 3.1.
Các tr ng thái Web c a trang Danh sách Tổ Ch c
(Organisation List) .................................................................................................... 18
Bảng 3.2.

Các sự kiện c a trang Danh sách Tổ Ch c ............................................. 18

Bảng 3.3.

Bảng các phần tử Web c a trang Organisation Details - Tab Information
23

Bảng 3.4.

Ý nghĩa c a t ng cột trong Bảng Element_html ..................................... 23

Bảng 3.5.

Bảng các tr ng thái c a trang Organisation Details - Tab Information ... 24

Bảng 3.6.

Ý nghĩa c a các cột trong bảng tr ng thái ............................................... 24

Bảng 3.7.

Bảng các sự kiện c a trang Organisation Details - Tab Information ...... 25

Bảng 3.8.

Ý nghĩa c a t ng cột trong bảng Event (sự kiện) .................................... 26

Bảng 3.9.

Bảng các transition c a trang Organisation Details - Tab Information .. 26

Bảng 3.10.

Tệp tin Excel đặc tả trang Web Organisation Details - Tab Information
27

Bảng 5.1.

Các thao tác lên phần tử Web ................................................................. 38

Bảng 5.2.

Các công cụ trên JFLAP......................................................................... 41

Bảng 5.3.

Bảng Element_html................................................................................ 48

Bảng 5.4.

Bảng Sate (bảng tr ng thái) .................................................................... 49

Bảng 5.5.

Bảng Event (bảng sự kiện) ..................................................................... 50

Bảng 5.6.

Bảng Transition (Sự chuyển tr ng thái) .................................................. 50

Bảng 5.7.

Các trường hợp thất b i FAIL ................................................................ 56

Bảng 5.8.

Bảng ch c năng ch nh c a trang Web FPT Services ............................... 59

Bảng 5.9.

Ch c năng ch nh c a Organisation ......................................................... 61

Bảng 5.10.

Các transition c a trang Organisation Details - Tab Information ........ 70

Bảng 5.11.
Các test path (đường dẫn kiểm thử) được sinh ra t mô hình trang
Organisation Details - Tab Information ..................................................................... 71


1

Chƣơng 1: Giới thiệu
Hiện nay, trên thế giới, ng dụng Web đã trở nên vô c ng phổ biến v phát triển
m nh mẽ. Các ng dụng Web mang đến nhiều lợi ch thiết thực trên m i lĩnh vực c a
đời sống xã hội như lao động, giáo dục, y tế, khoa h c kỹ thuật, kinh doanh, an ninh
quốc phòng, v.v. m chúng ta không thể ph nhận. Đồng h nh c ng việc phát triển sản
phẩm hay các ng dụng Web thì chất lượng, độ an to n v t nh tin cậy cao đang l
thách th c không nhỏ cho các nh phát triển nh m đáp ng được độ ph c t p c a hệ
thống, đặc biệt l yêu cầu ng y một khắt khe c a khách h ng. Câu hỏi quan tr ng đặt
ra l : “Có thể đảm bảo cao nhất chất lượng sản phẩm b ng một giải pháp tối ưu?”.
Kiểm thử đang được xem như l giải pháp duy nhất cho vấn đề n y. Tuy nhiên, sự
phát triển vượt bậc cũng như sự ph c t p c a các ng dụng Web khiến việc kiểm thử
th công trở nên tốn k m v mất nhiều công s c. Sự cần thiết phải có một giải pháp
nâng cao hiệu suất kiểm thử th công: “Kiểm thử tự động” ra đời. Kiểm thử tự động
đang l một trong cách giải pháp tiềm năng để giải quyết các vấn đề khó khăn nêu
trên. Công cụ kiểm thử tự động c ng với các kỹ thuật kiểm thử được áp dụng để kiểm
tra v đánh giá t nh đúng đắn sản phẩm một cách linh ho t t i t ng giai đo n, t ng
m c độ kiểm thử với mục đ ch quan tr ng l cắt giảm thời gian, công s c v chi ph
không cần thiết.
Kiểm thử tự động tương tác giao diện người d ng l một trong những phương
pháp kiểm thử tự động đang được áp dụng phổ biến hiện nay. Trên thực tế, có rất
nhiều hướng nghiên c u về kiểm thử tự động tương tác giao diện người d ng như:
kiểm thử hiệu năng, kiểm thử bảo mật, kiểm tra t nh chịu tải, v.v. Tuy nhiên, kiểm thử
tương tác giao diện vẫn chưa có giải pháp thỏa đáng. B i toán đặt ra l làm cách nào
để kiểm tra được t nh đúng đắn c a sản phẩm so với các t i liệu thiết kế v t i liệu đặc
tả ban đầu. Kiểm thử dựa trên mô hình [4, 14] l một trong ba phương pháp c a kiểm
thử tự động tương tác giao diện người d ng đã v đang giải quyết được vấn đề trên.
Một số các tác giả đã nghiên c u và đề xuất các phương pháp v công cụ thực hiện
việc kiểm thử ch c năng ng dụng Web [2, 3]. Ý tưởng ch nh được đề xuất trong [2,
3] là xây dựng bản đặc tả một cách th công máy hữu h n các tr ng thái tương tác
người d ng c a t ng trang Web, sau đó các bản đặc tả máy hữu h n tr ng thái thông
qua JFLAP [8] để sinh ra tệp tin excel làm đầu v o cho công cụ kiểm thử tự động.
Phương pháp đưa ra áp dụng thuật toán sinh các đường dẫn kiểm thử (test paths) một
cách tự động dựa trên mô hình c a trang Web sao cho các đường dẫn kiểm thử bao
ph m i trường hợp c a hệ thống. Công cụ xây dựng t ch hợp Java v Selenium [7, 9,
10, 11] để thực hiện kiểm thử một cách tự động tất cả các đường dẫn kiểm thử được
sinh ra. Tuy nhiên, phương pháp n y còn có những h n chế nhất định trong việc xây
dựng tự động cho bộ đầu v o. Các dữ liệu đầu v o cho công cụ phải thực hiện th


2
công hơn 70% khối lượng công việc, v thường xảy ra sai sót dẫn tới việc thực hiện
lặp đi lặp l i nhiều lần một công việc. Ngo i ra, h n chế c a phương pháp l chưa
được kiểm ch ng đối với hệ thống ph c t p, v chưa áp dụng v o thực tế cũng như
tuân theo quy trình phát triển phát triển phần mềm.
Luận văn tập trung nghiên c u v đưa ra giải pháp để giải quyết vấn đề nêu trên.
T công cụ đã được đề xuất bởi [3], luận văn nghiên c u áp dụng v cải tiến công cụ
thực hiện tự động sinh bộ đầu v o, sử dụng JFLAP hỗ trợ, nh m tiến tới mục tiêu tự
động hóa kiểm thử một cách ho n to n. Ngo i việc cải tiến bộ đầu v o cho công cụ
kiểm thử được đề xuất, luận văn áp dụng phương pháp đặc tả mô hình [12] v áp dụng
cho hệ thống ph c t p với nhiều lo i phần tử Web. Ngo i ra, trong nghiên c u n y, tác
giả đã thực hiện áp dụng phương pháp v công cụ được nêu trong luận văn vào giai
đo n kiểm thử chấp nhận trong mô hình Agile [13] t i công ty Cổ Phần Phần Mềm
FPT.
Nội dung c a luận văn được trình b y trong năm chương v phần kết luận.
Chương 1 giới thiệu về đề t i, chương n y trình b y các ngữ cảnh, những lý do ch n
đề t i, mục tiêu c a đề t i v cấu trúc c a luận văn. Chương 2 trình b y về kiểm thử tự
động, các phương pháp kiểm thử tự động, kiểm thử tương tác giao diện người d ng v
nêu lý thuyết c a kiểm thử tự động dựa trên mô hình. Chương 3 mô tả phương pháp
đặc tả tương tác giao diện cho các ng dụng web, trong chương n y người viết có nêu
cách đặc tả, xây dựng mô hình đặc tả, v cách biểu diễn mô hình đặc tả như thế n o.
Chương 4 mô tả về việc sinh v thực thi các ca kiểm thử tự động v v dụ áp dụng.
Chương 5 giới thiệu công cụ v trình b y kết quả thực nghiệm vào một ng dụng Web
t i Công Ty Cổ Phần Phần Mềm FPT. Cuối c ng l phần kết luận, định hướng mở
rộng v t i liệu tham khảo.


3

Chƣơng 2: Tổng quan về kiểm thử phần mềm tự động
2.1 Kiểm thử phần mềm tự động
Như chúng ta đã biết, sản phẩm phần mềm được kiểm thử tất nhiên sẽ luôn luôn
đảm bảo được chất lượng khi đưa ra môi trường sử dụng. Kiểm thử phần mềm l thực
hiện tìm ra lỗi tiềm ẩn trong phần mềm. Nhưng không h n l chỉ tìm lỗi. Việc kiểm
thử cần phải xem x t đến m c độ hiệu quả, hiệu suất c a công việc kiểm thử, phải đảm
bảo v a nhanh chóng nhưng l i tốn t chi ph nhất có thể.
Kiểm thử tự động đã giải quyết được phần n o đó vấn đề n y. Kiểm thử tự động
có thể giảm công s c được yêu cầu để kiểm thử, hoặc có thể tăng việc kiểm thử trong
một giới h n cho ph p. Kiểm thử tự động có thể chỉ cần thực hiện trong v i phút trong
khi c ng một khối lượng công việc kiểm thử th công phải thực hiện trong v i giờ.
Trong thực tế việc kiểm thử tự động v kiểm thử phần mềm th công có những
ưu v nhược điểm l khác nhau. Kiểm thử phần mềm không phải l công việc dễ d ng
v yêu cầu cần phải có kỹ năng. Người kiểm thử chỉ cần t o một bộ các ca kiểm thử
(test cases), thực hiện chúng, quan sát v so sánh với t i liệu chuẩn v b n đã có thể
thực hiện kiểm thử. Tuy nhiên, công việc quan tr ng nhất trong kiểm thử đó l cần
phải lựa ch n ra bộ các ca kiểm thử n o để có thể tìm ra được nhiều lỗi nhất có thể.
Đối với kiểm thử, chúng ta có thể đưa ra bốn điều quan tr ng cần quan tâm để
việc kiểm thử đ t được kết quả tốt nhất đó l : Chất lượng c a bộ các ca kiểm thử, hiệu
quả c a việc tìm lỗi, tiết kiệm chi ph , dễ d ng bảo trì. Vì vậy việc kiểm thử chỉ l tìm
lỗi l chưa đ , chúng ta cần phải quan tâm đến các yếu tố l m cách n o để tìm được
nhiều lỗi nhưng l i đảm bảo chi ph không vượt quá m c [4].
Kiểm thử tự động cũng cần phải có kỹ năng nhưng kỹ năng để d nh cho việc
kiểm thử tự động ho n to n khác với kiểm thử th công. Điều nhận thấy đầu tiên v sự
khác biệt đầu tiên đó l về mặt chi ph . Để cảm thấy được lợi ch thực sự c a kiểm thử
tự động, người d ng cần phải lựa ch n v c i đặt một cách cẩn thận. Chất lượng c a
kiểm thử tự động độc lập với chất lượng c a kiểm thử. Tự động kiểm thử ảnh hưởng
duy nhất đến việc l m cách n o để tiết kiệm chi ph v cải tiến hoặc bảo trì. Tuy nhiên,
mỗi một lần c i đặt kiểm thử tự động chi ph thường vượt v trội hơn so với việc t o
v bảo trì. Nếu chỉ sử dụng duy nhất một lần công cụ kiểm thử tự động chi ph sẽ rất
cao v như vậy kiểm thử tự động l i không mang l i lợi ch . Do đó, đối với công việc
phải thực hiện l i nhiều lần, v k o d i trong nhiều thời gian thì kiểm thử tự động sẽ l
một lựa ch n tốt, mang l i lợi ch cũng như hiệu quả công việc cao.


4

2.2 Các phƣơng pháp kiểm thử tự động
2.2.1 Các mức độ kiểm thử và công cụ kiểm thử tự động tƣơng ứng
Nói đến kiểm thử, chúng ta sẽ đề cập đến quy trình, đến phương pháp kiểm thử,
đến các kiểu kiểm thử. Tuy nhiên, t i nghiên c u n y người viết muốn đưa ra các kiểu
kiểm thử tự động.
Mô hình V-Model đã quá quen thuộc đối với những người l m trong công việc
kiểm thử. Mô hình thể hiện một cách r nhất các ho t động c a kiểm thử t giai đo n
kiểm thử m c đơn vị, kiểm thử t ch hợp, kiểm thử hệ thống cho đến kiểm thử chấp
nhận. Tương ng với mỗi một công đo n trong việc phát triển phần mềm l một ho t
động kiểm thử. Với mỗi một m c kiểm thử, chúng ta đều có thể áp dụng kiểm thử tự
động. Với kiểm thử, ta có thể chia ra bốn m c như sau:
-

Kiểm thử m c đơn vị (Unit test)
Kiểm thử t ch hợp (có thể l t ch hợp các mô đun hoặc t ch hợp hệ thống)
Kiểm thử hệ thống
Kiểm thử chấp nhận

Kiểm thử tự động mức đơn vị (Unit test): Kiểm thử m c đơn vị l kiểm thử m c
đầu tiên được thực hiện khi phát triển sản phẩm phần mềm. Công việc kiểm thử m c
đơn vị được thực hiện nhanh, tin cậy vì chỉ thực hiện với một phần nhỏ trong mã
chương trình, m c đơn vị. Kiểm thử viên thường l lập trình viên, khi t o ra một h m
hoặc một th tục, ngay sau đó lập trình viên thường t o luôn các ca kiểm thử để thực
hiện kiểm thử ngay lập t c m không cần phải chờ cho đến khi lập trình ho n thiện sản
phẩm. Kiểm thử tự động m c đơn vị chiếm khối lượng các bộ kiểm thử nhiều nhất v
các công cụ thường đa d ng nhất. Các công cụ kiểm thử tự động áp dụng cho m c
kiểm thử n y: công cụ phân t ch mã nguồn, hay công cụ đã đánh giá m c độ bao ph
v.v. (Hình 2.1)
Kiểm thử tự động mức tích hợp (Integration test và System Integration Test):
Kiểm thử t ch hợp thực hiện những phần m kiểm thử m c đơn vị chưa bao ph và
chưa được kiểm thử. Kiểm thử t ch hợp thường mất nhiều thời gian, chậm, v để thực
hiện tự động thường khó, yêu cầu cần phải có sự tham gia c a công việc lập trình
nhiều hơn so với kiểm thử m c đơn vị. Các công cụ kiểm thử tự động áp dụng cho
m c kiểm thử n y: phân t ch động (dynamic analysis), tự động dò tìm các lỗi do tr n
bộ nhớ v.v. (Hình 2.1)
Kiểm thử hệ thống và Kiểm thử chấp nhận (System Test và Acceptance Test):
Kiểm thử hệ thống v kiểm thử chấp nhận được thực hiện khi đã có sản phẩm tương
đối ho n chỉnh. Kiểm thử hệ thống quan tâm đến việc kiểm tra các h nh vi ch c năng


5
c a phần mềm v các yêu cầu về độ tin cậy, t nh tiện lợi khi sử dụng, v.v có thỏa mãn
các điều kiện c a bản thiết kế v đặc tả được định nghĩa t giai đo n đầu c a dự án.
Kiểm thử chấp nhận so với kiểm thử hệ thống cũng có điểm tương đồng với kiểm thử
hệ thống l kiểm tra các h nh vi ch c năng, tuy nhiên kiểm thử chấp nhận tập trung
kiểm thử ch c năng sản phẩm xem có thỏa mãn yêu cầu c a người sử dụng. Một cách
khái quát, kiểm thử hệ thống được chia ra th nh hai kiểu kiểm thử: kiểm thử ch c
năng v kiểm thử phi ch c năng. Kiểm thử phi ch c năng gồm có: kiểm thử hiệu năng,
kiểm tra độ tin cậy, kiểm tra t nh tiện dụng, kiểm tra khả năng chịu tải, v.v. Các công
cụ áp dụng cho kiểm thử phi ch c năng như: Jmeter 1, HP-Loadrunner 2(hình 2.1), v.v.
Kiểm thử ch c năng tập trung v o kiểm tra các h nh vi tương tác với sản phẩm v ng
dụng Web trong đó có các công cụ kiểm thử tự động tương tác giao diện người d ng.
Kiểm thử tương tác giao diện người d ng l kiểm thử tất các các ch c năng và các
đường dẫn kiểm thử c a ng dụng. Công việc thực hiện kiểm thử tương tác giao diện
thường khó khăn vì có nhiều r ng buộc giữa các th nh phần, ch c năng. Kiểm thử tự
động tương tác giao diện người d ng thường chiếm phần nhỏ hơn so với kiểm thử tự
động m c đơn vị v m c kiểm thử t ch hợp nhưng thường khó thực hiện hơn.

Hình 2.1. Phân loại các công cụ kiểm thử tự động tƣơng ứng trong vòng đời
phát triển phần mềm [4]

1

Công cụ kiểm thử tự động hiệu năng http://http://jmeter.apache.org/

2

Công cụ kiểm khả năng chịu tải : http://www8.hp.com/us/en/software-solutions/loadrunner-load-testing/


6

2.2.2 Kiểm thử tƣơng tác giao diện ngƣời dùng
Giao diện người d ng l phần trung gian giữa người sử dụng v hệ thống. Người
sử dụng tương tác với giao diện người d ng để thực hiện các nhiệm vụ. Giao diện
người d ng l một phần quan tr ng c a tương tác hệ thống. Người d ng có thể dựa
trên các giao diện để có thể hiểu hệ thống như thế n o v quyết định sử dụng hay
không sử dụng. Có nhiều phương pháp khác nhau m yếu tố đầu v o v yếu tố đầu ra
sử dụng các kiểu cảm biến như hình ảnh v âm thanh. Các phương pháp khác nhau n y
có thể sử dụng một cách kết hợp trong c ng một hệ thống v cho c ng một nhiệm vụ.
Người sử dụng có thể nhìn thấy các dữ liệu đầu ra c a hệ thống b ng m n hình máy
t nh v có thể nhập các giá trị đầu v o t các thiết bị như chuột, b n ph m, cảm biến
b ng ch m v o m n hình. Các cách m những phương pháp n y được thực hiện chỉ thể
hiện được các kiểu tương tác khác nhau [6].
Theo t i liệu [6] tương tác giao diện người d ng được chia ra l m hai kiểu ch nh:
dòng lệnh (Command-line) v tương tác giao diện người d ng (GUIs).
Giao diện dòng lệnh (Command-line): là những v dụ c a giao diện người d ng
đồng bộ v tuần tự. Các hộp tho i giữa hệ thống v người d ng được thiết lập theo một
trình tự các câu hỏi v câu trả lời. T i mỗi một bước, hệ thống sẽ chờ cho đến khi
người d ng gửi lệnh. Sau đó hệ thống sẽ thực hiện xử lý, gửi kết quả đầu ra, v thực
hiện bước tiếp theo.
Giao diện tƣơng tác ngƣời dùng (GUIs) hỗ trợ đa d ng v phong phú hơn giao diện
dòng lệnh (command-line). GUIs có các biểu mẫu để điền (form fill-in), lựa ch n thực
đơn (menu selection), hay thao tác trực tiếp. Một giao diện có thể có nhiều cửa sổ v
m n hình tương tác với nhiều đối tượng khác nhau như: thực đơn, nút ấn v.v. Tất cả
bao gồm văn bản được trộn lẫn trong giao diện giúp t o ra một bản giao diện ho n
chỉnh, bắt mắt hơn giao diện chỉ d ng chữ để thể hiện. Giao diện tương tác người d ng
còn đa d ng phong phú hơn trong việc tương tác nhờ hỗ trợ c a việc: chuyển đổi giữa
các cửa sổ, k o thả, nhấp chuột v.v. Đặc biệt, người d ng có thể l m gián đo n một
nhiệm vụ để tương tác với một cửa sổ hay hộp tho i. Giao diện tương tác người d ng
có các kiểu khác nhau: siêu văn bản (hyper-text), dựa trên Web (Web-based), dựa trên
biểu mẫu (form-based), thao tác trực tiếp, đa nhánh (rick client), đa phương th c
(multi-modal), v thực t i ảo (virtual reality).
Phƣơng pháp kiểm thử tự động tƣơng tác giao diện ngƣời dùng
Đối với kiểm thử tương tác giao diện người d ng, chúng ta có thể thực hiện th công,
phân t ch tĩnh, hoặc sử dụng các công cụ kiểm thử tự động như: kiểm thử b ng cách
chụp v phát l i (Capture/Replay Testing), kiểm thử đầu v o ngẫu nhiên (Random


7
Input Testing), kiểm thử đơn vị (Unit Testing Frameworks), kiểm thử dựa trên mô
hình (Model-based Testing) [6].
Kiểm thử bằng cách chụp và phát lại (Capture/Replay): Đối với công cụ n y,
kịch bản kiểm thử sẽ được kiểm thử viên thực hiện b ng cách tương tác với giao
diện thông qua các h nh vi như: di chuột, nhấp chuột, nhập dữ liệu đầu v o, ch n
thực đơn, v.v. Các tương tác n y sẽ được công cụ hỗ trợ chụp l i với mục đ ch để
phát l i trình tự n y cho các lần sau. Lợi ch c a công cụ l có thể phân t ch v nhận
d ng được các lo i k tự Otica (OCR), có khả năng quan sát tốt, t o ra được các kịch
bản kiểm thử với nhiều ngôn ngữ kịch bản khác nhau. Tuy nhiên, trên thực tế công
cụ chụp v phát l i chưa thực sự l một công cụ kiểm thử tự động tốt v hữu ch.
Công cụ còn những h n chế: chỉ thực hiện được khi đã có sản phẩm, bị phụ thuộc
v o kiểm thử viên đặc biệt khi đưa các giá trị đầu v o, không hỗ trợ thiết kế ca kiểm
thử v đánh giá m c độ bao ph c a ca kiểm thử, v phải thực hiện l i kịch bản
kiểm thử t đầu khi thay đổi c i đặt. V dụ cho một số công cụ chụp v phát l i:
Win Runner 3, Rational Robot 4, v.v.
Kiểm thử đầu vào ngẫu nhiên (Random Input Testing): Kiểm thử đầu v o ngẫu
nhiên Random input testing còn được g i l kiểm thử ngẫu nhiên stochastic hay
kiểm thử monkey. Việc kiểm thử được thực hiện chỉ dựa trên giá trị bất kì được đưa
v o m giá trị đó không cần phải mang ý nghĩa. Kiểm thử đầu v o ngẫu nhiên được
thực hiện bởi bất kì ai ngay cả khi h không hiểu về chương trình, h chỉ cần nhập
dữ liệu hoặc thao tác m h muốn, đơn giản chỉ l thao tác chuột v b n ph m bất kì
với chương trình. Theo đánh giá c a Microsoft thì 10-20% số lỗi chương trình được
tìm ra theo cách n y. Tuy nhiên, phương pháp n y có những h n chế không thể bao
ph tất cả các trường hợp. Ngo i ra, các lỗi tìm thấy có thể không n m trong ph m
vi c a chương trình, lỗi được tìm ra khó tái hiện v khó điều tra. Có hai kiểu công
cụ áp dụng phương pháp kiểm thử n y: Dumb monkeys, Smart monkeys.
Kiểm thử đơn vị (Unit Testing Frameworks): Kiểm thử tương tác giao diện
người d ng hỗ trợ cho giai đo n kiểm thử m c đơn vị thường được áp dụng phổ
biến nhất, điển hình là JUnit5, NUnit6. Các công cụ này hỗ trợ tốt trong việc tổ ch c
v thực thi các ca kiểm thử, cụ thể l cho việc kiểm thử các API. Cách thực hiện
phổ biến nhất l lập trình các ca kiểm thử một cách th công dựa trên các h nh vi

3

Công cụ kiểm thử tự động WinRuner c a mercury (www.mercury.com)

4

Công cụ kiểm thử tự động Ration Robot c a IBM (www.ibm.com)

5

Tr ch dẫn công cụ t Website www.junit.org

6

Tr ch dẫn công cụ t Website www.nunit.org


8
tương tác với giao diện. Đối với công cụ n y, kiểm thử tương tác người d ng được
coi như l kiểm thử các API. Các ca kiểm thử phải được lập trình để mô phỏng h nh
vi tương tác c a người d ng với giao diện, sau đó b ng cách quan sát đầu ra để
kiểm tra kết quả có thực sự như mong đợi. H n chế c a công cụ đó l các trường
hợp hoặc các ca kiểm thử đều ngắn, như vậy dễ d ng bỏ qua nhiều trường hợp v
dẫn đến bỏ sót lỗi. Ngo i ra, việc thực hiện lập trình các ca kiểm thử đòi hỏi kiểm
thử viên phải có kinh nghiệm trong công việc lập trình v luôn luôn phải nâng cao
kỹ năng lập trình. Một số công cụ áp dụng phương pháp n y: Abbot7, Jemmy8, v.v.
Kiểm thử dựa trên mô hình: Kiểm thử dựa trên mô hình được xem như l một
công cụ kiểm thử giúp tự động sinh ca kiểm thử tương tác giao diện người d ng.
Công cụ n y áp dụng b ng cách kiểm tra tự động sản phẩm hoặc chương trình có
đúng như mô hình được thiết kế hay không. M c cao hơn công cụ đó l có thể thực
hiện sinh các ca kiểm thử c ng kết quả thực tế so với mong đợi. H n chế c a công
cụ kiểm thử tự động n y đó l khó áp dụng cũng như xây dựng với một số lo i giao
diện tương tác người d ng. Một số công cụ áp dụng phương pháp n y: TGV 9
AGEDIS 10, Autofocus11, QuickCheck12 và Spec Explorer 13.

2.3 Kiểm thử tự động dựa trên mô hình
Có nhiều khái niệm khác nhau về kiểm thử dựa trên mô hình. Tựu trung l i,
chúng ta có thể hiểu kiểm thử dựa trên mô hình l một phương pháp kiểm thử nơi m
các ca kiểm thử được sinh ra t mô hình đặc tả h nh vi c a hệ thống đang được kiểm
thử. Mô hình n y được biểu diễn b ng máy hữu h n tr ng thái, ô-tô-mát, đặc tả đ i số,
biểu đồ tr ng thái b ng UML, v.v. [1].
Mô hình trong kiểm thử phần mềm [14]
Mô hình, hiểu theo một cách đơn giản l đặc tả h nh vi c a hệ thống. Các hành vi
có thể được mô tả theo một trình tự đã được đưa ra t đầu khi thiết kế hệ thống, điều
kiện, logic đầu ra hoặc các luồng dữ liệu thông qua các mô-đun c a ng dụng. Có rất
nhiều mô hình như vậy, mỗi mô hình mô tả một kh a c nh khác nhau h nh vi c a phần

7

Công cụ kiểm thử tự động Abbot (abbot.sourceforge.net/)

8

Công cụ kiểm thử tự động Jemmy (jemmy.netbeans.org)

9

Tr ch dẫn nơi lưu công cụ kiểm thử tự động TGV www-verimag.imag.fr/~async/TGV

10

Công cụ kiểm thử tự động AGEDIS (www.agedis.de)

11

Công cụ kiểm thử tự động Autofocus (autofocus.informatik.tu-muenchen.de)

12

Công cụ kiểm thử tự động Quick Check (www.md.chalmers.se/~rjmh/QuickCheck)

13

Công cụ kiểm thử tự động SpecExplorer (research.microsoft.com/SpecExplorer).


9
mềm. V dụ: luồng điều khiển, luồng dữ liệu, biểu đồ sự phụ thuộc l mô hình đặc tả
và thể hiện hành vi c a mã chương trình. Bảng phụ thuộc, v máy hữu h n tr ng thái
được sử dụng để mô tả h nh vi bên ngo i v được g i l h nh vi “hộp đen” (blackbox).
Có rất nhiều mô hình phần mềm như: máy hữu h n tr ng thái (finite state
machine), statecharts (biểu đồ tr ng thái), ngôn ngữ mô hình thống nhất (unified
modeling language - UML) và makov chains, v.v.
1) Máy hữu hạn trạng thái phù hợp với kiểm thử phần mềm liên quan đến
việc xây dựng các chuỗi đầu v o như l các dữ liệu kiểm thử; máy tr ng
thái l mô hình ý tưởng để xây dựng tuần tự các chuỗi đầu v o. Máy hữu
h n tr ng thái kết hợp với một số thuật toán có thể sinh các ca kiểm thử
giảm bớt gánh nặng cho kiểm thử th công. Mặt khác, đối với các phần
mềm ph c t p, việc xây dựng v duy trì máy tr ng thái lớn cũng không có
vấn đề gì đáng kể.
2) Biểu đồ trạng thái l một phần mở rộng c a máy hữu h n tr ng thái
nhưng áp dụng cho các mô hình ph c t p hoặc hệ thống thực. Ở đó, máy
hữu h n tr ng thái được phân cấp, một tr ng thái có thể được phân tách
th nh nhiều tr ng thái thấp hơn.
3) Ngôn ngữ mô hình thống nhất hay còn g i l các mô hình UML cũng
c ng chung mục đ ch như các mô hình khác nhưng thể hiện b ng một kiểu
đồ h a khác (không giống như máy tr ng thái). UML được thể hiện bởi
ngôn ngữ cấu trúc v dụ như: C, Pascal. Ch nh vì điều n y, mô hình UML
đã đặc tả được các h nh vi rất ph c t p c a hệ thống. Máy hữu h n tr ng
thái, hoặc biểu đồ tr ng thái có thể trở th nh một trong những th nh phần
c a biểu đồ UML.
4) Makov chains l mô hình ngẫu nhiên (stochastic). Một lớp cụ thể trong
Makov chains, các tham số rời r c, hữu h n tr ng thái, thời gian đồng
nhất, chuỗi Makov tối giản, được d ng để mô hình hóa việc sử dụng phần
mềm. Chúng có cấu trúc tương tự như máy hữu h n tr ng thái v có thể
coi như máy t nh toán xác suất một cách tự động. Giá trị ch nh c a makov
chains không chỉ d ng l i ở việc sinh các ca kiểm thử m còn thu thập v
phân t ch các dữ liệu lỗi t đó ước lượng các biện pháp như độ tin cậy v
một thời gian lỗi có ý nghĩa.
5) Mô hình khác có nhiều mô hình khác m chúng ta cần biết đến v nghiên
c u. V dụ như các bảng quyết định, cây quyết định, v ngôn ngữ thiết kế
chương trình.


10
Kiểm thử tự động dựa trên mô hình
Để kiểm thử một ng dụng một cách tự động dựa trên mô hình. Trước hết kiểm
thử viên sẽ phải t o ra một kịch bản b ng cách ghi l i các h nh vi hoặc các ho t động
c a hệ thống hay ng dụng đó. Bộ kịch bản n y được t o ra dựa trên yêu cầu, ch c
năng c a hệ thống. Thông thường, bộ kịch bản n y kiểm thử viên sẽ t o ra b ng cách
th công, việc kiểm thử th công n y tiềm ẩn nhiều r i ro, tốn thời gian v mất công
s c. Kiểm thử tự động dựa trên mô hình ch nh l việc t o tự động các kịch bản kiểm
thử t mô hình được xây dựng.
Bản kịch bản được sinh ra t mô hình ch nh l đầu v o cho các ca kiểm thử.
Tương ng với bộ đầu v o ta sẽ sinh các giá trị đầu ra mong muốn. Kết thúc bước n y,
chúng ta có ca kiểm thử. Theo quy trình kiểm thử tự động dựa trên mô hình được định
nghĩa trong [1], chúng ta có năm bước cần phải thực hiện: Sinh mô hình, sinh ca kiểm
thử, ch y các kịch bản kiểm thử, so sánh kết quả đầu ra thực tế với kết quả đầu ra dự
kiến, v cuối c ng t đó quyết định có h nh động tiếp theo l sửa đổi mô hình, t o
thêm ca kiểm thử, d ng kiểm thử hay đánh giá chất lượng c a phần mềm. Công việc
đầu tiên l sinh mô hình đặc tả h nh vi c a hệ thống. Công việc đặc tả h nh vi c a hệ
thống thường được sử dụng b ng các công cụ mô hình hóa. T mô hình đó, giúp cho
việc hiểu hệ thống một cách tổng quan v r r ng, thuận lợi cho việc kiểm thử cũng
như phát triển sản phẩm.


11

Chƣơng 3: Phƣơng pháp đặc tả tƣơng tác giao diện cho
các ứng dụng Web
Như chương 2 đã đề cập, phương pháp kiểm thử tự động tương tác giao diện cho
các ng dụng Web l phương pháp kiểm thử được sử dụng rộng rãi v phổ biến. Để có
thể kiểm thử tự động được một ng dụng Web b ng phương pháp n y, trước hết chúng
ta cần phải xây dựng hoặc đặc tả tương tác giao diện. Việc đặc tả cần áp dụng kiểm
thử dựa trên mô hình. Lý thuyết về kiểm thử dựa trên mô hình cũng đã được chúng tôi
đề cập trong chương 2.
Mô hình l một sự biểu đồ hóa, mô tả chi tiết hệ thống, đồng thời mô tả chi tiết
các kh a c nh, các đặc t nh c a hệ thống. Mô hình cần phải đ chi tiết để giúp ta hiểu
v đoán nhận được h nh vi c a hệ thống. Có nhiều phương pháp đặc tả mô hình như:
máy hữu h n tr ng thái, ô-tô-mát tr ng thái, máy tr ng thái UML, chuỗi Markov, văn
ph m, bảng quyết định, v.v. [1]. Phụ thuộc v o phương pháp v công cụ kiểm thử,
chúng ta sẽ lựa ch n phương pháp đặc tả hệ thống tương ng. Trong chương 3, luận
văn trình bày một phương pháp đặc tả tương tác giao diện ng dụng Web được sử
dụng cho nghiên c u n y.

3.1 Phƣơng pháp xây dựng mô hình cho toàn bộ ứng dụng
Web
Khi thực hiện đặc tả tương tác giao diện cho một ng dụng Web áp dụng máy
tr ng thái hữu h n ô-tô-mát, người d ng thường gặp khó khăn trong việc xác định các
tr ng thái, có quá nhiều tr ng thái, có quá nhiều đường chuyển tr ng thái, nhưng có thể
l th a hoặc có thể l thiếu khi xác định tr ng thái để đưa v o mô hình. Công việc đầu
tiên khi thực hiện kiểm thử tự động cho ng dụng Web l cần phải phân t ch ng dụng,
tập trung đưa ra một mô hình tổng thể về ch c năng c a ng dụng cần kiểm thử. Hình
3.1 l một v dụ mô tả luồng ho t động c a một trang Web. Trang Web được phân cấp
theo d ng hình cây t lớn tới b . Đầu tiên l m n hình Login, sau khi thực hiện Login
thành công, Menu sẽ được hiển thị để người d ng lựa ch n. Các ch c năng ch nh c a
trang Web sẽ được phân cấp tiếp th nh ba phần: Organisation List, Services,
Geography.
Trong hình 3.1 l một nhánh phân cấp ch c năng c a Organisation List bao gồm:
Organisation Details, Bu/Directorates Details, Support Materials Details. Ngo i ch c
năng ch nh c a Organisation List, còn có các ch c năng phụ bổ trợ l : Popup,
Departement Details, Team Details.


12

Hình 3.1. Tài liệu thiết kế màn hình của dự án


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×