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

Kiểm thử ứng dụng web và áp dụng

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.93 MB, 58 trang )

I CẢM ƠN
Để hoàn thành bài đồ án tốt nghiệp này, lời đầu tiên em xin gửi lời biết ơn
chân thành và sâu sắc nhất đến thầy giáo ThS. Nguyễn Hồng Tân đã tận tình hƣớng
dẫn, truyền đạt những kinh nghiệm quý giá cho em trong suốt quá trình nghiên cứu
và thực hiện đề tài.
Em xin gửi lời cảm ơn đến các thầy cô giáo trong khoa Công nghệ thông tin
cùng toàn thể các thầy cô giáo đã truyền đạt vốn kiến thức quý báu cho chúng em
trong suốt quá trình học tập vừa qua. Em đã đƣợc quý thầy cô cung cấp và truyền
đạt tất cả kiến thức chuyên môn cần thiết và quý giá nhất. Ngoài ra em còn đƣợc rèn
luyện một tinh thần học tập và làm việc độc lập và sáng tạo. Đây là nền tảng hết
sức cần thiết để có thể thành công khi bắt tay vào nghề nghiệp trong tƣơng lai.
Đồ án tốt nghiệp là cơ hội để em có thể áp dụng, tổng kết lại những kiến thức
mà mình đã học. Đồng thời, rút ra đƣợc những kinh nghiệm thực tế và quý giá trong
suốt quá trình thực hiện đề tài. Sau một thời gian em tập trung công sức cho đề tài
và làm việc tích cực, đặc biệt là nhờ sự chỉ đạo và hƣớng dẫn tận tình của thầy
ThS.Nguyễn Hồng Tân cùng với các thầy cô trong trƣờng Đại học Công nghệ thông
tin & Truyền thông - Đại học Thái Nguyên, đã giúp cho em hoàn thành đề tài một
cách thuận lợi và gặt hái đƣợc những kết quả mong muốn. Bên cạnh những kết quả
khiêm tốn mà em đạt đƣợc, chắc chắn không tránh khỏi những thiếu sót khi thực
hiện báo cáo của mình, kính mong thầy cô thông cảm. Sự phê bình, góp ý của quý
thầy cô sẽ là những bài học kinh nghiệm rất quý báu cho công việc thực tế của em
sau này.
Em cũng xin chân thành cảm ơn Ban lãnh đạo nhà trƣờng và toàn thể các
thầy cô giáo trong nhà trƣờng đã tạo mọi điều kiện thuận lợi, cung cấp cơ sở vật
chất, trang thiết bị cần thiết cho quá trình học tập của chúng em.
Kính chúc quý thầy cô mạnh khoẻ, tiếp tục đạt đƣợc nhiều thắng lợi trong
nghiên cứu khoa học và sự nghiệp trồng ngƣời.
Em xin chân thành cảm ơn!

1



L I CAM ĐOAN
Em xin cam đoan rằng:
Số liệu và kết quả nghiên cứu trong đồ án này là hoàn toàn trung thực và chƣa từng
đƣợc sử dụng hoặc công bố trong bất kỳ công trình nào khác.
Mọi sự giúp đỡ cho việc thực hiện đồ án này đã đƣợc cám ơn và các thông
tin trích dẫn trong đồ án đều đƣợc ghi rõ nguồn gốc.
Sinh viên

Trần Thị Vân Trang

2


MỤC LỤC
L I CẢM ƠN............................................................................................................................ 1
L I CAM ĐOAN ..................................................................................................................... 2
MỤC LỤC ................................................................................................................................. 3
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ ...................................................... 7
L I MỞ ĐẦU ........................................................................................................................... 8
CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI ............................................................................ 9
1.1. Tại sao kiểm thử phần mềm lại cần thiết? ........................................................ 9
1.2. Định nghĩa kiểm thử phần mềm ....................................................................... 9
1.3. Mục tiêu của kiểm thử phần mềm .................................................................. 10
1.4. Quy trình kiểm thử phần mềm ........................................................................ 10
1.4.1. Lập kế hoạch kiểm thử ............................................................................. 11
1.4.2. Phân tích và thiết kế trƣờng hợp kiểm thử ............................................... 12
1.4.3. Thực hiện kiểm thử .................................................................................. 13
1.4.4. Báo cáo kết quả test .................................................................................. 13
1.5. Phân loại ......................................................................................................... 14

CHƢƠNG 2: KIỂM THỬ ỨNG DỤNG WEB .................................................................. 16
2.1 Kiểm thử ứng dụng web. ................................................................................. 16
2.1.1 Giới thiệu ................................................................................................... 16
2.1.2 Khái niệm .................................................................................................. 16
2.1.3 Các đặc điểm về chất lƣợng của một ứng dụng Web ................................ 16
2.1.4 Các bƣớc kiểm thử ứng dụng web............................................................. 17
2.1.5 Một số công cụ hỗ trợ kiểm thử ứng dụng Web........................................ 21
2.2 So sánh kiểm thử Web với kiểm thử phần mềm truyền thống (trên Desktop) 21
2.2.1 Sự khác nhau giữa phần cứng và phần mềm ............................................. 21
2.2.2 Sự khác nhau giữa mô hình web và hệ thống client-server truyền thống . 22
2.3 Công cụ kiểm thử tự động Selenium ............................................................... 23
2.3.1 Selenium là gì? .......................................................................................... 23
2.3.2 Selenium IDE ........................................................................................... 24
2.3.3 Selenium Remote Control (Selenium RC) ................................................ 31
3


