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

ĐỀ tài KIỂM THỬ ỨNG DỤNG TRÊN nền KIỂM THỬ ỨNG DỤNG TRÊN nền WEB BẰNG WEB BẰNG CÔNG cụ SELENIUM

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 (3.27 MB, 142 trang )

HỌC VIỆN NƠNG NGHIỆP VIỆT NAM

KHOA CƠNG NGHỆ THƠNG TIN
-------

-------

KHĨA LUẬN TỐT NGHIỆP
ĐỀ TÀI:
KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB
BẰNG CƠNG CỤ SELENIUM
Giảng viên hướng dẫn: ThS. HỒNG THỊ HÀ
Sinh viên thực hiện:
Vũ Khánh Huyền
Lớp:
K63HTTT

HÀ NỘI - 2022


HỌC VIỆN NƠNG
NGHIỆP VIỆT NAM

KHOA CƠNG NGHỆ
THƠNG TIN

KHĨA LUẬN TỐT
NGHIỆP
ĐỀ TÀI:
KIỂM THỬ ỨNG DỤNG
TRÊN NỀN WEB


BẰNG CÔNG
CỤ SELENIUM
Ngg
ưườ


i
t
h
h



ực
hiiệệ
n

K
h
h
ó
óa
N
g

àn
n
h

Vũ Khháánnh Huyềền


63
Cơơnng Ngghhệ Thhơơnng Tiin


Chhu
uy
ên
nggà
ànnh
Nggư
ườời
hưướ
ớnng
dẫn

Hệ
Thhốốnng
Thhơơnng
Tiin ThhS.
Hoồànng
Thhị Hà

HÀ NỘI - 2022
1


LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn các thầy, cô trong khoa Công nghệ
thông tin, trường Học Viện Nông Nghiệp Việt Nam đã tạo điều kiện thuận lợi


cho em trong quá trình học tập tại trường cũng như trong thời gian thực hiện
Khóa luận tốt nghiệp. Đặc biệt, em muốn gửi lời cảm ơn tới Thạc sỹ Hoàng Thị

Hà– giảng viên trực tiếp hướng dẫn, chỉ bảo, giúp em khắc phục
những khó khăn, thiếu sót để có thể hồn thành các phần trong khóa
luận tốt nghiệp từ lý thuyết cho tới thực hành sử dụng công cụ.
Mặc dù đã cố gắng với tất cả nỗ lực của bản thân để hồn thiện
khóa luận, nhưng do thời gian có hạn, năng lực và kinh nghiệm cịn hạn
chế nên khóa luận khơng thể tránh khỏi những thiếu sót. Kính mong
nhận được sự đóng góp ý kiến từ phía thầy cơ, bạn bè để em có thể
nâng cao kiến thức của bản thân, hồn thiện khóa luận được tốt hơn.

Em xin chân thành cảm ơn!
SINH VIÊN THỰC HIỆN
Vũ Khánh Huyền

2


MỤC LỤC

LỜI CẢM ƠN.........................................................................................................................................
2

MỤC LỤC...................................................................................................................................................
3

PHẦN I: MỞ ĐẦU............................................................................................................................
7


1.1

Tên đề tài

7

1.2

Đặt vấn đề

7

1.3

Mục đích – Yêu cầu

7

1.2.1 Mục đích:....................................................................................................
7

1.2.2 Yêu cầu:.......................................................................................................
8

PHẦN II: TÌNH HÌNH NGHIÊN CỨU TRONG VÀ
NGỒI NƯỚC......................................................................................................................................
8

2.1 Tình hình nghiên cứu trong nước........................................

8

2.2 Tình hình nghiên cứu ngồi nước.......................................
9

2.3 Đề tài và tính thời sự, tầm quan
trọng của đề tài.........................................................................................................
9


PHẦN III: NỘI DUNG VÀ PHƯƠNG PHÁP
NGHIỆN CỨU.......................................................................................................................................
9

3.1 Địa điểm và thời gian nghiên cứu.........................................
9

a.

Nội dung nghiên cứu

b.

Phương pháp nghiên cứu

9

10

PHẦN IV: KẾT QUẢ VÀ THẢO LUẬN....................................................................

10

