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

Kiểm thử tự động bằng công cụ katalon studio và selenium ide

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 (2.93 MB, 104 trang )

Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1. Thông tin chung
Tên đề tài: Ứng dụng kiểm thử tự động vào website Quản lý Văn bằng chứng chỉ.
Họ và tên sinh viên:
Điện thoại liên lạc:
Email: @gmail.com
Lớp: Công Nghệ Phần Mềm K63 – B
Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại : Hà Nội
Thời gian làm ĐATN: 2022
2. Mục tiêu của ĐATN


Tìm hiểu quy trình thử nghiệm tự động



Tìm hiểu, cài đặt, sử dụng cơng cụ kiểm thử tự động Selenium IDE và Katalon
Studio



Ứng dụng kiểm thử tự động vào kiểm thử website Quản lý văn bằng chứng chỉ.

3. Các nhiệm vụ cụ thể của ĐATN
1. Nghiên cứu lý thuyết tổng quan về kiểm thử
2. Công cụ kiểm thử tự động Selenium IDE và công cụ Katalon Studio
3. Giới thiệu về website,đặc tả các chức năng kiểm thử và dựa vào đặc tả viết testcase
4. Triển khai thực nghiệm


4. Lời cam đoan của sinh viên :
Tôi – ----- - cam kết ĐATN là cơng trình nghiên cứu của bản thân tôi dưới sự hướng
dẫn của Tiến sĩ ----Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép tồn văn của bất kỳ
cơng trình nào khác.
Hà Nội, ngày tháng
Tác giả ĐATN

I

năm


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

5. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép
bảo vệ:
Hà Nội, ngày tháng

năm

Cán bộ hướng dẫn

Bùi My

II

Lớp DCCTPM63B


Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm


TĨM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Sau một thời gian tìm hiểu, nghiên cứu và hồn thành Đồ án tốt nghiệp với đề tài
“Ứng dụng kiểm thử tự động vào website Quản lý Văn bằng chứng chỉ”, em đã tập trung đi
sâu vào các mục tiêu sau:
Tìm hiểu về quy trình kiểm thử phần mềm.Vai trị, mục tiêu và các kỹ thuật kiểm
thử phần mềm.
Tìm hiểu về kiểm thử tự động, nghiên cứu và áp dụng công cụ kiểm thử tự động
vào website.
Để mô tả chi tiết hơn, nội dung báo cáo của em bao gồm các chương như sau:
Chương 1:Tổng quan về phần mềm và kiểm thử phần mềm.Chương này là cái nhìn
tổng quát về kiểm thử phần mềm, các khái niệm cơ bản về kiểm thử phần mềm, các quy
tắc trong kiểm thử và các phương pháp kiểm thử phần mềm...
Chương 2:Tìm hiểu về cơng cụ kiểm thử tự động.Tìm hiểu và nghiên cứu sử dụng
cơng cụ Selenium IDE, tìm hiểu và nghiên cứu sử dụng cơng cụ Katalon Studio
Chương 3: Thiết kế kịch bản kiểm thử website Quản lý văn bằng chứng chỉ.Trong
chương này sẽ tập trung vào mơ tả, giới thiệu qua hệ thống. Tìm hiểu nghiệp vụ của hệ
thống, tài liệu đặc tả và dựa vào tài liệu đặc tả để thực hiện viết testcase cho các chức
năng( Đăng nhập, Tra cứu, Thêm mới khóa tốt nghiệp, Quản lý người dùng).
Chương 4: Thực thi kiểm thử. Chương này trình bày các bước thử nghiệm, đưa ra
kết quả và báo cáo thử nghiệm.
Cuối cùng là kết luận và hướng phát triển.Đưa ra kết quả thực hiện và những điều
thiếu sót cần được khắc phục để bản báo cáo được hoàn thiện hơn cũng như đưa ra hướng
phát triển để có thể hồn thiện được kỹ năng, kiến thức và kinh nghiệm của bản thân trong
tương lai.

Bùi My

III


Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

