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

Tìm hiểu về công cụ selenium ứng dụng trong kiểm thử phần mềm

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC VINH

BÙI VĂN HẠNH

Tìm hiểu về cơng cụ Selenium ứng dụng trong kiểm thử
phầm mềm

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Nghệ An,tháng 5 năm 2016


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC VINH

BÙI VĂN HẠNH

Tìm hiểu về cơng cụ Selenium ứng dụng trong
kiểm thử phầm mềm
NGÀNH: KĨ SƢ CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Sinh viên thực hiện

: Bùi Văn Hạnh

MSSV

: 1151073775


Lớp

: 52K2

Giảng viên hƣớng dẫn: Ths.Nguyễn Thị Uyên

Nghệ An, tháng 5 năm 2016


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

MỤC LỤC
MỤC LỤC ........................................................ Error! Bookmark not defined.
DANH SÁCH HÌNH VẼ ...................................................................................5
1.1

Lý do chọn đề tài .................................................................................7

1.2

Mục tiêu của đề tài ..............................................................................7

1.3

Giới hạn và phạm vi của đề tài ............................................................7

1.4

Nội dung thực hiện ..............................................................................8


1.5

Phƣơng pháp tiếp cận ..........................................................................8

CHƢƠNG 2 : CƠ SỞ LÝ THUYẾT..................................................................9
2.1.

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

2.2. Kiểm thử tự động...................................................................................9
2.2.2. Khái niệm kiểm thử tự động...........................................................9
2.2.2 Quy trình kiểm thử tự động .............................................................11
2.3.

Kiểm thử ứng dụng website ..............................................................17

2.3.1. Khái quát kiểm thử ứng dụng website .........................................17
2.3.2. Các đặc điểm về chất lƣợng của một ứng dụng web ...................18
2.3.3. Các kỹ thuật kiểm thử ứng dụng website. ....................................19
CHƢƠNG 3:

NỘI DUNG THỰC HIỆN .....................................................22

3.1.

Công cụ kiểm thử Selenium ..............................................................22

3.2.


Selenium IDE ....................................................................................23

3.2.1. Cài đặt selenium IDE ...................................................................23
3.2.2. Các thao tác thực hiện kiểm thử tự động với Selenium ...............25
3.2.3. Phần mở rộng trong Selenium IDE ..............................................32
SVTH: Bùi Văn Hạnh
3
MSSV: 1151073775


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
3.3.

Kiểm thử ứng dụng website ..............................................................32

3.4.

Kết luận về bộ công cụ Selenium ......................................................35

KẾT LUẬN ......................................................................................................36
1.

Kết quả đạt đƣợc của đề tài ...............................................................36

2.

Hạn chế của đề tài .............................................................................36

3.


Hƣớng phát triển của đề tài ...............................................................36

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

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

4


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

DANH SÁCH HÌNH VẼ
Hình 2- 1: Quy trình của kiểm thử tự động .............................................................. 13
Hình 2- 2: Bản kế hoạch chính và các bản kế hoạch chi tiết. .................................. 14
Hình 2- 3: Thời điểm phù hợp để thiết lập các kế hoạch kiểm tra. .......................... 15
Hình 3-1: Trang chủ của selelium ............................................................................ 23
Hình 3- 2: Pop up cài đặt Selenium ..........................................................................24
Hình 3- 3: Giao diện của selenium ide. .....................................................................24
Hình 3- 4: Thực hiện thu các trƣờng hợp kiểm thử ...................................................26
Hình 3- 5: Thực hiện thu các trƣờng hợp kiểm thử_2 ..............................................27
Hình 3- 6: TestScript_1 kiểm tra đăng nhập của khách hàng với Selenium IDE ...335
Hình 3- 7: TestScript_2 kiểm tra đăng nhập của khách hàng với Selenium IDE .....35
Hình 3- 8: TestScript_3 kiểm tra đăng nhập của khách hàng với Selenium IDE .....35
Hình 3- 9: TestScript_4 kiểm tra đăng nhập của khách hàng với Selenium IDE .....35
Hình 3- 10: TestScript_5 kiểm tra đăng nhập của khách hàng với Selenium IDE ...35

SVTH: Bùi Văn Hạnh

MSSV: 1151073775

5


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

