HC Vin Cong NGH Bu Chinh Vin Thong

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 74

H C VI N CÔNG NGH B U CHệNH VI N THÔNG

KHOA CÔNG NGH THÔNG TIN I


------

Đ ÁN
T T NGHI P Đ I H C
Đề tài:

Nghiên c u Selenium WebDriver


và áp d ng trong ki m th ng d ng Web

Gi ng viên h ng d n : TS. Đ TH BÍCH NG C


Sinh viên th c hi n :Đ TH PH NG
L p : D11CNPM1
Khóa : 2011 ậ 2016
H : Đ i h c chính quy

Hà N i, tháng 12 năm 2015


Đ án t t nghi p Đ i học

L IC M N

Đ có đ c k t qu nh ngƠy hôm nay, tr c tiên em xin g i l i c m n sơu s c


nh t t i TS. Đỗ Thị Bích Ngọc, gi ng viên bộ môn Công ngh ph n m m, khoa Công
ngh thông tin I, Học vi n Công ngh B u chính Vi n thông đƣ t n tình h ng d n, giúp
đỡ em trong su t quá trình nghiên c u vƠ th c hi n đ án t t nghi p.
Em cũng xin bƠy tỏ lòng bi t n chơn thƠnh t i các th y cô giáo trong Học vi n
Công ngh B u chính Vi n thông, đặc bi t lƠ các th y cô trong khoa Công ngh thông tin
I đƣ t n t y d y dỗ em trong quá trình học t p, rèn luy n su t th i gian qua, giúp em có
đ c nh ng ki n th c không chỉ đ hoƠn thƠnh đ án mƠ còn học t p vƠ lƠm vi c sau nƠy.
Đặc bi t, l i c m n thiêng liêng nh t con xin đ c g i t i b mẹ. Con xin c m n
b mẹ đƣ luôn yêu th ng, tin t ng con, dù có khó khăn th nƠo cũng động viên, ng hộ
và t o đi u ki n đ luôn là chỗ d a tinh th n v ng ch c cho con trong su t th i gian ng i
trên gh nhƠ tr ng.
Và cu i cùng tôi xin g i l i c m n t i nh ng ng i b n luôn bên, chia sẻ cùng
tôi nh ng lúc khó khăn, đóng góp ý ki n vƠ giúp đỡ trong quá trình học t p, nghiên c u
vƠ hoƠn thƠnh đ án t t nghi p.
Trong quá trình th c hi n đ án, mặc dù đƣ c g ng đ hoàn thi n đ tài t t nh t có
th , nh ng ch c ch n không th tránh khỏi nh ng thi u sót. Vì vây, em r t mong nh n
đ c s góp ý c a th y cô và các b n đ đ án c a em đ c hoàn thi n h n.
Em xin chân thành cảm ơn!

HƠ Nội, ngƠy 5 tháng 12 năm 2015


Sinh viên

Đ Th Ph ng

Đỗ Thị Ph ng ậ D11CNPM1 i
Đ án t t nghi p Đ i học

NH N XÉT, ĐỄNH GIỄ, CHO ĐI M


(C a gi ng viên h ng d n)
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
Đi m:ầầầầầ......ầầầ(bằng ch :ầầầầầầ.............ầầầầầầầầầầ)
Đ ng ý/ Không đ ng ý cho sinh viên b o v tr c hội đ ng ch m đ án t t nghi p?
ầầầầầ..ầầầ

Hà Nội, ngàyầ... tháng ầầnăm 2015


CÁN B - GI NG VIểN H NG D N
(ký, họ tên)

Đỗ Thị Ph ng ậ D11CNPM1 ii
Đ án t t nghi p Đ i học

NH N XÉT, ĐỄNH GIỄ, CHO ĐI M


(C a gi ng viên ph n bi n)
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
...............................................................................................................................................
Đi m:ầầầầầ..ầầầầ(bằng ch :.............ầầầầầầầầầầầầầầầầ)
Đ ng ý/ Không đ ng ý cho sinh viên b o v tr c hội đ ng ch m đ án t t nghi p?
ầầầầầ..ầầầ

Hà Nội, ngàyầ... tháng ầầnăm 2015


CÁN B - GI NG VIÊN PH N BI N
(ký, họ tên)

Đỗ Thị Ph ng ậ D11CNPM1 iii


Đ án t t nghi p Đ i học

M CL C

L I C M N................................................................................................................................... i
M C L C ...................................................................................................................................... iv
DANH M C CÁC B NG THU T NG VÀ CH VI T T T ................................................. vi
DANH M C B NG BI U ...........................................................................................................vii
DANH M C S Đ , HÌNH NH ............................................................................................. viii
L I M Đ U ................................................................................................................................. 1
CH NG 1: T NG QUAN V KI M TH PH N M M VÀ SELENIUM WEBDRIVER ..... 3
1.1. Ki m th ph n m m.......................................................................................................... 4
1.1.1. Khái ni m ki m th ph n m m ................................................................................. 4
1.1.2. Các c p độ ki m th ph n m m ................................................................................ 4
1.2. Ki m th t động .............................................................................................................. 5
1.2.1. Khái ni m ki m th t động ...................................................................................... 6
1.2.2. Quy trình ki m th t động ....................................................................................... 6
1.2.3. So sánh ki m th t động và ki m th th công ....................................................... 7
1.2.4. Một s công c ki m th t động ph bi n ............................................................... 8
1.3. Công c ki m th t động Selenium và Selenium WebDriver ........................................ 8
1.3.1. Khái quát v Selenium ............................................................................................... 8
1.3.2. Selenium WebDriver ............................................................................................... 10
1.3.3. Các câu l nh s d ng trong Selenium WebDriver .................................................. 13
1.4. K t lu n ch ng .............................................................................................................. 15
CH NG 2: PHÂN TÍCH THI T K WEBSITE BÁN HÀNG FASHIONISTA ..................... 16
2.1. Xác định yêu c u h th ng .............................................................................................. 17
2.1.1. Xác định và mô t các tác nhân ............................................................................... 17
2.1.2. Bi u đ ca s d ng .................................................................................................. 17
2.1.3. Xây d ng kịch b n và phác th o giao di n .............................................................. 18
2.2. Phân tích và thi t k ........................................................................................................ 24
2.2.1. Phân tích yêu c u ..................................................................................................... 24
2.2.2. Thi t k ki n trúc ..................................................................................................... 25
2.2.3. Thi t k chi ti t ........................................................................................................ 26
2.2.4. L c đ c s d li u .............................................................................................. 29

Đỗ Thị Ph ng ậ D11CNPM1 iv
Đ án t t nghi p Đ i học

2.3. K t lu n ch ng .............................................................................................................. 30
CH NG 3: NG D NG SELENIUM WEBDRIVER TRONG KI M TH WEBSITE
FASHIONISTA ............................................................................................................................. 31
3. 1. Thi t k test case cho các ch c năng chính .................................................................... 32
3.1.1. Ch c năng đăng ký .................................................................................................. 32
3.1.2. Ch c năng thêm s n phẩm vào giỏ hàng ................................................................. 36
3.1.3. Ch c năng s a giỏ hàng .......................................................................................... 38
3.1.4. Ch c năng đặt hàng ................................................................................................. 40
3. 2. H ng gi i quy t bài toán và th c thi ki m th t động ................................................ 43
3.2.1. Các yêu c u v công ngh ....................................................................................... 43
3.2.2. H ng th c thi ki m th t động ............................................................................ 43
3.1.5. Báo cáo và phân tích lỗi .......................................................................................... 52
3. 3. K t lu n ch ng .............................................................................................................. 53
CH NG 4: TH C NGHI M VÀ ĐÁNH GIÁ K T QU ....................................................... 55
4. 1. Gi i thi u website Fashionista ........................................................................................ 56
4. 2. Ki m th t động website v i SeleniumWebDriver và TestNG .................................... 57
4.2.1. Ch c năng đăng ký tài kho n .................................................................................. 57
4.2.2. Ch c năng thêm s n phẩm vào giỏ hàng ................................................................. 60
4.2.3. Ch c năng s a giỏ hàng .......................................................................................... 60
4.2.4. Ch c năng đặt hàng ................................................................................................. 61
4. 3. Đánh giá k t qu ki m th .............................................................................................. 62
4.3.1. Ki m th ch c năng ..................................................................................................... 62
4.3.2. Ki m th phi ch c năng ............................................................................................... 63
4. 4. K t lu n ch ng .............................................................................................................. 63
K T LU N ................................................................................................................................... 64
TÀI LI U THAM KH O ............................................................................................................. 65

Đỗ Thị Ph ng ậ D11CNPM1 v
Đ án t t nghi p Đ i học

DANH M C CÁC B NG THU T NG VÀ CH VI T T T

Thu t ng / T vi t t t ụ nghĩa
IEEE Institute of Electrical and Electronic Engineers
Test case Một t p các d li u đ u vƠo, hƠnh động hoặc s ki n và
các k t qu mong đ i
Test script Một nhóm mã l nh d ng đặc t kịch b n dùng đ t động
hóa một trình t ki m th .
Selenium RC Selenium Remote Control
Trong ki m th ph n m m, Framework cung c p một c u
Framework trúc c b n giúp cho vi c ki m th trên ngôn ng l p trình
b c cao một cách nhanh chóng h n, ti t ki m th i gian và
gi m thi u s l n ph i vi t l i mã ki m th .
Validate Một thu t ng trong ki m th ph n m m dùng đ chỉ s
ki m tra tính h p l c a d li u trên một y u t c a ng
d ng

Đỗ Thị Ph ng ậ D11CNPM1 vi
Đ án t t nghi p Đ i học

DANH M C B NG BI U

B ng 2.1. Kịch b n use case đăng nh p ........................................................................................ 18


B ng 2.2. Kịch b n use case đăng ký tƠi kho n ............................................................................ 19
B ng 2.3. Kịch b n use case tìm ki m s n phẩm .......................................................................... 20
B ng 2.4. Kịch b n use case xem thông tin s n phẩm t form tìm ki m ...................................... 21
B ng 2.5. Kịch b n use case xem thông tin s n phẩm t form xem chi ti t giỏ hàng ................... 21
B ng 2.6. Kịch b n use case Thêm s n phẩm vào giỏ hàng .......................................................... 22
B ng 2.7. Kịch b n use case S a s l ng s n phẩm.................................................................... 22
B ng 2.8. Kịch b n use case xóa s n phẩm trong giỏ hàng........................................................... 23
B ng 2.9. Kịch b n use case Đặt hàng .......................................................................................... 24
B ng 3.1: Mô t yêu c u ch c năng đăng ký................................................................................. 32
B ng 3.2: Các tr ng h p test ch c năng đăng ký ........................................................................ 36
B ng 3.4: Mô t yêu c u ch c năng thêm s n phẩm vào giỏ hàng ............................................... 36
B ng 3.5: Các tr ng h p test ch c năng thêm s n phẩm vào giỏ hàng....................................... 38
B ng 3.7: Mô t yêu c u ch c năng s a giỏ hàng ......................................................................... 38
B ng 3.8: Các tr ng h p test ch c năng s a giỏ hàng ................................................................ 40
B ng 3.10: Mô t yêu c u ch c năng đăng ký............................................................................... 41
B ng 3.11: Các tr ng h p test ch c năng đặt hàng ..................................................................... 43
B ng 3.13: Test script đ c export t kịch b n ki m th Selenium IDE...................................... 46
B ng 3.14: Ki m th kh năng t ng thích................................................................................... 50
B ng 4.1: K t qu test ch c năng đăng ký tƠi kho n m i ............................................................. 59
B ng 4.2: K t qu test ch c năng thêm s n phẩm vào giỏ hàng ................................................... 60
B ng 4.3: K t qu test ch c năng s a giỏ hàng............................................................................. 61
B ng 4.4: K t qu test ch c năng đặt hàng ................................................................................... 61
B ng 4.5: K t qu ki m th ch c năng ......................................................................................... 62
B ng 4.6: K t qu ki m th phi ch c năng ................................................................................... 63

Đỗ Thị Ph ng ậ D11CNPM1 vii


Đ án t t nghi p Đ i học

DANH M C S Đ , HÌNH NH

Hình 1.1. Các c p độ ki m th ph n m m ...................................................................................... 4


Hình 1.2: Selenium RC.................................................................................................................. 12
Hình 2.1: Bi u đ ca s d ng ........................................................................................................ 17
Hình 2.2: Bi u đ l p thi t k ....................................................................................................... 26
Hình 2.4: Bi u đ tu n t ch c năng đăng ký tƠi kho n ............................................................... 27
Hình 2.5: Bi u đ tu n t ch c năng thêm s n phẩm vào giỏ hàng .............................................. 28
Hình 2.3: Bi u đ tu n t ch c năng đăng nh p ........................................................................... 29
Hình 2. 6: L c đ c s d li u ................................................................................................... 30
Hình 3.1: Quá trình ki m th t động ........................................................................................... 45
Hình 3.2: T o class TestNG .......................................................................................................... 47
Hình 3.3: Các Test case cho ch c năng S a giỏ hàng ................................................................... 48
Hình 3.4: K t qu ch y test case trên TestNG ậAll Tests ............................................................. 49
Hình 3.5: K t qu ch y test case trên TestNG ậ Summary ........................................................... 49
Hình 3.6: K t qu ch p l i mƠn hình khi đăng ký x y ra lỗi ......................................................... 51
Hình 3.7: K t qu thu đ c sau khi ki m th ch c năng S a giỏ hàng ........................................ 52
Hình 3.8: TestNG report (emailable-report.html) ......................................................................... 53
Hình 3.9: TestNG report(index.html) hỗ tr tìm nguyên nhân x y ra lỗi ..................................... 53
Hình 4.1: Kịch b n ch c năng đăng ký tƠi kho n ......................................................................... 57
Hình 4.2: D li u đ u vào cho ch c năng đăng ký tƠi kho n........................................................ 58
Hình 4.3: K t qu đ u ra c a ch c năng đăng ký tƠi kho n .......................................................... 58
Hình 4.4: Báo cáo k t qu ki m th ch c năng đăng ký tƠi kho n ............................................... 59

Đỗ Thị Ph ng ậ D11CNPM1 viii


Đ án t t nghi p Đ i học L im đ u

L IM Đ U

Các ng d ng Web càng ngày càng phát tri n m nh m nhằm đáp ng t i đa