LỜI CẢM ƠN
Với lòng biết ơn sâu sắc, đầu tiên cho phép em gửi lời cảm ơn chân thành đến quý
thầy cơ, khoa Cơng nghệ thơng tin trường --- nói chung và tập thể quý thầy cô bộ môn
Công nghệ phần mềm nói riêng đã hết lịng truyền đạt cho em những kiến thức quý báu
trong suốt thời gian học tập tại trường. Đặc biệt em cũng xin chân thành cảm ơn thầy, T.S
– cán bộ giảng dạy bộ môn Công nghệ phần mềm, người đã trực tiếp hướng dẫn em làm đồ
án tốt nghiệp trong suốt thời gian làm đề tài, đã tận tụy chỉ bảo, định hướng cho em hoàn
thiện đồ án tốt nghiệp này. Cuối cùng em xin gửi lời chúc sức khỏe đến tồn thể q thầy
cơ. Mong thầy cô thật nhiều sức khỏe để tiếp tục sự nghiệp giảng dạy và truyền đạt thật
nhiều kiến thức quý báu cho các thế hệ sinh viên tiếp theo. Trong quá trình thực hiện đồ
án, do kinh nghiệm và khả năng của bản thân em còn hạn chế sẽ khơng tránh khỏi những
thiếu xót, em rất mong nhận được sự thơng cảm và đóng góp của các q thầy cơ cùng các
bạn để đồ án của em có thể hoàn thiện hơn. Em xin trân thành cảm ơn!
Hà Nội, ngày

tháng

năm 2022

Sinh viên

Bùi My

IV


Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP...............................................................I
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP.................................................................III
LỜI CẢM ƠN......................................................................................................................IV
MỤC LỤC.............................................................................................................................V
DANH MỤC HÌNH VẼ.......................................................................................................IX
DANH MỤC BẢNG BIỂU................................................................................................XII
DANH MỤC TỪ VIẾT TẮT............................................................................................XIII
MỞ ĐẦU................................................................................................................................1
CHƯƠNG 1 . PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM.................................................3
1.1 Phần mềm và khái niệm liên quan...............................................................................3
1.1.1 Phần mềm.............................................................................................................3
1.1.2 Lỗi phần mềm.......................................................................................................3
1.1.3 Các mức độ nghiêm trọng của lỗi.........................................................................4
1.1.4 Yêu cầu của khách hàng.......................................................................................4
1.1.5 Đặc tả yêu cầu phần mềm.....................................................................................4
1.1.6 Chất lượng và độ tin cậy của phần mềm..............................................................5
1.2 Khái niệm về kiểm thử phần mềm...............................................................................5
1.2.1 Thuật ngữ liên quan đến kiểm thử........................................................................6
1.2.2 Mục tiêu và vai trò của kiểm thử..........................................................................7
1.2.3 Các phương pháp kiểm thử phần mềm.................................................................7
1.2.4 Các mức kiểm thử phần mềm...............................................................................9
1.2.5 Các kỹ thuật kiểm thử.........................................................................................11
1.2.6 Ca kiểm thử........................................................................................................13


Bùi My

V

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

1.3 Kiểm thử thủ công(Manual Test)...............................................................................15
1.3.1 Kiểm thử thủ công là gì?....................................................................................15
1.3.2 Ưu điểm:.............................................................................................................15
1.3.3 Nhược điểm:.......................................................................................................15
1.4 Kiểm thử tự động.......................................................................................................15
1.4.1 Kiểm thử tự động là gì?......................................................................................15
1.4.2 Tại sao cần kiểm thử tự động.............................................................................16
1.4.3 Quy trình kiểm thử tự động................................................................................16
1.4.4 Mục đích của kiểm thử tự động..........................................................................17
1.5 Kết chương.................................................................................................................17
CHƯƠNG 2 . CÔNG CỤ KIỂM THỬ TỰ ĐỘNG.............................................................18
2.1 Công cụ kiểm thử Selenium IDE...............................................................................18
2.1.1 Giới thiệu............................................................................................................18
2.1.2 Hướng dẫn cài đặt Selenium IDE trên trình duyệt Firefox................................18
2.1.3 Một số chức năng trong Selenium IDE..............................................................24
2.1.4 Thao tác cơ bản với Selenium IDE.....................................................................25
2.1.5 Các câu lệnh trong Selenium IDE......................................................................25
2.2 Công cụ kiểm thử Katalon Studio..............................................................................27
2.2.1 Katalon Studio là gì?..........................................................................................27
2.2.2 Vì sao nên sử dụng Katalon Studio?..................................................................27
2.2.3 Cài đặt Katalon Studio........................................................................................27

2.2.4 Thanh công cụ và chế độ xem của Katalon Studio.............................................31
2.2.5 Cách viết một kịch bản với Katalon Studio........................................................35
2.2.6 Testsuit...............................................................................................................39
2.2.7 Data file..............................................................................................................39
2.2.8 Reports................................................................................................................40
Bùi My

VI

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

