Tải bản đầy đủ (.docx) (56 trang)

ỨNG DỤNG CÔNG cụ SELENIUM TRONG KIỂM THỬ WEBSITE

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.11 MB, 56 trang )

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

Nguyễn Thị Thu Hà

ỨNG DỤNG CÔNG CỤ SELENIUM
TRONG KIỂM THỬ WEBSITE

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin

HÀ NỘI - 2016

Nguyễn Thị Thu Hà


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

Em xin cam đoan nội dung được trình bày trong khóa luận này là do em thực hiện
dưới sự hướng dẫn của TS. Đặng Văn Hưng.
Tất cả các tài liệu tham khảm và trích dẫn từ những nghiên cứu liên quan đều được
trình bày rõ ràng, chi tiết trong danh mục tham khảo của khóa luận. Khóa luận không sao
Nguyễn
Thị khác
Thu mà


Hà không chỉ rõ trong tài liệu tham
chép tài liệu, công trình nghiên cứu
của người
khảo
Hà Nội, ngày 28 tháng 5 năm 2016
Sinh viên

ỨNG DỤNG CÔNG CỤ SELENIUM
Nguyễn Thị Thu Hà
TRONG KIỂM THỬ WEBSITE

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin

Cán bộ hướng dẫn: TS. Đặng Văn Hưng

HÀ NỘI - 2016

ĐẠI HỌC QUỐC GIA HÀ NỘI


LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành đến các thầy cô giáo khoa Công nghệ
thông tin – Đại học Công Nghệ. Các thầy cô đã giảng dạy và truyền đạt cho em rất nhiều
kiến thức hay và bổ ích trong suốt quá trình học tập tại trường. Em chân thành cảm ơn
thầy cô đã trang bị cho em hành trang để em tự tin bước trên con đường sự nghiệp sau này
của mình.
Đặc biệt em xin gửi lời cảm ơn sâu sắc nhất đến TS. Đặng Văn Hưng, giảng viên
trường Đại học Công Nghệ đã hướng dẫn và chỉ bảo cho em tận tình trong suốt quá trình
làm khóa luận tốt nghiệp.

Em xin được gửi lời cảm ơn đến gia đình, bạn bè đã động viên, chăm sóc và giúp đỡ
em trong quá trình học tập và nghiên cứu trong suốt thời gian qua.
Em xin chân thành cảm ơn!


TÓM TẮT
Kiểm thử phần mềm tốn nhiều chi phí nhân công, thời gian. Nếu cần ứng dụng an
toàn hơn, chi phí kiểm thử còn cao hơn nữa. Do vậy trong đề tài này em muốn giới thiệu
về kiểm thử tự động để có thể giúp việc kiểm thử được dễ dàng và nhanh chóng hơn, nhờ
đó mà giảm chi phí và giảm lỗi phần mềm. Công cụ kiểm thử tự động được giới thiệu
trong khóa luận là công cụ Selinium. Một công cụ kiểm thử mạnh mẽ nhất hiện nay cho
việc kiểm thử ứng dụng web. Từ đó trên kiến thức về kiểm thử phần mềm, kiểm thử tự
động và công cụ kiểm thử tự động Selenium để thiết kế test case và ứng dụng 2 thành
phần của bộ công cụ Selenium là Selenium IDE và Selenium WebDriver vào kiểm thử 2
chức năng cơ bản của website “Book Store”.


MỤC LỤC


DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Thuật ngữ/Từ viết tắt

Ý nghĩa

Bug

Lỗi tìm thấy trong quá trình kiểm thử.

DEV


Nhóm phát triển phần mềm.

Framework

Một thư viện các lớp đã được xây dựng hoàn chỉnh , bộ
khung để phát triển các phần mềm ứng dụng

Selenium IDE

Selenium Integrated Development Environment

Selenium RC

Selenium Remote Control

Tester

Người kiểm thử phần mềm.

Test case

Ca kiểm thử

Test suite

Tập hợp các ca kiểm thử

Test script


Kịch bản kiểm thử

Test plan

Tài liệu mô tả các mục tiêu, phạm vi, phương pháp tiếp
cận, tập trung vào nỗ lực kiểm thử phần mềm.

Selenese

Tập lệnh Selenium


DANH MỤC HÌNH VẼ
Hình 1.1