2.3.4. Selenium webdriver. ................................................................................. 32
CHƢƠNG 3: KIỂM THỬ PHẦN MỀM VÀO BÀI TOÁN THỰC TẾ ......................... 43
3.1 Bài toán thực tế ................................................................................................ 43
3.2. Khảo sát Website ............................................................................................ 43
3.2.1. Mục đích ................................................................................................... 43
3.2.2. Giới hạn ngƣời sử dụng ............................................................................ 44
3.2.3. Tham khảo ................................................................................................ 44
3.3. Phạm vi test ..................................................................................................... 45
3.4. Quy trình test phần mềm................................................................................. 45
3.5. Xây dựng testcase và kiểm thử phần mềm ..................................................... 48
3.5.1 Trang đăng nhập ........................................................................................ 48
3.5.2. Module chọn và tìm kiếm sản phẩm. ....................................................... 52
3.6. Kết quả sử dụng selenium kiểm thử chức năng trên website mua hàng trực

tuyến....................................................................................................................... 55
KẾT LUẬN ............................................................................................................................. 57
TÀI LIỆU THAM KHẢO ..................................................................................................... 58

4


DANH MỤC HÌNH ẢNH

Hình 1.1. Quy trình kiểm thử ....................................................................................10
Hình 1.2. Sơ đồ kế hoạch kiểm thử ...........................................................................11
Hình 2.1: Giao diện cài đặt selenium ........................................................................25
Hình 2.2: Giao diện sử dụng selenium ......................................................................26
Hình 2.3: Giao diện chính của selenium. ..................................................................30
Hình 2.4: Giao diện Selenium RC ............................................................................32
Hình 2.5: Các hệ điều hành ứng dụng selenium Webdriver .....................................33
Hình 2.6: So sánh giữa Selenium WebDriver và các công cụ kiểm thử tự động khác ..33
Hình 2.7: Tổng quan về đối tƣợng UI (Locators) .....................................................34
Hình 2.9: Xác định phần tử Web theo ID ................................................................35
Hình 2.8: Xác định phần tử Web theo Name ............................................................35
Hình 2.9: Xác định phần tử Web theo LinkText .......................................................36
Hình 2.10: Xác định phần tử Web theo TagName ....................................................36
Hình 2.11:Xác định phần tử Web theo ClassName ..................................................37
Hình 2.12: Xác định phần tử Web theo CSS. ...........................................................37
Hình 2.13: Ví dụ cấu trúc HTML của một trang web ...............................................38
Hình 2.15: Kịch bản kiểm thử đơn giản cho phép ngƣời dùng login vào hệ thống. 41
Hình 2.16: Cấu trúc POM .........................................................................................42
Hình 3.1: Quy trình kiểm thử. ...................................................................................45
Hình 3.2: Giao diện trang đăng nhập ........................................................................48
Hình 3.3:Giao diện module tìm kiếm........................................................................52

Hình 3.4: Giao diện màn hình login khi đăng nhập ..................................................55
Hình 3.5: Kết quả khi thực hiện test. ........................................................................55
Hình 3.6: Giao diện khi mua sản phẩm thành công ..................................................56
Hình 3.7: Kết quả khi thực hiện test .........................................................................56

5


DANH MỤC BẢNG

Bảng 2.1: Các thuộc tính......................................................................................................... 39
Bảng 3.1: Danh sách các module test .................................................................................... 45
Bàng 3.2: Testcase giao diện trang đăng nhập ..................................................................... 49
Bảng 3.3: Testcase function trong đăng nhập....................................................................... 51
Bảng 3.4: Testcase giao diện module tìm kiếm.................................................................... 52
Bảng 3.5: Testcase function tìm kiếm sản phẩm................................................................. 54

6


DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ

Thuật ngữ và từ viết tắt

Ý nghĩa

1

Regression Test


Kiểm thử hồi quy

2

Software

Phần mềm

3