CHƯƠNG I: PHẦN MỀM VÀ KIỂM THỬ PHẦN
MỀM.................................................................................................................................................................
10

1.1 Phần mềm và các khái niệm liên
quan : 10
1.1.1. Khái niệm: 10

3

1.1.2. Phân loại:

10

1.1.3. Lỗi phần mềm:

11


1.1.4. Yêu cầu của khách hàng:

12

1.1.5. Đặc tả yêu cầu phần mềm:

13

1.1.6. Chất lượng và độ tin cậy của

phần mềm: 14
1.2

Kiểm thử phần mềm: 14

1.2.1 Khái niệm:

14

1.2.2 Vai trò của kiểm thử phần mềm:
14

1.2.3 Các cấp độ kiểm thử phần mềm:
15

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

1.2.5 Phân loại kiểm thử phần mềm:
19

1.2.6 Các mức độ nghiêm trọng của
lỗi: 23
1.2.7 Ca kiểm thử:
23
1.2.8 Nguyên tắc quan trọng trong
kiểm thử phần mềm: 24
1.3

Các kỹ thuật trong kiểm thử:


26

1.3.1 Kỹ thuật phân vùng tương
đương: 26
1.3.2 Kỹ thuật phân tích giá trị biên:
27

1.3.3 Đoán lỗi:

27


1.3.4 Kỹ thuật chuyển trạng thái:
1.4

Kết luận:

28

28

CHƯƠNG II: KIỂM THỬ ỨNG DỤNG TRÊN
NỀN WEB..................................................................................................................................................
29

2.1 Khái quát:..............................................................................................................
29

2.2 Nội dung kiểm thử ứng dụng web:......................................

29

4

2.2.1 Kiểm thử chức năng:........................................................................
29

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

2.2.3 Kiểm thử giao diện...............................................................................
30

2.2.4 Kiểm thử khả năng tương thích.........................................
31

2.2.5 Kiểm thử hiệu năng............................................................................
31


2.2.6 Kiểm thử bảo mật..................................................................................
32

2.3 Các công cụ kiểm thử:.........................................................................
32

2.3.1 Công cụ kiểm thử hiệu năng..................................................
32

2.3.2 Công cụ kiểm thử bảo mật........................................................

33

2.3.3 Công cụ kiểm thử chức năng................................................
33

2.4 Kết luận:..................................................................................................................
34

CHƯƠNG III: KIỂM THỬ ỨNG DỤNG TRÊN
NỀN WEB BẰNG CÔNG CỤ
SELENIUM...............................................................................................................................................
35

3.1 Công cụ kiểm thử tự động
Selenium:..........................................................................................................................
35

3.1.1 Giới thiệu chung về Selenium:............................................
35

3.1.2 Selenium IDE:.............................................................................................
36

3.2 Bài toán thực tế:...........................................................................................
49

3.2.1 Giới thiệu về website:......................................................................
49



3.2.2 Kiểm thử các chức năng của
website JVNET:.........................................................................................................
52

3.3 Kết luận:..................................................................................................................
74

PHẦN V: KẾT LUẬN....................................................................................................................
75

PHẦN VI: TÀI LIỆU THAM KHẢO...............................................................................
76

5

PHẦN I: MỞ ĐẦU
1.1Tên đề tài
“Kiểm thử ứng dụng trên nền web
bằng công cụ selenium”

1.2Đặt vấn đề
Ngày nay, với sự phát triển của các nền tảng
thiết bị khác nhau như web, di động, thiết bị Cloud,
một sản phẩm phải hoạt động trên nhiều nền tảng


khác nhau hay phải tương thích với các sản phẩm
khác là một yêu cầu bắt buộc và từ
đó đặt ra nhiều thách thức cho các nhà sản xuất, phát
triển phần mềm. Lúc này vai trò của kiểm thử là thực sự

cần thiết nói giúp xác nhận yêu cầu, giúp đánh giá


hẩ



lỗi

ă

ừ lỗi


sản phẩm, tìm lỗi, ngăn ngừa lỗi…