Quy trình kiểm thử phần mềm

Hình 1.2

Sơ đồ các mức kiểm thử

Hinh 2.1

Thành phần của Selenium

Hình 2.2

Giao diện Selenium IDE

Hình 2.3


Giao diện vùng làm việc

Hình 2.4

Các thanh công cụ của Selenium IDE

Hình 2.5

Hình ảnh nút ghi Recording

Hình 2.6

Hình ảnh lưu Test case

Hình 2.7

Export test case

Hình 2.8

Kiến trúc Selenium RC

Hình 2.9

Kiến trúc Selenium WebDriver

Hình 3.1

Giao diện trang chủ website “Book Store”


Hình 3.2

Giao diện chức năng đăng nhập tài khoản của khách
hàng.

Hình 3.3

Giao diện chức năng đăng ký tài khoản của khách hàng.

Hình 3.4

Giao diện bắt đầu thu kịch bản kiểm thử

Hình 3.5

Giao diện Selenium ghi lại thao tác kiểm thử

Hình 3.6

Export Test case selenium từ IDE sang Java

Hình 3.7

File Excel đầu vào được tạo.


Hình 3.8

Kết quả đầu ra thu được từ việc kiểm thử các test case

đã tạo.

Hình 3.9

Kịch bản kiểm thử sau khi chỉnh sửa.

Hình 3.10

Kịch bản kiểm thử với chức năng đăng nhập tài khoản
của khách hàng.

Hình 3.11

File Excel đầu vào tạo cho chức năng đăng nhập tài
khoản của khách hàng.

Hình 3.12

File Excel đầu ra chức năng đăng nhập tài khoản của
khách hàng.

Hình 3.13

Kịch bản kiểm thử của chức năng đăng ký tài khoản
của khách hàng.

Hình 3.14

File Excel đầu vào tạo cho chức năng đăng ký tài khoản
của khách hàng.


Hình 3.15

File Excel đầu ra chức năng đăng ký tài khoản của
khách hàng.


DANH MỤC CÁC BẢNG
Bảng 3.1

Mô tả yêu cầu cho chức năng đăng nhập

Bảng 3.2

Các trường hợp cần kiểm thử cho chức năng đăng nhập

Bảng 3.3

Mô tả yêu cầu cho chức năng đăng ký

Bảng 3.4

Các trường hợp cần kiểm thử cho chức năng đăng ký

Bảng 3.5

Báo cáo kết quả kiểm thử chức năng đăng nhập tài khoản
của khách hàng.
Báo cáo kết quả kiểm thử chức năng đăng ký tài khoản của
khách hàng.

Báo cáo tổng hợp

Bảng 3.6
Bảng 3.7


MỞ ĐẦU
Trong xu thế hội nhập hiện nay, các công ty, doanh nghiệp gia công phần mềm trong
nước đang gặp rất nhiều khó khăn do tính cạnh tranh trên thị trường ngày càng trở nên
gay gắt và quyết liệt, các doanh nghiệp càng ngày càng quan tâm hơn tới các phương
pháp quản lý chất lượng phần mềm. Nâng cao chất lượng sản phẩm nhằm mục đích tạo
niềm tin với khách hàng. Mỗi một sản phẩm trước khi được đưa đến tay khách hàng, đều
phải được kiểm tra, kiểm thử một cách kỹ lưỡng, đảm bảo rằng sản phẩm đó không có lỗi,
và tuân thủ theo đúng thiết kế, đúng yêu cầu của khách hàng. Để đạt được các yêu cầu về
chất lượng phần mềm như vậy, thì việc kiểm thử phần mềm luôn luôn tốn rất nhiều thời
gian, kinh phí và nguồn nhân lực mà kiểm thử thủ công chưa đáp ứng được…Vì thế, để
giải quyết cho vấn đề này các công cụ kiểm thử tự động đang dần trở thành các trợ thủ
đắc lực cho đội ngũ phát triển phần mềm.
Selenium là một trong những công cụ kiểm thử tự động mã nguồn mở mạnh mẽ hiện
nay cho việc kiểm thử ứng dụng Web. Selenium có thể chạy được trên hầu hết các trình
duyệt như IE, Mozilla FireFox, Chrome, Safari, Opera… và hầu hết các hệ điều hành như
Windows, Mac, Linux.. hỗ trợ nhiều ngôn ngữ lập trình. Tuy nhiên việc tiếp cận và phát
triển các công cụ kiểm thử tự động ứng dụng vào kiểm thử phần mềm ở Việt Nam còn
chưa phổ biến. Do vậy khóa luận đã nghiên cứu và trình bày về đề tài “Ứng dụng công cụ
Selenium trong kiểm thử Website” với mong muốn được tìm hiểu sâu hơn, xác thực hơn
về kiểm thử phần mềm nói chung và kiểm thử tự động nói riêng, cùng với cách tiếp cận
công cụ kiểm thử tự động Selenium để ứng dụng vào thực tế, tạo tiền đề cho định hướng
tương lai sau khi tốt nghiệp đại học sẽ trở thành một kỹ sư kiểm thử phần mềm chuyên
nghiệp.