nh ng nhu c u c a ng i dùng và d n tr thành n n t ng k t n i thông tin thi t y u trong
nhi u doanh nghi p, đóng vai trò quy t định c a th ng m i đi n t , trao đ i thông tin.
Đ có th đ t đ c đi u này, các ng d ng Web c n ph i có hi u năng cao, đáng tin
c y,ầ 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ách th c chính trong đ m b o ch t l ng ph n m m. S
ph c t p, tính linh ho t và s ph thuộc c a các ng d ng vào một dịch v v i nhi u
ng i s d ng trên các n n t ng khác nhau (h đi u hành, trình duy t,ầ) là một thách
th c mà các nhà phát tri n website ph i đ i mặt. Đi u này d n t i vi c ki m th ng d ng
Web tr nên thi t y u đ i v i các d án ph n m m và c n ph i có nh ng ph ng pháp
đặc bi t khác v i ph n m m truy n th ng.
Trong khi đó, đ t o ra s n phẩm công ngh thông tin hay ph n m m có ch t l ng
thì ho t động ki m th ph n m m đóng vai trò quan trọng. Tuy nhiên, ki m th th công
l i chi m đ n h n 40% th i gian, kinh phí và ngu n nhân l c phát tri n d án ph n
m m[1]. Do v y, một lo t các công c hỗ tr ki m th đ n vị (nh TestNG, JUnit, NUnit,
TagUnit, JBehave,ầ), ki m th ch c năng (nh Selenium, Quicktest professional, IBM
Rational Functional tester,ầ), ki m th hi u năng (nh Jmeter, OpenSTA, Load
runner,...) đƣ ra đ i. Trong đó, Selenium lƠ một công c ki m th t động cho các ng
d ng Web, có th ki m th trên nhi u trình duy t, hỗ tr nhi u ngôn ng l p trình, giao
ti p đ c v i các công c ki m th khác nh JUnit, TestNG (v i Java) hay NUnit (v i
C#) vƠ đặc bi t công c này là một bộ mã ngu n m , do đó các t ch c không c n t n
kinh phí mua b n quy n.
Xu t phát t th c t đó, em đƣ chọn đ tài: ắNghiên c u Selenium WebDriver và
áp d ng trong ki m th ng d ng Web” v i mong mu n có đ c cái nhìn xác th c, rõ
rƠng h n v ki m th ph n m m và ti p c n đ c v i công c ki m th t động Selenium
đ làm ti n đ cho định h ng t ng lai khi t t nghi p đ i học s tr thành một kỹ s
ki m th ph n m m.
M c tiêu đ án
Đ án đ c th c hi n nhằm m c đích tìm hi u v ki m th ph n m m, ki m th t
động ph n m m, đặc bi t là ki m th các ng d ng Web và các công c ki m th t
động. Đ án t p trung nghiên c u vai trò, ph ng pháp cũng nh ng d ng c a Selenium
WebDriver trong vi c ki m th ng d ng Web. T đó, th c hi n phân tích, xây d ng các
test case cho các ch c năng c a một website; s d ng ngôn ng l p trình Java t o các test

Đỗ Thị Ph ng ậ D11CNPM1 1
Đ án t t nghi p Đ i học L im đ u

script t các test case đ ki m tra kh năng th c hi n đúng vƠ đ c a t ng ch c năng. K t


qu ki m th góp ph n đánh giá đ c ch t l ng c a Website đó.
V i m c đặt ra nh trên, nh ng nội dung và k t qu chính c a đ án đ c trình bày
trong b n ph n nh sau:
Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver
Ch ng 1 gi i thi u t ng quan v ki m th ph n m m, nêu lên vai trò ki m th trong
quá trình phát tri n d án ph n m m và quy trình ki m th ph n m m t động. Đ ng th i
t p trung tìm hi u vi c ki m th t động ng d ng Web, các b c ki m th và l a chọn
công c ki m th phù h p ậ Selenium WebDriver. T đó đi sơu vƠo tìm hi u công c
Selenium WebDriver v vai trò, u nh c đi m cũng nh các đặc tr ng vƠ các cơu l nh
mà công c hỗ tr .
Ch ng 2: Phân tích thi t k website bán hàng Fashionista.
Ch ng 2 t p trung phân tích và thi t k website, t o kịch b n, bi u đ tu n t , các s
đ l p và l c đ c s d li u. T đó xơy d ng lên một website hoàn chỉnh ph c v cho
vi c th c thi vi c ki m th t động v i công c Selenium WebDriver.
Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista
Ch ng 3 đi vƠo xây d ng kịch b n ki m th cho các ch c năng chính c a website.
Đ ng th i, đ a ra gi i pháp gi i quy t bài toán ki m th t động ng d ng Web, quy trình
th c thi ki m th t động vƠ đ a ra báo cáo cho k t qu ki m th .
Ch ng 4: Th c nghi m vƠ đánh giá k t qu
Áp d ng các ki n th c đƣ trình bƠy vƠo bƠi toán c th : S d ng công c ki m th t
động Selenium WebDriver đ ki m th t động các ch c năng đƣ phơn tích.

Đỗ Thị Ph ng ậ D11CNPM1 2
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

CH NG 1: T NG QUAN V KI M TH PH N M M VÀ
SELENIUM WEBDRIVER

 Ki m th ph n m m
 Ki m th t động
 Công c ki m th t động Selenium và Selenium WebDriver
 K t lu n ch ng

Ch ng đ u tiên c a đ án s đ a ra cái nhìn t ng quan v ki m th ph n m m,


nêu lên vai trò ki m th trong quá trình phát tri n d án ph n m m và quy trình ki m th
ph n m m t động. Đ ng th i t p trung tìm hi u vi c ki m th t động ng d ng Web,
các b c ki m th và l a chọn công c ki m th phù h p ậ Selenium WebDriver. T đó
đi sơu vƠo tìm hi u công c Selenium WebDriver v vai trò, u nh c đi m cũng nh các
đặc tr ng vƠ các câu l nh mà công c hỗ tr .

Đỗ Thị Ph ng ậ D11CNPM1 3
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

1.1. Ki m th ph n m m
1.1.1. Khái ni m ki m th ph n m m
Ki m th ph n m m có nhi u định nghĩa khác nhau đ xu t b i nhi u t ch c hay cá
nhơn khác nhau. D i đơy lƠ một s định nghĩa n i b t:
 Định nghĩa c a Myer(1979):
ắKi m th ph n m m là quá trình th c thi một ch ng trình v i m c đích tìm lỗi.”
 Hai định nghĩa c a IEEE(1990):
o Ki m th ph n m m là quá trình v n hành một h th ng hoặc một thành ph n c a
h th ng v i các đi u ki n xác định, nh n xét và ghi l i các k t qu , t o ra đánh giá
v nh ng khía c nh c a h th ng hay thành ph n đó.
o Ki m th ph n m m là quá trình phân tích các y u t ph n m m đ phát hi n
nh ng khác bi t gi a ch ng trình v i các đi u ki n yêu c u vƠ đánh giá các đặc
đi m c a các y u t ph n m m[6].
M c tiêu c a ki m th ph n m m:
 Các m c tiêu tr c ti p:
o Xác định và phát hi n nhi u lỗi nh t có th trong ph n m m đ c ki m th
o Sau khi s a ch a các lỗi đƣ xác định và ki m tra l i, làm cho ph n m m đƣ đ c
ki m th đ n một m c độ ch p nh n đ c v ch t l ng.
o Th c hi n các yêu c u ki m th c n thi t một cách hi u qu và có hi u qu , trong
ph m vi ngân sách và th i gian cho phép.
 Các m c tiêu gián ti p
o Đ 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.
1.1.2. Các c p đ ki m th ph n m m
Một s n phẩm ph n m m t khi b t đ u phát tri n đ n khi hoƠn thƠnh vƠ đ a đ n
tay ng i dùng cu i ph i tr i qua b n m c ki m th :

Ki m th đ n vị Các đ n vị và bộ ph n đ n lẻ

Ki m th tích h p Các nhóm bộ ph n

Ki m th h th ng Toàn bộ h th ng

Ki m th ch p nh n Toàn bộ h th ng nhìn t phía


khách hàng

Hình 1.1. Các c p đ ki m th ph n m m


Đỗ Thị Ph ng ậ D11CNPM1 4
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

 Ki m th đ n v - Unit Test
Ki m th đ n vị là m c th p nh t trong các m c độ ki m th . Đ n vị th ng có kích
th c nhỏ, ch c năng ho t động đ n gi n, không gây nhi u khó khăn trong vi c ki m th ,
ghi nh n và phân tích k t qu . Do đó, n u phát hi n lỗi thì vi c tìm ki m nguyên nhân và
s a lỗi cũng đ n gi n và t n ít chi phí h n. Tuy nhiên, ki m th m c đ n vị l i t n nhi u
th i gian đ th c hi n, ch a phát hi n đ c các lỗi x y ra khi tích h p[2].
 Ki m th th c hi n trên các hàm hay thành ph n riêng lẻ
 C n hi u bi t v thi t k ch ng trình vƠ code
 Th c hi n b i l p trình viên đ đ m b o th i gian do vi c phát hi n và s a lỗi c n
đ c th c hi n liên t c
 Ki m th tích h p - Integration Test
Ki m th tích h p k t h p các thành ph n c a một ng d ng và ki m th nh một
ng d ng đƣ hoƠn thƠnh. Trong khi Unit Test ki m tra các thành ph n và Unit riêng lẻ thì
Intgration Test k t h p chúng l i v i nhau và ki m tra s giao ti p gi a chúng.
M c tiêu:
 Phát hi n lỗi giao ti p x y ra gi a các Unit cũng nh lỗi c a b n thân t ng Unit
 Tích h p các Unit đ n lẻ thành các h th ng nhỏ và cu i cùng là nguyên h th ng
hoàn chỉnh chuẩn bị cho ki m tra m c h th ng
 Ki m th h th ng - System Test
Ki m th h th ng là một m c c a ti n trình ki m th ph n m m khi các module và
tích h p các module đƣ đ c ki m th thành công. System Test th ng đ c th c hi n
b i một nhóm ki m th viên hoƠn toƠn độc l p v i nhóm phát tri n d án v i m c tiêu là
đ đánh giá ph n m m có tuân th theo các yêu c u đƣ đ a ra không.
System Test ki m th c các hành vi ch c năng c a ph n m m l n các yêu c u v
ch t l ng nh độ tin c y, tính ti n l i khi s d ng, hi u năng vƠ b o m t. M c ki m th
nƠy đặc bi t thích h p cho vi c phát hi n lỗi giao ti p v i ph n m m hoặc ph n c ng bên
ngoài, chẳng h n các lỗi "t c ngh n" (deadlock) hoặc chi m d ng bộ nh .
 Ki m th ch p nh n - Acceptance Test
Thông th ng, sau giai đo n System Test lƠ Acceptance Test, đ c khách hàng
th c hi n hoặc y quy n cho một nhóm th ba th c hi n. M c đích c a Acceptance Test
lƠ đ ch ng minh ph n m m thỏa mãn t t c yêu c u c a khách hàng và khách hàng ch p
nh n s n phẩm.
1.2. Ki m th t đ ng
Ki m th ph n m m t n nhi u chi phí, nhân l c và th i gian. Trong một s d án,
chi phí ki m th ph n m m chi m 40% t ng giá trị c a d án. Do đó một trong các m c

Đỗ Thị Ph ng ậ D11CNPM1 5
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

tiêu c a ki m th là t động hóa nhi u, nh đó mƠ gi m thi u chi phí, gi m lỗi, đặc bi t


giúp vi c ki m th d dƠng vƠ nhanh chóng h n.
1.2.1. Khái ni m ki m th t đ ng
Ki m th t động là th c hi n ki m th ph n m m một cách t động các b c
trong một kịch b n ki m th bằng một ch ng trình đặc bi t v i r t ít hoặc không có s
t ng tác c a con ng i, giúp cho ng i th c hi n vi c ki m th ph n m m không ph i
lặp đi lặp l i các b c nhàm chán.
Công c ki m th t động có th l y d li u t file bên ngoài (Excel, csvầ) nh p vào
ng d ng, so sánh k t qu mong đ i (t file Excel, csvầ) v i k t qu th c t và xu t ra
báo cáo k t qu ki m th .
Ki m th t động s đ c s d ng khi d án không đ tài nguyên (th i gian, nhân l c
và chi phí), ph i th c hi n ki m th h i quy khi s n phẩm đ c s a đ i hoặc nâng c p và
c n ki m th l i các tính năng đƣ th c hi n t t tr c đó, ki m tra kh năng v n hành c a
s n phẩm trong các môi tr ng đặc bi t (đo t c độ x lý trung bình ng v i mỗi yêu c u,
xác định kh năng chịu t i t i đa, ki m tra các c ch an ninh và an toàn, ...).
1.2.2. Quy trình ki m th t đ ng
Quy trình ki m th t động g m các b c sau:
 L p k ho ch ki m th
 Thi t k test case
 Phát tri n test script
 Th c hi n ki m th
 Đánh giá k t qu ki m th
 L p k ho ch ki m th
M c đích: Nhằm chỉ định và mô t các lo i ki m th s đ c tri n khai và th c hi n.
K t qu c a b c l p k ho ch là b n tài li u k ho ch ki m th ph n m m, bao g m:
 Các giai đo n ki m th áp d ng cho d án ph n m m
 Chi n l c ki m th
 Các công c ki m th
 Ngu n l c ki m th
 Môi tr ng ki m th , bao g m tài nguyên ph n c ng và ph n m m
 M c bàn giao các tài li u ki m th
 Thi t k Test case
M c đích: Nhằm xác định các test case vƠ các b c ki m tra chi ti t cho mỗi phiên
b n ph n m m. Giai đo n thi t k test case là h t s c quan trọng, nó b o đ m t t c các
tình hu ng ki m th ắquét” h t t t c yêu c u c n ki m tra.

Đỗ Thị Ph ng ậ D11CNPM1 6
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

 Phát tri n Test Script


M c đích: B c nƠy th ng không b t buộc trong các lo i và m c ki m th , chỉ yêu
c u trong nh ng tr ng h p đặc thù c n thi t k , t o ra các test script có kh năng ch y
trên máy tính giúp t động hóa vi c th c thi các b c ki m tra đƣ định nghĩa b c thi t
k test case.
Trong đó, một test script đ c hi u là một nhóm mã l nh d ng đặc t kịch b n dùng đ
t động hóa một trình t ki m th , giúp cho vi c ki m th nhanh h n, hoặc cho nh ng
tr ng h p mà ki m th bằng tay s r t khó khăn hoặc không kh thi. Các test script có
th t o th công hoặc t o t động dùng công c ki m th t động.
 Th c hi n ki m th
M c đích: Th c hi n các b c ki m tra đƣ thi t k hoặc th c thi các test script n u
ti n hành ki m tra t động và ghi nh n k t qu .
 Đánh giá k t qu ki m th
M c đích: Đánh giá toƠn bộ quá trình ki m th , bao g m xem xét vƠ đánh giá k t qu
ki m th , li t kê lỗi, chỉ định các yêu c u thay đ i, và tính toán các s li u liên quan đ n
quá trình ki m th nh s gi , th i gian ki m th , s l ng lỗi, phân lo i lỗiầ
1.2.3. So sánh ki m th t đ ng và ki m th th công
 u đi m:
 Độ tin c y cao (Reliability): Nh s n định v t trội c a công c ki m th t động so
v i con ng i, đặc bi t trong tr ng h p có quá nhi u test case c n đ c th c thi, nên
độ tin c y c a ki m th t động th ng cao h n so v i ki m th th công .
 Kh năng lặp (Repeatability): công c ki m th t động ra đ i lƠ đ giúp cho các
tester không ph i lặp đi lặp l i các thao tác nh : nh p d li u, click, check k t qu ầ
một cách nhƠm chán v i độ tin c y vƠ n định cao.
 Kh năng tái s d ng d ng (Reusability): v i một bộ ki m th t động, ng i ta có th
s d ng cho nhi u phiên b n ng d ng khác nhau, đơy đ c gọi lƠ tính tái s d ng.
 T c độ cao (Fast): do th c thi b i máy nên t c độ c a ki m th t động nhanh h n
nhi u so v i t c độ c a con ng i. N u c n 5 phút đ th c thi một test case một cách
th công thì có th ng i ta chỉ c n kho ng 30 giơy đ th c thi một cách t động.
 Chi phí th p (Cost Reduction): n u áp d ng ki m th t động đúng cách, ng i ta có
th ti t ki m đ c nhi u chi phí, th i gian vƠ nhơn l c, do ki m th t động nhanh
h n nhi u so v i ki m th th công, đ ng th i nhơn l c c n đ th c thi vƠ b o trì
scripts không nhi u.
 Nh c đi m:
 Khó m rộng, khó b o trì (Poor scalability and maintainability): Trong cùng một d
án, đ m rộng ph m vi cho ki m th t động khó h n nhi u so v i ki m th th

Đỗ Thị Ph ng ậ D11CNPM1 7
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

công. S l ng công vi c ph i lƠm đ m rộng ph m vi cho ki m th t động lƠ nhi u


h n vƠ khó h n ki m th th công. Cũng v y, đ c p nh t một test case th công,
ng i ta chỉ c n m ra vƠ gõ, r t đ n gi n. Nh ng ki m th t động l i không đ n
gi n nh v y, c p nh t hay chỉnh s a yêu c u r t nhi u công vi c nh debug, thay đ i
d li u đ u vƠo, vƠ c p nh t code m i.
 Kh năng bao ph th p (Low coverage): do khó ng d ng, khó m rộng vƠ đòi hỏi
nhi u kỹ năng l p trình nên độ bao ph c a ki m th t động khá th p.
 V n đ công c vƠ nhơn l c (Technology vs. people issues): hi n nay cũng có nhi u
công c hỗ tr ki m th t động khá t t nh ng chúng v n còn nhi u h n ch . NgoƠi ra
ngu n nhơn l c có th s d ng thƠnh th o các công c nƠy cũng không nhi u.
1.2.4. M t s công c ki m th t đ ng ph bi n
- Selenium
- QuickTest Professional (QTP)
- Test Complete
- LoadTest
- Jmeter
- Visual Studio
- ầ
1.3. Công c ki m th t đ ng Selenium và Selenium WebDriver
1.3.1. Khái quát v Selenium
Selenium là một công c hỗ tr ki m th t động cho các ng d ng 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, Safari, ầ cũng nh các h đi u hƠnh ch y u nh Windows, Linux,
Mac,... Selenium cũng hỗ tr một s l n các ngôn ng l p trình Web ph bi n hi n nay
nh C#, Java, Perl, PHP, Python, Ruby,... Công c nƠy có th k t h p thêm v i một s
công c khác nh Junit và TestNG 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 .
a. Đặc đi m c a Selenium
 Mƣ ngu n m : Đơy lƠ đi m m nh nh t c a Selenium khi so sánh v i các test tool
khác. Vì lƠ mƣ ngu n m nên chúng ta có th s d ng mƠ không ph i lo l ng v phí
b n quy n hay th i h n s d ng.
 Cộng đ ng hỗ tr : vì lƠ mƣ ngu n m nên Selenium có một cộng đ ng hỗ tr khá
m nh m . Bên c nh đó, Google lƠ n i phát tri n Selenium nên chúng ta hoƠn toƠn có
th yên tơm v s h tr mi n phí khi có v n đ v Selenium. Tuy nhiên, đơy cũng lƠ
một đi m y u c a Selenium. Vì công c nƠy hoàn toàn mi n phí, cộng đ ng l i đông
nên một v n đ có th nhi u gi i pháp, vƠ có th một s gi i pháp lƠ không h u ích.
Mặc khác, chúng ta không th h i thúc hay ra deadline cho s hỗ tr .

Đỗ Thị Ph ng ậ D11CNPM1 8
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

 Selenium hỗ tr nhi u ngôn ng l p trình.


 Selenium hỗ tr ch y trên nhi u h đi u hƠnh khác nhau v i m c độ chỉnh s a script
h u nh lƠ không có. Th c s thì đi u nƠy ph thuộc ph n l n vƠo kh năng vi t script
c a ng i dùng.
 Ch y test case background. Khi chúng ta th c thi một test script, chúng ta hoàn toàn
có th lƠm vi c khác trên cùng một máy tính. Đi u nƠy hỗ tr chúng ta không c n t n
quá nhi u tƠi nguyên máy móc khi ch y test script.
 Không hỗ tr Win app. Selenium th c s chỉ hỗ tr chúng ta t ng tác v i Browser
mƠ không hỗ tr chúng ta lƠm vi c v i các Win app, k c Win dialog nh
Download/Upload. V y nên, đ x lý các tr ng h p c n t ng tác v i h th ng hay
một app th ba, chúng ta c n một hay nhi u th vi n khác nh AutoIt hay Coded UI.
Là một công c hỗ tr ki m tra tính năng nên Selenium không có kh năng gi l p
nhi u ng i dùng o cùng một lúc. Công vi c c a nó là ch y ki m th t động d a trên
một kịch b n đƣ đ c thi t k t tr c. Qua đó chúng ta có th ch c ch n rằng đ i t ng
ki m th có ho t động đúng nh mong đ i hay không.

b. Các thành ph n c a Selenium


Selenium lƠ một bộ công c hỗ tr ki m th t động các tính năng c a ng d ng trên
n n Web, bao g m 4 thƠnh ph n: Selenium IDE, Selenium Grid, Selenium 1.0 ( hay
Selenium Remote Control ậ Selenium RC) và Selenium 2.0 ( hay Selenium WebDriver).
Mỗi lo i có một vai trò c th trong vi c hỗ tr s phát tri n c a t động hóa ki m th
ng d ng web.
 Selenium IDE (Intergrated Development Environment)
Selenium IDE là đ c phát tri n d i hình th c add-on c a 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 có th sinh code t động hoặc n p các đo n mƣ vi t tay. Công c nƠy cung c p
ch c năng ắthu vƠ ch y l i” ậ Record and Playback. Sau đó ch y l i các cơu l nh nƠy đ
ki m th . Ch c năng nƠy r t h u d ng giúp ti t ki m th i gian vi t kịch b n ki m th .
Selenium IDE còn 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ầ[3].
Selenium Core: Đƣ đ c tích h p trong Selenium IDE. Selenium Core là một công
c ch y các test script vi t bằng Selenese. Th m nh c a công c này là có th ch y test
script trên g n nh t t c các trình duy t, nh ng l i yêu c u đ c cƠi đặt trên máy ch c a
website c n ki m tra. Đi u này là không th khi Tester không có quy n truy c p đ n máy
ch đó.

Đỗ Thị Ph ng ậ D11CNPM1 9
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

 Selenium RC (Remote Control)


Selenium Remote Control lƠ một framework ki m th cho phép th c hi n nhi u h n
vƠ tuy n tính các hƠnh động trên trình duy t. Nó cho phép cho phép các nhƠ phát tri n t
động hóa ki m th s d ng một ngôn ng l p trình cho tính linh ho t t i đa vƠ m rộng
trong vi c phát tri n logic th nghi m.
Công c này có th nh n các test script đ c thu b i Selenium IDE, cho phép chỉnh s a,
c i ti n linh động bằng nhi u ngôn ng l p trình khác nhau. Sau đó kh i động một trong
các trình duy t Web đ c chỉ định đ th c thi ki m th tr c ti p trên trình duy t đó.
Selenium RC còn cung c p kh năng l u l i k t qu ki m th ; cung c p một API
(Application Programming Interface) vƠ th vi n cho mỗi ngôn ng đ c hỗ tr : HTML,
Java, C#, Perl, PHP, Python và Ruby. Kh năng s d ng Selenium RC v i một ngôn ng
l p trình b c cao đ phát tri n các tr ng h p ki m th cũng cho phép ki m th t động
đ c tích h p v i một d án xơy d ng môi tr ng t động.
 Selenium WebDriver
Selenium WebDriver là s k th a t Selenium Remote Control, lƠm vi c tr c ti p
v i trình duy t m c h đi u hƠnh, cho phép g i l nh tr c ti p đ n trình duy t và xu t ra
k t qu .
 Selenium-Grid
Selenium ậ Grid 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.
Th c hi n ph ng pháp ki m tra phân b , ph i h p nhi u Selenium RC đ có th th c thi
trên nhi u trình duy t Web khác nhau trong cùng một lúc nhằm gi m thi u th i gian th c
hi n.
1.3.2. Selenium WebDriver
 Ti n thân c a Selenium WebDriver
Tr c khi Selenium WebDriver ra đ i và phát tri n thì Selenium RC là công c chính
trong su t một th i gian dài. Hi n nay, Selenium RC không đ c s d ng nhi u nh
Selenium WebDriver n a, tuy nhiên ng i dùng v n có th ti p t c phát tri n các kịch
b n ki m th v i Selenium RC.
Selenium RC là công c ph c v cho các công vi c ki m th đòi hỏi nhi u h n vi c thao
tác v i các website trên giao di n . Nó cho phép vi t các kịch b n ki m th t động ng
d ng Web v i s hỗ tr c a các ngôn ng l p trình nh Java, C#, Python, Pert, PHP đ
t o ra các tr ng h p ki m th ph c t p h n nh đọc và vi t các t p tin, truy v n c s d
li u, g i mail k t qu ki m th .

Đỗ Thị Ph ng ậ D11CNPM1 10
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

Các thành ph n c a Selenium RC g m:


 Máy ch Selenium: Th c hi n phân tích và ch y các l nh đ c g i đ n t 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.
 Các th vi n máy khách: cung c p s hỗ tr l p trình cho phép ch y l nh Selenium
t ch ng trình. Các th vi n máy khách hỗ tr cho các ngôn ng l p trình khác nhau
thì khác nhau. Giao di n l p trình là t p các ch c năng ch y l nh Selenium, trong mỗi
giao di n có một ch c năng l p trình hỗ tr Selenium.
 Đặc tr ng c a Selenium WebDriver
Selenium WebDriver (hay còn gọi là Selenium 2.0) k th a và phát tri n t
Selenium IDE, Selenium RC, Selenium Grid. Selenium WebDriver t ng tác tr c ti p v i
trình duy t mà không c n thông qua b t kỳ trung gian, không gi ng nh Selenium RC
ph thuộc vào một máy ch .
Tính năng chính trong Selenium 2.0 lƠ vi c tích h p WebDriver API. Ngoài vi c
gi i quy t một s h n ch trong Selenium RC API, Selenium WebDriver còn đ c thi t
k đ mang đ n một giao di n l p trình đ n gi n h n. Nó cho phép s d ng một trong s
các ngôn ng l p trình nh HTML, Java, .Net, Perl, Rubyầ đ t o kịch b n ki m th k t
h p v i s d ng các đi u ki n, vòng lặpầ khi n cho test script tr nên chính xác h n.
Selenium WebDriver còn đ c phát tri n t t h n đ hỗ tr cho các trang Web động
do các ph n t trong một trang Web động có th thay đ i b t c lúc nào, ngay c khi trang
đó không đ c t i l i. Vì v y, Selenium WebDriver đ c phát tri n đ hỗ tr quá trình
ki m th mà không c n ph i th c hi n l i khi có thay đ i x y ra[4].
 So sánh Selenium WebDriver và Selenium Remote Control
 S t ng tác th c t
WebDriver có tính t ng tác g n v i th c t h n vì nó th c hi n các hƠnh động tr c
ti p v i trình duy t gi ng nh các end-user trong th c t . Còn Selenium RC thì không
nh v y, khi s d ng Selenium RC, cái tr c ti p t ng tác v i trình duy t là Selenium
Core và vì v y s có một s tr ng h p k t qu tr v sai so v i th c t .
 C u trúc: C u trúc c a WebDriver đ n gi n h n Selenium RC.
WebDriver ki m soát trình duy t t c p độ h đi u hành. T t c nh ng gì chúng ta
c n khi s d ng WebDriver cho công vi c ki m th là t p l nh Selenium và một trình
duy t đ th c hi n các l nh đó. Ng c l i, Selenium RC có c u trúc ph c t p h n r t
nhi u. Thay vì vi c tr c ti p th c hi n và nh n ph n h i t trình duy t nh một end-user
thông th ng, khi s d ng Selenium RC chúng ta ph i qua r t nhi u b c trung gian nh
Hình 1.2.

Đỗ Thị Ph ng ậ D11CNPM1 11
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

Hình 1.2: Selenium RC


 T cđ
T c u trúc ho t động đ c mô t nh trên, có th th y t c độ th c thi và nh n ph n
h i t trình duy t khi s d ng WebDriver s nhanh h n vì nó th c hi n mọi hƠnh động
tr c ti p v i trình duy t còn Selenium RC thì ph i thông qua tr m trung gian và m t th i
gian h n cho vi c chuy n đ i nên th i gian đ nh n ph n h i t trình duy t s dƠi h n.
 Giao di n l p trình ng d ng API ậ Application Programming Interface
Các API mƠ Selenium WebDriver cung c p trong th vi n đ n gi n h n so v i
Selenium RC. Ví d nh , v i Selenium WebDriver, chúng ta chỉ có click; còn v i
Selenium RC, chúng ta có click, mouseDown, or mouseDownAt. H n n a, khi s d ng
Selenium RC, chúng ta xác định hƠnh động tr c r i m i đ n đ i t ng UI; ng c l i,
v i Selenium WebDriver, chúng ta xác định đ i t ng UI tr c r i m i nói đ n lƠm gì
trên nó.
Bên c nh đó, Selenium WebDriver không ph i không có đi m y u:
Đi m y u c a Selenium WebDriver đó lƠ mƣ ngu n c a nó không ch y trên Selenium
Grid đ c. Cho nên, khi mu n th c thi test case v i Selenium WebDriver trên nhi u trình
duy t khác nhau, chúng ta ph i c u hình bằng tay. Và các API mà Selenium WebDriver
cung c p không ho t động t t v i các thành ph n Ajax cũng nh các thƠnh ph n nh hộp
tho i hay c nh báo. Th i gian th c thi ca ki m th ch m b i Selenium WebDriver đòi
hỏi ph i b t và t t trình duy t Web mỗi l n th c hi n ca ki m th .

Đỗ Thị Ph ng ậ D11CNPM1 12
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

1.3.3. Các câu l nh s d ng trong Selenium WebDriver


a. Các câu l nh trình duy t
Selenium WebDriver có một s các câu l nh thao tác v i trình duy t nh m , đóng,
l y tiêu đ c a trang Web nh d i đơy:
- Câu l nh get
M c đích: Câu l nh này s d ng đ m một trang Web m i trong trình duy t hi n t i.
Cú pháp: drive.get(URL);
Trong đó: URL: LƠ url đ t i trang, nên s d ng một url đ y đ
- Câu l nh l y tiêu đ getTitle
M c đích: Câu l nh này s d ng đ l y tiêu đ c a trang Web hi n t i
Cú pháp: driver.getTitle();
- Câu l nh l y URL hi n t i getCurrentUrl
M c đích: Cơu l nh nƠy dùng đ l y URL c a trang hi n t i đƣ đ c t i trên trình
duy t.
Cú pháp: driver.getCurrentUrl();
- Câu l nh l y source c a trang Web getPageSource
M c đích: Cơu l nh nƠy dùng đ l y source c a trang đ c t i cu i cùng.
Cú pháp: driver.getPageSource();
b. Các câu l nh WebElement
Đ t ng tác v i một trang Web, c n ph i xác định vị trí c a ph n t trên trang Web,
WebDriver cung c p 2 ph ng th c ắFind Element” and ắFind Elements” đ xác định vị
trí c a ph n t trên trang Web.
 Ph ng th c ắFind Element” vƠ ắFind Elements”
S khác nhau gi a ph ng th c ắFind Element” vƠ ắFind Elements” lƠ tr v đ i
t ng WebElement, n u không ném một ngo i l và tr v một danh sách WebElement,
có th s tr v danh sách rỗng n u không c ph n t DOM phù h p v i truy v n. Ph ng
th c ắFind” l y vị trí hoặc đ i t ng truy v n gọi bằng ph ng th c ắBy”
- Tìm ph n t bằng ID: By ID
M c đích: Tìm vị trí c a ph n t bằng ID, n u tìm đ c id phù h p s tr v vị trí c a
ph n t , n u không có ph n t phù h p v i id s xu t hi n NoSuchElementException
Cú pháp: driver.findElement(By.id(""));
- Tìm ph n t bằng Name (By Name)

Đỗ Thị Ph ng ậ D11CNPM1 13
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

M c đích: Tìm vị trí c a ph n t bằng name, n u tìm đ c giá trị thuộc tính name phù
h p s tr v vị trí c a ph n t , n u không có ph n t phù h p v i thuộc tính name s xu t
hi n NoSuchElementException.
Cú pháp: driver.findElement(By.name(""));
- Tìm ph n t bằng Class Name (className)
M c đích: Tìm ph n t d a trên giá trị c a thuộc tính ắclass”.
Cú pháp: driver.findElement(By.className(""));
- Tìm ph n t bằng Link Text
M c đích: Tìm ph n t c a thẻ a bằng tên c a link ,
Cú pháp: driver.findElement(By.tagName(""));
c. Các câu l nh đi u h ng trình duy t
- Câu l nh forward
M c đích: L nh nƠy dùng đ đi đ n trang ti p theo, gi ng v i nút forward trên trình
duy t.
Cú pháp: driver.navigate().forward();
- Câu l nh back
M c đích: L nh nƠy dùng đ quay v trang tr c, gi ng v i nút back trên trình duy t.
Cú pháp: driver.navigate().back();
- Câu l nh refresh
M c đích: L nh nƠy dùng đ làm m i trang hi n t i .
Cú pháp: driver.navigate().refresh();
d. Các l nh switch
Một s trang Web có nhi u frames hoặc nhi u c a s . Selenium WebDriver gán id cho
mỗi c a s ngay khi đ i t ng WebDriver đ c kh i t o. Id nƠy đ c gọi là c a s x lý.
Selenium s d ng id duy nh t nƠy đ đi u khi n nhi u c a s . Trong đó, mỗi c a s có
một id duy nh t, do đó Selenium có th phân bi t đ c khi nó đ c chuy n sang đi u
khi n một c a s khác.
D i đơy lƠ một s câu l nh switch:
- Câu l nh getWindowHandle
M c đích: L nh nƠy dùng đ l y c a s x lý (window handle) c a c a s hi n t i.
Cú pháp: driver.getWindowHandle();
- Câu l nh getWindowHandles
M c đích: L nh nƠy dùng đ l y c a s x lý (window handle) c a t t c các c a s
hi n t i.

Đỗ Thị Ph ng ậ D11CNPM1 14
Đ án t t nghi p Đ i học Ch ng 1: T ng quan v ki m th ph n m m và Selenium WebDriver

Cú pháp: driver.getWindowHandles();
- Câu l nh Switch To Window
M c đích: L nh này dùng hỗ tr di chuy n gi a các c a s khác nhau thông qua tên
c a chúng bằng cách s d ng ph ng th c ắswitchTo”.
Cú pháp: driver.switchTo().window("windowName");
e. Các câu l nh wait
- Câu l nh implicitlyWait
M c đích: Đ i một th i gian nh t định tr c khi ném một ngo i l khi không th tìm
th y các ph n t trên trang web.
Cú pháp: drive.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
- Câu l nh pageLoadTimeout
M c đích: Thi t l p giá trị th i gian đ ch đ i cho trang Web hoàn thành
t i(loadding) tr c khi ném một lỗi.
Cú pháp: driver.manage().timeouts().pageLoadTimeout(100, SECONDS);
- Câu l nh setScriptTimeout
M c đích: Thi t l p giá trị th i gian ch đ i một kịch b n(script) không đ ng bộ đ
k t thúc vi c th c hi n tr c khi ném một lỗi. N u th i gian ch là tiêu c c, sau đó kịch
b n s ch y vô h n .
Cú pháp: driver.manage().timeouts().setScriptTimeout(100,SECONDS);
- Câu l nh sleep
M c đích: Cơu l nh này hi m khi đ c s d ng vì nó luôn luôn buộc các trình duy t
ch đ i một th i gian c th .
Cú pháp: thread.sleep(1000);
1.4. K t lu n ch ng
Ch ng 1 đƣ trình bƠy t ng quan v ki m th ph n m m, ki m th ph n m m t
động, quy trình ki m th t động ng d ng Web. Đ ng th i, cũng đi sơu tìm hi u công c
ki m th t động Selenium WebDriver và lí do l a chọn Selenium làm công c th c hi n
đ án.
Trong ch ng 2, đ án s trình bày c th phân tích thi t k website và xây d ng
ng d ng Web đ th c hi n ki m th .

Đỗ Thị Ph ng ậ D11CNPM1 15
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

CH NG 2: PHÂN TÍCH THI T K WEBSITE BÁN HÀNG


FASHIONISTA

 Xác định yêu c u bài toán


 Phân tích yêu c u
 Thi t k
 K t lu n ch ng

Ch ng 2 c a đ án t p trung phân tích và thi t k một website v i đ y đ các ch c


năng chính nh đăng nh p, đăng ký, xem thông tin s n phẩm, thêm s n phẩm vào giỏ
hƠng, đặt hàngầ T nh ng phân tích và thi t k này s xây d ng lên một trang Web đ c
dùng đ th c thi vi c ki m th t động v i công c Selenium WebDriver Ch ng 3.

Đỗ Thị Ph ng ậ D1CNPM1 16
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

2.1. Xác đ nh yêu c u h th ng


2.1.1. Xác đ nh và mô t các tác nhân
H th ng bán hàng th i trang online Fashionista bao g m các tác nhân:
 Khách hàng (Customer): tìm ki m s n phẩm, xem thông tin s n phẩm, xem danh
sách s n phẩm s n phẩm theo th lo i, thêm s n phẩm vào giỏ hàng, xem giỏ hàng,
thay đ i chi ti t giỏ hàng.
 Thành viên (Member): nh ng khách hƠng có thông tin đ c l u trong c s d li u
có th đăng nh p h th ng và đặt hàng.
 Ng i dùng (NonMember): ng i dùng có th đăng ký tài kho n m i khi ch a có
tài kho n truy c p h th ng.
2.1.2. Bi u đ ca s d ng
 Bi u đ ca s d ng c a h th ng

Hình 2.1: Bi u đ ca s d ng
 Mô t các ca s d ng
 U1: Login: tác nhơn đăng nh p vào h th ng.
 U2: Logout: tác nhơn đăng xu t khỏi h th ng.
 U3: Register: ng i dùng đăng ký tƠi kho n truy c p h th ng.

Đỗ Thị Ph ng ậ D1CNPM1 17
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 U4: Search product: tác nhân tìm ki m theo tên s n phẩm.


 U5: View product detail: tác nhân xem thông tin chi ti t c a s n phẩm.
 U6: Add product to carts: tác nhân thêm s n phẩm vào giỏ hàng.
 U7: View carts: tác nhân xem chi ti t giỏ hàng.
 U8: Edit Carts: tác nhơn thay đ i chi ti t giỏ hàng.
 U9: Order: thƠnh viên đặt mua hàng trong giỏ hàng.
2.1.3. Xây d ng k ch b n và phác th o giao di n
 Đăng nh p
Tên use case Đăng nh p
Tác nhân chính Thành viên
Ti n đi u ki n ThƠnh viên đƣ có tƠi kho n đ đăng nh p h th ng
Đ m b o thành công ThƠnh viên đăng nh p đ c vào h th ng
Đ m b o t i thi u Tr l i mƠn hình đăng nh p đ thành viên có th đăng nh p l i.
Kích ho t Thành viên chọn ch c năng đăng nh p.
Chuỗi s ki n chính
1. Thành viên kích ho t form đăng nh p.
2. H th ng hi n thị form đăng nh p g m các thông tin: tên tài kho n, m t khẩu, một
link ắForgot Your Password?” đ l y l i m t khẩu và một nút ắLogin”.
3. Thành viên nh p tài kho n, m t khẩu vƠ click vƠo nút ắLogin”.
4. H th ng ki m tra tính h p l c a tài kho n và m t khẩu
5. H th ng hi n thị giao di n chính c a h th ng.
Ngo i l :
2.1.Thành viên nh p tài kho n và m t khẩu sai
2.1.1. H th ng thông báo lỗi và yêu c u nh p l i.
2.1.2. Thành viên nh p l i thông tin tài kho n và th c hi n các b c sau.
2.2. Tài kho n thƠnh viên đăng nh p không t n t i
2.2.1. H th ng thông báo lỗi và yêu c u ng i dùng nh p l i.
2.2.2. Thành viên nh p l i thông tin tài kho n và th c hi n các b c sau.
B ng 2.1. K ch b n use case đăng nh p
 Đăng ký tƠi kho n

Tên use case Đăng ký tƠi kho n


Tác nhân chính Ng i dùng

Đỗ Thị Ph ng ậ D1CNPM1 18
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

Ti n đi u ki n Ng i dùng kích ho t giao di n c a h th ng.


Đ m b o thành công Ng i dùng đăng ký tƠi kho n thành công.
Đ m b o t i thi u Tr l i mƠn hình đăng ký tƠi kho n đ ng i dùng có th t o l i
tài kho n.
Kích ho t Ng i dùng chọn ch c năng đăng ký tƠi kho n.
Chuỗi s ki n chính
1. Ng i dùng kích ho t form đăng ký tƠi kho n.
2. H th ng hi n thị form đăng ký tƠi kho n g m các thông tin nh : tên tài kho n,
m t khẩu, xác nh n m t khẩu, tên ng i dùng, địa chỉ, gi i tính, email, s đi n
tho i và một nút ắRegister”
3. Khách hàng nh p thông tin tài kho n g m: tên tài kho n, m t khẩu, xác nh n m t
khẩu, tên ng i dùng, địa chỉ, gi i tính, email, s đi n tho i và click vào nút
ắRegister”.
4. H th ng ki m tra tính h p l c a các thông tin, l u thông tin ng i dùng vƠo c
s d li u.
5. H th ng hi n thị thông báo đăng ký thƠnh công.
Ngo i l :
3.1. H th ng thông báo tài kho n đƣ t n t i
3.1.1. H th ng yêu c u nh p l i tên tài kho n
3.1.2. Ng i dùng nh p l i tên tài kho n và ti p t c các b c sau.
3.2. H th ng thông báo thông tin ng i dùng không h p l
3.2.1. H th ng yêu c u nh p l i thông tin tài kho n
3.2.2. Ng i dùng nh p l i thông tin tài kho n và ti p t c các b c sau
B ng 2.2. K ch b n use case đăng ký tƠi kho n
 Tìm ki m s n ph m

Tên use case Tìm ki m s n ph m


Tác nhân chính Khách hàng
Ti n đi u ki n Khách hàng kích ho t giao di n c a h th ng.
Đ m b o thành công Khách hàng tìm ki m s n phẩm thành công.
Đ m b o t i thi u Hi n thị mƠn hình chính đ Khách hàng có th tìm ki m l i.
Kích ho t Khách hàng chọn ch c năng tìm ki m.

Đỗ Thị Ph ng ậ D1CNPM1 19
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

Chuỗi s ki n chính
1. Khách hàng kích ho t giao di n chính c a h th ng.
2. H th ng hi n thị giao di n chính v i danh s n phẩm các s n phẩm c a h th ng và
một ô nh p tên s n phẩm.
3. Khách hàng nh p vào ô tìm ki m tên s n phẩm và chọn enter.
4. H th ng tìm ki m s n phẩm trong c s d li u và tr v danh s n phẩm s n phẩm
mà Khách hàng yêu c u tìm ki m.
Ngo i l :
3.1. H th ng thông báo không có s n phẩm v i tên khách hàng yêu c u tìm ki m
3.1.1. H th ng yêu c u Khách hàng nh p l i tên s n phẩm
3.1.2. Khách hàng nh p l i tên s n phẩm và ti p t c các b c sau.
B ng 2.3. K ch b n use case tìm ki m s n ph m
 Xem thông tin s n ph m
o Xem thông tin s n ph m t form tìm ki m

Tên use case Xem thông tin s n ph m


Tác nhân chính Khách hàng
Ti n đi u ki n Khách hƠng tìm ki m s n phẩm thƠnh công công.
Đ m b o thành công Khách hàng xem thông tin s n phẩm thành công.
Đ m b o t i thi u Tr l i màn hình chính.
Kích ho t Khách hàng chọn s n phẩm c n xem thông tin.
Chuỗi s ki n chính
1. Khách hàng kích ho t giao di n chính c a h th ng.
2. H th ng hi n thị giao di n chính v i danh sách các s n phẩm c a h th ng và một ô
nh p tên s n phẩm.
3. Khách hàng nh p vào ô tìm ki m tên s n phẩm và chọn enter.
4. H th ng tìm ki m s n phẩm trong c s d li u và tr v danh sách s n phẩm mà
Khách hàng yêu c u tìm ki m g m tên s n phẩm, hình nh và giá s n phẩm.
5. Khách hàng click chọn một s n phẩm trong danh s n phẩm s n phẩm v a tìm ki m.
6. H th ng hi n thị thông tin chi ti t s n phẩm đƣ chọn bao g m: tên s n phẩm, th lo i,
giá s n phẩm, tr ng thái s n phẩm, một ô nh p s l ng và một nút ắAdd to carts”.
Ngo i l :
3.1. H th ng thông báo không có s n phẩm v i tên khách hàng yêu c u tìm ki m

Đỗ Thị Ph ng ậ D1CNPM1 20
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

3.1.1. H th ng yêu c u Khách hàng nh p l i tên s n phẩm


3.1.2. Khách hàng nh p l i tên s n phẩm và ti p t c các b c sau.
B ng 2.4. K ch b n use case xem thông tin s n ph m t form tìm ki m
o Xem thông tin s n ph m t form Xem chi ti t gi hàng

Tên use case Xem thông tin s n ph m


Tác nhân chính Khách hàng
Ti n đi u ki n Khách hàng thêm s n phẩm vào giỏ hàng thành công.
Đ m b o thành công Khách hàng xem thông tin s n phẩm thƠnh công
Đ m b o t i thi u Tr l i giao di n xem chi ti t giỏ hàng.
Kích ho t Khách hàng chọn s n phẩm c n xem thông tin.
Chuỗi s ki n chính
1. Khách hàng kích ho t form Xem chi ti t giỏ hàng
2. H th ng hi n thị danh s n phẩm s n phẩm g m: hình nh, tên s n phẩm, giá s n
phẩm, s l ng s n phẩm, t ng ti n, một link Delete s n phẩm, một nút ắContinue
shopping”, một nút ắUpdate shopping carts” vƠ một nút ắProceed to checkout”.
3. Khách hàng click vào nh c a một s n phẩm trong danh s n phẩm c a giỏ hàng.
4. H th ng hi n thị thông tin chi ti t s n phẩm đƣ chọn bao g m: tên s n phẩm, th lo i,
giá s n phẩm, tr ng thái s n phẩm, một ô nh p s l ng và một nút ắAdd to carts”.
B ng 2.5. K ch b n use case xem thông tin s n ph m t form xem chi ti t gi hàng
 Thêm s n ph m vào gi hàng

Tên use case Thêm s n ph m vào gi hàng


Tác nhân chính Khách hàng
Ti n đi u ki n Khách hàng xem thông tin s n phẩm thành công.
Đ m b o thành công H th ng thêm thành công s n phẩm vào giỏ hàng c a khách
hàng
Đ m b o t i thi u Tr l i màn hình xem thông tin s n phẩm
Kích ho t Khách hàng chọn ắAdd to Carts” t Form Xem thông tin s n
phẩm.
Chuỗi s ki n chính:
1. Khách hàng kích ho t form Xem thông tin s n phẩm

Đỗ Thị Ph ng ậ D1CNPM1 21
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

2. H th ng hi n thị form Xem thông tin s n phẩm bao g m các thông tin: tên s n
phẩm, th lo i, giá s n phẩm, tr ng thái s n phẩm, một ô nh p s l ng và một nút
ắAdd to carts”.
3. Khách hàng nh p s l ng s n phẩm và chọn ắAdd to carts”.
4. H th ng thêm s n phẩm v i s l ng khách hƠng đƣ chọn vào giỏ hàng
5. H th ng hi n thị giao di n xem chi ti t giỏ hàng.
Ngo i l :
3.1. S l ng s n phẩm khách hàng nh p không h p l .
3.1.1 H th ng yêu c u khách hàng nh p l i s l ng s n phẩm.
3.1.2 Khách hàng nh p l i thông tin s n phẩm và ti p t c th c hi n các b c sau.
B ng 2.6. K ch b n use case Thêm s n ph m vào gi hàng
 S as l ng s n ph m

Tên use case S as l ng sách trong gi hƠng


Tác nhân chính Khách hƠng
Ti n đi u ki n Khách hƠng xem chi ti t giỏ hƠng
Đ m b o thành công S l ng s n phẩm trong giỏ hàng đ c c p nh t thành công.
Đ m b o t i thi u Tr l i màn hình xem chi ti t giỏ hàng
Kích ho t Khách hƠng chọn nút ắUpdate shopping carts” trên Form Xem
chi ti t giỏ hƠng
Chuỗi s ki n chính:
1. Khách hƠng kích ho t form Xem chi ti t giỏ hƠng
2. H th ng hi n thị danh s n phẩm s n phẩm g m: hình nh, tên s n phẩm, giá s n
phẩm, s l ng s n phẩm, t ng ti n, một link Delete s n phẩm, một nút ắContinue
shopping”, một nút ắUpdate shopping carts” vƠ một nút ắProceed to checkout”.
3. Khách hƠng s a s l ng s n phẩm t ng ng v i tên s n phẩm mu n s a s
l ng, vƠ click chọn ắUpdate shopping carts”.
4. H th ng ki m tra s l ng s n phẩm, c p nh t l i s l ng s n phẩm trong giỏ
hàng và hi n thị l i giao di n Xem chi ti t giỏ hàng.
Ngo i l :
3.1. S l ng s n phẩm khách hàng nh p không h p l .
3.1.1 H th ng yêu c u khách hàng nh p l i s l ng s n phẩm.
3.1.2 Khách hàng nh p l i thông tin s n phẩm và ti p t c th c hi n các b c sau.
B ng 2.7. K ch b n use case S a s l ng s n ph m
Đỗ Thị Ph ng ậ D1CNPM1 22
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 Xóa s n ph m trong gi

Tên use case X a sách trong gi hƠng


Tác nhân chính Khách hƠng
Ti n đi u ki n Khách hƠng xem chi ti t giỏ hƠng
Đ m b o thành công S n phẩm đ c xóa khỏi giỏ hƠng
Đ m b o t i thi u Tr l i màn hình xem chi ti t giỏ hàng
Kích ho t Khách hƠng chọn ắDelete” trên Form Xem chi ti t giỏ hƠng
Chuỗi s ki n chính:
1. Khách hƠng kích ho t form Xem chi ti t giỏ hƠng
2. H th ng hi n thị danh s n phẩm s n phẩm g m: hình nh, tên s n phẩm, giá s n
phẩm, s l ng s n phẩm, t ng ti n, một link Delete s n phẩm, một nút ắContinue
shopping”, một nút ắUpdate shopping carts” vƠ một nút ắProceed to checkout”.
3. Khách hƠng click chọn ắDelete” t ng ng v i sách c n xóa.
4. H th ng xóa s n phẩm trong giỏ hàng
5. H th ng hi n thị l i giao di n xem chi ti t giỏ hàng.
B ng 2.8. K ch b n use case xóa s n ph m trong gi hàng
 Đặt hàng

Tên use case Đặt hàng


Tác nhân chính Thành viên
Ti n đi u ki n Khách hƠng đƣ đăng nh p thành và xem giỏ hàng thành công.
Đ m b o thành công ThƠnh viên đặt hàng thành công.
Đ m b o t i thi u Tr l i màn hình xem chi ti t giỏ hàng.
Kích ho t Khách hàng chọn ắProceed to checkout” t Form Xem chi ti t
giỏ hàng .
Chuỗi s ki n chính
1. Khách hàng kích ho t form Xem chi ti t giỏ hàng.
2. H th ng hi n thị danh s n phẩm s n phẩm g m: hình nh, tên s n phẩm, giá s n
phẩm, s l ng s n phẩm, t ng ti n theo t ng s n phẩm, một link Delete s n
phẩm, một nút ắContinue shopping”, một nút ắUpdate shopping carts”, t ng s s n
phẩm, t ng ti n và một nút ắProceed to checkout”.
3. Thành viên click chọn ắProceed to checkout”.

Đỗ Thị Ph ng ậ D1CNPM1 23
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

4. H th ng hi n thị thông tin hóa đ n g m có: thông tin c a danh sách các s n phẩm
thành viên mu n đặt hàng; form nh p thông tin giao hàng bao g m: tên ng i
nh n, địa chỉ ng i nh n, địa chỉ email, s đi n tho i và tùy chọn ắOrder”,
ắCancel”.
5. Khách hàng nh p tên ng i nh n, địa chỉ ng i nh n, địa chỉ email, s đi n tho i
và click chọn ắOrder”.
6. H th ng ki m tra các thông tin: s n phẩm đặt hƠng, thông tin ng i nh n hàng và
c p nh t thông tin đặt hƠng vƠo c s d li u.
7. H th ng hi n thị form hóa đ n g m các thông tin: danh sách s n phẩm ng i
dùng đặt mua, t ng ti n, thông tin giao hàng g m: tên ng i nh n, địa chỉ ng i
nh n, gi i tính, email, s đi n tho i và một nút ắContinue shopping”.
Ngo i l :
5.1. H th ng thông báo s l ng s n phẩm thƠnh viên đặt mua không h p l .
5.1.1 H th ng yêu c u nh p l i s l ng s n phẩm.
5.1.2 Thành viên nh p l i s l ng s n phẩm và ti p t c các b c sau.
5.1. H th ng thông báo thông tin ng i nh n không h p l .
5.1.1 H th ng yêu c u nh p l i thông tin ng i nh n.
5.1.2 Thành viên nh p l i s l ng s n phẩm và ti p t c các b c sau.
B ng 2.9. K ch b n use case Đặt hàng
2.2. Phân tích và thi t k
2.2.1. Phân tích yêu c u
a. Mô t h th ng
Khách hàng sau khi truy c p vào h th ng thì có th th c hi n các ch c năng nh
tìm ki m s n phẩm, xem thông tin s n phẩm, xem danh sách s n phẩm theo th lo i, thêm
s n phẩm vào giỏ hàng, xem chi ti t giỏ hƠng, thay đ i giỏ hàng mà không c n đăng nh p
vào h th ng. Sau khi xem giỏ hàng, khách hàng có th th c hi n đặt hàng. N u thành
viên đƣ đăng nh p thì thành viên s nh p thông tin giao hƠng đ đặt hàng. N u khách
hƠng ch a đăng nh p thì h th ng s yêu c u khách hƠng đăng nh p vào h th ng. Đ i v i
nh ng ng i dùng ch a có tƠi kho n đ đăng nh p vào h th ng thì ng i dùng có th
đăng ký tƠi kho n m i.
b. Trích các l p ậ Trích danh t
Khách hàng, Giỏ hàng, S n phẩm, S n phẩm, Hóa đ n, Th lo i, H th ng, Thành
viên, ng i dùng.
 Trích l p đi u khi n
Mỗi module chính có một l p đi u khi n:
Đỗ Thị Ph ng ậ D1CNPM1 24
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 BillDAO
 CartsDAO
 CustomerDAO
 PoductsDAO
 Trích l p biên
 Giao di n chính: HomePages.jsp
 Giao di n đăng nh p: Login.jsp
 Giao di n đăng ký tƠi kho n: Register.jsp
 Giao di n xem chi ti t s n phẩm: Product_view.jsp
 Giao di n xem danh s n phẩm s n phẩm theo th lo i: CategoryGrid.jsp
 Giao di n đặt hàng: Checkout.jsp
 Giao di n yêu c u l y l i m t khẩu: PasswordRetrieval.jsp
 Giao di n xem giỏ hàng: ShoppingCart.jsp
 Giao di n xem k t qu tìm ki m theo tên s n phẩm: ViewSearch.jsp
2.2.2. Thi t k ki n trúc
a. L a ch n công ngh s d ng cho h th ng
 H th ng: S d ng mô hình MVC2, công ngh JSP và Servlet
 Giao di n Web: s d ng HTML và Javascript
 Database: Microsoft SQL Server
 Server: Apache Tomcat

 T ng trình di n: Hi n thị giao di n t ng tác v i ng i s d ng


b. T ng quan v c u trúc phân t ng c a h th ng

 T ng nghi p v
Mỗi l p trong t ng nghi p v đ u ch a một th hi n c a l p DAO. M c đích c a vi c
xây d ng t ng nghi p v là đ tăng tính lòng lẻo trong vi c xây d ng h th ng, đ ng th i
tránh vi c truy c p tr c ti p v i c s d li u.
 T ng truy c p d li u
- Truy c p c s d li u v i JDBC
- T ng này s qu n lý vi c: đọc d li u, ghi d li u, c p nh t và xóa d li u trong c
s d li u.
- Các l p DAO s thao tác tr c ti p v i c s d li u và các l p DAO s đ c gọi
đ n t các l p k th a t ng nghi p v .
 Các l p dùng chung
- Value Objects: l p th c th
- Gói utility: ch a các l p tĩnh, đ c s d ng chung cho toàn bộ h th ng

Đỗ Thị Ph ng ậ D1CNPM1 25
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

2.2.3. Thi t k chi ti t


a. Bi u đ l p thi t k

Hình 2.2: Bi u đ l p thi t k


Trong đó:
 Customer: l p ch a các thông tin cá nhân và thông tin tài kho n c a thành viên
 Vendor: l p ch a thông tin nhà cung c p s n phẩm
 Categories: l p ch a thông tin th lo i c a s n phẩm
 ImageProduct: địa chỉ c c bộ c a các hình nh c a s n phẩm
 Products: l p ch a các thông tin c a s n phẩm. Quan h gi a Vendor, Categories,
ImageProduct v i Products là quan h h p thƠnh, khi đ i t ng s n phẩm đ c t o
ra thì đ i t ng Vendor, Categories, ImageProduct cũng đ ng th i đ c t o ra.

Đỗ Thị Ph ng ậ D1CNPM1 26
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 CartsDetail: l p chi ti t giỏ hàng ch a s n phẩm và s l ng s n phẩm trong giỏ


hàng. Quan h gi a CartsDetail và Products là quan h k t h p. Trong đó, products
là thành ph n c a CartsDetail
 Carts: l p liên k t ch a danh sách thông tin chi ti t s n phẩm và th i gian thêm vào
giỏ hàng. Quan h gi a CartsDetail và Carts là quan h h p thành.
 Recipient: l p ng i nh n ch a thông tin ng i nh n hàng
 Bill: l p hóa đ n ch a các thông tin đặt hàng. Quan h gi a Customer, Carts v i
Bill là quan h k t h p. Trong đó, customer vƠ carts lƠ thƠnh ph n c a Bill. Quan
h gi a Recipient v i Bill là quan h h p thƠnh, khi đ i t ng Bill đ c t o ra thì
đ i t ng ng i nh n cũng đ ng th i đ c t o ra.

b. Bi u đ tu n t
 Ch c năng đăng ký tƠi kho n

Hình 2.4: Bi u đ tu n t ch c năng đăng ký tƠi kho n

Khi ng i dùng chọn ch c năng đăng ký trên giao di n chính, h th ng s gọi hi n thị
giao di n đăng ký. Sau khi ng i dùng nh p các thông tin và chọn đăng ký, l p
RegisterAction s nh n yêu c u và g i t i l p CustomerDAO ki m tra và x lý thông qua
l i gọi hàm trong l p nghi p v CustomerBO. N u thông tin ng i dùng h p l , h th ng
s thêm thông tin vƠo c s d li u c a h th ng và l p RegisterAction g i l i thông báo
thƠnh công. Ng c l i, l p RegisterAction s g i l i một thông báo lỗi trên giao di n
đăng ký.

Đỗ Thị Ph ng ậ D1CNPM1 27
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 Ch c năng thêm s n phẩm vào giỏ hàng

Hình 2.5: Bi u đ tu n t ch c năng thêm s n ph m vào gi hàng

Đ có th thêm s n phẩm vào giỏ hƠng, tr c tiên khách hàng c n ph i xem thông
tin chi ti t c a s n phẩm đó. T i giao di n chính, khi khách hàng chọn xem thông tin một
s n phẩm, l p nghi p v ProductsBO s gọi đ n hàm tìm ki m s n phẩm trong l p
ProductsDAO. Sau khi tìm ki m, l p ProductsDAO s g i tr v thông tin chi ti t c a s n
phẩm đ hi n thị. T i giao di n xem thông tin s n phẩm, khách hàng nh p s l ng và
chọn thêm vào giỏ hàng. L p CartsAction s nh n yêu c u và gọi đ n l p nghi p v
CartsBO yêu c u l p CartsDAO ki m tra và x lý. N u s l ng s n phẩm là h p l ,
CartsDAO s l u l i thông tin chi ti t c a s n phẩm vào giỏ hƠng. Ng c l i, n u s
l ng s n phẩm không h p l , h th ng s g i l i một thông báo lỗi t i giao di n xem
thông tin s n phẩm.

Đỗ Thị Ph ng ậ D1CNPM1 28
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 Ch c năng đăng nh p

Hình 2.3: Bi u đ tu n t ch c năng đăng nh p


Khi ng i dùng l a chọn ch c năng đăng nh p trên giao di n chính, h th ng s
gọi hi n thị giao di n c a ch c năng đăng nh p. Sau khi ng i dùng nh p tên tài kho n,
m t khẩu và xác nh n đăng nh p, l p LoginAction s nh n yêu c u c a ng i dùng và gọi
đ n hàm ki m tra trong l p CustomerDAO thông qua l p nghi p v CustomerBO. Sau
khi ki m tra, l p LoginAction s g i l i thông báo t i giao di n đăng nh p n u thông tin
ng i dùng nh p không chính xác. Ng c l i, h th ng s chuy n sang trang giao di n
chính đ ng i dùng có th mua hàng.
2.2.4. L c đ c s d li u
a. M i l p th c th đ xu t thƠnh m t b ng t ng ng trong CSDL
 b ng Customer
 b ng Bill
 b ng CartsDetail
 b ng Carts
 b ng Categories
 b ng Vendor
 b ng Products
 b ng ImagesProduct
b. Quan h gi a các b ng
 Products ch a Vendor, Categories vƠ ImagesProduct; cho khóa chính c a b ng
Vendor, Categories vƠ ImagesProduct thƠnh các thuộc tính khóa ngo i c a Products.

Đỗ Thị Ph ng ậ D1CNPM1 29
Đ án t t nghi p Đ i học Ch ng 2:Phơn tích thi t k website bán hàng Fashionista

 CartsDetail ch a Products; cho khóa chính c a b ng Products thƠnh một thuộc tính
khóa ngo i c a b ng CartsDetail
 Carts ch a danh sách các CartsDetail; cho khóa chính c a b ng Carts thƠnh một thuộc
tính khóa ngo i c a b ng CartsDetail
 Bill ch a Carts, Customer vƠ Recipient; cho khóa chính c a b ng Carts, Customer,
Recipient thƠnh các thuộc tính khóa ngo i c a b ng CartsDetail
c. L c đ c s d li u

Hình 2. 6: L c đ c s d li u
2.3. K t lu n ch ng
Ch ng 2 c a đ án đƣ phơn tích vƠ thi t k website, v bi u đ tu n t , các s đ
l p vƠ l c đ c s d li u, t o kịch b n cho các ch c năng chính: đăng nh p, đăng ký,
xem thông tin s n phẩm, thêm s n phẩm vào giỏ hàng, s a giỏ hàng, đặt hàng. T nh ng
phân tích và thi t k này xây d ng lên website bán hàng online.
Trong ch ng 3 s th c hi n thi t k các test case cho các ch c năng chính c a h
th ng và đ a ra ph ng h ng gi i quy t cho bài toán ki m th t động ng d ng Web.

Đỗ Thị Ph ng ậ D1CNPM1 30
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

CH NG 3: NG D NG SELENIUM WEBDRIVER TRONG KI M


TH WEBSITE FASHIONISTA

 Thi t k test case cho các ch c năng chính


 H ng gi i quy t bài toán và th c thi ki m th t động
 K t lu n ch ng

Ch ng 3 t p trung xây d ng kịch b n ki m th cho các ch c năng chính c a website.


Đ ng th i đ a ra quy trình th c thi ki m th t động, ph ng h ng gi i quy t bài toán
vƠ đ a ra báo cáo cho k t qu ki m th .

Đỗ Thị Ph ng ậ D11CNPM1 31
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

3. 1. Thi t k test case cho các ch c năng chính


Thi t k test case: M c đích nhằm chỉ định các test case vƠ các b c ki m th chi
ti t cho mỗi phiên b n ph n m m. Giai đo n thi t k test case là h t s c quan trọng, nó
b o đ m t t c các tình hu ng ki m tra ắquét” h t t t c yêu c u c n ki m tra.
3.1.1. Ch c năng đăng ký
a. Đặc t kỹ thu t c a ch c năng đăng ký
Đ s d ng ch c năng đặt hàng c a h th ng thì ng i dùng b t buộc ph i có tài
kho n và đăng nh p vào h th ng. Khi ch a có tƠi kho n truy c p h th ng, khách hàng
có th đăng ký tài kho n m i.
 Trang đăng ký tài kho n m i g m:
 Tên tài kho n, m t khẩu, xác nh n m t khẩu, tên ng i dùng, địa chỉ, gi i tính,
email, s đi n tho i. Trong đó: gi i tính có hai l a chọn lƠ ắMale”,ắFemale” vƠ giá
trị đ c đ mặc định ắMale”.
 Một nút ắRegister”: Khi click vào button này thì h th ng s thông báo đăng ký
thành công n u các tr ng đăng ký đ u đ c nh p các giá trị h p l .

Tên tr ng B t bu c Kho ng h p l Khác


Không đ c bỏ tr ng
Tên tài kho n Có 3 - 20 kí t ch Tên đăng nh p ch a t n t i trong c
s d li u
M t khẩu Có 6 - 20 kí t ch Không đ c bỏ tr ng
Xác nh n m t Không đ c bỏ tr ng
khẩu Có 6 - 20 kí t ch Ph i trùng v i M t khẩu đ c nh p
tr ng Password
Tên ng i dùng Có Không Không đ c bỏ tr ng
Địa chỉ Có Không Không đ c bỏ tr ng
Email Có Không Không đ c bỏ tr ng
Ph i nh p đúng định d ng email
Không đ c bỏ tr ng
Chỉ bao g m 10 Chỉ bao g m các kí t s
S đi n tho i Có hoặc 11 kí t s Ph i là s nguyên d ng
Không ch a d u cách
Không ch a các kí t
B ng 3.1: Mô t yêu c u ch c năng đăng ký

Đỗ Thị Ph ng ậ D11CNPM1 32
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

b. Phơn tích các tr ng h p ki m th


 Test Validate (Ki m tra tính h p l c a các giá trị đ u vào)
 Account:
o D a vào kho ng h p l đƣ đ c mô t trong đặc t kỹ thu t, s d ng kỹ thu t phân
vùng t ng đ ng, chúng ta xác định đ c 3 vùng giá trị (s l ng) c n test nh sau:
+ Vùng h p l : vùng t 3 đ n 20 kí t ch
+ Vùng không h p l : vùng ít h n 3 kí t , vùng t 21 kí t ch tr lên
o D a vào các yêu c u khác, chúng ta có 3 vùng t ng đ ng n a là
+ Vùng h p l : tên ch a t n t i
+ Vùng không h p l : vùng kho ng tr ng, tên đƣ có trong c s d li u
 Password:
+ Vùng h p l : vùng t 6 đ n 20 kí t ch
+ Vùng không h p l : vùng ít h n 6 kí t , vùng t 21 kí t ch tr lên
 Reenter pasword:
o D a vào kho ng h p l đƣ đ c mô t trong đặc t kỹ thu t, s d ng kỹ thu t phân
vùng t ng đ ng, chúng ta xác định đ c 3 vùng giá trị (s l ng) c n test nh sau:
+ Vùng h p l : vùng t 6 đ n 20 kí t ch
+ Vùng không h p l : vùng ít h n 6 kí t , vùng t 21 kí t ch tr lên
o D a vào các yêu c u khác, chúng ta có 2 vùng t ng đ ng n a là:
+ Vùng h p l : Reenter password trùng v i Password
+ Vùng không h p l : Reenter password không trùng v i Password
 Name:
+ Vùng h p l : vùng kí t ch , kí t s
+ Vùng không h p l : kho ng tr ng
 Address:
+ Vùng h p l : vùng kí t ch , kí t s
+ Vùng không h p l : kho ng tr ng
 Email:
+ Vùng h p l : vùng kí t ch , kí t s
+ Vùng không h p l : vùng kho ng tr ng, vùng vai định d ng email
 Phonenumber:
o D a vào kho ng h p l đƣ đ c mô t trong đặc t kỹ thu t, s d ng kỹ thu t phân
vùng t ng đ ng, chúng ta xác định đ c 3 vùng giá trị (s l ng) c n test nh sau:

Đỗ Thị Ph ng ậ D11CNPM1 33
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

+ Vùng h p l : vùng t 10 đ n 11 kí t s
+ Vùng không h p l : vùng ít h n 10 kí t , vùng t 12 kí t ch tr lên
o D a vào các yêu c u khác, chúng ta có 2 vùng t ng đ ng n a là
+ Vùng h p l : vùng kí t s
+ Vùng không h p l : vùng kí t ch , vùng kho ng tr ng, vùng s nguyên âm.
 Thi t k các test case
Nội dung chi ti t test case và k t qu test ch c năng đăng ký tài kho n đ c trình bày
định d ng Excel đ c đính kèm trong ph n Ph l c: Register.xlsx c a đ án.
STT HƠnh đ ng Ph n h i t h th ng
Tr ng h p đăng ký thành công
1. Nh p giá trị h p l vƠo các tr ng:
 Account
 Password
 Reenter password H th ng hi n thị message t ng ng:
 Name

ắRegister successfully!”
Address
 Gender
 Email
 Phonenumber
2. Click nút: ắRegister”
Nh p vào giá trị tr ng
1 1. Đ tr ng một trong các tr ng:
 Account
 Password
 Reenter password H th ng hi n thị message lỗi t ng ng:
 Name

ắThese field must not be empty!”
Address
 Email
 Phonenumber
2. Click nút: ắRegister”
Nh p giá trị không h p l vƠo tr ng Account

Đỗ Thị Ph ng ậ D11CNPM1 34
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

1 1. Nh p tên tài kho n ít h n 3 ký t H th ng hi n thị message lỗi t ng ng:


2. Click nút: ắRegister” ắAccount have to >=3 and <=20
characters!”
2 1. Nh p tên tài kho n nhi u h n 20 ký H th ng hi n thị message lỗi t ng ng:
t ắAccount have to >=3 and <=20
2. Click nút: ắRegister” characters!”

3 1. Nh p vào tên tài kho n có ch a thẻ H th ng hi n thị message lỗi t ng ng:


HTML ắError account!”
2. Click nút: ắRegister”
4 1. Nh p tên tài kho n đƣ t n t i trong H th ng hi n thị message lỗi t ng ng:
c s d li u ắAccount is exists!”
2. Click nút: ắRegister”
Nh p giá trị không h p l vƠo tr ng password
1 1. Nh p m t khẩu ít h n 6 ký t H th ng hi n thị message lỗi t ng ng:
2. Click nút: ắRegister” ắPassword have to >=6 and <=20
characters!”
2 1. Nh p m t khẩu nhi u h n 20 ký t H th ng hi n thị message lỗi t ng ng:
2. Click nút: ắRegister” ắPassword have to >=6 and <=20
characters!”
Nh p sai xác nh n m t khẩu
1. Nh p sai xác nh n m t khẩu H th ng hi n thị message lỗi t ng ng:
2. Click nút:”Register” ắError reenter password!”

Nh p sai định d ng email


1 1. Nh p sai định d ng email H th ng hi n thị message lỗi t ng ng:
2. Click nút:”Register” ắError email!”

Nh p giá trị không h p l vƠo tr ng s đi n tho i


1 1. Nh p ch cái vƠo tr ng s đi n H th ng hi n thị message lỗi t ng ng:
tho i ắError phonenumber!”
2. Click nút:”Register”
2 1. Nh p s đi n tho i ít h n 10 s H th ng hi n thị message lỗi t ng ng:
2. Click nút:”Register” ắPhonenumber have to 10 or 11 number!”

Đỗ Thị Ph ng ậ D11CNPM1 35
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

3 1. Nh p s đi n tho i nhi u h n 11 s H th ng hi n thị message lỗi t ng ng:


2. Click nút:”Register” ắPhonenumber have to 10 or 11 number!”

4 1. Nh p s ơm vƠo tr ng s đi n H th ng hi n thị message lỗi t ng ng:


tho i ắError phonenumber!”
2. Click nút:”Register”
B ng 3.2: Các tr ng h p test ch c năng đăng ký
3.1.2. Ch c năng thêm s n ph m vào gi hàng
a. Đặc t kỹ thu t c a ch c năng Thêm s n ph m vào gi hàng.
Khi truy c p vào h th ng, khách hàng có th thêm s n phẩm vào giỏ hàng t giao
di n xem thông tin s n phẩm. Trang xem thông tin s n phẩm g m:
 Thông tin chi ti t v s n phẩm bao g m: tên s n phẩm, th lo i, giá s n phẩm,
tr ng thái s n phẩm
 Ô nh p s l ng s n phẩm thêm vào giỏ hàng
 Nút ắAdd to carts”
N u s l ng s n phẩm h p l , khi click ắAdd to carts” s chuy n đ n trang xem chi
ti t giỏ hàng v i s n phẩm đƣ đ c thêm vào giỏ. N u s l ng s n phẩm không h p l s
có thông báo lỗi hi n thị trên trang xem thông tin s n phẩm.
 Mô t yêu c u:
Tên tr ng B t bu c Kho ng h p l Khác
Ph i là một s d ng
Quantity Có Giá trị t i thi u là 1 và t i Không đ c bỏ tr ng
đa lƠ 50 Không ch a d u cách
Không đ c ch a các kí t ch
B ng 3.4: Mô t yêu c u ch c năng thêm s n ph m vào gi hàng
Phơn tích các tr ng h p ki m th
 Test Validate (Ki m tra tính h p l c a các giá trị đ u vào)
b.

 D a vào kho ng h p l đƣ đ c mô t trong đặc t kỹ thu t, s d ng kỹ thu t phân


vùng t ng đ ng, chúng ta xác định đ c 3 vùng giá trị (s l ng) c n test nh sau:
+ Vùng h p l : vùng giá trị t 1 đ n 50
+ Vùng không h p l : vùng giá trị nhỏ h n 1, vùng giá trị l n h n 50.
 D a vào các yêu c u khác, chúng ta có 3 vùng t ng đ ng n a là
+ Vùng h p l : vùng kí t s (0 - 9)
+ Vùng không h p l : vùng kho ng tr ng, vùng kí t ch
Đỗ Thị Ph ng ậ D11CNPM1 36
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

 Test ch c năng mƠn hình


 Các tr ng h p c n test:
1. Trong giỏ hƠng đƣ có s n phẩm, s l ng s n phẩm: h p l
2. Trong giỏ hƠng đƣ có s n phẩm, s l ng s n phẩm: không h p l
3. Trong giỏ hƠng ch a có s n phẩm, s l ng s n phẩm: h p l
4. Trong giỏ hƠng ch a có s n phẩm, s l ng s n phẩm: không h p l
Trong mỗi đi u ki n ắh p l ” vƠ ắkhông h p l ” c a s l ng s n phẩm thì có nhi u
tr ng h p khác nhau t ng ng v i các giá trị trong mỗi vùng t ng đ ng.
 Nút ắAdd to carts”
N u s l ng s n phẩm h p l , khi click ắAdd to carts” s chuy n đ n trang xem chi
ti t giỏ hàng v i s n phẩm đƣ đ c thêm vào giỏ. N u s l ng s n phẩm không h p l s
có thông báo lỗi hi n thị trên trang xem thông tin s n phẩm.
 Thi t k các test case
Nội dung chi ti t test case và k t qu test ch c năng Thêm s n phẩm vào giỏ hàng
đ c trình bày định d ng Excel đ c đính kèm trong ph n Ph l c: AddToCarts.xlsx
c a đ án.
STT HƠnh đ ng Ph n h i t h th ng
Nh p vào giá trị s l ng h p l
1 1. Nh p giá trị h p l vƠo tr ng: H th ng hi n thị message t ng ng:
Quantity ắAdd carts successfully!”
2. Click nút: ắAdd to carts”
Nh p vào giá trị tr ng
1 1. Đ tr ng tr ng: Quantity H th ng hi n thị message t ng ng:
2. Click nút: ắAdd to carts” ắQuantity have to a number!”

Nh p sai định d ng
1 1. Nh p giá trị ơm vƠo tr ng: H th ng hi n thị message t ng ng:
Quantity ắAdd product to carts is unsuccessfully!”
2. Click nút: ắAdd to carts”
2 1. Nh p kí t vƠo tr ng s l ng H th ng hi n thị message t ng ng:
2. Click nút: ắAdd to carts” ắQuantity have to a number!”

3 1. Nh p vào s l ng l n h n s H th ng hi n thị message t ng ng:


l ng s n phẩm còn l i trong c s ắAdd product to carts is unsuccessfully!”

Đỗ Thị Ph ng ậ D11CNPM1 37
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

d li u.
2. Click nút: ắAdd to carts”
4 1. Nh p s l ng giá trị 0 vào H th ng hi n thị message t ng ng:
tr ng s l ng. ắAdd product to carts is unsuccessfully!”
2. Click nút: ắAdd to carts”
5 1. Nh p s l ng l n h n 50. H th ng hi n thị message t ng ng:
2. Click nút: ắAdd to carts” ắAdd product to carts is unsuccessfully!”

B ng 3.5: Các tr ng h p test ch c năng thêm s n ph m vào gi hàng


3.1.3. Ch c năng s a gi hàng
a. Đặc t kỹ thu t c a ch c năng S a gi hàng.
Khi truy c p vào h th ng, khách hàng có th thêm s n phẩm vào giỏ hàng t giao
di n xem thông tin s n phẩm. Khi trong giỏ hƠng đƣ có s n phẩm, khách hàng có th th c
hi n s a s l ng s n phẩm trong giỏ hàng. Trang xem chi ti t giỏ hàng g m:
 Danh các s n phẩm s n phẩm, mỗi s n ph m g m các thông tin: hình nh, tên s n
phẩm, giá một đ n vị s n phẩm, s l ng s n phẩm, t ng ti n, một link Delete s n
phẩm. Trong đó: thông tin s l ng s n phẩm có th s a.
 Một nút ắContinue shopping”: Khi click vào button này thì s đ c chuy n đ n trang
giao di n chính c a h th ng đ khách hàng ti p t c xem các s n phẩm.
 Một nút ắUpdate shopping carts”:
N u s l ng các s n phẩm trong giỏ hàng h p l , khi click ắUpdate shopping carts”,
h th ng s c p nh t l i s l ng s n phẩm và hi n thị thông báo thành công: ắUpdate
shopping carts successfully!” trên trang xem chi ti t giỏ hàng.
N u trong giỏ hàng có s l ng t ng ng v i s n phẩm không h p l thì s có thông
báo lỗi hi n thị trên trang xem chi ti t giỏ hƠng, t ng ng v i tên s n phẩm có s l ng
không h p l .
 Một nút ắProceed to checkout”: khách hàng có th đặt hàng n u trong giỏ hàng có s n
phẩm
 Mô t yêu c u:
Tên tr ng B t bu c Kho ng h p l Khác
 Ph i là một s d ng
 Không đ c bỏ tr ng

Quantity Có Giá trị t i thi u là 1
và t i đa lƠ 50 Không ch a d u cách
 Không đ c ch a các kí t ch
B ng 3.7: Mô t yêu c u ch c năng s a gi hàng
Đỗ Thị Ph ng ậ D11CNPM1 38
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

b. Phơn tích các tr ng h p ki m th


 Test Validate (Ki m tra tính h p l c a các giá tr đ u vào)
 D a vào kho ng h p l đƣ đ c mô t trong đặc t kỹ thu t, s d ng kỹ thu t phân
vùng t ng đ ng, chúng ta xác định đ c 3 vùng giá trị (s l ng) c n test nh sau:
+ Vùng h p l : vùng giá trị t 1 đ n 50
+ Vùng không h p l : vùng giá trị nhỏ h n 1, vùng giá trị l n h n 50.
 D a vào các yêu c u khác, chúng ta có 3 vùng t ng đ ng n a là
+ Vùng h p l : vùng kí t s (0 - 9)
+ Vùng không h p l : vùng kho ng tr ng, vùng kí t ch
 Test ch c năng mƠn hình
 Các tr ng h p c n test:
1. Trong giỏ hƠng đƣ có s n phẩm, s l ng s n phẩm: h p l
2. Trong giỏ hƠng đƣ có s n phẩm, s l ng s n phẩm: không h p l
Trong mỗi đi u ki n ắh p l ” vƠ ắkhông h p l ” c a s l ng s n phẩm thì có nhi u
tr ng h p khác nhau t ng ng v i các giá trị trong mỗi vùng t ng đ ng.
 Ki m tra các link trên trang xem chi ti t gi hàng
 Link ắDelete”: khi click vƠo ắDelete” thì s n phẩm t ng ng s bị xóa khỏi giỏ hàng.
 Một nút ắContinue shopping”: Khi click vào button này thì s đ c chuy n đ n trang
giao di n chính c a h th ng đ khách hàng ti p t c xem các s n phẩm.
 Một nút ắUpdate shopping carts”:
o N u s l ng các s n phẩm trong giỏ hàng h p l , khi click ắUpdate shopping
carts”, h th ng s c p nh t l i s l ng s n phẩm và hi n thị thông báo thành
công: ắUpdate shopping carts successfully!” trên trang xem chi ti t giỏ hàng.
o N u trong giỏ hàng có s l ng t ng ng v i s n phẩm không h p l thì s có
thông báo lỗi hi n thị trên trang xem chi ti t giỏ hƠng, t ng ng v i tên s n phẩm
có s l ng không h p l .
 Một nút ắProceed to checkout”: khách hàng có th đặt hàng n u trong giỏ hàng có s n
phẩm
 Thi t k các test case
Nội dung chi ti t test case và k t qu test ch c năng Thêm s n phẩm vào giỏ hàng
đ c trình bày định d ng Excel đ c đính kèm trong ph n Ph l c: EditCarts.xlsx c a
đ án.

Đỗ Thị Ph ng ậ D11CNPM1 39
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

 Ch c năng thêm s n phẩm vào giỏ hàng


STT HƠnh đ ng Ph n h i t h th ng
Nh p vào giá trị s l ng h p l
1 1. Nh p giá trị h p l vƠo các tr ng: H th ng hi n thị message t ng ng:
Quantity ắAdd carts successfully!”
2. Click nút: ắUpdate shopping carts”
Nh p vào giá trị tr ng
1 1. Đ tr ng tr ng: Quantity H th ng hi n thị message t ng ng:
2. Click nút: ắUpdate shopping carts” ắQuantity have to a number!”

Nh p sai định d ng
1 1. Nh p giá trị ơm vƠo tr ng: Quantity H th ng hi n thị message thông báo
2. Click nút: ắUpdate shopping carts” lỗi t ng ng v i s n phẩm có s
l ng không h p l .
2 1. Nh p kí t vƠo tr ng: Quantity H th ng hi n thị thông báo lỗi:
2. Click nút: ắUpdate shopping carts” "Formatting error!"

3 1. Nh p vào s l ng l n h n s l ng H th ng hi n thị message thông báo


s n phẩm còn l i trong c s d li u. lỗi t ng ng v i s n phẩm có s
2. Click nút: ắUpdate shopping carts” l ng không h p l .

4 1. Nh p s l ng giá trị 0 vƠo tr


ng: H th ng hi n thị message thông báo
quantity. lỗi t ng ng v i s n phẩm có s
2. Click nút: ắUpdate shopping carts” l ng không h p l .

5 1. Nh p s l ng l n h n 50. H th ng hi n thị message thông báo


2. Click nút: ắUpdate shopping carts” lỗi t ng ng v i s n phẩm có s
l ng không h p l .
B ng 3.8: Các tr ng h p test ch c năng s a gi hàng
3.1.4. Ch c năng đặt hàng
a. Đặc t kỹ thu t c a ch c năng S a gi hàng.
Khi đƣ đăng nh p vào h th ng, khách hàng có th đặt hàng khi trong giỏ hƠng đƣ có
s n phẩm. Trang xem đặt hàng g m:
 Danh sách các s n phẩm thành viên mu n đặt hàng bao g m: hình nh, tên s n phẩm,
giá một đ n vị s n phẩm, s l ng s n phẩm, t ng ti n.

Đỗ Thị Ph ng ậ D11CNPM1 40
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

 Form nh p thông tin giao hàng bao g m: tên ng i nh n, địa chỉ ng i nh n, địa chỉ
email, s đi n tho i
 Một nút ắOrder”
o N u s l ng các thông tin ng i nh n h p l , khi click ắOrder”, h th ng s
chuy n sang trang xem hóa đ n vƠ hi n thị thông báo đặt hàng thành công: ắOrder
successfully!”.
o N u trong giỏ hàng có s l ng t ng ng v i s n phẩm không h p l thì s có
thông báo lỗi hi n thị trên trang xem chi ti t giỏ hƠng, t ng ng v i tên s n phẩm
có s l ng không h p l .
 Một nút ắCancel”: Khi click nút ắCancel”, h th ng s quay tr v giao di n chính đ
khách hàng ti p t c xem các s n phẩm.
 Mô t yêu c u:
Tên tr ng B t bu c Kho ng h p l Khác
Tên ng i dùng Có Không Không đ c bỏ tr ng
Địa chỉ Có Không Không đ c bỏ tr ng
Không đ c bỏ tr ng
Email Có Không Ph i nh p đúng định d ng email
Không đ c bỏ tr ng
S đi n tho i Có Chỉ bao g m 10 Chỉ bao g m các kí t s
hoặc 11 kí t s Ph i là s nguyên d ng
Không ch a d u cách
Không ch a các kí t ch
B ng 3.10: Mô t yêu c u ch c năng đăng ký

b. Phơn tích các tr ng h p ki m th


 Test Validate (Ki m tra tính h p l c a các giá trị đ u vào)
 Name:
+ Vùng h p l : vùng kí t ch , kí t s
+ Vùng không h p l : kho ng tr ng
 Address:
+ Vùng h p l : vùng kí t ch , kí t s
+ Vùng không h p l : kho ng tr ng
 Email:

Đỗ Thị Ph ng ậ D11CNPM1 41
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

+ Vùng h p l : vùng kí t ch , kí t s
+ Vùng không h p l : vùng kho ng tr ng, vùng vai định d ng email
 Phonenumber:
o D a vào kho ng h p l đƣ đ c mô t trong đặc t kỹ thu t, s d ng kỹ thu t phân
vùng t ng đ ng, chúng ta xác định đ c 3 vùng giá trị (s l ng) c n test nh sau:
+ Vùng h p l : vùng t 10 đ n 11 kí t s
+ Vùng không h p l : vùng ít h n 10 kí t , vùng t 12 kí t ch tr lên
o D a vào các yêu c u khác, chúng ta có 2 vùng t ng đ ng n a là
+ Vùng h p l : vùng kí t s
+ Vùng không h p l : vùng kí t ch , vùng kho ng tr ng, vùng s nguyên âm,
 Thi t k các test case
Nội dung chi ti t test case và k t qu test ch c năng đặt hƠng đ c trình bày định
d ng Excel đ c đính kèm trong ph n Ph l c: Order.xlsx c a đ án.
STT HƠnh động Ph n h i t h th ng
Tr ng h p đặt hàng thành công
1 1. Nh p giá trị h p l vƠo các tr ng:
 Name
 Address H th ng hi n thị message t ng ng:
 Gender ắOrder successfully!”
 Email
 Phonenumber
2. Click nút: ắOrder”
Nh p vào giá trị tr ng
1 1. Đ tr ng một trong các tr ng:
 Name H th ng hi n thị message lỗi t ng ng:
 Address ắThese field must not be empty!”
 Email
 Phonenumber
2. Click nút: ắOrder”
Nh p sai định d ng email
1 1. Nh p sai định d ng email H th ng hi n thị message lỗi t ng ng:
2. Click nút: ” Order” ắError email!”

Đỗ Thị Ph ng ậ D11CNPM1 42
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

Nh p giá trị không h p l vƠo tr ng s đi n tho i


1 1. Nh p ch cái vƠo tr ng s đi n H th ng hi n thị message lỗi t ng ng:
tho i ắError phonenumber!”
2. Click nút:” Order”
2 1. Nh p s đi n tho i ít h n 10 s H th ng hi n thị message lỗi t ng ng:
2. Click nút:” Order” ắPhonenumber have to 10 or 11 number!”
3 1. Nh p s đi n tho i nhi u h n 11 s H th ng hi n thị message lỗi t ng ng:
2. Click nút:” Order” ắPhonenumber have to 10 or 11 number!”
4 1. Nh p s ơm vƠo tr ng s đi n H th ng hi n thị message lỗi t ng ng:
tho i ắError phonenumber!”
2. Click nút:” Order”
B ng 3.11: Các tr ng h p test ch c năng đặt hàng

3. 2. H ng gi i quy t bài toán và th c thi ki m th t đ ng


3.2.1. Các yêu c u v công ngh
 Trình duy t Mozilla firefox đƣ cƠi Add-on Selenium IDE
 Công c l p trình Eclipse đƣ đ c c u hình v i Selenium WebDriver vƠ đƣ đ c
cƠi đặt framework TestNG.
 H qu n trị c s d li u quan h SQL Server
 Bộ công c phát tri n ng d ng bằng ngôn ng l p trình Java: JDK (Java
development Kit)
 Khác: Microsoft Excel 2003 tr lên.
3.2.2. H ng th c thi ki m th t đ ng
a. Gi i pháp
Đ t o ra đ c ng d ng Web có hi u năng cao, đáng tin c y thì sau khi xây d ng
website, c n ph i ki m th ng d ng đó một cách tỉ mỉ, cẩn th n và chặt ch . V mặt b n
ch t, các ng d ng Web cũng lƠ ph n m m, nên các lo i ki m th áp d ng cho ph n m m
cũng đ c áp d ng khi ki m th ng d ng Web. Tuy nhiên, một ng d ng Web th ng
có r t nhi u nhóm ng i s d ng v i nhi u n n t ng khác nhau (h đi u hành, trình
duy tầ), chúng ta cũng r t khó có th đoán đ c s l ng ng i s d ng một ng d ng
Web là bao nhiêu, th i gian h i đáp yêu c u c a ng i s d ng đ i v i ng d ng ầd n
đ n vi c ki m th ng d ng Web s có nh ng khác bi t nh t định so v i ki m th ph n

Đỗ Thị Ph ng ậ D11CNPM1 43
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

m m truy n th ng. Trong đó, ki m th giao di n ng i dùng, ki m th hi u năng vƠ ki m


th b o m t là nh ng lo i ki m th mà ng d ng Web c n chú trọng.
D i đơy lƠ các b c ki m th ng d ng Web:
 Ki m th ch c năng
Ki m tra form c a các trang nh : không nh p gì vƠo các tr ng b t buộc, nh p d li u
đ u vƠo không đúng validateầTh c hi n test t t c các link trong trang web, định d ng
đ c s d ng trong các trang Web đ g i và nh n các thông tin c n thi t t ng i dùng.
 Ki m th tính kh d ng
Tính kh d ng c a trang Web đ c định nghĩa lƠ trang Web d s d ng, mỗi trang đ u
có menu chính và menu này ph i nh t quán. Ngoài ra, khi ki m th tính kh d ng c n
th c hi n ki m th các đi u khi n chuy n h ng nh button, text box, link testầ, nội
dung c a trang Web ph i d hi u và thân thi n v i ng i s d ng. Không có lỗi chính t ,
không khó đ đọc ch , hình nh đ c s p x p gọn gàng, h p lý.
 Ki m th kh năng t ng thích
Ng i dùng khác nhau có th s d ng trình duy t khác nhau tùy theo nhu c u, thói
quenầc a họ. C n ph i ki m tra s t ng thích c a ng d ng Web trên nhi u trình duy t
nh IE, Firefox, Chrome, Safari, Operaầ
 Ki m th b o m t
Đ án th c hi n ki m th các tính năng b o m t sau:
o Gõ tr c ti p url vào thanh địa chỉ c a trình duy t mà không qua th c hi n các yêu
c u b t buộc tr c khi truy c p vƠo trang đó.
o Thay đ i url tr c ti p bằng cách đ i tham s ki m tra tính h p l c a trang đó đ
chuy n t i một trang khác.
o Th các giá trị đ u vào không h p l vào các tr ng c a trang Web.
 Mô hình gi i quy t v n đ đ c mô t t i Hình 3.1 v i các tính năng c th nh sau:
 Ph n đ u vào c a ch ng trình s là:
o Một ng d ng Web đ c s d ng đ ki m th v i t p h p các ch c năng c b n
c a một website bán hàng online.
o T p h p các ca ki m th v i t ng ch c năng c a h th ng đ c li t kê d i d ng
Excel.
 Ph n ti p theo c a ch ng trình lƠ thu l i kịch b n ki m th v i Selenium IDE, t o
test script và th c thi các ca ki m th v i Selenium WebDriver và framework TestNG
 Trong ph n k t qu , đ án s đ a ra đ c k t qu ki m th các ch c năng c a ng
d ng, các ch c năng lỗi so v i ca ki m th và ghi vào file Excel. Đ ng th i, ch p l i
màn hình k t qu ki m th và xem báo cáo phân tích lỗi đ c t động sinh ra bằng
TestNG.

Đỗ Thị Ph ng ậ D11CNPM1 44
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

 ng d ng Web
 Các ca ki m th đ c li t kê
d i d ng Excel

 Thu kịch b n ki m th
 T o test script
 Th c thi các ca ki m th

 K t qu ki m th :
 Báo cáo phân tích lỗi
 Ghi k t qu ra t p tin Excel
 Ch p l i k t qu ki m th

Hình 3.1: Quá trình ki m th t đ ng

T các phân tích trên, xây d ng ch ng trình th c hi n vi c ki m th t động qua


các b c:
 Thu l i kịch b n ki m th v i Selenium IDE
 T o test script đ th c hi n ki m th t động v i Selenium WebDriver
 Vi t hƠm đọc d li u các tr ng h p ki m th có th x y ra t t p tin Excel đ
truy n vào hàm test.
 Vi t hàm ghi k t qu ra t p tin Excel và vi t hàm ch p l i t t c các k t qu ki m
th x y ra lỗi.
 Xem báo cáo và phân tích lỗi.
b. Ki m th ch c năng
 Quá trình ki m th ch c năng s d ng d li u động đ c th c hi n qua 3 b c sau:
 Dùng Selenium IDE đ t o test script.
 Ch y test script bằng ngôn ng Java trên Eclipse.
 Đọc d li u t t p tin Excel đ l y d li u ch y test scipt

Đỗ Thị Ph ng ậ D11CNPM1 45
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

 B c 1: T o test script
Ph n này c a đ án s t o một kịch b n ki m th bằng cách s d ng công c Selenium
IDE đ thu l i các thao tác v i website d a trên các hƠnh động đ c th c hi n trên trang
Web. Sau đó, Export kịch b n ki m th v a thu đ c sang ngôn ng Java(TestNG) -
WebDriver Backed.
 Test script sau khi đ c export có d ng nh sau:
@Test
public void testEditCarts() {
selenium.open("/Fashionista/Product_view.jsp?idProduct=9");
selenium.type("name=quantity", "2");
selenium.click("css=input.bay");
selenium.waitForPageToLoad("30000");
assertEquals(selenium.getText("css=h3"), "Add carts successfully!");
selenium.type("name=quantity0", "1");
selenium.click("name=updateShopping");
selenium.waitForPageToLoad("30000");
assertEquals(selenium.getText("css=h3"), "Update shopping carts successfully!");
}
B ng 3.13: Test script đ c export t k ch b n ki m th Selenium IDE
Tuy nhiên, test script này chỉ có th ki m tra đ c duy nh t một test case v i d li u
c định đƣ đ c truy n tr c ti p vào trong hàm @Test. Khi mu n ki m th một ch c
năng c a trang Web v i l ng d li u l n h n thì chúng ta s ph i thay đ i t ng giá trị d
li u đƣ đ c truy n vào trong hàm @Test đó. Vì v y, một gi i pháp đ c đ a ra lƠ đ a
test script này vào Eclipse cùng v i s hỗ tr c a TestNG đ t i u hóa vi c th c thi
nhi u test case trên cùng một kịch b n ki m th .
 B c 2: Đ a test script vào Eclipse[11].
Đ tránh vi c ph i s a đ i mã code nhi u l n khi thay đ i d li u ki m th , chúng ta
s t o một Project m i đ ch a class TestNG. Sau đó, test script đƣ đ c export t B c 1
s đ c đ a vào Eclipse đ th c thi.
Trong tr ng h p có nhi u h n một bộ d li u ki m th , chúng ta c n thay đ i các giá
trị c định trong test script bằng các tham s . Khi đó, vi c th c thi một l ng l n test case
s tr lên d dƠng h n bằng cách truy n d li u ki m th vào các tham s trong hàm
@Test. Đ có th lƠm đ c vi c này thì khi t o m i class TestNG, chúng ta c n click
chọn vào ắ@DataProvider” nh Hình 3.2.

Đỗ Thị Ph ng ậ D11CNPM1 46
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

Hình 3.2: T o class TestNG

 B c 3: Đ c d li u t đ u vào t file Excel s d ng data driven


Do Selenium IDE không hỗ tr đ a d li u ki m th vào tham s trong test script nên
c n ph i s d ng framework TestNG. Trong đó, TestNG có cung c p một đ i t ng
ắDataProvider” dùng đ l y d li u động, d li u đ c khai báo trong ắDataProvider” s
đ c truy n vƠo trong ắ@Test” đ ch y test script v i các d li u đó. Tuy nhiên,
ắDataProvider” l i không có kh năng l y d li u t một file b t kỳ nƠo đó. Do đó, khi
mu n l y d li u trong một file Excel đ đ a vƠo trong "DataProvider" thì chúng ta ph i
vi t thêm hƠm đọc d li u t file Excel bằng ngôn ng Java.
Tr c khi vi t hƠm đọc d li u đ u vào t file Excel, d a vào nh ng phân tích m c
3.1. Thi t k test case cho một s ch c năng, chúng ta s t o một file Excel m i ch a các
d li u đ u vƠo nh đƣ đ c mô t d i Hình 3.3:

Đỗ Thị Ph ng ậ D11CNPM1 47
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

Hình 3.3: Các Test case cho ch c năng S a gi hàng


Trong đó:
o ID product và Quantity 1 l n l t là ID và s l ng s n phẩm thêm vào giỏ hàng.
o Expect result add product: K t qu mong mu n đ c hi n thị khi thêm s n phẩm
vào giỏ hàng.
o Quantity 2 là s l ng s n phẩm mu n s a.
o Expect result edit product : k t qu mong mu n đ c hi n thị sau khi s a thành
công.

 Vi t hƠm đọc d li u đ u vào t file Excel v i th vi n JXL


Đ đọc đ c d li u t file Excel, chúng ta c n dùng đ n th vi n hỗ tr ắjxl.jar”.
Trong th vi n này s hỗ tr một s câu l nh nh :
o T o workbook đ trỏ đ n file Excel mu n đọc.
o L y sheet mu n đọc theo vị trí sheet hoặc theo tên sheet.
o L y s l ng hàm, s l ng cột trong sheet đó.
o Đọc nội dung trong t ng ô theo vị trí hàng và cột.

 Gọi tr c ti p hƠm đọc d li u file Excel trong hàm @ DataProvider c a TestNG đ


g i d li u vào hàm @Test.
@DataProvider
public Object[][] dp() {
Object[][] listData = getData(inputFile);
return listData;
}
Trong đó: inputFile là đ ng d n địa chỉ t i file Excel ch a d li u.
 Ch y test script và xem k t qu hi n th
 K t qu ch y test case đ c hi n thị nh Hình 3.4:

Đỗ Thị Ph ng ậ D11CNPM1 48
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

Hình 3.4: K t qu ch y test case trên TestNG ậAll Tests


K t qu hi n thị có ba tab con: ắAll Tests”, ắFailed Tests” and ắSummary”. Khi
click vƠo tab ắSummary”, k t qu s hi n thị nh Hình 3.5:

Hình 3.5: K t qu ch y test case trên TestNG ậ Summary


c. Ki m th trên đa trình duy t
Một trong nh ng tiêu chí đánh giá ch t l ng c a một website là kh năng s d ng
trên nhi u trình duy t khác nhau, do nh ng ng i dùng khác nhau có th s d ng trình
duy t khác nhau tùy theo nhu c u, thói quenầc a họ. C n ph i ki m tra s t ng thích
c a ng d ng Web trên nhi u trình duy t nh IE, Firefox, Chrome, Safari, Operaầ
Selenium WebDriver hỗ tr vi c ch y các test case trên nhi u trình duy t. Vì v y đ
ki m th kh năng t ng thích c a website, ta th c hi n một test script trên 3 trình duy t
ph bi n nh t hi n nay là: Internet Explorer, Mozila Firefox, Chrome. Tuy nhiên, đ ch y

Đỗ Thị Ph ng ậ D11CNPM1 49
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

đ c trên hai trình duy t Chrome và Internet Explorer c n t i v th vi n


ChromeDriverServer và Internet Explorer Driver Server.
Đ th c hi n ki m th trên đa trình duy t, vi t một hàm cho phép l a chọn trình
duy t th c thi ki m th :
@BeforeMethod
public void beforeMethod() {
Scanner sc = new Scanner(System.in);
int n;
boolean check = false;
do {
System.out.println("Please enter number: \n1. Mozila Firefox\n2. Chrome\n3. Internet
Explorer");
try {
n = Integer.parseInt(sc.nextLine());
if (n == 1) {
check = true;
driver = new FirefoxDriver();
} else if (n == 2) {
check = true;
File file = new File("D:/Seminar/Library/chromedriver.exe");
System.setProperty("WebDriver.chrome.driver", file.getAbsolutePath());
driver = new ChromeDriver();
} else if (n == 3) {
check = true;
File file = new File("D:/Seminar/Library/IEDriverServer.exe");
System.setProperty("WebDriver.ie.driver",file.getAbsolutePath());
driver = new InternetExplorerDriver();
}
} catch (NumberFormatException e) {
System.out.println("Please enter number!");
}
} while (!check);
}

B ng 3.14: Ki m th kh năng t ng thích

Đỗ Thị Ph ng ậ D11CNPM1 50
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

d. L u l i k t qu đ u ra
 Ch p l i k t qu ki m th v i các test case lỗi[9]
Một đi u r t quan trọng trong khi th c thi ki m th t động là ch p l i màn hình k t
qu ki m th . Khi chúng ta th c thi ki m th t động v i một s l ng l n các test script,
và n u có một vài test case tr v k t qu sai thì chúng ta c n ki m tra l i các test case lỗi
đó. Vi c ch p l i màn hình k t qu hi n thị v i các test case x y ra lỗi s giúp ích r t
nhi u trong vi c phân tích lỗi.
Trong Selenium WebDriver hỗ tr câu l nh dùng đ ch p l i màn hình:
File screenshotFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
Câu l nh này s ch p l i màn hình b t c khi nƠo đ c gọi đ n. N u chúng ta chỉ mu n
ch p l i các k t qu lỗi thì c n thêm một l nh ki m tra tr c khi gọi đ n hàm ch p màn
hình:
ITestResult result;
if(result.getStatus() == ITestResult.FAILURE){
//chụp lại màn hình và lưu kết quả vào thư mục mong muốn..
}

Hình 3.6: K t qu ch p l i mƠn hình khi đăng ký x y ra l i


 Ghi k t qu ki m th vào t p tin Excel[12]
T ng t nh v i ch c năng đọc d li u đ u vào t file Excel, do Selenium IDE
không hỗ tr ắdata driven” nên khi mu n ghi d li u ki m th vào một file Excel thì c n
ph i vi t thêm hàm ghi d li u ra file Excel bằng ngôn ng Java.
Đ ghi d li u t file Excel, chúng ta c n dùng đ n th vi n hỗ tr ắjxl.jar” đ t o t p
tin Excel m i n u ch a t n t i, hoặc khi t p tin Excel đƣ t n t i thì s ghi chèn thêm d
li u vào cu i t p tin Excel. Trong th vi n này s hỗ tr một s câu l nh đ ghi vào t p tin
Excel nh :

Đỗ Thị Ph ng ậ D11CNPM1 51
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

 T ođ ng d n t i th m c ch a t p tin đ u ra
 T o t p tin Excel m i và các sheet m i đ ghi d li u
 Ghi d li u vào các ô trong file Excel
D i đơy lƠ k t qu thu đ c sau khi ghi d li u vào file Excel:

Hình 3.7: K t qu thu đ c sau khi ki m th ch c năng S a gi hàng


Trong đó:
o ID product và Quantity 1 l n l t là ID và s l ng s n phẩm thêm vào giỏ hàng.
o Expect result add product: K t qu mong mu n đ c hi n thị khi thêm s n phẩm vào
giỏ hàng.
o Quantity 2 là s l ng s n phẩm mu n s a.
o Expect result edit product : k t qu mong mu n đ c hi n thị sau khi s a thành công.
o Actual result: k t qu th c t thu đ c sau khi ki m th .
o Test report: k t qu test thành công hoặc th t b i.
3.1.5. Báo cáo và phân tích l i
Trong TestNG có hỗ tr t o báo cáo HTML sau mỗi l n ch y test script. Đ xem báo
cáo k t qu ki m th , vào workspace tìm đ n project v a th c thi, vƠo folder ắtest-
output”. Trong folder có 2 file lƠ index.html và emailable-report.html[10].
 emailable-report.html là file report chi ti t, cho phép xem chi ti t các test script,
các giá trị đ u vào và hỗ tr phân tích nguyên nhân x y ra lỗi cho các test script
Failed

Đỗ Thị Ph ng ậ D11CNPM1 52
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

Hình 3.8: TestNG report (emailable-report.html)


 index.html là file report d ng t ng quát và có hỗ tr tìm nguyên nhân x y ra lỗi
cho các script Failed.

Hình 3.9: TestNG report(index.html) h tr tìm nguyên nhân x y ra l i

3. 3. K t lu n ch ng
Ch ng 3 đƣ thi t k kịch b n ki m th cho các ch c năng chính c a h th ng
Fashionista. Đ ng th i, cũng đƣ đ a ra gi i pháp gi i quy t bài toán ki m th t động một
ng d ng Web, đ a ra báo cáo ki m th và hỗ tr tìm nguyên nhân x y ra lỗi v i các test
case x y ra lỗi.

Đỗ Thị Ph ng ậ D11CNPM1 53
Đ án t t nghi p Đ i học Ch ng 3: ng d ng Selenium WebDriver trong ki m th website Fashionista

Trong Ch ng 4 s v n d ng các c s lý thuy t v ki m th ph n m m và ki m th


ph n m m t động, k t h p v i vi c s d ng công c ki m th Selenium WebDriver và
framework TestNG đ ki m th các ch c năng chính c a ng d ng Web Fashionista.

Đỗ Thị Ph ng ậ D11CNPM1 54
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

CH NG 4: TH C NGHI M VÀ ĐỄNH GIỄ K T QU

 Gi i thi u h th ng Fashionista
 Ki m th t động website v i SeleniumWebDriver và TestNG
 Đánh giá k t qu ki m th
 K t lu n ch ng

V n d ng các c s lý thuy t v ki m th ph n m m và ki m th ph n m m t động,


k t h p v i vi c s d ng công c ki m th Selenium WebDriver và framework TestNG
đ ki m th các ch c năng chính c a ng d ng Web Fashionista.
V i ki m th t động, có hai ph n chính c n quan tâm là kịch b n ki m th và d li u
ki m th . Trong đó:
- Kịch b n ki m th : Có th là một l p hoặc một hàm ghi l i một chuỗi s ki n mà ta
thao tác v i ng d ng c n ki m th .
- D li u ki m th : Là d li u nh p vƠo đ ki m th .
T các test case đƣ thi t k và mô hình ki m th t động đƣ xơy d ng trong ch ng 3,
ph n này c a đ án ti n hành th c thi ki m th đ i v i các ch c năng c a website
Fashionista.
Quy trình th c thi ki m th t động s ti n hành ki m th ch c năng vƠ ki m th kh
năng t ng thích:
 Phân tích d li u bài toán
 Thi t k test case
 Thu l i kịch b n ki m th bằng Selenium IDE
 T o test script trong Eclipse
 Phân tích báo cáo ki m th

Đỗ Thị Ph ng ậ D11CNPM1 55
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

4. 1. Gi i thi u website Fashionista


 Tên ng d ng: Fashionista
 Ng i phát tri n: Đỗ Thị Ph ng
 N n t ng: H th ng bán hàng online Fashionista
 Ngôn ng phát tri n: Java
 C s d li u: Microsoft SQL Server 2008
H th ng bán hƠng online Fashionista đ c xây d ng nhằm cung c p một h th ng
bán hành tr c tuy n, giúp cho khách hàng dù xa v n có th mua đ c s n phẩm mà
không c n tr c ti p t i c a hàng.
Các ch c năng chính c a h th ng:
 Login: khách hàng có th đăng nh p vào h th ng đ th c hi n các ch c năng nh
đặt hƠng. Sau khi đặt hàng thành công, khách hàng có th xem thông tin đặt hàng.
 Register: Ng i dùng khi ch a có tƠi kho n đăng nh p h th ng, có th th c hi n
đăng ký tƠi kho n m i.
 AddProductToCart: Khách hàng thêm s n phẩm m i vào giỏ hàng. Khách hàng có
th s d ng ch c năng nƠy khi đƣ đăng nh p vào h th ng hoặc khi ch a đăng
nh p vào h th ng.
 EditCart: Khi mu n thay đ i s l ng s n phẩm trong giỏ hàng, khách hàng có th
s d ng ch c năng s a giỏ hàng khi trong giỏ hƠng đƣ có s n phẩm.
 Order: Thành viên th c hi n đặt hàng và nh p các thông tin ng i nh n đ mua
hàng.
H ng d n cƠi đặt h th ng:
 H đi u hành Windows
 Trình duy t Mozilla Firefox đƣ cƠi Add-on Selenium IDE
 Công c l p trình Eclipse đƣ đ c c u hình v i Selenium WebDriver vƠ đƣ đ c
cƠi đặt framework TestNG.
 H qu n trị c s d li u quan h SQL Server
 Bộ công c phát tri n ng d ng bằng ngôn ng l p trình Java: JDK (Java
development Kit)
 Khác: Microsoft Excel 2003 tr lên.
 Gi i nén mã ngu n vƠo th m c: D:\Seminar\Projects
 T o c s d li u m i: ắFashionistaDB”.
 Import file ắFashionistaDB.sql” vƠo c s d li u v a t o.
 ng d ng đ c ki m th trên 3 trình duy t: Internet Explorer, Mozila Firefox,
Chrome

Đỗ Thị Ph ng ậ D11CNPM1 56
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

Đ án ki m th ng d ng Fashionista trên các ch c năng chính: đăng ký tƠi kho n


m i, thêm s n phẩm vào giỏ hàng, s a giỏ hƠng vƠ đặt hàng.
4. 2. Ki m th t đ ng website v i SeleniumWebDriver và TestNG
4.2.1. Ch c năng đăng ký tài kho n
 K ch b n ki m th ch c năng đăng ký tƠi kho n m i
@Test(dataProvider = "dp")
public void f(String account, String password, String reenterPassword,
String name, String address, String gender, String email,
String phonenumber, String expectedResult)
throws InterruptedException {
selenium.open("/Fashionista/");
selenium.click("link=Sign Up");
selenium.waitForPageToLoad("30000");
selenium.type("name=accountCustomer", account);
selenium.type("name=passwordCustomer", password);
selenium.type("name=reenterpassword", reenterPassword);
selenium.type("name=nameCustomer", name);
selenium.type("name=addressCustomer", address);
if ("Female".equals(gender)) {
selenium.click("xpath=(//input[@name='gender'])[2]");
} else if ("Male".equals(gender)) {
selenium.click("xpath=(//input[@name='gender'])[1]");
}
selenium.type("name=emailCustomer", email);
selenium.type("name=phonenumber", phonenumber);
selenium.click("css=input[type=\"submit\"]");
selenium.waitForPageToLoad("30000");
Assert.assertEquals(selenium.getText("css=h3"), expectedResult);
}

Hình 4.1: K ch b n ch c năng đăng ký tƠi kho n


Trong đó, t t c các giá trị nh p giá trị nh p vào: Account, Password, Reenter
Password, Name, Address, Gender, Email, Phonenumber đ u đƣ đ c th hi n d i d ng
tham s đ có th truy n các d li u đ u vào khác nhau mà không c n thay đ i mã code.

Đỗ Thị Ph ng ậ D11CNPM1 57
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

 File Excel mô t các tr ng h p ki m th đ u vào:

Hình 4.2: D li u đ u vào cho ch c năng đăng ký tƠi kho n


Trong đó:
 Account, Password, Reenter password, Name, Gender, Email, Phonenumber là các
tr ng thông tin c a ng i dùng.
 Expect result là k t qu mong mu n đ c hi n thị sau khi đăng ký thƠnh công.
 File Excel k t qu ki m th :

Hình 4.3: K t qu đ u ra c a ch c năng đăng ký tƠi kho n


Trong đó:
 Account, Password, Reenter password, Name, Gender, Email, Phonenumber là các
tr ng thông tin c a ng i dùng.
 Expect result là k t qu mong mu n đ c hi n thị sau khi đăng ký thƠnh công.
 Actual result là k t qu th c t đ c hi n thị
 Test report là k t lu n test case thành công hay th t b i
 Báo cáo k t qu ch y test script c a ch c năng đăng ký tƠi kho n
TestNG đ a ra báo cáo k t qu ki m th d i d ng HTML và hỗ tr tìm nguyên nhân
x y ra lỗi.

Đỗ Thị Ph ng ậ D11CNPM1 58
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

Hình 4.4: Báo cáo k t qu ki m th ch c năng đăng ký tƠi kho n


 K t qu ki m th ch c năng đăng ký tài kho n
S l ng test case 20
S test case Pass 18
S test case Failure 2
S test case Error 0
S test case ch a th c hi n 0
Tỉ l thành công 90%
B ng 4.1: K t qu test ch c năng đăng ký tƠi kho n m i
 Nh n xét:
 Tính kh d ng
o Giao di n đ n gi n, d s d ng, ch c năng c a phím tab, enter ho t động t t.
Không có lỗi chính t , không khó đ đọc ch , hình nh đ c s p x p gọn gàng,
h p lý.
o Giao di n có đ y đ có menu chính và menu này nh t quán v i giao di n c a các
ch c năng khác trong h th ng.
 Kh năng t ng thích
o H th ng t ng thích v i c ba trình duy t đ c ki m th là Internet Explorer,
Mozila Firefox, Chrome.
 V ch c năng
Trong quá trình th c thi ki m th t động ch c năng đăng ký tƠi kho n m i, đƣ x y ra
lỗi tr ng h p:

Đỗ Thị Ph ng ậ D11CNPM1 59
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

o Khi ng i dùng đăng ký tài kho n m i v i tên tài kho n là một thẻ HTML
ắ<h1>phuongdothi</h1>”, k t qu mong mu n hi n thị thông báo lỗi ắError
account!” vƠ đăng ký không thƠnh công. Tuy nhiên, k t qu th c t hi n thị thông
báo đăng ký thƠnh công v i message ắRegister successfully!”.
4.2.2. Ch c năng thêm s n ph m vào gi hàng
 K t qu ki m th ch c năng thêm s n ph m vào gi hàng
S l ng test case 16
S test case Pass 16
S test case Failure 0
S test case Error 0
S test case ch a th c hi n 0
Tỉ l thành công 100%
B ng 4.2: K t qu test ch c năng thêm s n ph m vào gi hàng
 Nh n xét:
 Tính kh d ng
o Giao di n đ n gi n, d s d ng, ch c năng c a phím tab, enter ho t động t t.
Không có lỗi chính t , không khó đ đọc ch , hình nh đ c s p x p gọn gàng,
h p lý.
o Giao di n có đ y đ có menu chính và menu này nh t quán v i giao di n c a các
ch c năng khác trong h th ng.
 Kh năng t ng thích
o H th ng t ng thích v i c ba trình duy t đ c ki m th là Internet Explorer,
Mozila Firefox, Chrome
 V ch c năng
o Th c hi n đúng vƠ đ y đ t t c các tr ng h p đƣ đ c mô t trong b n thi t k
test case.
4.2.3. Ch c năng s a gi hàng
 K t qu ki m th ch c năng s a gi hàng
S l ng test case 8
S test case Pass 8
S test case Failure 0
S test case Error 0
S test case ch a th c hi n 0

Đỗ Thị Ph ng ậ D11CNPM1 60
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

Tỉ l thành công 100%


B ng 4.3: K t qu test ch c năng s a gi hàng
 Nh n xét:
 Tính kh d ng
Giao di n đ n gi n, d s d ng, ch c năng c a phím tab, enter ho t động t t. Không
có lỗi chính t , không khó đ đọc ch , hình nh đ c s p x p gọn gàng, h p lý.
Giao di n có đ y đ có menu chính và menu này nh t quán v i giao di n c a các ch c
năng khác trong h th ng.
Khi phóng to, thu nhỏ không bị vỡ giao di n
 Kh năng t ng thích
H th ng t ng thích v i c ba trình duy t đ c ki m th là Internet Explorer, Mozila
Firefox, Chrome
 V ch c năng
Th c hi n đúng vƠ đ y đ t t c các tr ng h p đƣ đ c mô t trong b n thi t k test
case.
4.2.4. Ch c năng đặt hàng
 K t qu ki m th ch c năng đặt hàng
S l ng test case 12
S test case Pass 12
S test case Failure 0
S test case Error 0
S test case ch a th c hi n 0
Tỉ l thành công 100%
B ng 4.4: K t qu test ch c năng đặt hàng
 Nh n xét:
 Tính kh d ng
o Giao di n đ n gi n, d s d ng, ch c năng c a phím tab, enter ho t động t t.
Không có lỗi chính t , không khó đ đọc ch , hình nh đ c s p x p gọn gàng,
h p lý.
o Giao di n có đ y đ có menu chính và menu này nh t quán v i giao di n c a các
ch c năng khác trong h th ng.
o Khi phóng to, thu nhỏ không bị vỡ giao di n

Đỗ Thị Ph ng ậ D11CNPM1 61
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

 Kh năng t ng thích
o H th ng t ng thích v i c ba trình duy t đ c ki m th là Internet Explorer,
Mozila Firefox, Chrome.
 V ch c năng
o Th c hi n đúng vƠ đ y đ t t c các tr ng h p đƣ đ c mô t trong b n thi t k
test case.
 Tính b o m t
o Gõ tr c ti p url vƠo thanh địa chỉ c a trình duy t mà không qua th c hi n các yêu
c u b t buộc tr c khi truy c p vƠo trang đó.
o Thay đ i url tr c ti p bằng cách đ i tham s ki m tra tính h p l c a trang đó đ
chuy n t i một trang khác.
o Th các giá trị đ u vào không h p l vƠo các tr ng c a trang web.
4. 3. Đánh giá k t qu ki m th
4.3.1. Ki m th ch c năng
Đánh giá toƠn bộ quá trình ki m th trong t ng s 56 test case c a 4 ch c năng
chính c a h th ng:
Ch c năng T ng s S test t S test S test Tỉ l thành
test động pass failure công
Đăng ký tƠi kho n 20 20 18 2 90%
Thêm s n phẩm vào 16 15 16 0 100%
giỏ hàng
S a giỏ hàng 8 7 8 0 100%
Đặt hàng 12 12 12 0 100%
B ng 4.5: K t qu ki m th ch c năng
Trong đó:
 Các ch c năng lƠ Thêm s n phẩm vào giỏ hàng, s a giỏ hƠng vƠ đặt hƠng đƣ đ m b o
th c thi đúng vƠ đ y đ các test case. Tuy nhiên, do Selenium không hỗ tr gi l p
nhi u ng i dùng o cùng lúc, nên v i ch c năng Thêm s n phẩm vào giỏ hàng và
ch c năng s a giỏ hƠng đƣ có 2 test case không th th c thi ki m th t động v i
Selenium Webdriver và TestNG.
 V i ch c năng đăng ký tƠi kho n m i thì có một test case đƣ x y ra lỗi:
Khi ng i dùng đăng ký tƠi kho n m i v i tên tài kho n là một thẻ HTML
ắ<h1>phuongdothi</h1>”, k t qu mong mu n hi n thị thông báo lỗi ắError account!” vƠ
đăng ký không thƠnh công. Tuy nhiên, k t qu th c t hi n thị thông báo đăng ký thƠnh
công v i message ắRegister successfully!”.
Đỗ Thị Ph ng ậ D11CNPM1 62
Đ án t t nghi p Đ i học Ch ng 4: Th c nghi m vƠ đánh giá k t qu

Vì v y c n b sung tr ng h p ki m tra tính h p l c a tên tài kho n khi đăng ký m i.


 V i các tính năng nh : tính kh d ng, tính b o m t và kh năng t ng thích thì h
th ng đ u đƣ đáp ng t t.
 Các báo cáo ki m th , g i ý tìm và s a lỗi đƣ đ c ghi l i đ y đ trong báo cáo hỗ tr
b i framework TestNG.
4.3.2. Ki m th phi ch c năng
Đánh giá toƠn bộ quá trình ki m th phi ch c năng trong t ng s 86 test case c a
4 ch c năng chính c a h th ng:
Ch c năng T ng s S test S test Tỉ l thành
test pass failure công
Đăng ký tƠi kho n 21 17 4 80.95%
Thêm s n phẩm vào giỏ hàng 21 18 3 85.71%
S a giỏ hàng 23 19 4 82.61%
Đặt hàng 21 19 3 90.48%
B ng 4.6: K t qu ki m th phi ch c năng
Trong đó:
 Khi ki m th phi ch c năng, h u h t các ch c năng c a h th ng đ u bị lỗi timeout do
webite không đ c đặt th i gian timeout.
 V i ch c năng đăng ký vƠ ch c năng đặt hàng, ngoài lỗi time out thì có 2 test case
khác x y ra lỗi khi ki m th là:
o Lỗi khi m t k t n i m ng: khi k t lỗi m ng bị m t, h th ng v n th c hi n đăng ký
vƠ l u thông tin tƠi kho n vƠo c s d li u.
o Lỗi khi m t k t n i database: khi k t lỗi database bị đóng, h th ng v n th c hi n
đăng ký vƠ l u thông tin tƠi kho n vƠo c s d li u.

4. 4. K t lu n ch ng
Ch ng 4 đƣ v n d ng các c s lý thuy t v ki m th ph n m m và ki m th ph n
m m t động, k t h p v i vi c s d ng công c ki m th Selenium WebDriver và
framework TestNG đ ki m th các ch c năng chính c a ng d ng Web Fashionista trên
các trình duy t Internet Explorer, Mozila Firefox, Chrome. Đ ng th i cũng đƣ đ a ra báo
cáo ki m th và phân tích nguyên nhân gây ra lỗi.

Đỗ Thị Ph ng ậ D11CNPM1 63
Đ án t t nghi p Đ i học K t lu n

K T LU N

Ki m th ph n m m hi n nay gi vai trò h t s c quan trọng trong vi c đ m b o


ch t l ng c a một s n phẩm ph n m m. Mặc dù vi c s d ng các công c ki m th t
động đƣ giúp gi m th i gian, kinh phí, nhân l c trong quá trình phát tri n ph n m m.
Nh ng cũng có nh ng vi c mà công c ki m th t động không th thay th đ c ki m
th viên, hoặc n u có thì vi c c u hình cho nó khó khăn h n r t nhi u so v i ki m th th
công. Do đó, ki m th viên giỏi ph i lƠ ng i nh n bi t đ c khi nào nên s d ng công
c ki m th t động và khi nào nên ki m th th công.
Sau th i gian th c hi n đ án d is h ng d n c a TS. Đỗ Thị Bích Ngọc, k t qu mà
em thu đ c c th nh sau:
K t qu đ t đ c:
 Trình bƠy đ c các ki n th c c b n v ki m th ph n m m nói chung và ki m th
ph n m m t động cho các ng d ng Web nói riêng
 Xây d ng ng d ng Web bán hàng online Fashionista v i công ngh JSP và
Servlet
 Gi i thi u đ c các đặc đi m, thành ph n c a công c ki m th t động Selenium.
K t h p công c Selenium WebDriver và framework TestNG trong ki m th t
động ng d ng Web.
 Áp d ng các ki n th c đƣ tìm hi u vào th c hi n ki m th t động các ch c năng
chính c a ng d ng Web bán hàng online Fashionista.
H n ch :
 Ch a th gi l p nhi u ng i dùng o ch y đ ng th i đ ki m th kh năng x lý
xung đột khi có nhi u khách hƠng cùng đặt hàng vào một th i đi m.
 Ch a nghiên c u đ c ph ng pháp ki m th h ng t khóa v i Selenium.
 M i ki m th v i ng d ng nhỏ, ch a ki m th v i ng d ng th c t .
H ng phát tri n đ tài:
Đ án có th ti p t c tìm hi u sơu h n v các v n đ c a ki m th ph n m m và
đặc bi t là công c ki m th t động Selenium đ có th v n d ng ki m th các ng d ng
l n h n trong th c ti n.

Đỗ Thị Phượng – D11CNPM1 64


Đ án t t nghi p Đ i học Tài li u tham kh o

TÀI LI U THAM KH O

Ti ng Vi t
[1]. Ph m Ngọc Hùng, Tr ng Anh HoƠng, vƠ Đặng Văn H ng. Giáo trình kiểm thử
phần mềm - tháng 1 năm 2014.
[2]. Phan Thi HoƠi Ph ng. Đảm bảo chất lượng phần mềm ậ 2010. Tr. 94-102

Ti ng Anh
[3]. David Burns. Selenium 1.0 Testing Tools: Beginner's Guide Paperback ậ November
11, 2010. published by Packt Publishing Ltd
[4]. David Burns. Selenium 2 Testing Tools: Beginner's Guide Paperback ậ October 19,
2012. published by Packt Publishing Ltd
[5]. Hans-Erik Eriksson, Magnus Penker, Brian Lyons, and David Fado, UML 2 Toolkit,
2003, published by Wiley Publishing, pages 24-45 and 337-460
[6]. Daniel Galin, ắSoftware Quality Assurance From Theory to Implementation”, 2004,
published by Israel’s leading publishers, pages 205 ậ 235
[7]. Mike O'Docherty, Object Oriented Analysis & Design: Understanding System
Development with UML 2.0, pages 123-147, 430-452, 2005
[8]. Alan John Richardson, Selenium Simplified ậ February 1, 2012, published by
Compendium Developments, published by Packt Publishing Ltd, pages 283-287

Danh m c các Website tham kh o


[9]. Taking Screenshot using Webdriver. http://seleniumeasy.com/. Ngày truy c p: 2
tháng 11 năm 2015
[10]. Selenium and TestNG. http://testng.org/ . Ngày truy c p: 14 tháng 9 năm 2015
[11]. WebDriver: Advanced Usage. http://www.seleniumhq.org/. Ngày truy c p: 14 tháng
9 năm 2015
[12]. TestNG Data Provider with Excel. http://www.toolsqa.com/selenium-webdriver/
Ngày truy c p: 18 tháng 10 năm 2015

Đỗ Thị Ph ng ậ D11CNPM1 65

You might also like