2.3 Kết chương.................................................................................................................40
CHƯƠNG 3 . THIẾT KẾ KỊCH BẢN KIỂM THỬ WEBSITE.........................................41
3.1 Giới thiệu Website.....................................................................................................41
3.1.1 Ưu điểm..............................................................................................................41
3.1.2 Mơ hình hệ thống:..............................................................................................42
3.1.3 Đối tượng sử dụng và chức năng của website....................................................42
3.1.4 Quy trình quản lý của hệ thống..........................................................................45
3.2 Mơ tả..........................................................................................................................45
3.2.1 Đặc tả chức năng đăng nhập...............................................................................46
3.2.2 Đặc tả chức năng thêm mới Khoá tốt nghiệp.....................................................46
3.2.3 Đặc tả chức năng Tra cứu văn bằng chứng chỉ..................................................47
3.2.4 Đặc tả chức năng quản lý Người dùng...............................................................48
3.3 Thiết kế testcase.........................................................................................................49
3.3.1 Testcase Đăng nhập............................................................................................49
3.3.2 Testcase Thêm mới khoá tốt nghiệp...................................................................51
3.3.3 Testcase Tra cứu văn bằng chứng chỉ.................................................................55

3.3.4 Test case quản lý tài khoản người dùng.............................................................58
3.4 Kết chương.................................................................................................................59
CHƯƠNG 4 . THỰC HIỆN KIỂM THỬ VÀ KẾT QUẢ...................................................60
4.1 Kiểm thử thủ công.....................................................................................................60
4.1.1 Chức năng Đăng nhập........................................................................................60
4.1.2 Chức năng Thêm mới khóa tốt nghiệp...............................................................60
4.1.3 Chức năng Tra cứu.............................................................................................61
4.1.4 Chức năng Quản lý người dùng..........................................................................62
4.1.5 Kết quả thực hiện kiểm thử thủ công.................................................................63
4.2 Kiểm thử bằng Selenium IDE....................................................................................63
Bùi My

VII

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

4.2.1 Chức năng Đăng nhập........................................................................................63
4.2.2 Chức năng Thêm mới Khoá tốt nghiệp..............................................................65
4.2.3 Chức năng Tra cứu.............................................................................................67
4.2.4 Chức năng Quản lý người dùng..........................................................................69
4.2.5 Kết quả kiểm thử bằng Selenium IDE................................................................71
4.3 Thực thi kiểm thử bằng Katalon Studio.....................................................................71
4.3.1 Chức năng Đăng nhập........................................................................................71
4.3.2 Chức năng Thêm mới khoá tốt nghiệp...............................................................73
4.3.3 Chức năng Tra cứu.............................................................................................75
4.3.4 Chức năng Quản lý người dùng..........................................................................76
4.3.5 Test Reports........................................................................................................78

4.3.6 Kết quả kiểm thử bằng Katalon Studio..............................................................81
4.4 Kết quả.......................................................................................................................81
4.5 Kết chương.................................................................................................................84
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...........................................................................85
1.Kết luận.........................................................................................................................85
2.Hướng phát triển...........................................................................................................85
PHỤ LỤC.............................................................................................................................87

Bùi My

VIII

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

DANH MỤC HÌNH VẼ
Hình 1-1: Kiểm thử hộp đen..................................................................................................8
Hình 1-2: Kiểm thử hộp trắng................................................................................................8
Hình 1-3: Các mức kiểm thử phần mềm................................................................................9
Hình 1-4: Kiểm thử đơn vị.....................................................................................................9
Hình 1-5: Kiểm thử tích hợp................................................................................................10
Hình 1-6: Kiểm thử hệ thống...............................................................................................10
Hình 1-7: Kiểm thử chấp nhận.............................................................................................11
Hình 1-8: Chiến lược kiểm thử tự động...............................................................................16
Hình 2-1: Giao diện tải xuống Firefox.................................................................................19
Hình 2-2: Cài đặt Firefox.....................................................................................................19
Hình 2-3: Giao diện Firefox.................................................................................................20
Hình 2-4: Trang web của Selenium.....................................................................................20

Hình 2-5: Tải xuống Selenium IDE.....................................................................................21
Hình 2-6: Thêm Selenium IDE vào trình duyệt firefox.......................................................21
Hình 2-7: Xác nhận thêm Selenium IDE vào Firefox..........................................................22
Hình 2-8: : Thêm thành công Selenium IDE.......................................................................22
Hình 2-9: : Khởi động Selenium IDE..................................................................................23
Hình 2-10: Giao diện khởi chạy Selenium IDE...................................................................23
Hình 2-11: Giải thích một số chức năng, ký hiệu trong Selenium IDE...............................24
Hình 2-12: Katalon studio là gì............................................................................................27
Hình 2-13: Giao diện trang Web Katalon.com....................................................................28
Hình 2-14: Giao diện tạo tài khoản trên Katalon Studio......................................................28
Hình 2-15: Giao diện trang Dowload của Katalon Studio...................................................29
Hình 2-16: : Ứng dụng Katalon trên máy tính.....................................................................29
Hình 2-17: :Hình ảnh Katalon Studio khi khởi động...........................................................30
Hình 2-18: Giao diện Katalon Studio khi đăng nhập lần đầu..............................................30
Hình 2-19: Giao diện chính của Katalon Studio..................................................................31
Hình 2-20: Thanh công cụ của Katalon Studio....................................................................31
Hình 2-21: Các chức năng trong Test Explorer...................................................................33
Hình 2-22: Giao diện của Testcase trong Katalon Studio....................................................34