10


CHƯƠNG 1. CÁC KHÁI NIỆM CƠ BẢN
CỦA KIỂM THỬ PHẦN MỀM
Dưới đây là những vấn đề chương 1 sẽ trình bày:





Khái niệm và mục đích của kiểm thử phần mềm
Quy trình kiểm thử phần mềm
Phương pháp kiểm thử phần mềm
Các mức kiểm thử phần mềm

1.1. KHÁI NIỆM VÀ MỤC ĐÍCH CỦA KIỂM THỬ PHẦN MỀM
1.1.1. Khái niệ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 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 sản phẩm hay dịch vụ phần mềm.[1]
1.1.2. Mục đích
Kiểm thử phần mềm là yếu tố quyết định lên chất lượng của phần mềm. Thông
thường thì phần mềm không hoạt động như mong muốn dẫn đến việc lãng phí tiền bạc,
thời gian, uy tín của doanh nghiệp, thậm chí có thể gây nên tổn thất, thiệt hại vô cùng lớn
cho các doanh nghiệp.
Mục tiêu chính của kiểm thử phần mềm:
• Phát hiện càng nhiều lỗi càng tốt trong thời gian kiểm thử xác định trước.
• Chứng minh rằng sản phẩm phần mềm phù hợp với các đặc tả yêu cầu của nó.
• Xác thực chất lượng kiểm thử phần mềm đã dùng chi phí và nỗ lực tối thiểu.

• Tạo các Test Case chất lượng cao, thực hiện kiểm thử hiệu quả và tạo ra các báo

cáo vấn đề đúng và hữu dụng.
1.2. QUY TRÌNH KIỂM THỬ PHẦN MỀM
Tùy vào từng tổ chức, hệ thống, ngữ cảnh, mức độ rủi ro của phần mềm mà quy
trình kiểm thử phần mềm có thể gồm nhiều bước khác nhau. Nhưng nhìn chung mọi quy
trình kiểm thử đều có những bước cơ bản sau:
11


Lập kế hoạch

Chuẩn bị kiểm thử

Thực thi kiểm thử

Kiểm thử

Báo cáo, phân
tích dữ liệu

Hình 1.1. Quy trình kiểm thử phần mềm[1]
Lập kế hoạch kiểm thử: Nhiệm vụ quan trọng trong phần lập kế hoạch kiểm thử là xác
định được các yếu tố sau:
- Các giai đoạn kiểm thử áp dụng cho dự án.
- Các phương pháp kiểm thử.
- Các công cụ kiểm thử.
- Nguồn lực kiểm thử.
- Tài nguyên 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ử.

• Chuẩn bị kiểm thử: Nhiệm vụ chiến lược của giai đoạn này là:
- Tìm hiểu nghiệp vụ hệ thống phải kiểm thử.
- Xây dựng kịch bản kiểm thử, phát triển các thủ tục và các kịch bản kiểm thử tự
động( trong trường hợp kiểm thử tự động).
- Chuẩn bị dữ liệu kiểm thử.
- Xem xét phê duyệt các tài liệu kiểm thử.
• Thực thi kiểm thử:
- Thực hiện kiểm thử dựa trên các kịch bản kiểm thử, test script, thủ tục, dữ liệu có sẵn từ
bước chuẩn bị kiểm thử.
- Tham gia quá trình quản lý lỗi, báo cáo, sửa lỗi.
• Báo cáo test và phân tích dữ liệu kiểm thử:
- Báo cáo kiểm thử.
- Phân tích nguyên nhân và đề xuất các hành động khắc phục.