LỜI CẢM ƠN
Trong giai đoạn phát triển của công nghệ thông tin, ngành công nghệ phần
mềm đang ngày một chiếm vị trí quan trọng trong xu hƣớng phát triển kinh tế cơng
nghiệp hóa, hiện đại hóa của đất nƣớc ta. Trên thực tế khơng có sự thành cơng nào
mà khơng gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay
gián tiếp của ngƣời khác. Trong suốt thời gian từ khi bắt đầu học tập ở giảng đƣờng
đại học đến nay, em đã nhận đƣợc rất nhiều sự quan tâm, giúp đỡ của quý Thầy
Cô,gia đ nh và bạn bè. Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô ở
Khoa Công Nghệ Thông Tin – Trƣờng Đại Học Vinh đã cùng với tri thức và tâm
huyết của m nh để truyền đạt vốn kiến thức quý báu cho chúng em trong st thịi
gian học tai trƣờng.
Em xin chân thành cảm ơn Ths,Nguyễn Thị Uyên đã tận tâm hƣớng dẫn. Nếu
không có những lời hƣớng dẫn, dạy bảo của cơ th em nghĩ đồ án này của em rất
khó có thể hoàn thiện đƣợc.Một lần nữa, em xin chân thành cảm ơn cơ.
Đồ án này đƣợc thực hiện trong vịng 2 tháng với lĩnh vực thực hiện rộng, kiến
thức của em cịn hạn chếvà nhiều bỡ ngỡ. Do vậy, khơng tránh khỏi những thiếu sót
là điều chắc chắn, em rất mong nhận đƣợc những ý kiến đóng góp quý báu của quý
Thầy Cô và các bạn học cùng lớp để kiến thức của em trong lĩnh vực này đƣợc hoàn
thiện hơn.

Sinh viên thức hiện


Bùi Văn Hạnh

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

6


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài

1.1

Cùng với sự phát triển của công nghệ phần mềm, lỗi phần mềm và chất lƣợng
phần mềm luôn là thách thức lớn với bản thân ngành phần mềm khi thực tế đã
chứng minh, kiểm thử phần mềm là giai đoạn 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. Tuy nhiên ở Việt Nam hiện nay,
việc kiểm thử phần mềm vẫn chƣa thực sự đƣợc nhìn nhận đúng với tầm quan trọng
của nó. Điều này thể hiện ở tỷ lệ kỹ sƣ kiểm thử phần mềm ở Việt Nam còn khá
thấp, cứ 5 lập trình viên thì mới có 1 kỹ sƣ kiểm thử (số liệu thống kê năm 2011 của
công ty LogiGear), trong khi tỷ lệ này theo chuẩn quốc tế là 3:1. Thêm vào đó, mức
độ đáp ứng của kỹ sƣ kiểm thử phần mềm ở Việt Nam chƣa cao..
Với mong muốn 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,
cá nhân em lựa chọn để tài “Tìm hiểu về cơng cụ Selenium ứng dụng trong kiểm
thử phần mềm ” làm đề tài cho đồ án tốt nghiệp đại học của mình. Trong khuôn

khổ đồ án, do thời gian và kinh nghiệm thực tế cịn hạn chế nên có những phần thực
hiện chƣa đƣợc tốt, em rất mong nhận đƣợc sự góp ý của thầy cô và các bạn.
Mục tiêu của đề tài

1.2
-

Nắm đƣợc lý thuyết kiểm thử phần mềm, kiểm thử tự động phần mềm.

-

Nắm đƣợc lý thuyết về công cụ kiểm thử tự động Selenium.

-

Ứng dụng đƣợc công cụ Selenim IDE vào kiểm thử website.
Giới hạn và phạm vi của đề tài

1.3
-

Tập trung vào lý thuyết kiểm thử, kiểm thử tự động, công cụ Selenium.

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

7


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử

phần mềm selenium
1.4

Ứng dụng đƣợc công cụ Selenim IDE vào kiểm thử website.
Nội dung thực hiện

-

Tr nh bày đƣợc lý thuyết kiểm thử tự động phần mềm, kiểm thử ứng dụng
website.

-

Tr nh bày đƣợc lý thuyết về công cụ kiểm thử tự động Selenium.

-

Ứng dụng đƣợc công cụ kiểm thử tự động Selenium IDE vào kiểm thử
website.
Phƣơng pháp tiếp cận

1.5
-

Sử dụng các phƣơng pháp nghiên cứu:
o Phƣơng pháp đọc tài liệu.
o Phƣơng pháp phân tích mẫu.
o Phƣơng pháp thực nghiệm.

SVTH: Bùi Văn Hạnh

MSSV: 1151073775

8


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