IEEE (Institute of Electrical and Electronics Viện kỹ nghệ Điện và Điện
Engineers
tử

4

Test plan

Kế hoạch kiểm thử

5

Test case

Trƣờng hợp kiểm thử

6

Test leader


Trƣởng nhóm kiểm thử

7

SE

Selenium

8

HTML/ CSS (HyperText Markup Language Ngôn ngữ đánh dấu siêu văn
/ Cascading Style Sheets )
bản

9

CAPTCHA ( Completely Automated Public Phép thử phân biệt ngƣời và
Turing test to tell Computers and Humans
máy
Apart)

10

GUI (Graphical User Interface)

STT

Giao diện đồ họa ngƣời
dùng


7


I MỞ ĐẦU
Trong giai đoạn hiện nay công nghệ thông tin phát triển nhanh nhƣ vũ bão,
hàng năm có rất nhiều sản phẩm phầm mềm ra đời đáp ứng nhu cầu của ngƣời sử
dụng trên toàn thế giới. Yêu cầu các sản phẩm phầm mềm ra đời đáp ứng đƣợc yêu
cầu của khách hàng nhƣ giao diện thân thiện, dễ sử dụng bên cạnh đó các chức năng
phải hoạt động đúng theo yêu cầu từ đó việc kiểm tra các sản phẩm phầm mềm
cũng là một phần quan trọng trong quy trình phát triển phần mềm.
Kiểm thử là một giai đoạn không thể thiếu trong quá trình tạo ra một sản
phẩm phần mềm hoàn thiện nó giúp cho sản phẩm hoạt động đúng nhƣ mong đợi,
việc thực hiện kiểm thử đòi hỏi ngƣời kiểm thử phải có kiến thức cũng nhƣ cách
nhìn khách quan với sản phẩm đồng thời cũng tiêu tốn khá nhiều thời gian và công
sức do vậy để giảm bớt thời gian và tiền bạc cũng nhƣ sự nhàm chán khi kiểm thử
thủ công thì việc kiểm thử bằng công cụ tự động làm cho công việc trở nên nhẹ
nhàng, rút ngắn đƣợc thời gian thực hiện.
Có rất nhiều công cụ thực hiện việc kiểm thử tự động, trong đợt làm đồ án
này em lựa chọn đề tài: “Kiểm thử ứng dụng Web và áp dụng” để có một cái nhìn
tổng quát về công cụ này cũng nhƣ quá trình kiểm thử động.
Trong khuôn khổ thực hiện và khả năng có hạn dó đó có những phần em
thực hiện chƣa đƣợc tốt em mong sự chỉ bảo của các thầy cô để bài làm của em
đƣợc hoàn thiện hơn.
Em xin chân thành cảm ơn các thầy cô đã dạy em trong suốt 5 năm học vừa
qua, đặc biệt em xin gửi lời cảm ơn đến thầy giáo Nguyễn Hồng Tân đã chỉ bảo cho
em trong quá trình hoàn thành đồ án.

8



CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. Tại sao kiểm thử phần mềm lại cần thiết?
Hiện nay ngành công nghệ thông tin càng phát triển, kèm theo đó là yêu cầu
chất lƣợng cùng dịch vụ của các phần mềm càng đƣợc coi trọng. Một phần mềm
đáng tin cậy là một phần mềm không tồn tại lỗi nhƣng trên thực tế, phần mềm viết
bởi con ngƣời luôn tồn tại lỗi. Nếu không có giải pháp để khắc phục lỗi cho các
phần mềm và hệ thống thì chi phí lỗi rất lớn, kèm theo là hậu quả ảnh hƣởng không
nhỏ đến con ngƣời và công việc. Kiểm thử phần mềm có thể hạn chế những vấn đề
lỗi của phần mềm và hệ thống, giúp đánh giá đƣợc độ tin cậy, mặt khác, kiểm thử
phần mềm cũng là một phần trong kế hoạch của dự án.
1.2. Định nghĩa 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. Một số định nghĩa nổi bật:
Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay thành phần dƣới
những điều kiện xác định, quan sát và ghi lại các kết quả, và đánh giá một khía cạnh
nào đó của hệ thống hay thành phần đó. (Theo Bảng chú giải thuật ngữ chuẩn IEEE
của Thuật ngữ kỹ nghệ phần mềm- IEEE Standard Glossary of Software
Engineering Terminology).
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.(Theo “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm).
Kiểm thử phần mềm là hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ
phần mềm trong đúng môi trƣờng chúng dự định sẽ đƣợc triển khai nhằm cung cấp
cho ngƣời có lợi ích liên quan những thông tin về chất lƣợng của sản phẩm hay dịch
vụ phần mềm ấy. Mục đích của kiểm thử phần mềm là tìm ra các lỗi hay khiếm
khuyết phần mềm nhằm đảm bảo hiệu quả hoạt động tối ƣu của phần mềm trong
nhiều ngành khác nhau. (Theo Bách khoa toàn thƣ mở Wikipedia).
Có thể định nghĩa một cách dễ hiểu nhƣ sau:
Kiểm thử phần mềm là quá trình thực thi một hệ thống phần mềm để xác
định xem phần mềm có đúng với đặc tả không và môi trƣờng hoạt động có đúng
yêu cầu không.


9


1.3. Mục tiêu của kiểm thử phần mềm
Phát hiện và xác định càng nhiều lỗi càng tốt ở các phần mềm đƣợc kiểm thử.
Tiến hành sửa lỗi ở các phần mềm đƣợc kiểm thử và kiểm thử lại cho đến khi
đạt một mức độ chất lƣợng phần mềm chấp nhận đƣợc.
Thực thi những trƣờng hợp kiểm thử một cách hiệu quả trong một giới hạn
ngân sách và lịch trình cho phép.
Để biên dịch một tài liệu về các lỗi phần mềm thƣờng gặp nhằm mục đích
ngăn ngừa và sửa chữa lỗi.
Kiểm thử phần mềm sẽ giúp hoàn thiện các ứng dụng phần mềm hoặc sản
phẩm so với yêu cầu kinh doanh và ngƣời sử dụng. Nó là rất quan trọng để đảm bảo
kiểm thử tốt để kiểm thử các ứng dụng phần mềm hoàn toàn và chắc chắn rằng nó
hoạt động tốt và theo các thông số kỹ thuật.
1.4. Quy trình kiểm thử phần mềm

Hình 1.1. Quy trình kiểm thử
Quy trình kiểm thử phần mềm gồm các bƣớc sau:
- Lập kế hoạch kiểm thử (Test plan)
- Thiết kế các trƣờng hợp kiểm thử (Testcase)
- Thực hiện kiểm thử và ghi nhận kết quả
- Kiểm tra, phân tích, đánh giá kết quả

10


- Lập báo cáo kiểm thử
1.4.1. Lập kế hoạch kiểm thử

Mục đích: Nhằm chỉ định và mô tả mục tiêu, phạm vi, tài nguyên, ràng
buộc, môi trƣờng, các mạo hiểm, các phƣơng pháp kiểm tra 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 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, 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 mức kiểm tra và loại kiểm tra khác nhau đều đƣợc đề cập.

Hình 1.2. Sơ đồ kế hoạch kiểm thử
- 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.
11


 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ụ (tool) 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.
 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 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.
1.4.2. Phân tích và thiết kế trường hợp kiểm thử
Một trƣờng hợp kiểm thử (Test Case-TC) là một tình huống kiểm tra, đƣợc
thiết kế kiểm tra một đối tƣợng có thỏa mãn yêu cầu đặt ra hay không. Một TC
thƣờng bao gồm 4 phần cơ bản:
 Điều kiện: đặc tả các điều kiện cần có để tiến hành kiểm tra.
 Đầu vào: đặc tả đối tƣợng hay dữ liệu cần thiết, đƣợc sử dụng làm đầu vào
để thực hiện việc kiểm tra.
 Kết quả mong chờ: kết quả mong đợi trả về đối tƣợng kiểm tra.
 Kết quả thực: kết quả thực tế trả về từ đối tƣợng kiểm tra.
Mục đích: nhằm chỉ định các TC 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ó đảm bảo 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.
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ỳ phát triển phần mềm, 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.

12


Các bƣớc thiết kế test bao gồm:
 Xác định và mô tả test case (TC): 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ả mục đích, yêu cầu kiểm tra, đố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, môi trƣờng kiểm tra.
 Mô tả các bƣớc chi tiết để kiểm tra: thao tác này nhằm chi tiết hóa các bƣớc

của một TC, cũng nhƣ chỉ định các loại dữ liệu nào cần có để thực thi các TC,
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 TC 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 đảm bảo các TC 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
1.4.3. Thực hiện kiểm thử
Testers sẽ đƣợc bố trí công việc bởi Test Leader để thi hành kiểm thử.
 Thi hành kiểm thử theo từng test case
 Thực hiện kiểm thử đặc biệt
 Thực hiện kịch bản kiểm thử mà không đƣợc định nghĩa trong testcase
 Kiểm thử lại các lỗi đã đƣợc sửa
 Tester sẽ tạo ra các báo cáo về lỗi trong suốt quá trình kiểm lỗi và theo dõi
chúng cho đến khi đƣợc xử lý.
 Ở công đoạn kiểm thử độ chấp thuận, khách hàng sẽ thi hành kiểm thử để
kiểm định xem hệ thống phần mềm có thỏa mãn các nhu cầu ngƣời dùng không?
1.4.4. Báo cáo kết quả test
Test Manager hoặc Test Leader sẽ phân tích các lỗi trong hệ thống theo dõi
các lỗi.
 Tạo các báo cáo lỗi.
 Đánh giá các kết quả kiểm thử, thống kê các yêu cầu thay đổi.
 Tính và phân phối các thông tin đo lƣờng hoạt động kiểm thử.
13


 Tạo bảng tổng kết đánh giá hoạt động kiểm lỗi.

 Xác định xem đã đạt tiêu chí thành công và hoàn thành kiểm thử chƣa.
1.5. Phân loại
Trong kiểm thử phần mềm có hai kỹ thuật kiểm thử: Kiểm thử thủ công và
kiểm thử tự động .Trong đó:
Kiểm thử thủ công: Tester thực hiện việc kiểm thử phần mềm bằng tay, từ
viết test case đến thực hiện test, mọi thao tác nhƣ nhập điều kiện đầu vào, thực hiện
một số sự kiện khác nhƣ click nút và quan sát kết quả thực tế, sau đó so sánh kết
quả thực tế với kết quả mong muốn trong test case, điền kết quả test.
Kiểm thử tự động: Kiểm thử phần mềm tự động là thực hiện kiểm thử phần
mềm 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 (tester) không phải lặp đi
lặp lại các bƣớc nhàm chán.
Lựa chọn loại hình kiểm thử nào?
Khi phát triển phần mềm, việc thực hiện kiểm thử là bắt buộc, cho dù ngƣời
thực hiện kiểm thử có thể là developer, hoặc là tester. Vì thế, có kiến thức về kiểm
thử, lựa chọn loại hình kiểm thử phù hợp với sản phẩm là điều cần thiết cho bất cứ
ngƣời nào tham gia vào quá trình làm sản phẩm
Đối với kiểm thử thủ công: thƣờng đƣợc sử dụng khi kiểm tra sản phẩm lần
đầu tiên, thích hợp khi thực hiện các test case chỉ thực hiện ít lần. Tuy vậy, kiểm thử
thủ công tốn thời gian và đối với mỗi lần release, ngƣời kiểm thử vẫn phải thực hiện
lại một tập hợp các test case đã chạy dẫn đến sự mệt mỏi và lãng phí.
Công cụ kiểm thử tự động cũng có những điểm mạnh nhất định mà kiểm thử
thủ công không có. Một trong những lý do chính để ta thực hiện việc kiểm thử là
tiết kiệm thời gian. Nhận định này đặc biệt đúng nếu xét trong giai đoạn bảo trì của
dự án lớn. Mỗi tuần chúng ta phải thực hiện từ một đến hai lần kiểm thử quy hồi với
số lƣợng test case rất lớn thời gian tiêu tốn cũng mất từ một đến hai ngày. Gần nhƣ
không thể thực hiện thủ công, trong khi đó nếu thực hiện kiểm thử thủ công hoàn

14



toàn có thể thực hiện đƣợc khối lƣợng công việc đó với thời gian vô cùng hạn chế.
Chính xác hơn: Nhờ độ ổn định cao, kiểm thử tự động có thể thực thi các test case
với độ chính xác cao hơn rất nhiều so với thực hiện thủ công.
Hoàn thành các công việc mà con ngƣời không thể làm đƣợc: Nếu chúng ta
muốn thực thi load test, performance test, thì kiểm thử tự động là cách duy nhất.
Khi nào cần kiểm thử tự động:
- Những trƣờng hợp kiểm thử cần thực hiện nhiều lần, thƣờng xuyên phải
thực hiện regression test, một số lƣợng testcase lớn cần thực hiện trong một thời
gian ngắn.
- Kiểm thử cần thực hiện ở nhiều môi trƣờng khác nhau.
- Những project có tính ổn định, đặc điểm kỹ thuật đƣợc xác định trƣớc, test
màn hình chức năng không thay đổi trong tƣơng lai.
- Những trƣờng hợp kiểm thử xác nhận hoạt động cơ bản (di chuyển giữa
các màn hình).
- Kiểm tra sự kết hợp của nhiều giá trị đầu vào ở một bƣớc nào đó.
- Kiểm tra nhiều màn hình của dữ liệu đầu vào.
- Mục đầu vào ở nhiều màn hình đăng ký.
- Khi muốn thực thi performance test hoặc load test, kiểm thử tự động gần
nhƣ là lựa chọn duy nhất.
Ví dụ: Tại công ty 2NF software khi phát triển phần mềm đều lựa chọn kiểm
thử thủ công cho mọi sản phẩm. Tuy nhiên trong một số trƣờng hợp cần bàn giao
sản phẩm cho khách hàng trong thời gian gấp rút, đòi hỏi cần có các giải pháp để
thực thi các test case trong thời gian ngắn, thực hiện các thao tác lặp đi lặp lại (nhập
dữ liệu, click, check kết quả...). Vậy kiểm thử tự động giúp khắc phục vấn đề này,
mang lại hiệu quả trong công việc.

15



CHƢƠNG 2: KIỂM THỬ ỨNG DỤNG WEB
2.1 Kiểm thử ứng dụng web.
2.1.1 Giới thiệu
Các ứng dụng web càng ngày càng trở nên phổ biến và phát triển mạnh mẽ,
nhằm đáp ứng tối đa những đòi hỏi của ngƣời dùng khi họ bật trình duyệt web của
mình lên. Gần nhƣ những gì phần mềm truyền thống làm đƣợc thì ứng dụng web
cũng có thể làm đƣợc. Và cho đến nay, các ứng dụng web đóng vai trò quyết định
trong thƣơng mại điện tử và trao đổi thông tin.
Muốn tạo ra đƣợc ứng dụng web có hiệu năng cao, đáng tin cậy nhƣ vậy thì
sau khâu tạo dựng, 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,
ngƣời kiểm thử cũng không thể áp dụng một cách cứng nhắc các phƣơng pháp đó, mà
cần phải linh hoạt, biến nó trở nên phù hợp, thích ứng với kiểm thử ứng dụng web.
2.1.2 Khái niệm
Kiểm thử ứng dụng web (kiểm thử web) là một thành phần trong kiểm thử
phần mềm tập trung vào các ứng dụng web. Kiểm thử ứng dụng web là một trong
những thành phần đang phát triển nhanh nhất của kiểm thử phần mềm.
Hoàn tất kiểm tra trang web của một hệ thống trƣớc khi đi vào hoạt động là
bƣớc đầu để có đƣợc sự yên tâm về khả năng toàn bộ ứng dụng trên trang web hoạt
động đúng. Nó có thể giúp giải quyết các vấn đề chẳng hạn nhƣ khả năng sống sót
trong lƣu lƣợng ngƣời truy cập lớn. Việc bỏ qua vấn đề kiểm thử ứng dụng web
trƣớc khi đi vào hoạt động có thể dẫn đến số ngƣời truy cập website thấp và sự tồn
tại của website khó đƣợc đảm bảo.
2.1.3 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ẽ đƣợc vận
hành ổn định, đúng đắn mà họ còn yêu cầu một số chức năng nào đó phải luôn sẵn
sàng trên 24h/7. Hơn nữa, ngƣời sử dụng còn mong đợi ở chƣơng trình những ƣu
16



đ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 lai. Còn với một ứng dụng web
thì những yêu cầu chất lƣợng bao gồm:
 Yêu cầu về chức năng: Sự hiện diện của các chức năng đáp ứng những
yêu cầu đƣợc xác định. Ngoài ta còn có các yêu cầu khác: 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 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 giả định.
 Yêu cầu về hiệu quả: Tỷ lệ giữa mức độ hiệu quả của một ứng dụng và
các tài nguyên mà nó sử dụng trong các điều kiện cụ thể.
Các yêu cầu về chất lƣợng đóng một vài 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 cầ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 đều quan
trọng đối với một ứng dụng web. Và công việc kiểm thử đảm bảo những yêu
cầu này đƣợc cài đặt thành công.
2.1.4 Các bước kiểm thử ứng dụng web.
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…), ngƣời 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, rồi thời gian hồi đáp
yêu cầu của ngƣời sử dụng đối với ứng dụng là một trong những yếu tố mang tính
quyết định thành bại của ứ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 mềm truyền thống. Trong đó, kiểm
17



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.
Kiểm thử chức năng:
Việc kiểm thử chức năng yêu cầu tester 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. Ngoài ra còn có kết nối cơ sở dữ liệu, kiểm tra cookies và xác minh
HTML/CSS.
 Kiểm tra các liên kết (links) bao gồm kiểm tra liên kết ngoài trang web, liên