Bùi My

IX

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

Hình 2-23: Thêm URL của trang web cần test....................................................................36
Hình 2-24: : Sử dụng phím tắt để bắt đối tượng..................................................................37

Hình 2-25: Bảng thao tác của các đối tượng........................................................................37
Hình 2-26: Testcase dưới dạng script...................................................................................38
Hình 2-27: Tạo testsuit mới.................................................................................................39
Hình 2-28: Thêm testcase trong testsuit...............................................................................39
Hình 2-29: Reports katalon..................................................................................................40
Hình 3-1: Giao diện trang chủ website VBCC.....................................................................41
Hình 3-2: Sơ đồ chức năng của hệ thống.............................................................................43
Hình 3-3: Sơ đồ usecase của hệ thống.................................................................................45
Hình 4-1: Kết quả thêm mới khóa tốt nghiệp.......................................................................61
Hình 4-2: Kết quả tra cứu thành cơng..................................................................................62
Hình 4-3: Kết quả test thủ công...........................................................................................63
Hình 4-4: Hộp soạn thảo tập lệnh thử nghiệm.....................................................................64
Hình 4-5: Kịch bản thử nghiệm............................................................................................64
Hình 4-6: Kết quả kiểm thử case đăng nhập thành công.....................................................65
Hình 4-7: Kịch bản kiểm thử................................................................................................66
Hình 4-8: Kết quả kiểm thử..................................................................................................67
Hình 4-9: Kịch bản kiểm thử................................................................................................68
Hình 4-10: Kết quả kiểm thử tra cứu thành công.................................................................69
Hình 4-11: Kịch bản kiểm thử..............................................................................................70
Hình 4-12: Kết quả kiểm thử................................................................................................70
Hình 4-13:Kết quả kiểm thử bằng Selenium IDE................................................................71
Hình 4-14: Lấy ID các đối tượng.........................................................................................72
Hình 4-15: Kịch bản test......................................................................................................73
Hình 4-16: Kết quả kiểm thử đăng nhập thành công...........................................................73
Hình 4-17: Tạo kịch bản kiểm thử.......................................................................................74
Hình 4-18: Kết quả kiểm thử................................................................................................74
Hình 4-19: Kịch bản kiểm thử..............................................................................................75
Hình 4-20: Kết qủa kiểm thử tra cứu thành công.................................................................76
Hình 4-21: Kịch bản kiểm thử..............................................................................................77
Hình 4-22: Kết quả kiểm thử................................................................................................77

Bùi My

X

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

Hình 4-23: Báo cáo chức năng đăng nhập...........................................................................78
Hình 4-24: Báo cáo chức năng Thêm mới...........................................................................79
Hình 4-25: Báo cáo chức năng tra cứu.................................................................................80
Hình 4-26:Báo cáo chức năng quản lý người dùng..............................................................81
Hình 4-27: Kết quả kiểm thử bằng Katalon.........................................................................81
Hình 4-28: Kết quả...............................................................................................................82
Hình 4-29: So sánh kết quả kiểm thử Đăng nhập................................................................83

Bùi My

XI

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

DANH MỤC BẢNG BIỂU
Bảng 1-1: Mức độ quan trọng của lỗi....................................................................................4
Bảng 1-2: Cấu trúc bảng quyết định....................................................................................13
Bảng 2-1: Các lệnh dùng trong Selenium IDE.....................................................................26

Bảng 2-2: Một số chức năng trong Katalon Studio..............................................................33
Bảng 2-3: Chi tiết các chức năng trong Test Explorer.........................................................34
Bảng 3-1: Đặc tả chức năng đăng nhập................................................................................46
Bảng 3-2: Đặc tả chức năng thêm mới Khóa tốt nghiệp......................................................47
Bảng 3-3:Đặc tả chức năng tra cứu văn bằng......................................................................48
Bảng 3-4: Bảng đặc tả chức năng quản lý người dùng........................................................49
Bảng 3-5: Bảng quyết định chức năng đăng nhập...............................................................50
Bảng 3-6: Testcase chức năng đăng nhập............................................................................51
Bảng 3-7:Phân vùng tương đương chức năng thêm mới.....................................................52
Bảng 3-8: Testcase Thêm mới.............................................................................................55
Bảng 3-9:Bảng quyết định chức năng tra cứu......................................................................55
Bảng 3-10:Test case tra cứu văn bằng.................................................................................58
Bảng 3-11:Phương pháp phân vùng tương đương...............................................................58
Bảng 3-12: Testcase quản lý tài khoản người dùng.............................................................59
Bảng 4-1: Điểm mạnh, điểm yếu của hai phương pháp kiểm thử........................................83
Bảng 4-2: Điểm mạnh , điểm yếu của hai công cụ..............................................................84