1.3. PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM
Phương pháp kiểm thử phần mềm là hoạt động kiểm tra xem phần mềm đó có chạy
chính xác hay không và có thỏa mãn yêu cầu của khách hàng hay không nhằm hướng tới
mục tiêu chất lượng cho phần mềm.
Theo khái niệm thông thường được nhắc đến thì kiểm thử phần mềm có hai phương
pháp là: Kiểm thử hộp đen (Black Box Testing) và Kiểm thử hộp trắng (white Box
Testing). Gần đây trong các phương pháp kiểm thử còn phát triển thêm một khái niệm
Kiểm thử hộp xám (Grey Box Testing)
12


1.3.1. Kiểm thử hộp đen (Black Box Testing)
Kỹ thuật kiểm thử hộp đen hay còn gọi là kiểm thử vào/ra. Trong kỹ thuật này,
người kiểm thử xem phần mềm như là một hộp đen. Người kiểm thử hoàn toàn không
quan tâm đến cấu trúc bên trong của chương trình mà chỉ quan tâm tới dữ liệu đầu vào và

đầu ra sau khi được xử lý vì thế dữ liệu kiểm thử sẽ xuất phát từ đặc tả.
Kiểm thử hộp đen sẽ cố gắng tìm được các lỗi về: giao diện, các chức năng thiếu
hoặc không đúng, các lỗi cấu trúc dữ liệu trong việc truy cập cơ sở dữ liệu bên ngoài, lỗi
thi hành, các lỗi khởi tạo hoặc kết thúc...
Kiểm thử hộp đen có ưu và nhược điểm như sau:
Ưu điểm: kiểm thử hộp đen không có mối liên quan nào đến mã lệnh, vì vậy người kiểm
thử sẽ tìm được những lỗi mà lập trình viên không tìm thấy được.
• Nhược điểm: Kiểm thử hộp đen “giống như là đi trong bóng tối mà không có đèn” bởi vì
kiểm thử viên không biết các phần mềm được kiểm tra thực sự xây dựng như thế nào. Đó
là lý do mà có nhiều trường hợp mà một kiểm thử viên hộp đen viết rất nhiều test case để
kiểm tra một thứ gì đó mà đáng lẽ có thể chỉ cần kiểm tra bằng một test case duy nhất,
hoặc là trường hợp một số phần chương trình không được kiểm tra chút nào.


Do vậy kiểm thử hộp đen có ưu điểm của “một sự đánh giá khách quan”, mặt khác
nó lại có nhược điểm của thăm dò mù.
1.3.2. Kiểm thử hộp trắng (White Box Testing)
Kiểm thử hộp trắng hay còn gọi là kiểm thử logic, là kỹ thuật kiểm thử cho phép
kiểm tra cấu trúc bên trong của chương trình.
Kiểm thử hộp trắng có ưu và nhược điểm sau:
Ưu điểm: kiểm thử hộp trắng có ưu điểm kiểm thử được rõ ràng cấu trúc bên trong của
ứng dụng, không phải kiểm thử mò không có chủ đích.
• Nhược điểm: Chính vì tính kiểm thử được rõ ràng nên chỉ phát hiện được những lỗi thông
thường, khó có thể phát hiện được lỗi tiềm ẩn.


1.3.3. Kiểm thử hộp xám (Grey Box Testing)
Là phương pháp kiểm thử khá mới mẻ, mới hình thành và đòi hỏi trình độ cao. Kiểm
thử hộp xám là kiểu trung gian giữa hộp đen và hộp trắng. Đòi hỏi người kiểm thử phải
vận dụng kiến thức về thuật toán, cấu trúc bên trong của chương trình như là hộp trắng

13


nhưng để thiết kế ca kiểm thử theo hướng người sử dụng, hoặc có ca kiểm thử như của
hộp đen.


Ưu điểm: Ưu điểm của Kiểm thử hộp xám được quyết định dựa vào sự kết hợp các ưu
điểm của kiểm thử hộp đen và kiểm thử hộp trắng