kết nội bộ, liên kết tới các vị trí trong cùng trang, liên kết sử dụng để gửi
email tới admin hoặc ngƣời dùng khác trong trang…
 Kiểm tra form của các trang: form là phần cơ bản của các trang web, nên cần
đƣợc kiểm tra một cách kỹ càng, bao gồm các yêu cầu sau:
- Không nhập gì vào các trƣờng bắt buộc thì sao?
- Giá trị mặc định của các trƣờng là gì?
- Nhập đầu vào không đúng validate của các trƣờng thì sao?
- Thao tác trên các trƣờng: xem, nhập, lƣu, sửa, xóa…
 Kết nối cơ sở dữ liệu: Yêu cầu kiểm tra tính toàn vẹn của dữ liệu khi tạo, sửa,
xóa form... hoặc bất cứ chức năng nào có liên quan tới cơ sở dữ liệu. Khi truy
vấn cơ sở dữ liệu thì kết quả trả về có tƣơng ứng với kết qua nhìn thấy đƣợc
trên giao diện không, dữ liệu có đƣợc lấy và cập nhật chính xác không?
 Kiểm thử cookies: Cookies là các tệp đƣợc tạo bởi trang web đã truy cập để
lƣu trữ thông tin duyệt web, nhƣ các tùy chọn trang web hoặc thông tin đăng
nhập của ngƣời dùng. Ngƣời dùng có thể tùy chình trên trình duyệt nhằm
quản lý cookies, thực hiện các thao tác cho phép lƣu, hoặc xóa, hoặc chặn
...để kiểm tra các tính năng lƣu hoặc không lƣu trạng thái đăng nhập, tính
năng bảo mật của ứng dụng web.