Bùi My

XII

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

DANH MỤC TỪ VIẾT TẮT
St
t
1


Từ viết
tắt
API

Tên tiếng anh

Tên tiếng việt
Giao diện lập trình ứng dụng

CSV

Application Programming
Interface
Comma-Separated Values

2
3

GUI

Graphical User Interface

Các giá trị được phân tách bằng
dấu phẩy
Giao diện đồ hoạ người dùng

4

CI/CD


5

CNTT

Continuous Integration
Continuous Delivery
Information Technology

Quá trình làm việc liên tục và tự
động hóa của phần mềm
Cơng nghệ thơng tin

6

CSDL

Database

Cơ sở dữ liệu

7

DEV

Developer

Lập trình viên

8


IDE

Mơi trường phát triển tích hợp

9

ISTQB

10

PGD

Intergrated Development
Environment
International Software Testing
Qualifications Board

11

UI

User Interface

Giao diện người dùng

12

URL


Uniform Resource Locator

Địa chỉ web

13
14

SQL
VBCC

Structured Query Language

Ngơn ngữ truy vấn có cấu trúc
Văn bằng chứng chỉ

Bùi My

XIII

Hội đồng Chứng chỉ Kiểm thử
Phần mềm Quốc tế
Phòng giáo dục

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

MỞ ĐẦU
Ngày nay cơng nghệ thơng tin nói chung và tin học nói riêng đang đóng góp một vai

trị quan trọng trong đời sống con người. Các thành tựu đã, đang và sẽ được ứng dụng phát
triển trong lĩnh vực kinh tế, chính trị, quân sự của các quốc gia. Nếu như trước đây công
nghệ chỉ được sử dụng nhằm mục đích nghe, gọi và nhắn tin là chính thì giờ đây với sự
phát triển của công nghệ thông tin cùng với đó là sự ra đời của hàng loạt các phần mềm thì
nó đã trở thành cánh tay đắc lực cho con người trên nhiều lĩnh vực đời sống xã hội.
Cùng với nhu cầu sử dụng thiết bị của người tiêu thụ thì hiện tại đã có rất nhiều các
phần mềm khác nhau đáp ứng mọi công việc. Khả năng cập nhật và bảo trì ứng dụng mà
khơng phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự
phổ biến của nó. Chính nhờ vào sự phổ biến trên mà các ứng dụng giờ đây không chỉ là
những ứng dụng đơn giản nữa, mà việc xây dựng các ứng dụng đã trở nên phức tạp hơn rất
nhiều. Các phần mềm được dùng để thực hiện bán hàng, đấu giá trực tuyến, quản trị quan
hệ khách hàng,phần mềm giáo dục…. Tuy nhiên để triển khai được chúng thì có rất nhiều
vấn đề sẽ phát sinh và ảnh hưởng trực tiếp đến các ứng dụng như: Tính bảo mật, hiệu suất,
các thành phần của ứng dụng Web, giao diện, chức năng, khả năng tương thích của ứng
dụng Web với trình duyệt và hệ điều hành, …
Vì vậy em đã chọn đề tài nghiên cứu trong lĩnh vực kiểm thử ,xong trong quá trình
tìm hiểu em nhận thấy kiểm thử ngoài việc thực hiện kiểm tra dựa trên các test case đề ra
một cách thủ cơng (Manual testing) cịn có một phương pháp gọi là kiểm thử tự động
(Automation testing) để tối ưu hóa các bước kiểm thử, giúp cho công việc kiểm thử đạt kết
quả cao nhất. Nhưng hiện nay trên thị trường có rất nhiều mã nguồn, công cụ kiểm thử tự
động khác nhau, vậy phần mềm nào mới là phù hợp nhất với người dùng? Do đó trong
phạm vị của đồ án này nên em sẽ thực hiện nghiên cứu, ứng dụng hai công cụ vào trong
công tác kiểm thử phần mềm là Selenium IDE và Katalon Studio. Đây đều là công cụ kiểm
thử chức năng của phần mềm, được tự động hóa cho tester và người phát triển.
3.Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài
Từ những phân tích trên, ý tưởng cho đồ án này là đưa ra cho người sử dụng cái nhìn
từ tổng quan đến chi tiết về kiểm thử để có thể đánh giá các sản phẩm của mình có đạt u
cầu khơng từ đó sửa chữa cho ra các sản phẩm chất lượng.