CHƢƠNG 2 : CƠ SỞ LÝ THUYẾT
2.1. Kiểm thử phần mềm
Kiểm thử phần mềm là khâu mấu chốt để đảm bảo chất lƣợng phần mềm, là
đánh giá cuối cùng về các đặc tả, thiết kế và mã hóa.
Kiểm thử phần mềm là quá trình chạy một ứng dụng để phát hiện lỗi và xem
nó có thỏa mãn các yêu cầu đặt ra khơng. Trong q trình phát triển phần mềm,
những ngƣời phát triển phần mềm và các kỹ sƣ kiểm thử cùng làm việc để phát hiện
lỗi và đảm bảo chất lƣợng sản phẩm. Một sản phẩm phần mềm đƣợc phân phối phải
có đầy đủ các chức năng yêu cầu và tƣơng thích với phần cứng của khách hàng.
Mục tiêu đầu tiên của kiểm thử là ngăn ngừa lỗi, ngăn ngừa lỗi còn tốt hơn là
sửa lỗi v ngăn ngừa đƣợc lỗi thì sẽ là tốt hơn và khơng phải sửa mã, giải quyết
đƣợc vấn đề ngay từ đầu sẽ làm giảm bớt chi phí về thời gian và cơng sức sửa chữa
chƣơng tr nh sau này.
2.2. Kiểm thử tự động
2.2.1. Khái niệm kiểm thử tự động
Kiểm thử tự động là quá trình thực hiện một cách tự động các bƣớc trong một
test case. Nó sử dụng một cơng cụ kiểm thử tự động nào đó để rút ngắn thời gian
kiểm thử. Kiểm thử tự động hỗ trợ các kiểm thử viên rất nhiều tùy vào công cụ và
các nội dung kiểm thử có thể thực hiện bằng tay hay khơng. Đối với những nhiệm
vụ kiểm tra khó mà thực hiện bằng tay hoặc u cầu chi phí về nhân cơng là q lớn
thì sử dụng cơng cụ hỗ trợ là điều hết sức cần thiết.
Ƣu, nhƣợc điểm của kiểm thử tự động:

-

Các ƣu điểm của kiểm thử tự động.
o Kiểm thử chính xác và có thể bao qt thơng tin

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

9


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
o Theo dõi đƣợc chính xác kết quả từng giai đoạn và các báo cáo
tổng hợp
o Cần ít nhân lực trong quá trình kiểm thử
o Chu kỳ kiểm thử diễn ra trong thời gian ngắn
o Hiệu năng của kiểm thử các lớp vƣợt xa tầm với của kiểm thử
thủ công.
-

Các nhƣợc điểm của kiểm thử tự động.
o Chi phí cao cho việc chuyển giao công nghệ và đào tạo nhân
viên
o Tốn chi phí đầu tƣ lớn cho việc phát triển cơng cụ kiểm thử tự
động
o Tốn chi phí và thời gian cho việc tạo các kịch bản kiểm thử và
bảo trì các kịch bản kiểm thử
o Giai đoạn chuẩn bị kiểm thử yêu cầu nhiều nhân lực
o Khu vực kiểm thử tự động có thể khơng bao qt đầy đủ,

khơng áp dụng đƣợc trong việc tìm lỗi mới của phần mềm.

Các trƣờng hợp không nên áp dụng kiểm thử tự động.
Không phải lúc nào cũng nên áp dụng kiểm thử tự động trong việc kiểm
thử phần mềm, vì nhiều khi chi phí và thời gian cho việc kiểm thử tự động cịn
lớn hơn nhiều so với kiểm thử thủ cơng. Dƣới đây là một số trƣờng hợp nên áp
dụng phƣơng pháp kiểm thử tự động để đạt đƣợc hiệu quả cao về thời gian, chi phí
cũng nhƣ chất lƣợng.
-

Trường hợp khơng đủ tài nguyên: Là khi số lƣợng trƣờng hợp kiểm thử

lặp lại quá nhiều trên nhiều môi trƣờng kiểm thử khác nhau, khơng có đủ nguồn
nhân lực để kiểm thử thủ cơng trong một giới hạn thời gian nào đó.
SVTH: Bùi Văn Hạnh
MSSV: 1151073775

10


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
-

Trường hợp kiểm thử hồi qui: Trong quá trình phát triển phần mềm,

nhóm lập tr nh thƣờng đƣa ra nhiều phiên bản phần mềm liên tiếp để kiểm thử.
Thực tế cho thấy việc đƣa ra các phiên bản phần mềm có thể là hàng ngày, mỗi
phiên bản bao gồm những tính năng mới, hoặc tính năng cũ đƣợc sửa lỗi hay nâng
cấp. Việc bổ sung hoặc sửa lỗi mã chƣơng tr nh cho những tính năng ở phiên bản

mới có thể làm cho những tính năng khác đã kiểm tra tốt chạy sai mặc dù phần mã
chƣơng tr nh của nó không hề chỉnh sửa. Để khắc phục điều này, đối với từng phiên
bản, kiểm thử viên không chỉ kiểm tra chức năng mới hoặc đƣợc sửa, mà phải kiểm
tra lại tất cả những tính năng đã kiểm tra tốt trƣớc đó. Điều này khó khả thi về mặt
thời gian nếu kiểm thử thủ công.
-

Trường hợp kiểm thử khả năng vận hành phần mềm trong môi trường