Nhu cầu của nghề tester rất cao tuy nhiên
hầu hết các bạn theo học ngành Công Nghệ
Thông Tin đều mong muốn làm nghề lập trình
viên chứ khơng phải là nghề Tester. Tại các cơng
ty phần mềm nước ngồi trung bình cứ 1 lập
trình viên cần phải có tới 4 Tester, tuy nhiên ở
Việt Nam tỷ lệ này lại ngược lại, với 5 lập trình
viên thì mới có 1 tester. Chính sự mất cân đối
này đã mở ra một nhu cầu vô cùng lớn cho nghề
Tester trong tương lai.
Bên cạnh đó, xu hướng áp dụng tự động hoá
đang được triển khai rộng rãi
ở nhiều lĩnh vực, trong đó có kiểm thử phần mềm.
Đặc biệt, khi kiểm thử phần mềm là công đoạn chiếm

phần lớn thời gian trong quá trình phát triển dự án
phần

mềm thì sự ra đời của các công cụ kiểm thử tự
động càng có ý nghĩa hơn bao giờ hết, giúp tiết
kiệm thời gian, công sức và tiền bạc. Selenium
là một công cụ hỗ trợ kiểm thử tự động dành
cho các ứng dụng Web, hoạt động trên hầu hết
các trình duyệt phổ biến hiện nay như Firefox,
Chrome, Internet Explorer, Safari, v.v. cũng như
hỗ trợ số lượng lớn các ngơn ngữ lập trình Web
phổ biến. Công cụ Selenium hiện được đánh giá
là một trong những công cụ tốt nhất cho kiểm
thử tự động các ứng dụng Web.
Trong q trình làm khóa luận, do cịn hạn
chế về kinh nghiệm thực tế, em


rất mong nhận được những góp ý chân
thành từ thầy cơ và các bạn.

-

1.3 Mục đích – u cầu
1.2.1 Mục đích:
Tìm hiểu lý thuyết chung về kiểm
thử phần mềm.
6

-


-

-

Hiểu được các công cụ hỗ trợ kiểm thử
phần mềm đặc biệt là Selenium.

Tìm hiểu sâu về các tính năng
Selenium : đưa ra hướng dẫn cài
đặt, sử dụng hiệu quả bộ công cụ
Áp dụng được kiến thức lý thuyết
vừa tìm hiểu được để ứng dụng
kiểm thử cho một ứng dụng cụ
thể.
1.2.2 Yêu cầu:

-

-

-

Nắm vững được cơ sở lý thuyết chung
về kiểm thử phần mềm.

Nắm vững được cách sử dụng
phần mềm Selenium.
Áp dụng được các phương pháp về
kiểm thử phần mềm.



PHẦN II: TÌNH HÌNH NGHIÊN CỨU
TRONG VÀ NGỒI NƯỚC 2.1
Tình hình nghiên cứu trong nước


Theo

nghiên

cứu

của

http://bachkhoa-

aptech.edu.vn/ thì đến năm 2020, nhân lực Kỹ sư
kiểm thử còn thiếu trong thị trường lao động Việt
Nam khoảng 10.000 người. Những ai theo học
ngành CNTT đều đa phần là nghĩ ngay đến nghề lập
trình vì thế khiến đầu ra của nghề kỹ sư kiểm thử có
số lượng thấp hơn hẳn khiến các nhà tuyển dụng
lao đao trong việc tìm kiếm nguồn nhân lực.
Cùng với ngành sản xuất phần mềm, Việt Nam
là quốc gia có nhiều lợi thế để trở thành quốc gia
gia công phần mềm hàng đầu thế giới và đang là
điểm đầu
tư lâu dài của các công ty công nghệ lớn như
Samsung, LG, Renesas, Foxconn, Fujitsu, Canon,

Panasonic, HP, CSC, Sony,..Vì vậy nhu cầu sử dụng
phần mềm từ các cơng ty trong nước cũng như các
đối tác nước ngồi đang gia tăng.
Hiện nay, ở Việt Nam, chưa có quy trình kiểm
thử chung cho các doanh nghiệp, các doanh nghiệp
tự xây dựng và ban hành quy trình riêng cho mình.
Các kỹ thuật kiểm thử hiện đang được các doanh
nghiệp hay dùng nhất, đó là: các kỹ thuật kiểm thử
dựa trên đặc tả, các kỹ thuật kiểm thử dựa trên cấu
trúc
(kiểm thử hộp trắng) cũng có dùng nhưng khơng nhiều và
phải do lập trình đảm nhận. Bên cạnh đó, hiện nay họ
cũng chú trọng nhiều đến các loại kiểm thử đặc