Bùi My


XIV

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

Trong đồ án này sẽ tập trung trình bày vào phân tích về định nghĩa, cách cài đặt,
chức năng, ưu nhược điểm của hai công cụ kiểm thử.
Đây là đề tài rất hữu ích cho người dùng, tuy khơng phải là mới nhưng do kinh
nghiệm của em chưa nhiều và còn nhiều hạn chế cũng như sai sót mong thầy cơ và các bạn
đóng góp ý kiến để đề tài được hoàn thiện hơn.
CHƯƠNG 1

Bùi My

XV

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

CHƯƠNG 1. PHẦN MỀM VÀ KIỂM THỬ PHẦN MỀM
Chương đầu tiên của đồ án đi sâu vào việc tìm hiểu các khái niệm về kiểm thử nói
chung và kiểm thử tự động nói riêng, giúp khái quát việc phân loại kiểm thử ,đưa ra các
quy trình, mức độ, các kỹ thuật trong kiểm thử phần mềm.
1.1 Phần mềm và khái niệm liên quan
1.1.1 Phần mềm

Phần mềm (Software) được xem là một hệ thống các ngơn ngữ lập trình được viết
theo một trật tự, cấu trúc nhất định thành các câu lệnh, chỉ thị. Không chỉ là những câu
lệnh mà phần mềm còn là các dữ liệu hay file hướng dẫn nhằm thực hiện các nhiệm vụ,
chức năng trên các thiết bị máy tính.
Để thực hiện các chức năng của mình, phần mềm đã gửi các câu lệnh đến phần cứng
để nó thực hiện hoặc cung cấp dữ liệu cho các chương trình, phần mềm khác thực hiện các
nhiệm vụ.
1.1.2 Lỗi phần mềm
Lỗi phần mềm nhìn chung là sự khơng khớp giữa chương trình và đặc tả của nó, kéo
theo những vấn đề xuất hiện trong các giai đoạn phát triển phần mềm.
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 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ự cố luôn hiển thị cho người dùng hoặc kiểm thử viên biết về sự tồn

tại của nó.



Thừa: 1 số chức năng khơng có trong bản đặc tả u cầu phần mềm nhưng lại xuất
hiện trong phần mềm được xây dựng.

Bùi My

XVI

Lớp DCCTPM63B


Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm

Ngồi ra, còn xuất hiện 1 số lỗi phi chức năng như phần mềm khó sử dụng, tốc độ
khơng đáp ứng yêu cầu (vấn đề hiệu năng) hay giao diện khó nhìn cũng dễ khiến cho người
sử dụng nghĩ rằng phần mềm đang hoạt động không đúng.
1.1.3 Các mức độ nghiêm trọng của lỗi
Chương trình một khi đã xuất hiện lỗi đều kéo theo những hệ luỵ nghiêm trọng. Một
trong những cách phân loại mức độ nghiêm trọng của lỗi thường được sử dụng là dựa trên
tần suất xuất hiện: chỉ một lần, thỉnh thoảng, xuất hiện lại hay lặp đi lặp lại nhiều lần. Việc
phân loại mức độ nghiêm trọng của lỗi sẽ giúp kiểm thử viên cũng như lập trình viên ý
thức được đâu là lỗi cần được giải quyết trước, nhằm giảm thiểu tối đa những tổn thất về
chi phí và nâng cao chất lượng cho sản phẩm phần mềm. Bảng dưới đây minh hoạ các mức
độ nghiêm trọng của lỗi dựa trên độ nghiêm trọng và hậu quả.
1
2
3

4

Critical(Nghiêm trọng)

Lỗi ở cấp độ này có nghĩa là xử lý của hệ thống bi
ngừng hồn tồn, khơng thể tiến hành thêm bất kỳ xử
lý gì khác
Major / High (Quan trọng) Lỗi ở cấp độ này là rất nghiêm trọng và làm sập hệ
thống. Tuy nhiên, một số phần của hệ thống vẫn hoạt
động.
Medium (Trung bình)
Lỗi ở cấp độ này gây ra một số hành vi không mong
muốn, nhưng hệ thống vẫn hoạt động.
Low ( Thấp )
Lỗi ở cấp độ này sẽ không gây ra bất kỳ sự cố lớn
nào của hệ thống.
Bảng 1-1: Mức độ quan trọng của lỗi