đặc biệt: Đây là kiểm thử nhằm đánh giá xem vận hành của phần mềm có thỏa mãn
u cầu đặt ra hay khơng. Thơng qua đó kiểm thử viên có thể xác định đƣợc các yếu
tố về phần cứng, phần mềm ảnh hƣởng đến khả năng vận hành của hệ thống. Có thể
liệt kê một số tình huống kiểm tra tiêu biểu thuộc loại này nhƣ sau:
o Đo tốc độ trung bình xử lý một yêu cầu của web server.
o Thiết lập 1000 yêu cầu, đồng thời gửi đến web server để kiểm
tra tình huống 1000 ngƣời dùng truy xuất web cùng lúc.
o Xác định số yêu cầu tối đa đƣợc xử lý bởi web server hoặc xác
định cấu hình máy thấp nhất mà tốc độ xử lý của phần mềm
vẫn có thể hoạt động ở mức cho phép.
2.2.2 Quy trình kiểm thử tự động
Một công cụ kiểm thử phần mềm tự động yêu cầu phải làm đƣợc những công
việc sau:
-

Hiểu các mã assembly đƣợc kiểm tra một cách tự động.

-

Tiến hành các nhiệm vụ đơn giản và lặp đi lặp lại một cách tự động.


SVTH: Bùi Văn Hạnh
MSSV: 1151073775

11


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
-

Tạo ra các kịch bản và chạy các kịch bản trong những lô lệnh theo một
lịch tr nh đã vạch ra.

-

Kiểm tra giao diện của các đối tƣợng DOM và các thành phần phần
mềm khác với tập dữ liệu đƣợc thiết lập sẵn.

-

Truy cập vào dữ liệu để xác minh lại các kết quả.

-

Truy cập vào Regestry để xác minh lại các kết quả.

Q trình thực hiện kiểm thử thơng thƣờng đƣợc thực hiện bằng tay:
Sau khi lập kế hoạch, kiểm thử viên thiết kế các test case gồm dữ liệu đầu vào,
dữ liệu đầu ra mong chờ và kết quả thực hiện (điền sau khi test). Tùy theo yêu cầu
và phƣơng pháp đƣợc chọn kiểm thử viên thực thi test bằng tay và ghi lại kết quả

trên giấy cuối cùng đánh giá kết quả đó với kết quả mong chờ đã chuẩn bị trƣớc đó.
Với phƣơng pháp kiểm thử bằng tay này chỉ sử dụng cho một số nội dung kiểm thử
nhƣ kiểm thử giao diện, tài liệu hoặc test các class, phƣơng thức đơn giản… còn với
test về hiệu năng, khả năng chịu tải (stress/volume test), kiểm thử cấu h nh… th
phƣơng pháp này khó mà thực hiện đƣợc. Do vậy cần có cơng cụ kiểm thử tự động
hỗ trợ thực hiện.
Quy trình của kiểm thử tự động:
Quy trình kiểm thử tự động phần mềm cũng giống nhƣ quy tr nh thực hiện
bằng tay chỉ khác ở chỗ kiểm thử tự động có hỗ trợ của cơng cụ ít hoặc nhiều nhƣ
tạo script (có thể bằng tay hoặc cơng cụ), công cụ hỗ trợ về ghi lại kết quả và lƣu trữ
kết quả trong máy tính. Quy tr nh này cũng gần tƣơng tự với quy trình phát triển
phần mềm, đƣợc thực hiện qua nhiều bƣớc, đƣợc tiến hành rất sớm trong quy trình
phát triển phần mềm và đội kiểm thử tiến hành gần nhƣ song song cùng đội phát
triển phần mềm.

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

12


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng cơng cụ kiểm thử
phần mềm selenium

Hình 2- 1: Quy trình của kiểm thử tự động
Lập kế hoạch kiểm tra:
Mục đích: Nhằm chỉ định và mơ tả các loại kiểm tra 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 KTPM, bao gồm
nhiều chi tiết từ các loại kiểm tra, chiến lƣợc kiểm tra, cho đến thời gian và phân
định lực lƣợng kiểm tra viên.

Bản kế hoạch kiểm tra đầu tiên đƣợc phát triển rất sớm trong chu trình phát
triển phần mềm (PTPM), ngay từ khi các yêu cầu đã tƣơng đối đầy đủ, các chức
năng và luồng dữ liệu chính đã đƣợc mơ tả. Bản kế hoạch này có thể đƣợc coi là
bản kế hoạch chính (master test plan), trong đó tất cả các kế hoạch chi tiết cho các
mức kiểm tra và loại kiểm tra khác nhau đều đƣợc đề cập.
Sau khi bản kế hoạch chính đƣợc phát triển, các bản kế hoạch chi tiết lần lƣợt
đƣợc thiết kế theo trình tự thời gian phát triển của dự án. (Hình 1.1 minh hoạ thời
điểm phù hợp để thiết lập các kế hoạch kiểm tra, gắn liền với quá trình phát triển
của dự án. Quá trình phát triển các kế hoạch kiểm tra không dừng lại tại một thời
điểm, mà liên tục đƣợc cập nhật chỉnh sửa cho phù hợp đến tận cuối dự án.).

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

13


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng cơng cụ kiểm thử
phần mềm selenium