tính chất lượng phần mềm như: kiểm thử cài đặt, kiểm
thử tương thích, kiểm thử


7

bảo mật. Ngồi việc kiểm thử thủ cơng thì một số kỹ
thuật kiểm thử phải sử dụng các công cụ (tool test) để
kiểm thử do số lượng các trường hợp kiểm thử lớn.

Không phải phần mềm nào viết ra cũng phù
hợp cho việc kiểm thử và không phải đơn vị
nào cũng đủ kinh phí để sử dụng các tool
test.. Đó là một trong những khó khăn mà
các đơn vị đang gặp phải.


2.2 Tình hình nghiên cứu ngồi
nước
Testing ở thế giới đã phát triển từ
lâu, nếu như ở Việt Nam ti lệ chỉ có 1
Tester thì có 5 lập trình viên nhưng ở
nước ngoài tỉ lệ này là 4:1, như vậy với 4
Tester thì mới có một lập trình viên. Có
thể nói Testing có rất nhiều tiềm năng
phát triển.

2.3 Đề tài và tính thời sự, tầm quan
trọng của đề tài


Thỏa mãn nhu cầu của người dùng là việc
rất quan trọng khi tạo ra sản phẩm hay đảm bảo
chất lượng phần mềm là một phần khơng thể thiếu
trong q trình sản xuất phần mềm. Để tạo ra một
sản phẩm chất lượng lại tiết kiệm kinh phí, nguồn
lực, thời gian khơng phải là một việc dễ dàng. Vì
vậy, việc sử dụng công cụ hỗ trợ giúp quản lý chất
lượng phần mềm được ưu tiên phát triển trong


ngành công nghệ phần mềm. Với đề tài “ Kiểm thử
phần mềm và ứng dụng" sẽ giúp ta hiểu rõ hơn việc
tìm kiếm, theo dõi, xử lý, cập nhật và quản lý lỗi
phát

sinh trong quá trình kiểm tra, kiểm thử phần

mềm đảm bảo chất lượng phần mềm trước
khi được triển khai vào thực tế.

-

-

-

-

-

PHẦN III: NỘI DUNG VÀ
PHƯƠNG PHÁP NGHIỆN
CỨU 3.1 Địa điểm và thời
gian nghiên cứu
Bộ môn Công nghệ phần mềm,
khoa Công nghệ thông tin, Học
viện Nông Nghiệp Việt Nam..
Địa điểm: Công ty TNHH Đầu tư và
thương mại dịch vụ Việt Đức.

Thời gian nghiên cứu: 3 buổi/ tuần
trong thời gian từ ngày 20/02/2022
đến ngày 06/04/2021.
a. Nội dung nghiêiên cứu
Tìm hiểu về lý thuyết kiểm thử
phần mềm.
Tìm hiểu cách cài đặt, sử dụng

công cụ kiểm thử tự động.
8


-

Tìm hiểu tính năng, ưu điểm của
Selenium.

-

Ứng
dụn
g
kiể
m
thử
trên
web
cụ
thể.
b.
Phư
ơng
phá
p
nghi
ên
cứu


-

Tham khảo tài liệu: Tham khảo tài liệu
chuyên môn, tài liệu online,…

-

Tham khảo ý kiến giáo viên hướng
dẫn.
PHẦN IV: KẾT QUẢ VÀ THẢO
LUẬN

Chương I: PHẦN MỀM VÀ KIỂM THỬ
PHẦN MỀM
Phần đầu tiên này đi sâu vào việc tìm hiểu các
khái niệm về phần mềm và kiểm thử phần mềm,
giúp khái quát việc phân loại kiểm thử phần mềm,
đưa ra

các quy trình, mức độ trong kiểm thử
phần mềm.


1.1 Phần mềm và các khái niệm liên
quan :
1.1.1. Khái niệm:
Phần mềm (Software) có thể hiểu là một tập hợp
các tập tin có mối liên hệ chặt chẽ với nhau, đảm
bảo thực hiện một số nhiệm vụ, chức năng nào đó
trên thiết bị điện tử. Các tập tin này có thể bao gồm:

các file mã nguồn viết bằng một hoặc nhiều ngơn
ngữ lập trình, các file dữ liệu (thư viện), các file
hướng dẫn.

Phần mềm thực hiện các chức năng
của nó bằng cách gửi các chỉ thị trực
tiếp đến phần cứng (Hardware) hoặc
cung cấp dữ liệu để phục vụ các chương
trình hay phần mềm khác.


Viêc thực thi nhiệm vụ có thể thể là
tự động hoặc thực hiện theo các thông
tin, dữ liệu đầu vào.
Phải có phần cứng thì phần mềm mới thực thi
được. Thơng thường là máy tính, các thiết bị giải trí
truyền thơng, bộ điều khiển trên máy công cụ – ô
tô….

1.1.2. Phân loại:
Theo phương thức hoạt động
Phần mềm hệ thống dùng để vận hành
máy tính nói riêng và các thiết bị điện tử
nói chung. Ví dụ: hệ điều hành máy tính
Windows, Linux, Unix; Các trình điều
khiển (driver), phần sụn (firmware) và
BIOS. Hệ điều hành di dộng iOS,
Android, Windows Phone,…
9


Phần mềm ứng dụng – phần mềm máy tính :
Các phần mềm văn phịng (Microsoft Office,
OpenOffice), trị chơi điện tử (game), các
cơng cụ &


tiện ích khác (ví dụ như phần mềm
quản lý chi tiêu cá nhân, phần
mềm quản lý công việc,…).
Phần mềm dịch mã (trình dịch) gồm trình
biên dịch và trình thơng dịch, cụ thể là
chúng dịch các câu lệnh từ mã nguồn của
ngơn ngữ lập trình sang dạng ngơn ngữ
máy sao cho thiết bị thực thi có thể hiểu
được.

Nền tảng ứng dụng: như ASP.NET
– nền tảng ứng dụng web của
Microsoft, cái này hỗ trợ việc tạo
ra các ứng dụng web, dịch vụ web
(web service).
Theo khả năng hay quyền hạn can
thiệp vào mã nguồn
Phần mềm mã nguồn đóng (closed
source software): Là phần mềm mà mã
nguồn của nó khơng được cơng bố. Để
sử dụng phần mềm nguồn đóng phải
được cấp bản quyền (mua, tặng là tùy).
Phần mềm mã nguồn mở (open source
software): Là phần mềm mà mã nguồn của nó

được cơng bố rộng rãi, công khai và cho
phép mọi người tiếp tục phát triển phần mềm
đó. Thường thì loại phần mềm này miễn phí.

1.1.3. Lỗi phần mềm:
Lỗi phần mềm là một lỗi hay hỏng hóc trong
chương trình hoặc hệ thống máy tính khiến nó tạo ra


kết quả khơng chính xác hoặc khơng mong muốn
hoặc hành

xử theo những cách không lường trước
được.
Lỗi phần mềm thường xuất hiện ở
các hình thức sau đây:
Sai (Fault): Khi phần mềm gạp lỗi sẽ đưa đến
những sai sót. Tuy nhiên,


khơng dễ để phát hiện ra sai sót
trong q trình phát triển phần
mềm. Sai lầm có thể xuất hiện ngay
ở đầu quy trình phát triển phần
mềm khi người phân tích, thiết kế
bỏ sót thơng tin dẫn tới thiếu chức
năng mà lẽ ra cần phải có.
Thất bại (Failure): Thất bại dễ nhận thấy nhất
khi một lỗi được thực thi.
Chúng thường xuất hiện dưới 2 dạng: thất bại

có thể chạy được (ví dụ
như mã nguồn) và thất bại chỉ liên kết với
các lỗi về nhiệm vụ. Ngồi

10

ra, có thể kể đến các thất bại liên quan
tới các lỗi do bỏ quên. Chúng ta có thể
hạn chế thất bại ngay tại bước đầu tiên
của quy trình phát triển phần mềm nếu
việc khảo sát được thực hiện tốt.
Sự cố (Incident): Sự cố thường
được liên kết với một thất bại. Tuy
nhiên nó khác với thất bại ở chỗ sự


×