Nhược điểm: nhược điểm của Kiểm thử hộp xám được quyết định dựa vào sự kết hợp các
nhược điểm của kiểm thử hộp đen và kiểm thử hộp trắng.
1.4. CÁC MỨC KIỂM THỬ
Mức kiểm thử được hiểu là giai đoạn kiểm thử gắn liền với hoạt động của qui trình
kiểm thử (và liên quan chặt chẽ tới qui trình sản xuất của một phần mềm).
Số lượng mức kiểm thử thường cố định ở 4 mức với các khái niệm:
• Kiểm thử đơn vị (Unit Test)
• Kiểm thử tích hợp (Integration Test)
• Kiểm thử hệ thống (System Test)

Kiểm thử chấp nhận (Acceptance Test)

Kiểm thử đơn vị

Kiểm thử tích hợp

Kiểm thử hệ thống


Kiểm thử chấp nhận

14


Hình 1.2 Sơ đồ các mức kiểm thử [3]

15


1.4.1. Kiểm thử đơn vị (Unit Test)
Đơn vị: Là thành phần nhỏ nhất của phần mềm có thể kiểm thử được. Ví dụ: Các
hàm, lớp, thủ tục, phương thức. Đơ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 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.
Mục đích: Đảm bảo chức năng của đơn vị hoạt động đúng theo mong muốn.
Người thực hiện: Do việc kiểm thử đơn vị đòi hỏi phải kiểm tra từng nhánh lệnh, nên
đòi hỏi người kiểm thử có kiến thức về lập trình cũng như về thiết kế của hệ thống nên
người thực hiện thường là lập trình viên
1.4.2 . Kiểm thử tích hợp (Integration Test)
Kiểm thử tích hợp là kiểm thử sự kết hợp giữa các đơn vị của một chương trình và
kiểm thử như một chương trình đã hoàn chỉnh.
Mục đích: Phát hiện lỗi giao tiếp xảy ra giữa các đơn vị cũng như lỗi của bản thân
từng đơn vị( nếu có).
Người thực hiện: thường là lập trình viên.
1.4.3. Kiểm thử hệ thống (System Test)
Kiểm thử hệ thống bắt đầu khi tất cả các đơn vị của hệ thống được tích hợp thành
công. Đây là công đoạn kiểm thử tốn nhiều công sức và thời gian hơn cả. Và đặc biệt,
công đoạn này thường đòi hỏi được thực hiện bởi một nhóm nhân viên tách biệt với nhóm

phát triển có chuyên môn và kinh nghiệp kiểm thử.
Kiểm thử hệ thống gồm nhiều loại kiểm thử khác nhau, trong số đó, các mục tiêu
kiểm thử quan trọng nhất là:
• Kiểm thử chức năng: Việc kiểm thử chức năng chú trọng đến 2 thành phần chính là
kiểm thử giao diện người dùng và kiểm thử luồng nghiệp vụ

Kiểm thử giao diện người dùng: là việc kiểm tra các tương tác của người dùng với
phần mềm. Mục tiêu của kiểm thử giao diện là để đảm bảo rằng giao diện người dùng
cung cấp cho người sử dụng cách truy cập và sử dụng các chức năng hệ thống một cách
thích hợp. Ngoài ra, kiểm thử giao diện còn để đảm bảo rằng các đối tượng trên giao diện
giống như thiếu kế và phù hợp với tổ chức hoặc chuyên ngành

Kiểm thử luồng nghiệp vụ: là kiểm tra các yêu cầu chức năng và nghiệp vụ của hệ

16


thống bao gồm các hoạt động để kiểm tra tính đúng đắn của dữ liệu, qui trình, báo cáo và
việc thực hiện đúng những qui tắc nghiệp vụ. Kiểu kiểm thử này dựa vào kỹ thuật kiểm
thử hộp đen, tức là kiểm tra ứng dụng và các xử lý bên trong ứng dụng bằng cách tương
tác với ứng dụng thông qua giao diện người sử dụng và phân tích các kết quả hoặc đầu ra.
• Kiểm thử hiệu năng: Mục đích của kiểm thử hiệu năng là kiểm tra các yêu cầu về
hiệu năng có đạt được hay không theo những điều kiện sau:
- Với khối lượng dữ liệu bình thường đã biết trước.
- Với khối lượng dữ liệu xấu đã biết trước
• Kiểm thử an toàn thông tin: tập trung vào 2 lĩnh vực bảo mật chính
- Bảo mật ở mực ứng dụng: bao gồm truy cập dữ liệu và các chức năng nghiệp vụ
- Bảo mật ở mức hệ thống: bao gồm truy cập vào hệ thống hoặc truy cập từ xa
Mục đích: Kiểm tra xem hệ thống được làm ra có thỏa mãn yêu cầu hay không về
nhiều khía cạnh: hoạt động, độ tin cậy, hiệu năng hệ thống