Hình 2- 2: Bản kế hoạch chính và các bản kế hoạch chi tiết.
Các bước lập kế hoạch:
Xác định yêu cầu kiểm tra: chỉ định bộ phận, thành phần của phần mềm sẽ
đƣợc kiểm tra, phạm vi hoặc giới hạn của việc kiểm tra. Yêu cầu kiểm tra cũng
đƣợc dùng để xác định nhu cầu nhân lực.
Khảo sát rủi ro: Các rủi ro có khả năng xảy ra làm chậm hoặc cản trở quá
tr nh cũng nhƣ chất lƣợng kiểm tra. Ví dụ: kỹ năng và kinh nghiệm của kiểm tra
viên quá yếu, không hiểu rõ yêu cầu.
Xác định chiến lƣợc kiểm tra: chỉ định phƣơng pháp tiếp cận để thực hiện
việc kiểm tra trên phần mềm, chỉ định các kỹ thuật và công cụ hỗ trợ kiểm tra, chỉ

định các phƣơng pháp dùng để đánh giá chất lƣợng kiểm tra cũng nhƣ điều kiện để
xác định thời gian kiểm tra.
Xác định nhân lực,vật lực: kỹ năng, kinh nghiệm của kiểm tra viên; phần
cứng, phần mềm, công cụ, thiết bị giả lập… cần thiết cho việc kiểm tra.
Lập kế hoạch chi tiết: ƣớc lƣợng thời gian, khối lƣợng công việc, xác định
chi tiết các phần công việc, ngƣời thực hiện, thời gian tất cả các điểm mốc của quá
trình kiểm tra.
Tổng hợp và tạo các bản kế hoạch kiểm tra: kế hoạch chung và kế hoạch chi
tiết.
SVTH: Bùi Văn Hạnh
MSSV: 1151073775

14


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
Xem xét các kế hoạch kiểm tra: phải có sự tham gia của tất cả những ngƣời
có liên quan, kể cả trƣởng dự án và có thể cả khách hàng. Việc xem xét nhằm bảo
đảm các kế hoạch là khả thi, cũng nhƣ để phát hiện (và sữa chữa sau đó) các sai sót
trong các bản kế hoạch.
Thiết kế Test:
Mục đích: Nhằm chỉ đị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 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.
H nh dƣới cho thấy việc thiết kế test không phải chỉ làm một lần, nó sẽ đƣợc
sửa chữa, cập nhật, thêm hoặc bớt xuyên suốt chu kỳ PTPM, vào bất cứ lúc nào có
sự thay đổi yêu cầu, hoặc sau khi phân tích thấy cần đƣợc sửa chữa hoặc bổ sung.

Hình 2- 3: Thời điểm phù hợp để thiết lập các kế hoạch kiểm tra.

Các bước thiết kế test bao gồm:
Xác định và mô tả Test case: xác định các điều kiện cần thiết lập trƣớc và
trong lúc kiểm tra. Mô tả đối tƣợng hoặc dữ liệu đầu vào, mô tả các kết quả mong
chờ sau khi kiểm tra.

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

15


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
Mô tả các bƣớc chi tiết để kiểm tra: các bƣớc này mơ tả chi tiết để hồn
thành một Test case khi thực hiện kiểm tra. Các Test case nhƣ đã nói ở trên thƣờng
chỉ mơ tả đầu vào, đầu ra, cịn cách thức tiến hành nhƣ thế nào th khơng đƣợc định
nghĩa. Thao tác này nhằm chi tiết hóa các bƣớc của một Test case, cũng nhƣ chỉ
định các loại dữ liệu nào cần có để thực thi các Test case, chúng bao gồm các loại
dữ liệu trực tiếp, gián tiếp, trung gian, hệ thống…
Xem xét và khảo sát độ bao phủ của việc kiểm tra: mô tả các chỉ số và cách
thức xác định việc kiểm tra đã hoàn thành hay chƣa? Bao nhiêu phần trăm phần
mềm đã đƣợc kiểm tra? Để xác định điều này có hai phƣơng pháp: căn cứ trên yêu
cầu của phần mềm hoặc căn cứ trên số lƣợng code đã viết.
Xem xét Test case và các bƣớc kiểm tra: Việc xem xét cần có sự tham gia
của tất cả những ngƣời có liên quan, kể cả trƣởng dự án nhằm bảo đảm các Test
case và dữ liệu yêu cầu là đủ và phản ánh đúng các yêu cầu cần kiểm tra, độ bao
phủ đạt yêu cầu, cũng nhƣ để phát hiện (và sữa chữa) các sai sót.
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 tra,
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.
Các bước phát triển Test script bao gồm:
Tạo Test script: thủ công hoặc dùng công cụ hỗ trợ để phát sinh script một
cách tự động (tuy nhiên trong hầu hết mọi trƣờng hợp, ta vẫn phải chỉnh sửa ít hoặc
nhiều trên các script đƣợc sinh tự động). Thông thƣờng, mỗi bƣớc kiểm tra đƣợc
thiết kế trong phần thiết kế test, đòi hỏi ít nhất một Test Script. Các Test Script có
khả năng tái sử dụng càng nhiều càng tốt để tối ƣu hóa cơng việc.
Kiểm tra Test script: xem có “chạy” tốt không nhằm bảo đảm các Test script
hoạt động đúng yêu cầu, thể hiện đúng ý đồ của các bƣớc kiểm tra.
SVTH: Bùi Văn Hạnh
MSSV: 1151073775