18



 Xác minh HTML/CSS: Việc xác minh này đặc biệt quan trọng trong khi
developer thực hiện tối ƣu hóa trang web cho các công cụ tìm kiếm, chủ yếu
liên quan tới lỗi cú pháp HTML. Tester sẽ kiểm tra xem trang web có đƣợc
nhận diện bởi các công cụ tìm kiếm khác nhau hay không (ví dụ: Google,
Yahoo, Bing...)
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, có
hƣớng dẫn sử dụng rõ ràng, rành mạch, 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, tester còn cần thực hiện kiểm
thử các điều khiển chuyển hƣớng (nhƣ button , textbox, tex tlink,... ) 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ử giao diện
Các giao diện chính bao gồm:
 Giao diện web server và server ứng dụng
 Giao diện server ứng dụng và giao diện server dữ liệu
Kiểm tra tất cả các tƣơng tác giữ các server. Nếu server dữ liệu hoặc web
server trả lại bất kỳ báo lỗi nào cho bất kỳ truy vấn nào từ server ứng dụng thì ngay
lập tức server ứng dụng phải nhận đƣợc và cho hiển thị cảnh báo tới ngƣời dùng.
Kiểm tra các trƣờng hợp giao dịch bị bắt đột ngột do ngƣời dùng, hoặc kết nối tới
server bị gián đoạn, bị khởi động lại...
Kiểm tra khả năng tƣơng thích
Yêu cầu thực hiện các kiểm tra nhƣ sau:
Tƣơng thích với trình duyệt (trên máy tính và điện thoại di động): Ngƣời
dùng khác nhau có thể sử dụng trình duyệt khác nhau tùy theo nhƣ cầu, thói quen...
của họ. Cần phải kiểm tra ứng dụng web trên càng nhiều trình duyệt càng tốt (IE,

19



FireFox, Chrome, Safari, Opera...) để kiểm tra sự tƣơng thích. Kiểm tra trên các
phiên bản khác nhau của trình duyệt. Kiểm tra trên cả trình duyệt của thiết bị điện
thoại thông minh. Nếu ứng dụng chạy tốt hơn, hoặc có ƣu tiên tƣơng thích hơn với
trình duyệt nào đó thì cần có thông báo tới ngƣời dùng.
Tƣơng thích với hệ điều hành: một số chức năng của ứng dụng có thể không
tƣơng thích với một số hệ điều hành, hoặc có những lƣu ý khác khi sử dụng, điều
này cần phải đƣợc kiểm tra kỹ và thông báo cho ngƣời dùng biết.
Tƣơng thích với các thiết bị ngoại vi (máy in...): khi ngƣời dùng có lệnh in
trang thì phải đảm bảo tính chính xác của fonts cỡ chữ cỡ giấy... mà ngƣời dùng đã
chọn.
Kiểm thử hiệu năng
Bao gồm các yêu cầu:
Kiểm thử tải: kiểm thử hiệu năng của ứng dụng với các tốc độ kết nối mạng
khác nhau. Kiểm thử khi có nhiều ngƣời dùng cùng truy cập hoặc cùng yêu cầu một
trang xem hệ thống có thể duy trì hoạt động đƣợc không? Hoặc kiểm thử khi ngƣời
dùng tải lên hoặc tải xuống một số lƣợng dữ liệu đặc biệt lớn....
Kiểm thử áp lực: tức là việc đẩy hệ thống ra ngoài giới hạn của nó, thử làm
gián đoạn trang web bằng cách tăng lƣợng tải cao hơn và kiểm tra xem hệ thống
phản ứng nhƣ thế nào và phục hồi nhƣ thế nào.
Kiểm thử bảo mật
Một số case cho kiểm thử bảo mật web nhƣ sau:
Gõ trực tiếp url vào thanh đĩa chỉ của trình duyệt mà không qua đăng nhập.
Các trang nội bộ phải không đƣợc mở. Sau khi đăng nhập và mở các trang nội bộ,
thay dổi url trực tiếp bằng cách đổi tham số ID của trang tới trang thuộc quyền
ngƣời dùng đã đăng nhập khác. Truy cập phải bị từ chối bởi ngƣời dùng này không
thể xem trang thống kê của ngƣời dùng khác.