Người thực hiện: Nhóm nhân viên kiểm thử.
1.4.4. Kiểm thử chấp nhận (Acceptance Test)
Mục đích: Kiểm thử chấp nhận còn gọi là kiểm thử nghiệm thu nhằm mục đích
chứng minh phần mềm thỏa mãn tất cả yêu cầu của khách hàng.
Người thực hiện: Khách hàng
Có 2 phương pháp kiểm thử chấp nhận: kiểm thử alpha và kiểm thử bêta
Kiểm thử alpha: Người dùng kiểm thử phần mềm ngay tại nơi phát triển phần mềm
dưới sự hỗ trợ của nhân viên kiểm thử, nhân viên kiểm thử sẽ ghi nhận các lỗi hoặc phản
hồi của khách hàng và báo lại với đơn vị phát triển phần mềm để lên kế hoạch sửa chữa
Kiểm thử bêta: Phần mềm sẽ được gửi tới cho người dùng để kiểm thử trong môi
trường thực, lỗi hoặc phản hồi cũng sẽ gửi lại cho đơn vị phát triển phần mềm để lên kế
hoạch sửa chữa
1.5. KẾT LUẬN
Trong chương 1 của khóa luận đã trình bày được các vấn đề cơ bản của kiểm thử
phần mềm. Trong chương 2 của khóa luận sẽ trình bày về kiểm thử tự động, giới thiệu
tổng quan về công cụ Selenium và đi sâu vào giới thiệu kiến trúc và hướng dẫn cài đặt 3
thành phần cơ bản là Selenium IDE, Selenium RC và Selenium WebDriver.

17


CHƯƠNG 2. KIỂM THỬ TỰ ĐỘNG
VÀ CÔNG CỤ SELENIUM
Dưới đây là những vấn đề chương 2 sẽ trình bày:



Kiểm thử tự động
Công cụ Selenium
2.1. KIỂM THỬ TỰ ĐỘNG

2.1.1. Khái niệm kiểm thử tự động
Kiểm thử tự động là quá trình kiểm tra hệ thống với dữ liệu đầu vào và dữ liệu đầu
ra được xác định một cách tự động để thực thi các test case mà không cần hoặc cần ít tới
sự can thiệp của con người.
Đối với kiểm thử tự động thì dữ liệu được từ file input đầu vào (excel, csv...) nhập
vào ứng dụng, sau đó đọc file và kiểm tra sự giống và khác nhau giữa kết quả thực tế với
kết quả mong đợi, từ đó xuất ra file output (excel, csv...) báo cáo kết quả thực hiện.
2.1.2. Qui trình kiểm thử tự động
Qui trình kiểm thử tự động gồm 4 bước:
Bước 1: Dùng công cụ kiểm thử để ghi lại các thao tác lên phần mềm cần kiểm tra
và tự động sinh ra test script.
• Bước 2: Chỉnh sửa để kịch bản kiểm thử để thực hiện theo đúng yêu cầu.
• Bước 3: Chạy kịch bản kiểm thử và giám sát hoạt động kiểm tra phần mềm được
kiểm thử.
• Bước 4: Báo kết quả sau khi thực hiện kiểm thử tự động. Sau đó bổ sung chỉnh sửa
những sai sót.


2.1.3. Ưu và nhược điểm của kiểm thử tự động.
Ưu điểm của kiểm thử tự động:
-

Kiểm thử tự động có độ bao phủ lớn, và độ chính xác cao.
Cần ít nhân lực trong quá trình kiểm thử.
Chu kỳ kiểm thử diễn ra trong thời gian ngắn
Giúp người kiểm thử tránh việc kiểm thử lặp đi lặp lại các bước nhàm chán.
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.

18



Tuy nhiên kiểm thử tự động cũng có các nhược điểm sau:
-