16


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
Thành lập các bộ dữ liệu ngoài dành cho các Test script: bộ dữ liệu này sẽ
đƣợc các Test script sử dụng khi thực hiện kiểm tra tự động. Gọi là “ngoài” v
chúng đƣợc lƣu độc lập với các Test script, tránh trƣờng hợp vì dễ dãi, một số kiểm
tra viên “tích hợp” ln phần dữ liệu vào bên trong code của các script (thuật ngữ
chuyên môn gọi là “hard-code”). Việc tách riêng dữ liệu cho phép dễ dàng thay đổi
dữ liệu khi kiểm tra, cũng nhƣ giúp việc chỉnh sửa hoặc tái sử dụng các script sau
này.
Xem xét và khảo sát độ bao phủ của việc kiểm tra: bảo đảm các Test Script
đƣợc tạo ra bao phủ toàn bộ các bƣớc kiểm tra theo yêu cầu.
Thực hiện kiểm tra:
Mục đích: Thực hiện các bƣớc kiểm tra đã thiết kế (hoặc thi hành các Test
script nếu tiến hành kiểm tra tự động) và ghi nhận kết quả.

Việc thực hiện kiểm tra cũng đƣợc làm rất nhiều lần trong suốt chu trình
kiểm tra, cho đến khi kết quả kiểm tra cho thấy đủ điều kiện để dừng hoặc tạm dừng
việc thực hiện.
2.3.

Kiểm thử ứng dụng website

2.3.1. Khái quát kiểm thử ứng dụng website
Các ứng dụng Web đã đƣợc phát triển và trở thành một nền tảng kết nối thông
tin thiết yếu trong nhiều doanh nghiệp. Các ứng dụng Web đóng vai trị quyết định
của thƣơng mại điện tử, 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.
Kiểm thử là một trong những cơng việc quan trọng để có thể đánh giá chất lƣợng
của một sản phẩm và đƣơng nhiên là các ứng dụng Web cũng sẽ không phải là
ngoại lệ. Các phƣơng pháp kiểm thử thông thƣờng và các kỹ thuật sẽ tập trung vào
SVTH: Bùi Văn Hạnh
MSSV: 1151073775

17


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
đánh giá các chức năng yêu cầu của ứng dụng. Tuy nhiên, không thể nào tập trung
đƣợc vào hết tất cả các chức năng yêu cầu. Bởi có rất nhiều chức năng quan trọng
cho ngƣời sử dụng ứng dụng nhƣ đó là: Tính hiệu năng, tính dễ sử dụng, độ tin cậy
và tính bảo mật cần phải đƣợc xem xét. Những yêu cầu và mong đợi của ngƣời sử
dụng, những vấn đề về nền tảng cấu hình, mơ hình nghiệp vụ, sự phát triển và chi

phí cho việc kiểm thử là những vấn đề thƣờng hay gặp phải và thay đổi liên tục đổi
xuyên suốt chu trình của một ứng dụng Web. Vì thế, cần thiết phải phát triển một
chiến lƣợc hiệu quả cho việc kiểm thử mà có thể bao quát đƣợc giới hạn tổng thể
rộng lớn của những yêu cầu, chức năng cho một ứng dụng Web qua đó có thể giúp
cho việc cài đặt, hồn thành ứng dụng cũng nhƣ tránh đƣợc các rủi ro có thể gặp.
2.3.2. Các đặc điểm về chất lƣợng của một ứng dụng web
Một ngƣời sử dụng không chỉ mong đợi chƣơng tr nh của họ sẽ vận hành một
cách ổn định, đúng đắn mà họ còn yêu cầu một số chức năng nào đó phải ln sẵn
sàng trên 24 giờ trong 1 ngày và 7 ngày trong một tuần. Hơn nữa, ngƣời sử dụng
còn mong đợi ở chƣơng tr nh những ƣu điểm sau: tính dễ sử dụng, độ tin cậy, tốc
độ, tƣơng thích với các hệ thống khác nhau và tƣơng thích với các phiên bản trong
tƣơng lại. Cịn với một ứng dụng Web, thì những yêu cầu về chất lƣợng bao gồm:
-

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

-

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

-

Yêu cầu về khả năng sử dụng: tính dễ sử dụng và hiệu quả của một ứng
dụng. Vấn đề này có thể đƣợc thẩm định bởi một nhóm ngƣời dùng giả
định.