20



Thử các giá trị đầu vào không hợp lệ trong các trƣờng username, password
thì hệ thống phải báo lỗi.
Các thƣ mục web, các tệp tin không đƣợc truy nhập trực tiếp mà không có
tùy chọn “Download”.
Kiểm tra CAPTCHA cho các đăng nhập tự động
Tất cả các phiên giao dịch, các thông báo lỗi, các hành vi cố gắng xâm phạm
an ninh phải ghi trong log và lƣu tại web server.
2.1.5 Một số công cụ hỗ trợ kiểm thử ứng dụng Web.
Công cụ test bảo vệ web
 Firebug - ứng dụng an ninh web cho trình duyệt firefox. Công cụ test hiệu
năng
 Loadrunner: thực hiện tự động và kiểm thử tải phần mềm từ HP
 Neoload: công cụ kiểm tra hiệu suất từ Neotys
 Silk Perfomer: công cụ kiểm tra hiệu suất từ Borland. Công cụ test chức năng
 Test Studio: công cụ kiểm thử phần mềm cho chức năng web từ Telerik
 TOSCA testsuite: công cụ phần mềm thực hiện tự động các ứng dụng web
theo chức năng hồi quy.
 Selenium: dùng để test tự động các ứng dụng web, có sẵn nhiều ngôn ngữ