Chi phí cao cho việc chuyển giao công nghệ và đào tạo nhân viên.
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ử.
Giai đoạn chuẩn bị kiểm thử yêu cầu nhiều nhân lực

2.1.4. Khi nào nên kiểm thử tự động
Lý do thường xuyên nhất dẫn đến quyết định sử dụng kiểm thử tự động là thường
xuyên phải thực thi một số lượng test case lớn phải trong một khoảng thời gian ngắn. Từ
khi DEV đưa ra bản thiết kế mới cho tới khi phiên bản mới tới tay khách hàng chỉ từ 1
đến 2 ngày. Trong thời gian ngắn ngủi như vậy chính là lúc lý tưởng để sử dụng kiểm thử
tự động.
-

Xây dựng một bộ kiểm thử tự động cho những chức năng chính, mỗi khi có bản thiết kế
mới. Đây là công việc rất thường xuyên trước khi thực hiện kiểm thử tự động.
Khi muốn thực thi performance test hay load test.
Khi số lượng đầu vào của 1 test case quá nhiều (như ví dụ 50 bộ dữ liệu test), cũng nên
xem xét khả năng thực hiện kiểm thử tự động.
2.2. CÔNG CỤ SELENIUM
2.2.1. Giới thiệu chung về 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 bởi nhóm ThoughtWorks vào năm 2004.
Selenium là một công cụ hỗ trợ kiểm tra tự động cho các ứng dụng chạy trên nền web.[4]
Selenium hỗ trợ kiểm tra hầu hết trên các trình duyệt phổ biến hiện nay như Firefox,
Internet Explorer, Chrome, Safari, cũng như các hệ điều hành chủ yếu như Windows,
Linux, Mac,..Selenium hỗ trợ một số lớn các ngôn ngữ lập trình như C#, Java, Perl, PHP,

Python, Ruby,… Không những vậy, Selenium có thể kết hợp thêm với một số công cụ
khác như Bromien, Junit, Nunit.

19


2.2.2. Thành phần của Selenium
Selenium gồm một bộ công cụ hỗ trợ kiểm tra tự động các ứng dụng web để đảm
bảo chất lượng của các ứng dụng web, Selenium gồm có các thành phần sau:
Selenium
Suite

Selenim
IDE

Selenium
RC

Selenium
WebDriver

Selenium
Grid

Hình 2.1. Thành phần của Selenium.[5]
Selenium-IDE: là một công cụ cho phép ghi (record) và phát lại (playback) một test
script. Nó được thực hiện như là một Firefox Add-On. Selenium IDE cho phép export ra
kịch bản đã thu dưới nhiều loại ngôn ngữ lập trình khác nhau như Java, Php, C#, Ruby,
Perl hay Python.[4]
Selenium-RC, Selenium WebDriver : Cả hai thành phần Selenium này đềucung

cấp thư viện cho mỗi ngôn ngữ được hỗ trợ: Html, Java, C #, Perl, Php, Python, và Ruby.
[5] Kiến trúc của Selenium WebDriver đơn giản hơn so với Selenium RC.
Selenium WebDriver làm việc trực tiếp với trình duyệt ở mức độ hệ điều hành trong khi
Selenium RC làm việc với trình duyệt thông qua một hệ thống Server ảo – Selenium
Remote Control (RC) Server.
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.[4]
2.2.3. Giới thiệu về Selenium IDE và môi trường cài đặt
a. Giới thiệu về Selenium IDE
Trước đây người ta gọi Selenium IDE là Selenium Recorder. Selenium IDE ban đầu
được tạo ra bởi ShinyaKasatani và trao tặng cho các dự án Selenium vào năm 2006 .
20


Selenium IDE cho phép người dùng thực thi những công việc sau đây:
Ghi (Record) những thao tác của người dùng khi sử dụng trình duyệt Firefox. Record
những hành động trên Firefox khá đơn giản, người dùng chỉ cần nhấn nút Record trên
Selenium IDE là chương trình sẽ ghi lại các thao tác đã tương tác với Web trên Firefox.
Người dùng có thể sửa lại command hoặc target ngay trên Selenium IDE, sau đó lưu
test case (chức năng save) để tái sử dụng lần sau.
• Chạy lại những script đã ghi được.
• Chuyển đổi script đã ghi thành các ngôn ngữ lập trình khác. Selenium IDE còn có chức
năng Export. Chức năng này sẽ giúp cho người dùng export code dưới dạng nhiều
ngôn ngữ khác nhau như Python, Java, C#, Ruby…Nếu đã export thì không thể import
trở lại để playback trên Selenium IDE mà phải dùng nó trong một framework khác.