SVTH: Bùi Văn Hạnh
MSSV: 1151073775

18


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
-

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

Các yêu cầu về chất lƣợng đóng một vai trị thiết yếu khi thử nghiệm các ứng
dụng Web. Mặc dù nh n chung th chúng tƣơng tự nhƣ những yêu vầu về chất lƣợng
cho các hệ thống phần mềm truyền thống, tuy nhiên chúng có thể có mức độ địi hỏi
cao hơn về chiều sâu.
Do ý nghĩa quan trọng của các đặc điểm về chất lƣợng và sự khác biệt ở cách
mà chúng đƣợc kiểm thử, nhiều phƣơng pháp để kiểm thử một ứng dụng Web tập
trung vào một vài các đặc điểm. Tuy nhiên tất cả các đặc điểm trên đều quan trọng
đối vứi một ứng dụng Web. Và công việc kiểm thử phải đảm bảo những yêu cầu
này đƣợc cài đặt thành công.
2.3.3. Các kỹ thuật kiểm thử ứng dụng website.
a.

iểm



ứ n n


Kiểm thử chức năng là kiểm tra tất cả chức năng của ứng dụng web. Kiểm tra
tất cả các links trong trang web, kết nối cơ sở dữ liệu, định dạng đƣợc sử dụng trong
các trang web nhận những thông tin cần thiết từ ngƣời dùng, kiểm tra cookie.
Kiểm tra tất cả các liên kết (links)
-

Kiểm tra các links liên kết ngoài trang.

-

Kiểm tra tất cả các links nội bộ.

-

Kiểm tra links tới các vị trí trong cùng trang.

-

Kiểm tra các linsk sử dụng để gửi mail tới admin hoặc ngƣời dùng khác
từ trang web.

-

Kiểm tra xem có trang trống nào không.

Kiểm tra form của tất cả các trang

SVTH: Bùi Văn Hạnh
MSSV: 1151073775


19


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
Form là phần cơ bản của bất kì trang Web nào. Form dùng để nhận thông tin
từ ngƣời dùng và tƣơng tác với admin. Những điều cần đƣợc kiểm tra trong form là:
-

Kiểm tra tất cả các trƣờng hợp bắt buộc.

-

Kiểm tra các giá trị mặc định của các trƣờng.

-

Các đầu vào sai cho các trƣờng.

-

Kiểm tra các form bất kỳ: thêm, sửa, xóa...

Kiểm thử cookie:
Cookie là các file nhỏ đƣợc lƣu trong máy ngƣời dùng. Đây là cách cơ bản để
duy trì các phiên làm việc, đặc biệt là các phiên đăng nhập. Kiểm thử ứng dụng
bằng cách chọn “cho phép lƣu” hoặc “khơng cho phép lƣu” cookie từ trình duyệt
của bạn.
Kiểm tra các cookies có đƣợc mã hóa khi ghi vào máy ngƣời dùng. Nếu đang

kiểm thử cookie (ví dụ cookie hết hạn sau khi kết thúc phiên làm việc) thì hãy kiểm
tra các phiên đăng nhập và tạng thái của ngƣời dùng sau khi phiên làm việc kết
thúc. Kiểm tra bảo mật bằng cách xóa các cookies.
Xác minh HTML/CSS
Nếu ta đang tối ƣu hóa các trang web cho các cơng cụ tìm kiếm (Search
engines) thì việc xác minh HTML/CSS là rất quan trọng. Việc xác minh chủ yếu là
các lỗi cú pháp HTML
Kiểm thử cơ sở dữ liệu
Sự nhất quán về dữ liệu rất quan trọng trong ứng dụng web. Kiểm tra tính tồn
vẹn của cơ sở dữ liệu và các lỗi khi ta thêm, sửa, xóa có forms hoặc thực hiện bất kì
chức năng nào có liên quan đến cơ sở dữ liệu. Kiểm tra các câu truy vấn cơ sở dữ
liệu có thực thi chính xác, dữ liệu lấy và cập nhật có chính xác khơng.
b.

Kiểm thử tính khả dụng

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

20


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
Kiểm thử cho chuyển hướng
Đây là cách thức ngƣời dùng xem các trang webs, sử dụng các điều khiển khác
nhau nhƣ: các nút bấm, các hộp (textbox, listbox...) hay cách ngƣời dùng sử dụng
các đƣờng links trong các trang để lƣớt web.
Kiểm thử tính khả dụng
Trang web phải dễ sử dụng. Cung cấp các đƣờng dẫn rõ ràng rành mạch. Kiểm

thử xem các đƣờng dẫn có đúng nhƣ những g trang web đáp ứng khơng. Mỗi trang
đều cần có Menu chính và menu này phải nhất quán.
Kiểm thử nội dung

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

21


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

CHƢƠNG 3:
3.1.

NỘI DUNG THỰC HIỆN