2.2 So sánh kiểm thử Web với kiểm thử phần mềm truyền thống (trên Desktop)
2.2.1 Sự khác nhau giữa phần cứng và phần mềm
Một hệ thống để bàn duy nhất bao gồm hỗn hợp phần cứng và phần mềm,
đƣợc xây dựng và hỗ trợ bởi các nhà sản xuất khác nhau, nhiều hệ điều hành, và kết
hợp gần nhƣ vô hạn của phần mềm ứng dụng. Cấu hình và các vấn đề tƣơng thích
trở nên khó khăn hoặc gần nhƣ không thể quản lý trong môi trƣờng này

21



Một hệ thống web bao gồm nhiều client và server. Phía server của hệ thống
web có thể cũng hỗ trợ hỗn hợp phần mềm và phần cứng, do đó có nhiều phức tạp
hơn hệ thống máy tính , từ quan điểm quan điểm và khả năng tƣơng thích.
2.2.2 Sự khác nhau giữa mô hình web và hệ thống client-server truyền thống
Hầu hết các hệ thống client - server là hệ thống truy xuất dữ liệu bị động cho
phép ngƣời dùng thống qua giao diện ngƣời dùng, gửi các dữ liệu đầu vào, nhận các
dữ liệu xuất ra. Client trong hệ thống client - server truyền thống là một nền tảng cụ
thể, nó hỗ trợ bởi hệ điều hành đó.
Các hệ thống web cũng là hệ thống truy xuất dữ liệu bị động thiết kể để xử lý
các hoạt động tƣơng tự nhƣ client truyền thống. Điểm khác nhau chính đó là web based client hoạt động trên nền trình duyệt web.Trình duyệt web là một phần mềm
chạy trên máy client, đƣợc thiết kế riêng biệt cho từng hệ điều hành. Nó hiển thị
HTML, cũng nhƣ các nội dung khác nhƣ javascript, các điều khiển ActiveX, XML,
CSS, các tính năng bảo mật..
Việc phát triển một ứng dụng web không cần quan tâm đến sự tƣơng thích hệ
điều hành vì trình duyệt web đã làm điều đó cho chúng ta rồi. Trên lý thuyết, nếu
nội dung HTML đƣợc thiết kế theo chuẩn HTML 4, thì ứng dụng web có thể chạy
trên bất cứ trình duyệt nào hỗ trợ chuẩn HTML 4.
Việc tạo ra một website không chỉ kết thúc bằng việc đƣa ra các thành phần
nhƣ âm thanh, hình ảnh và mã code của website cùng với nhau. Thực chất, sự hoạt
động của website không bao giờ kết thúc. Khi đã hoàn thành toàn bộ việc thiết kế
website, chúng ta phải kiểm tra nó trƣớc khi đƣa lên world wide web để mọi ngƣời
có thể truy cập. Có những phần mềm quản lý website có thể giúp chúng ta làm việc
này. Những phần mềm này có thể giúp kết nối lại những hình ảnh tình cờ bị di
chuyển, thay đổi tên file và re-link chúng lại ...
Ngoài ra, từ những phần mềm này, chúng ta cũng kiểm tra đƣợc chất lƣợng
website của mình. Website phải đƣợc kiểm tra, sửa lỗi, test lại và lên danh mục đầy
đủ. Bất kì phần mềm nào đƣợc sử dụng trong website thì nó cũng phải đƣợc kiểm
thử. Kiểm tra nhằm đảm bảo chất lƣợng website là tính tƣơng thích giữa các trình
22