b. Môi trường cài đặt Selenium IDE trên trình duyệt Fire Fox
Trước khi cài đặt Selenium IDE, người dùng cần kiểm tra xem đã cài đặt selenium
IDE trước đó hay chưa bằng cách vào trình duyệt Firefox, click vào “Tool” trên thanh

Menu Bar, khi thanh trỏ sổ xuống mà không thấy có biểu tượng Selenium IDE thì khi đó
sẽ thực hiện các thao tác cài đặt sau:
Bước 1: Vào trang tại đây người dùng cần
click vào phiên bản Selenium IDE cần download.
Bước 2: Khởi động lại trình duyệt Firefox.
Bước 3: Để chạy Selenium IDE, chỉ cần chọn nó từ menu Tools của Firefox. Nó sẽ
mở ra như sau với một cửa sổ kịch bản phần mềm biên tập rỗng.

21


Hình 2.1. Giao diện Selenium IDE

a. Giải thích một số ký hiệu cơ bản trên giao diện của Selenium IDE:

22


URL của ứng dụng web

Danh sách các Actions trong Test

Nơi thực hiện sự kiện
Và lỗi cảnh báo

Hình 2.3. Giao diện vùng làm việc

Ghi hoạt động Test

Test trong web based

Testrunner
Những lệnh thực hiện
Điều khiển tốc độ test

Thể hiện dòng lệnh
Bao gồm kết quả mong đợi

Hình 2.4. Các thanh công cụ của Selenium
Các thanh công cụ chứa các nút để kiểm soát việc thực hiện các trường hợp thử
nghiệm, bao gồm một số tính năng.

23




Base URL: Lưu homepage của ứng dụng web



Test case: Liệt kê các test case có trong test suite




Speed Control: Điều chỉnh tốc độ khi chạy Test case.



Run All: Chạy tất cả các Test case. Khi có nhiều trường hợp thử nghiệm được nạp




Run: Chạy từng test case, khi chỉ có duy nhất một thử nghiệm được nạp



Pause/Resume: Tạm ngưng/Tiếp tục thực thi test case đang chạy.



Step: Thực thi từng bước một trong test case. Chỉ có tác dụng khi test case đang
tạm ngưng.



Apply Rollup Rules: Chức năng đặc biệt cho phép nhóm nhiều action nhỏ thành
một action lớn.



Record: Dùng để thu lại các Test case thông qua các thao tác hành động của người
dùng lên trình duyệt.



Table/Source: Danh sách các action trong test case.




Command: Danh sách các action mà Selenium IDE đang hỗ trợ.



Target: Định nghĩa control mà chúng ta đang tương tác.



Value: Dữ liệu test.



Log: Thông tin về action đang được thực thi.



Reference: Hướng dẫn sử dụng action đang được chọn.



UI-Element and Rollup: Được sử dụng ở mức advance, khi người dùng tự thiết kế các
nhận diện control hay gom nhóm action.
24


b. Chức năng của Selenium IDE:


Thực hiện chế độ ghi: Selenium IDE hỗ trợ thu lại kịch bản thử nghiệm bằng cách ghi
lại những hành động của người dùng khi duyệt các trang web trong trình duyệt.Bắt đầu

thực hiện chế độ ghi bằng cách nhấp vào "Selenium IDE" trong Tools Menu trên trình
duyệt Firefox.
Giao diện Selenium IDE hiện ra như hình 2.1



Di chuyển chuột qua nút “Recording” để kiểm tra trạng thái ghi. Nút “Recording” luôn
trong trạng thái sẵn sàng ghi. Giờ người dùng bắt đầu ghi hành động của mình trong
trình duyệt Firefox.

Hình 2.5. Hình ảnh nút ghi Recording


Lưu test case
Sau khi thực hiện ghi test case, người dùng cần phải lưu test case lại bằng cách :
vào File / Save test case.

25


×