Công cụ kiểm thử Selenium
Selenium (thƣờng đƣợc viết tắt là SE) là một phần mềm mã nguồn mở, đƣợc

phát triển bởi Jason Huggins, sau đó đƣợc tiếp tục phát triển bởi nhóm
ThoughtWorks vào năm 2004.
Selenium hỗ trợ kiểm thử trên hầu hết các trình duyệt web phổ biến hiện nay
nhƣ Firefox, Internet Explorer, Googlechrome và hỗ trợ trên rất nhiều ngơn ngữ lập
trình phổ biến nhƣ C#, Java.
Selenium gồm một bộ các công cụ hỗ trợ kiểm tra tự động tính năng của ứng
dụng web, bao gồm: Selenium IDE, Selenium Remote Control (RC), Selenium Core
và Selenium Grid. Bộ công cụ này hoạt động tốt trên nhiều hệ điều hành và có thể
thực thi kiểm tra trực tiếp trên các trình duyệt web khác nhau.

Selenium IDE: Một ứng dụng mở rộng cho Mozilla Firefox phiên bản 2.0 trở
lên. Công cụ này cung cấp chức năng "thu và chạy lại" – Record and Playback. Nhờ
đó, tester có thể nhanh chóng tạo một bộ kịch bản kiểm tra (test script) bằng cách
trực tiếp "thu" các thao tác của m nh trên đối tƣợng cần kiểm tra thành một tập
những câu lệnh Selenese (ngôn ngữ kịch bản đƣợc dùng riêng cho Selenium IDE và
Selenium Core, có dạng bảng HTML). Sau đó chạy lại các câu lệnh này để kiểm tra,
có thể chạy lại trên nhiều tr nh duyệt: Chrome, Internet Explorer... 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 tra. Selenium IDE còn cho
phép lƣu kịch bản đã thâu dƣới nhiều loại ngôn ngữ lập tr nh khác nhau nhƣ Java,
C#, Ruby, Perl hay Python.

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

22


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium
3.2.

Selenium IDE

3.2.1. Cài đặt selenium IDE
Để kiểm tra xem trên trình duyệt Firefox đã đƣợc cài selenium IDE. Bạn có
thể vào bật trình duyệt này và nhấp vào Tools trên menu Bar. Quan sát trên menu có
mục selenium IDE khơng? Nếu chƣa có bạn hãy thực hiện những bƣớc sau để có
thể cài cho mình tiện ích này của Firefox.
Bước 1: Mở trang chủ của Selenium: />
Hình 3- 1: Trang chủ của selelium

Bước 2: Cài đặt selenium IDE giống nhƣ cài đặt một plugin trên trình duyệt
Firefox
Click vào link 2.4.0, một hộp thoại xuất hiện, click vào Install now để bắt đầu
quá tr nh cài đặt selenium IDE.

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

23


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng cơng cụ kiểm thử
phần mềm selenium

Hình 3- 2: Pop up cài đặt Selenium
Bước 3: Khởi động lại trình duyệt Firefox.
Bước 4: Khởi động selenium IDE.
Vào firefox->cơng cụ-> Selenium IDE (Ctrl +Alt +S), giao diện của Selenium
IDE xuất hiện. Có một danh sách các test case bên trái của bảng với mỗi trƣờng hợp
đều đƣợc bắt đầu với tên Untitled.

Hình 3-3: Giao diện của selenium ide.
SVTH: Bùi Văn Hạnh
MSSV: 1151073775

24


T m hiểu và xây dựng chƣơng tr nh kiểm thử phần mềm bằng công cụ kiểm thử
phần mềm selenium

Giải thích một số kí hiệu:
Run: Nhấp vào nút Run để chạy thử nghiệm hiện đang đƣợc chọn. Khi
chỉ có một thử nghiệm duy nhất đƣợc nạp vào thì nút này và nút Run All có tác
dụng tƣơng tự.
Run All: Nhấp vào nút Run All để chạy tất cả các test case đang đƣợc
mở.
Cho phép dừng thử nghiệm tại một đoạn bất kỳ.
Sau khi click vào biểu tƣợng Pause nó sẽ chuyển sang biểu tƣợng
Resume. Với nút này có thể tiếp tục chạy thử nghiệm tại đoạn đã dừng.
- Nút

: Bỏ qua một test case khi nó đã bị tạm dừng.

- Nút

: Nút thu đƣợc sử dụng để thu các test case qua những thao tác bạn

tác động đến trang web cần kiểm thử.
-

Textbox Command: Dòng lệnh

-

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

-

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


-

Base URL: URL của web ứng dụng.

3.2.2. Các thao tác thực hiện kiểm thử tự động với Selenium
a.

Thực hiện thu một kịch bản với Selenium ID E
Bước 1: Vào Firefox/công cụ/chọn Selenium IDE hoặc nhấn tổ hợp phím

Ctrl+Alt+s.

SVTH: Bùi Văn Hạnh
MSSV: 1151073775

25


×