1.1.4 Yêu cầu của khách hàng
Phần mềm được phát triển dựa trên nhu cầu của khách hàng. Chính vì lẽ đó, các chức
năng của phần mềm được xây dựng dựa trên việc thu thập, phân tích, khảo sát nhu cầu của
khách hàng thông qua những yêu cầu cụ thể.
Đối với phần mềm, yêu cầu thường được tổng hợp từ nhiều người, nhiều tổ chức có
mức độ chun mơn và mức độ tham gia cũng như tương tác với phần mềm khác nhau
trong mơi trường hoạt động của nó.
1.1.5 Đặc tả u cầu phần mềm
Từ yêu cầu của khách hàng và những yêu cầu bắt buộc khác, đặc tả yêu cầu phần
mềm được viết ra để mơ tả một cách chính xác các yêu cầu cần đáp ứng của sản phẩm
phần mềm. Đây cũng chính là tài liệu cơ sở để lập trình viên, kiểm thử viên và các bộ phận
khác dựa vào để phát triển phần mềm hoàn chỉnh, đúng với yêu cầu đặt ra ban đầu. Các

khái niệm về lỗi đã nói ở mục 1.1.2 cũng chính là đề cập đến việc phần mềm sau khi xây
Bùi My

XVII

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

dựng hoạt động không đúng với bản đặc tả yêu cầu phần mềm. Tài liệu đặc tả yêu cầu phần
mềm cũng cần cung cấp đầy đủ các thông tin về chi phí, rủi ro và lịch trình cho q trình
phát triển sản phẩm.
Đặc tả yêu cầu phần mềm được viết ra phục vụ rất nhiều đối tượng từ người dùng hệ
thống, khách hàng đến các nhà phát triển và bảo trì phần mềm. Do đó, tài liệu đặc tả nên
được viết bằng ngôn ngữ tự nhiên, sử dụng biểu đồ, bảng biểu để đảm bảo tính dễ hiểu, dễ
sử dụng cho tất cả các đối tượng trên.
1.1.6 Chất lượng và độ tin cậy của phần mềm
Chất lượng của phần mềm trước hết là sự đáp ứng các yêu cầu đề ra trong bản đặc tả
yêu cầu phần mềm. Có thể kể đến các yếu tố đại diện cho chất lượng phần mềm như: tính
đúng đắn, tính hiệu quả, độ tin cậy, dễ học, dễ sử dụng, dễ bảo trì… Ta có thể thấy độ tin
cậy chỉ là một trong những yếu tố đánh giá chất lượng phần mềm. Tuy nhiên người kiểm
thử lại hay nhầm lẫn giữa khái niệm chất lượng và độ tin cậy của phần mềm. Sau quá trình
kiểm thử đảm bảo phần mềm có thể chạy ổn định, kiểm thử viên thường sẽ cho rằng phần
mềm lúc này đã đạt chất lượng tốt.
Độ tin cậy của phần mềm là xác suất để phần mềm chạy khơng có thất bại trong một
khoảng thời gian nhất định . Ngoài ra, có thể dựa vào thời gian khắc phục sự cố để đánh
giá độ tin cậy của phần mềm.
Trong phần tiếp theo, chúng ta sẽ tìm hiểu về khái niệm cũng như các vấn đề xung quanh
việc Kiểm thử phần mềm.

1.2 Khái niệm về kiểm thử phần mềm
Kiểm thử phần mềm là q trình thực thi chương trình với mục đích tìm ra lỗi. Kiểm
thử phần mềm đảm bảo sản phẩm phần mềm đáp ứng chính xác, đầy đủ và đúng theo yêu
cầu của khách hàng, yêu cầu của sản phẩm đề đã đặt ra.
Các hoạt động kiểm thử tồn tại trước và sau khi thực hiện kiểm thử. Các hoạt động này bao
gồm lập kế hoạch và kiểm soát, lựa chọn điều kiện thử nghiệm, thiết kế và thực hiện các
trường hợp thử nghiệm, kiểm tra kết quả, đánh giá các tiêu chí , báo cáo về q trình thử
nghiệm và kiểm thử hệ thống, và hoàn thiện hoặc hoàn thành các hoạt động đóng sau khi
giai đoạn thử nghiệm đã hoàn thành. Kiểm tra cũng bao gồm việc xem xét các tài liệu (bao
gồm cả nguồn) và phân tích tĩnh.
Kiểm thử có thể là cơng việc bao gồm các mục đích sau:

Bùi My

XVIII

Lớp DCCTPM63B


Đồ án tốt nghiệp chun ngành Cơng Nghệ Phần Mềm

-

Tìm kiếm khuyết điểm

-

Đạt được niềm tin về mức độ chất lượng

-


Cung cấp thông tin để đưa ra quyết định

-

Ngăn chặn các lỗi