duyệt, thời gian tải về các thành phần trong trang web. Yêu cầu phần cứng, dung
lƣợng bộ nhớ cần thiết, tốc độ kết nối của ngƣời sử dung và khả năng chịu tải ( số
lƣợng ngƣời cùng truy cập vào website mà trang web có thể đáp ứng đƣợc). Rất
nhiều công ty hiện nay đã phát triển những phần mềm riêng biệt cho việc đảm bảo
chất lƣợng. Nhƣng những phần mềm này thƣờng có giá thành rất cao.
Đôi khi cách thức tốt nhất để kiểm thử website là một ngƣời duyệt từ đầu đến
cuối site và để họ nói những vấn đề phát sinh khi họ dùng. Việc kiểm tra website
quan trọng nhƣ thế nào trƣớc khi cho nó hoạt động? Kiểm thử bản chất là đảm bảo
cho mọi bộ phận của website nhƣ các chức năng, đặc biệt là các phần mềm có hoạt
động tốt không. Việc kiểm thử website đảm bảo rằng không có link lỗi, không có từ
sai chính tả, không có lỗi trong các phần mềm đƣợc sử dụng và thời gian tải theo
đúng lý thuyết.
2.3 Công cụ kiểm thử tự động Selenium
2.3.1 Selenium là gì?
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 là một bộ các công cụ hỗ trợ kiểm thử tự động các tính năng của
ứng dụng web, bao gồm 4 phần: Selenium IDE, Selenium Remote Control (RC),
Selenium Core và Selenium Grid.
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, Python, PHP. Không những vậy Selenium còn có thể
kết hợp với một số công cụ kiểm thử khác nhƣ Junit, Bromien, Nunit.
Các thành phần của Selenium
Selenium gồm 4 thành phần chính, mỗi thành phần đều đóng một vai trò cụ
thể trong việc hỗ trợ kiểm thử các ứng dụng Web. Các thành phần đó là:
Selenium IDE:Là môi trƣờng phát triển tích hợp cho việc xây dựng trƣờng
hợp kiểm thử Selenium. Nó hoạt động nhƣ một add-on của Firefox và cung cấp một

giao diện dễ sử dụng để phát triển và chạy trƣờng hợp kiểm thử. Selenium-IDE có
23


tính năng thu lại kịch bản kiểm thử để tái sử dụng. Nó cũng có một menu ngữ cảnh
tích hợp với trình duyệt Firefox, cho phép ngƣời dùng chọn từ một danh sách xác
minh (verify) và khẳng định (assert) cho các yếu tố giao diện đã chọn. SeleniumIDE cũng cung cấp các chức năng chỉnh sửa các trƣờng hợp kiểm thử chính xác và
dễ kiểm soát hơn. Mặc dù Selenium-IDE chi là một Firefox add-on,nhƣng các test
case tạo ra bằng Selenium-IDE vẫn có thể chạy trên các trình duyệt khác bằng cách
sử dụng Selenium-RC.
Selenium Core: Công cụ này đã đƣợ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 hầu hết 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 ứng dụng web cần kiểm tra. Điều này là không
thể khi nhân viên kiểm thử không có quyền truy cập đến máy chủ.
Selenium RC (Remote Control): Selenium-RC 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. Ví dụ, nếu trình ứng dụng trả về
một tập kết quả của việc kiểm thử, và nếu chƣơng trình thử nghiệm tự động cần
chạy thử nghiệm trên mỗi phần tử trong tập hợp kết quả, hỗ trợ lặp đi lặp lại các
ngôn ngữ lập trình có thể đƣợc sử dụng để chuyển đổi thông qua việc tập hợp kết
quả, kêu gọi lệnh Selenium chạy thử nghiệm trên mỗi mục.
Selenium-RC 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 thử nghiệm cũng cho phép thử nghiệm tự động đƣợc tích hợp với
một dự án xây dựng môi trƣờng tự động.
Selenium Gird: Thực hiện phƣơng pháp kiểm tra phần bố, phối hợp nhiều
kiết quả của RC để có thể thực thi trên nhiều trình duyệt web khác nhau cùng một
thời điểm. Nó cũng cho phép lƣu lại kết quả kiểm tra.

2.3.2 Selenium IDE
Selenium IDE là một add-on của Mozilla Firefox phiên bản 2.0 trở lên, ban
đầu đƣợc phát triển bởi Shinya Kasatani theo hƣớng sử dụng Selenium Core mà
không cần cài đặt Selenium vào máy chủ ứng dụng.Nó đƣợc xây dựng sử dụng
24


Javscript do vậy mà nó có thể tƣơng tác với DOM, sử dụng đƣợc những cách gọi
JavaScript. Selenium cho phép ghi lại những hành động trong luồng công việc cần
kiểm tra bằng các chức năng Record và Playback.
Selenium IDE cũng chứa một menu ngữ cảnh cho phép lựa chọn yếu tố giao
diện ngƣời dùng từ các trình duyệt đang hiển thị trang và sau đó chọn từ một danh
sách các lệnh Selenium và các thông số đƣợc xác định theo ngữ cảnh của phần giao
diện ngƣời dùng lựa chọn.
Cài đặt Selenium IDE
Bƣớc 1: Vào trang để download Selenium IDE
Bƣớc 2: Click vào link download cho Selenium IDE. Bạn sẽ nhận đƣợc tin
nhắn "Firefox prevented this site(seleniumhq.org) from asking you to install
software on your computer" (Firefox đã chặn phần mềm từ trang web
(seleniumhq.org), bạn có chắc chắn muốn cài đặt trên máy tính của bạn không). Nếu
thực hiện, click nút Allow.
Bƣớc 3: Một pop up xuất hiện nhƣ hình:

Hình 2.1: Giao diện cài đặt selenium
Bƣớc 4: Firefox thực hiện đếm ngƣợc, nút Cài đặt chuyển sang trạng thái
active, có thế click đƣợc. Selenium sẽ bắt đầu đƣợc cài đặt trong máy tính giống
nhƣ 1 add-on của firefox.
Bƣớc 5: Tiến trình cài đặt hoàn thành, hệ thống hỏi bạn có muốn khởi động
lại firefox không. Click vào nút Restart. Firefox sẽ đóng và mở lại.
25



×