Quá trình suy nghĩ và các hoạt động liên quan đến việc thiết kế thử nghiệm sớm
trong vòng đời sản phẩm (xác minh cơ sở thử nghiệm thông qua thiết kế thử nghiệm) có
thể giúp ngăn ngừa các khiếm khuyết được đưa vào mã. Việc xem xét các kiến thức tài liệu
(ví dụ: yêu cầu) và xác định và giải quyết các vấn đề cũng giúp ngăn ngừa các khiếm
khuyết xuất hiện trong mã.
Các quan điểm khác nhau trong thử nghiệm có tính đến các mục tiêu khác nhau:
-

Trong kiểm thử phát triển (ví dụ: kiểm thử thành phần, tích hợp và hệ thống), mục
tiêu chính có thể là gây ra càng nhiều lỗi càng tốt để các lỗi trong phần mềm được
xác định và có thể được sửa chữa.

-

Trong thử nghiệm chấp nhận, mục tiêu chính có thể là xác nhận rằng hệ thống hoạt
động như mong đợi, để có được sự tin tưởng rằng nó đã đáp ứng các yêu cầu.

-

Trong một số trường hợp, mục tiêu chính của thử nghiệm có thể là đánh giá chất
lượng của phần mềm này (khơng có ý định sửa chữa các khiếm khuyết), cung cấp
thông tin cho các bên liên quan về nguy cơ giải phóng hệ thống tại một thời điểm
nhất định.


-

Kiểm tra bảo trì thường bao gồm kiểm tra khơng có sản phẩm mới nào được đưa ra
trong quá trình phát triển các thay đổi.

-

Trong quá trình thử nghiệm hoạt động, mục tiêu chính có thể là đánh giá các đặc
tính của hệ thống như độ tin cậy hoặc tính khả dụng.
Gỡ lỗi và kiểm thử là khác nhau. Thử nghiệm động có thể cho thấy lỗi do các khuyết

tật gây ra. Gỡ lỗi là hoạt động phát triển để tìm, phân tích và loại bỏ ngun nhân gây ra
lỗi. Kiểm tra lại sau đó người kiểm tra đảm bảo việc sửa lỗi thực sự khắc phục được lỗi.
Trách nhiệm đối với các hoạt động thường là tester kiểm tra và gỡ lỗi nhà phát triển.
1.2.1 Thuật ngữ liên quan đến kiểm thử
Định nghĩa:
● Error/ mistake: hành động của con người tạo ra kết quả khơng chính xác
● Fault / Bug / Defect: biểu hiện của lỗi phần mềm
Bùi My

XIX

Lớp DCCTPM63B


Đồ án tốt nghiệp chuyên ngành Công Nghệ Phần Mềm

● Nếu thực hiện bị lỗi có thể gây ra hỏng hóc. Failure: sai lệch của phần mềm so
với phân phối hoặc dịch vụ dự kiến

● Dữ liệu thử (test data): Dữ liệu vào cần cung cấp cho phần mềm khi thực thi.
● Kịch bản kiểm thử (test scenario): các bước thực hiện khi kiểm thử.
● Phán xét kiểm thử (test oracle): là việc đánh giá của kiểm thử, có hai cách đánh
giá đó là bằng chương trình (tự động), bằng con người (thủ công).
● Kiểm thử viên (tester): người thực hiện kiểm thử.
● Ca kiểm thử (test case): tập dữ liệu kiểm thử, điều kiện kiểm thử, để đưa ra kết
quả mong đợi.
Tại sao lỗi xảy ra trong phần mềm:
● Con người: kiến thức, kỹ năng, sai lầm, thời hạn áp lực
● Thời gian: không mất thời gian kiểm tra
● Hệ thống: có thể chưa hồn thiện, nhiều hệ thống tương tác, công nghệ thay
đổi, mã phức tạp, cơ sở hạ tầng phức tạp
1.2.2 Mục tiêu và vai trò của kiểm thử
Việc kiểm thử nhằm thực hiện hai mục tiêu:
-

Bằng việc kiểm thử sẽ tìm ra được những lỗi trong phần mềm và thiết lập chất
lượng của phần mềm

-

Việc kiểm thử thành cơng khi bạn tìm được ít nhất một lỗi, và đưa ra sự đánh giá
với độ tin cậy lớn.

Testing giúp kiểm định phần mềm, đảm bảo rằng phần mềm “đủ tốt” với độ rủi ro
“thấp nhất” có thể. Kiểm thử phần mềm cung cấp mục tiêu, cái nhìn độc lập về phần mềm,
điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm.
Kiểm thử phần mềm tạo điều kiện cho bạn tận dụng tối đa tư duy đánh giá và sáng tạo để
bạn có thể phát hiện ra những điểm mà người khác chưa nhìn thấy.
1.2.3 Các phương pháp kiểm thử phần mềm

a. Kiểm thử hộp đen

Bùi My

XX

Lớp DCCTPM63B



×