1. Trang chủ
  2. » Công Nghệ Thông Tin

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

104 74 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Kiểm Thử Tự Động Vào Website Quản Lý Văn Bằng Chứng Chỉ
Người hướng dẫn T.S. Bùi My
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Phần Mềm
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 104
Dung lượng 4,27 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sử dụng 2 công tụ tự động để đưa ra được kết quả so sánh giữa thủ công và tự động, so sánh độ chính xác của 2 công cụ tự động.Lựa chọn công cụ kiểm thử tự động là một trong những bước quan trọng nhất trước khi bắt đầu tự động hóa cho một dự án bất kỳ. Việc lựa chọn Công cụ Kiểm thử phần lớn phụ thuộc vào công nghệ mà ứng dụng đang kiểm thử được xây dựng. Đôi khi bạn có thể gặp khó khăn nhỏ trong quá trình thực hiện kiểm thử do công cụ không có khả năng xác định các đối tượng trong ứng dụng. Nếu công cụ này hỗ trợ các đối tượng được sử dụng trong hệ thống cần kiểm thử và cung cấp cho bạn các tính năng yêu cầu, thì việc tự động hóa sẽ trở nên dễ dàng và hiệu quả.

Trang 1

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 toàn văn của bất kỳcông trình nào khác

Hà Nội, ngày tháng năm

Tác giả ĐATN

I

Trang 2

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

Trang 3

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à hoà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 đisâ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ể hoà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

Trang 4

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 toàn thể quý 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 quý 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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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

Trang 13

DANH MỤC TỪ VIẾT TẮT

St

t Từ viết tắt Tên tiếng anh Tên tiếng việt

1 API Application Programming

2 CSV Comma-Separated Values Các giá trị được phân tách bằng

dấu phẩy

3 GUI Graphical User Interface Giao diện đồ hoạ người dùng

4 CI/CD Continuous Integration

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

5 CNTT Information Technology Công nghệ thông tin

8 IDE Intergrated Development

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

9 ISTQB International Software Testing

Qualifications Board Hội đồng Chứng chỉ Kiểm thử Phần mềm Quốc tế

12 URL Uniform Resource Locator Địa chỉ web

13 SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc

Bùi My XIII Lớp DCCTPM63B

Trang 14

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ấtnhiề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ểmthử 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 yê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

Trang 15

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

Trang 16

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 quá 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 tindẫ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ụ Ngoà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ả yê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

Trang 17

Ngoà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 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 hoàn toàn, không thể tiến hành thêm bất kỳ xử

lý gì khác

2 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

3 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

4 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ứcnă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 độ chuyên 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ả yê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ậnkhá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

Trang 18

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ầnmề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 quá 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à quá 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 baogồ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ề quá 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

Trang 19

- 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ỏ nguyên 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

Trang 20

● 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 sovớ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 đánhgiá đó 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ếtquả 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 hoà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

Trang 21

Hình 1-1: Kiểm thử hộp đen

Kiểm thử hộp đen là phương pháp kiểm thử mà tester sẽ chỉ xem xét đến đầu vào và đầu ra của chương trình mà không quan tâm code bên trong được viết ra sao Tester thực

hiện kiểm thử dựa hoàn toàn vào đặc tả yêu cầu

Mục đích của kiểm thử hộp đen là tìm ra các lỗi ở giao diện, chức năng của phần mềm

Các trường hợp kiểm thử sẽ được xây dựng xung quanh đó

b Kiểm thử hộp trắng

Hình 1-2: Kiểm thử hộp trắng

Là phương pháp kiểm thử dựa cả vào giải thuật, cấu trúc code bên trong phần mềm,việc kiểm thử được tiến hành dựa cả vào việc kiểm xem giải thuật, mã lệnh đã làm có đúngkhông

Trong kiểm thử hộp trắng, cấu trúc mã hoặc giải thuật của chương trình được đưavào xem xét, các trường hợp kiểm thử được thiết kế dựa vào cấu trúc mã hoặc cách thứclàm việc của chương trình Người kiểm thử truy cập vào mã chương trình và có thể kiểmtra nó, lấy đó làm cơ sở để hỗ trợ việc kiểm thử

Để thực hiện được phương pháp kiểm thử hộp trắng thì người kiểm thử phải có kỹnăng , kiến thức nhất định về ngôn ngữ lập trình được dùng, về thuật giải được dùng trongthành phần phần mềm để có thể thông hiểu được chi tiết về các đoạn code cần kiểm thử

Bùi My XXI Lớp DCCTPM63B

Trang 22

1.2.4 Các mức kiểm thử phần mềm

Quy trình kiểm thử phần mềm sẽ được thực hiện theo 4 giai đoạn như sau:

Hình 1-3: Các mức kiểm thử phần mềm

Kiểm thử đơn vị (Unit test) :

Mục đích của việc thực hiện kiểm thử đơn vị là cô lập từng thành phần của chương

trình và chứng minh các bộ phận riêng lẻ chính xác về các yêu cầu chức năng.Đây là kiểu

test kiểm tra code xem liệu chức năng nó thực hiện có đúng như mong đợi của khách hàng hay không Nó được thực hiện bởi Developer

Hình 1-4: Kiểm thử đơn vị

Bùi My XXII Lớp DCCTPM63B

Trang 23

Unit test là kỹ thuật kiểm nghiệm các hoạt động của mọi chi tiết mã nguồn (code) vớimột quy trình tách biệt với quy trình phát triển phần mềm giúp phát hiện kịp thời các sai

Kiểm thử tích hợp bao gồm hai mục tiêu chính là:

- Phát hiện lỗi giao tiếp xảy ra giữa các unit

- Tích hợp các unit đơn lẻ thành các hệ thống nhỏ và cuối cùng là một hệ thống hoàn chỉnh để chuẩn bị cho bước kiểm thử hệ thống

Kiểm thử hệ thống ( System test )

Hình 1-6: Kiểm thử hệ thống

Bùi My XXIII Lớp DCCTPM63B

Trang 24

Kiểm thử một hệ thống đã được tích hợp hoàn chỉnh để xác minh rằng nó đáp ứng

được yêu cầu Kiểm thử hệ thống thuộc loại kiểm thử hộp đen

Kiểm thử hệ thống tập trung nhiều hơn vào các chức năng của hệ thống

Kiểm tra cả chức năng và giao diện, các hành vi của hệ thống 1 cách hoàn chỉnh, đáp ứng

với yêu cầu

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

Trong giai đoạn này, tester có thể thực hiện hoặc là khách hàng

Hình 1-7: Kiểm thử chấp nhận

Có 2 loại kiểm thử chấp nhận đó là kiểm thử Alpha và kiểm thử Beta:

- Kiểm thử Alpha: là loại kiểm thử nội bộ Tức là phần mềm sẽ được một đội kiểm

thử độc lập hoặc do khách hàng thực hiện tại nơi sản xuất phần mềm

- Kiểm thử Beta: là loại kiểm thử mà khách hàng thực hiện kiểm thử ở chính môi

trường của họ Loại kiểm thử này được thực hiện sau kiểm thử Alpha

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

Có nhiều kỹ thuật kiểm thử phần mềm, sau đây là 4 kỹ thuật phổ biến nhất trong kỹ

thuật kiểm thử hộp đen là: Kỹ thuật phân vùng tương đương, kỹ thuật phân tích giá trị

biên, bảng quyết định và kỹ thuật đoán lỗi

Trong quá trình kiểm thử, kiểm thử viên có thể áp dụng nhiều kỹ thuật khác nhau,

kết hợp các phương pháp kiểm thử với nhau để có thể tìm các lỗi của phần mềm một cách tối đa

Kỹ thuật phân vùng tương đương

Bùi My XXIV Lớp DCCTPM63B

Trang 25

Đây là phương pháp chia đầu vào thành những nhóm tương đương nhau Nếu một

giá trị trong nhóm hoạt động đúng thì tất cả các giá trị trong nhóm đó cũng hoạt động đúng

và ngược lại

Mục đích: Giảm đáng kể số lượng test case cần phải thiết kế vì với mỗi lớp tương đương

ta chỉ cần test trên các phần tử đại diện

- Thiết kế test case bằng phân lớp tương đương tiến hành theo 2 bước:

Ưu điểm: Vì mỗi vùng tương đương ta chỉ cần test trên các phần tử đại diện nên số lượng

test case được giảm đi khá nhiều nhờ đó mà thời gian thực hiện test cũng giảm đáng kể

Nhược điểm: Không phải với bất kỳ bài toán nào cũng có thể áp dụng kĩ thuật này Có thể

bị hack lỗi ở biên nếu chỉ chọn giá trị ở khoảng giữa của miền tương đương

Kỹ thuật phân tích giá trị biên

Đây là phương pháp kiểm thử mà chúng ta sẽ kiểm thử tất cả các giá trị ở vùng biên của dữ liệu vào và dữ liệu ra Chúng ta sẽ tập trung vào các giá trị biên chứ không kiểm thửtoàn bộ dữ liệu

Mục đích: Thay vì chọn nhiều giá trị trong lớp đương tương để làm đại diện, phân

tích giá trị biên yêu cầu chọn một hoặc vài giá trị là các cạnh của lớp tương đương để làm

điều kiện kiểm thử

Phân tích giá trị biên là kỹ thuật thiết kế test case và hoàn thành phân vùng tương

đương

Thiết kế test case bằng phương pháp phân tích giá trị biên chính là lựa chọn các test

case để thực thi giá trị biên

Trang 26

 Giá trị lớn nhất

Bảng quyết định

Là phương pháp chính xác và tối ưu để mô hình hóa các điều kiện logic phức tạp

Điều kiện là các biểu thức rút ra từ việc rẽ nhánh trong chương trình, như lệnh if, white,

switch …

Cấu trúc của bảng quyết định như sau:

Các điều kiện ( nguyên nhân) Các giá trị của các trường hợp

Bảng 1-2: Cấu trúc bảng quyết định

Mỗi liên hệ giữa các điều kiện tương ứng với các kết quả sẽ cho biết hành động

nào sẽ được thực hiện khi các điều kiện tương ứng thỏa mãn

Các bước để xây dựng bảng điều kiện – kết quả:

1 Xác định tất cả các điều kiện từ yêu cầu

2 Xác định tất cả các giá trị có thể có của các điều kiện

3 Xác định kết hợp giữa các điều kiện

4 Điền các kết hợp vào bảng

5 Loại bỏ các kết hợp không cần thiết (xung đột, hoặc dư thừa)

6 Điền các hành động vào bảng tương ứng với từng trường hợp

Bảng điều kiện – kết quả có nhiều loại, trong đó phổ biến và đơn giản nhất là bảng điều

kiện – kết quả dưới hạn (Limited Entry Table) Với bảng điều kiện – kết quả kiểu này, điềukiện (condition) được thỏa mãn một cách đầy đủ và hành động (action) được thực hiện mộtcách trọn vẹn nhất

Các ký hiệu dùng để mô tả bảng quyết định:

Y: điều kiện thỏa mãn

N: điều kiện không thỏa mãn

-: điều kiện hoặc hành động không áp dụng

X: hành dộng được thực hiện

1.2.6 Ca kiểm thử

Ca kiểm thử là một khái niệm không thể thiếu trong kiểm thử phần mềm Theo

ISTQB “ca kiểm thử là một tập hợp các giá trị đầu vào, tiền điều kiện, các kết quả mong

đợi và điều kiện kết thúc, được xây dựng cho mục đích hoặc điều kiện kiểm thử riêng biệt

Bùi My XXVI Lớp DCCTPM63B

Trang 27

để kiểm tra tính đúng đắn của chương trình với yêu cầu của bản đặc tả yêu cầu phần

mềm” Hay nói cách khác, ca kiểm thử mô tả dữ liệu bao gồm: đầu vào, hành động hoặc sự

kiện và kết quả đầu ra mong đợi (expected results) để xác định liệu 1 ứng dụng, hệ thống

phần mềm hoặc một trong các tính năng của nó có hoạt động đúng như mong muốn hay

không

Cấu trúc của một ca kiểm thử thông thường bao gồm:

 Test case ID: Xác định số lượng trường hợp cần kiểm thử

 Function (Chức năng): Các function có thể được chia nhỏ dựa theo chức năng của

hệ thống nhằm giúp ca kiểm thử trở nên rõ ràng hơn

 Test Data: Dữ liệu đầu vào cần chuẩn bị trước khi kiểm thử

 Test Steps: Mô tả chi tiết các bước thực hiện kiểm thử

 Expected Results: Kết quả mong đợi sau khi thực hiện các bước kiểm thử

 Actual result: Mô tả kết quả thực tế khi thực hiện kiểm thử trên môi trường của hệ

thống Actual result thường bao gồm ba giá trị: pass, fail và pending

 Comments: Có thể chứa screen shot hoặc thông tin liên quan khi thực hiện ca kiểm

thử

Một ca kiểm thử được cho là hiệu quả khi:

 Dựa vào ca kiểm thử có thể tìm thấy lỗi

 Tìm được nhiều lỗi khó phát hiện

 Chỉ ra được những điểm ban đầu mà khi thực hiện kiểm thử không tìm ra vấn đề

 Ca kiểm thử cần có những bước thực hiện kiểm thử (Test steps) đơn giản, minh

bạch, dễ hiểu

 Các trường hợp thử nghiệm nên có giá trị, tóm tắt và ngắn

 Các ca kiểm thử nên có sự liên kết: Mỗi ca kiểm thử cần được đánh số thứ tự (Test case ID) để đảm bảo ca kiểm thử đã bao phủ 100% bản đặc tả yêu cầu phần mềm

 Ca kiểm thử có thể bảo trì: Nên viết ca kiểm thử sao cho khi có thay đổi, chỉnh sửa thì các bên liên quan có thể dễ dàng nhận thấy được sự thay đổi đó

 Ca kiểm thử có tính ứng dụng cao

Tóm lại, ca kiểm thử được viết ra để kiểm tra hoạt động của các chức năng có đúng như

mong muốn trong bản đặc tả yêu cầu phần mềm hay không Khi viết ca kiểm thử nên cố

gắng viết đơn giản, dễ hiểu nhưng phải đầy đủ các dữ liệu chuẩn cần có của một ca kiểm

thử

Bùi My XXVII Lớp DCCTPM63B

Trang 28

1.3 Kiểm thử thủ công(Manual Test)

1.3.1 Kiểm thử thủ công là gì?

Kiểm thử thủ công, Tester làm mọi công việc hoàn toàn bằng tay, từ viết test case

đến thực hiện kiểm thử; 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, 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ả kiểm thử Hiện nay, phần lớn các tổ chức, các công ty phần mềm, hoặc các nhóm làm

phần mềm đều thực hiện kiểm thử thủ công là chủ yếu

1.3.2 Ưu điểm:

+ Cho phép Tester thực hiện việc kiểm thử khám phá

+ Thích hợp kiểm tra sản phẩm lần đầu tiên

+ Thích hợp kiểm thử trong trường hợp các test case chỉ thực hiện một số ít lần

+ Giảm được chi phí ngắn hạn

Kiểm thử tự động hoặc tự động hóa kiểm tra là một kỹ thuật kiểm thử phần mềm

thực hiện bằng cách sử dụng các công cụ phần mềm kiểm thử tự động đặc biệt để thực thi

một bộ trường hợp kiểm thử Ngược lại, kiểm tra thủ công được thực hiện bởi một người

ngồi trước máy tính thực hiện các bước kiểm tra một cách cẩn thận

Phần mềm kiểm tra tự động hóa cũng có thể nhập dữ liệu kiểm tra vào hệ thống đangkiểm tra, so sánh kết quả dự kiến và thực tế và tạo báo cáo kiểm tra chi tiết Tự động hóa

kiểm tra đòi hỏi đầu tư đáng kể về tiền bạc và nguồn lực

Bùi My XXVIII Lớp DCCTPM63B

Trang 29

Hình 1-8: Chiến lược kiểm thử tự động

Các chu kỳ phát triển kế tiếp sẽ yêu cầu thực hiện lặp lại cùng một bộ thử nghiệm Sử dụngcông cụ tự động hóa kiểm tra, có thể ghi lại bộ kiểm tra này và phát lại theo yêu cầu Khi

bộ thử nghiệm được tự động hóa, không cần sự can thiệp của con người

1.4.2 Tại sao cần kiểm thử tự động

Tự động hóa kiểm tra là cách tốt nhất để tăng hiệu quả, phạm vi kiểm tra và tốc độ

thực thi trong kiểm thử phần mềm Kiểm thử phần mềm tự động rất quan trọng do những

lý do sau:

- Kiểm tra thủ công tất cả các quy trình công việc, tất cả các lĩnh vực, tất cả các kịch bản tiêu cực rất tốn thời gian và tiền bạc

- Rất khó để kiểm tra các trang web đa ngôn ngữ theo cách thủ công

- Tự động hóa kiểm tra không cần sự can thiệp của con người Bạn có thể chạy thử

nghiệm tự động mà không cần giám sát

- Tự động hóa kiểm tra tăng tốc độ thực hiện kiểm tra

- Tự động hóa giúp tăng phạm vi kiểm tra

- Kiểm tra thủ công có thể trở nên nhàm chán và do đó dễ xảy ra lỗi

1.4.3 Quy trình kiểm thử tự động

Quy trình kiểm thử tự động bao gồm: Tester sử dụng các kịch bản tự động

(automation scripts) và thực thi các script để chạy ứng dụng với sự giúp sức của các

automation tool Một khi script đã sẵn sàng thì việc thực thi kiểm thử có thể diễn ra nhanh chóng và hiệu quả

Các hoạt động của kiểm thử tự đông:

 Phân tích yêu cầu/Xác định môi trường/công cụ

 Xác định tiêu chí đầu ra

Bùi My XXIX Lớp DCCTPM63B

Trang 30

 Lên kế hoạch và kiểm soát

 Thiết lập môi trường kiểm thử

 Triển khai thiết kế kiểm thử

 Thực thi kiểm thử

 Phân tích, báo cáo

1.4.4 Mục đích của kiểm thử tự động

Kiểm thử tự động với các mục đích:

 Giảm bớt công sức và thời gian thực hiện quá trình kiểm thử

 Tăng độ tin cậy

 Giảm sự nhàm chán cho con người

 Rèn luyện kỹ năng lập trình cho kiểm thử viên

 Giảm chi phí cho tổng quá trình kiểm thử

 Phân loại kiểm thử phần mềm

 Liệt kê các mức độ nghiêm trọng của lỗi

 Tổng quan về ca kiểm thử

 Vai trò của kiểm thử tự động trong kiểm thử phần mềm hiện nay

Bùi My XXX Lớp DCCTPM63B

Trang 31

CHƯƠNG 2 CÔNG CỤ KIỂM THỬ TỰ ĐỘNG

Chương này tập trung nghiên cứu về hai công cụ hỗ trợ kiểm thử là Selenium IDE vàKatalon Studio Cụ thể sẽ đi sâu vào tìm hiểu hướng dẫn cài đặt, thao tác sử dụng cơ bản

kèm theo một số lệnh thông dụng của công cụ

2.1 Công cụ kiểm thử Selenium IDE

Selenium IDE cho phép ghi lại những hành động, sự kiện xảy ra trong quá trình kiểm thử

bằng chức năng Record (ghi hành động) và Playback (phát lại)

Một số ưu điểm của Selenium IDE:

 Dễ dàng cài đặt và sử dụng

 Không yêu cầu kinh nghiệm lập trình

 Có thể debug, thiết lập điểm dừng, thêm comment vào kịch bản kiểm thử

Bên cạnh đó Selenium IDE cũng tồn tại một số nhược điểm:

 Chỉ hỗ trợ chạy trên Mozilla Firefox (cần cấu hình để chạy được trên Chrome,

Internet Explorer)

 Cần cài đặt thêm để đọc dữ liệu từ file csv, xml

 Không hỗ trợ database, kiểm thử di động (mobile testing)

 Khó khăn khi xử lý những quy trình phức tạp

2.1.2 Hướng dẫn cài đặt Selenium IDE trên trình duyệt Firefox

Đầu tiên người dùng nên kiểm tra xem trình duyệt Mozilla Firefox đã được cài đặt

Selenium IDE hay chưa bằng cách mở trình duyệt này lên, chọn menu Tools Nếu trong

danh sách menu con không chứa Selenium IDE thì cần thực hiện những bước sau để tiến

hành cài đặt

Cài đặt trình duyệt Firefox

Bước 1: Truy cập trang web: Mozilla Firefox – Official Site và chọn phần Download

Bùi My XXXI Lớp DCCTPM63B

Trang 32

Hình 2-9: Giao diện tải xuống Firefox

Bước 2: Click download để tải Firefox về Sau đó chạy để cài đặt Firefox

Hình 2-10: Cài đặt Firefox

Bước 3: Đây là giao diện sau khi cài đặt xong Firefox

Bùi My XXXII Lớp DCCTPM63B

Trang 33

Hình 2-11: Giao diện Firefox

Cài đặt Selenium IDE

Bước 1: Truy cập trang web http://docs.seleniumhq.org/download./ sau đó di chuyển

xuống phần Selenium IDE để lựa chọn phiên bản Selenium IDE cần download

Hình 2-12: Trang web của Selenium

Bước 2: Click vào link chứa Selenium IDE dành cho Firefox

Bùi My XXXIII Lớp DCCTPM63B

Trang 34

Hình 2-13: Tải xuống Selenium IDE

Bước 3: Ấn Add to Firefox, trình duyệt Firefox sẽ tự động add Selenium IDE

Hình 2-14: Thêm Selenium IDE vào trình duyệt firefox

Bước 4 : Chọn Thêm để xác nhận thêm tiện ích Selenium IDE vào Firefox

Bùi My XXXIV Lớp DCCTPM63B

Trang 35

Hình 2-15: Xác nhận thêm Selenium IDE vào Firefox

Bước 5: Refresh lại trình duyệt Firefox sẽ thấy biểu tượng của Selenium IDE nằm ở góc

trên cùng bên phải màn hình máy tính như hình bên dưới

Hình 2-16: : Thêm thành công Selenium IDE

Khởi động Selenium IDE

Bùi My XXXV Lớp DCCTPM63B

Trang 36

Click vào biểu tượng Selenium IDE trên thanh menu của Firefox ta sẽ khởi động được

Selenium IDE

Hình 2-17: : Khởi động Selenium IDE

Cửa sổ tiện ích Selenium IDE được mở ra như Hình 2-10:

Hình 2-18: Giao diện khởi chạy Selenium IDE

Bùi My XXXVI Lớp DCCTPM63B

Trang 37

2.1.3 Một số chức năng trong Selenium IDE

Phần này của đồ án sẽ giải thích và hướng dẫn cách sử dụng một số chức năng, ký

hiệu trong tiện ích Selenium IDE

Hình 2-19: Giải thích một số chức năng, ký hiệu trong Selenium IDE

 Base URL: Chứa địa chỉ URL của ứng dụng Web đang được kiểm thử

 Đồng hồ : Điều chỉnh tốc độ thực thi ca kiểm thử tự động

 Chạy bộ kiểm thử : Chạy tất cả các ca kiểm thử có trong bộ kiểm thử (test suite)

 Chạy một ca kiểm thử :Chạy ca kiểm thử hiện tại được chọn

 Tạm dừng : Tạm dừng ca kiểm thử đang thực thi

 Tiếp tục :Tiếp tục chạy ca kiểm thử vừa tạm dừng

 Bỏ qua : Bỏ qua một bước ở vị trí nó đang dừng

 Ghi (Record) : Ghi lại các thao tác trong ca kiểm thử Mặc định khi khởi động

Selenium IDE, chức năng ghi thao tác tự động được kích hoạt

 Textbox Command: Lưu trữ các hành động (action) trong ca kiểm thử

 Textbox Target: Đích đến của thao tác

Bùi My XXXVII Lớp DCCTPM63B

Trang 38

 Textbox Value: Giá trị đầu vào cho thao tác trong ca kiểm thử.

 Textbox Description: Mô tả các hành động trong ca kiểm thử

2.1.4 Thao tác cơ bản với Selenium IDE

Tạo ca kiểm thử và bộ kiểm thử mới

Với những trường hợp chỉ cần tạo ca kiểm thử đơn lẻ, ta có thể sử dụng thao tác

File / New Test Case

Tuy nhiên, dù chỉ kiểm thử một form đơn giản cũng cần tạo ra khá nhiều ca kiểm thửkhác nhau Lúc này ta cần tạo ra một bộ kiểm thử (Test Suite) chứa các ca kiểm thử trong

đó để dễ dàng quản lý bằng cách chọn File / New Test Suite

Khởi động chức năng ghi (Record)

Mặc định khi mở tiện ích Selenium IDE thì chức năng ghi đã được kích hoạt Có thể dễ

dàng nhận ra trạng thái kích hoạt bằng giao diện trực quan của tiện ích Để kiểm tra, di

chuyển con trỏ chuột vào nút Record , nếu xuất hiện thông báo Click to Record tương

đương với chức năng ghi chưa được kích hoạt

Lưu ca kiểm thử/bộ kiểm thử

Sau khi đã hoàn thành các thao tác với một ca kiểm thử, ta có thể lưu chúng lại bằng cách

chọn File / Save Test Case (Ctrl+S) Trường hợp muốn lưu ca kiểm thử đã tồn tại dưới mộttên khác, ta chọn File / Save Test Case As…

Mở ca kiểm thử/bộ kiểm thử đã lưu

Chọn File / Open và tìm tới thư mục lưu ca kiểm thử để mở một ca kiểm thử đã lưu

Trường hợp muốn mở một bộ kiểm thử, chọn File / Open Test Suite… và tìm tới thư mục

lưu bộ kiểm thử, tiếp tục chọn bộ kiểm thử cần thực thi sau đó chọn Open

Chạy các ca kiểm thử

Selenium IDE có nhiều tùy chọn phù hợp cho việc thực thi ca kiểm thử, tạm dừng, chạy

từng dòng lệnh đơn lẻ (step), thiết lập điểm ngắt (breakpoint) và chạy tất cả các ca kiểm

thử có trong một bộ kiểm thử Điều này giúp kiểm thử viên dễ dàng làm chủ các thao tác

trong ca kiểm thử của mình

2.1.5 Các câu lệnh trong Selenium IDE

Các câu lệnh trong Selenium IDE thường được gọi là Selenese Selenium IDE cung cấp

cho kiểm thử viên một tập lệnh phong phú để kiểm thử ứng dụng trên nền Web Trong

Selenium IDE, kiểm thử viên có thể kiểm tra các yếu tố giao diện người dùng, nội dung,

Bùi My XXXVIII Lớp DCCTPM63B

Trang 39

liên kết bị hỏng, dữ liệu đầu vào Ngoài ra, Selenium IDE còn hỗ trợ kiểm tra kích thước

cửa sổ, vị trí chuột, cảnh báo (alert), cửa sổ popup, xử lý sự kiện và nhiều tính năng khác

cho ứng dụng Web

Một lệnh của Selenium IDE thường có 3 thành phần: Actions, Accessors và Assertions

 Action (hành động): là các thao tác chung của ứng dụng Ví dụ như click vào một

liên kết hay chọn và chờ liên kết tải xong (ClickAndWait) Nếu Action không thànhcông hoặc có lỗi xảy ra, việc thực thi ca kiểm thử sẽ bị dừng lại

 Accessors: Kiểm tra trạng thái của ứng dụng và lưu kết quả vào các biến Kiểm thử viên có thể kiểm tra và lưu trữ tiêu đề trang Web (storeTitle), các phần tử được

chọn (storeElementPresent)

 Assertions (xác minh): Assertions gần tương tự như Accessors, tuy nhiên nó xác

định trạng thái của ứng dụng cho phù hợp với với kết quả mong đợi Ví dụ như đảmbảo tiêu đề trang là đúng với thiết kế

 (verifyTitle) hay xác minh tính đúng đắn của giá trị tại một textbox (verifyValue)

Assertions được chia làm 3 loại: assert, verify và waitFor Khi một assert thất bại thì việc

kiểm thử sẽ dừng lại Khi một verify không thành công, việc kiểm thử vẫn được tiếp tục

tiến hành nhưng sẽ xuất hiện thông báo lỗi Các lệnh waitFor chờ đợi một số điều kiện

được thực thi (hữu ích với việc kiểm thử ứng dụng Ajax) WaitFor thành công nếu điều

kiện đúng và việc kiểm thử sẽ bị dừng lại nếu điều kiện không được thực thi trong thời

gian chờ (thời gian chờ có thể được thiết lập dễ dàng thông qua thuộc tính SetTimeout)

Bảng sau đây cung cấp một số lệnh thường dùng trong Selenium IDE

click/ clickAndWait Click vào một Element được chỉ định trên Page

verifyTitle/assertTitle So sánh page title của page với một giá trị nào đó

verifivalue Kiểm tra nội dung text của một Element

verifyAttribute Kiểm tra nội dung của một attribute của element

verifiTextPresent Kiểm tra sự xuất hiện của một text trên page

verifiElementPresent Kiểm tra sự xuất hiện của một phần tử trên Page

waitForPageToLoad Tạm ngừng cho tới khi page load xong

waitForElementPresent Tạm ngừng chờ tới khi một Element nào đó trên page

xuất hiện

Bảng 2-3: Các lệnh dùng trong Selenium IDE

Bùi My XXXIX Lớp DCCTPM63B

Trang 40

2.2 Công cụ kiểm thử Katalon Studio

2.2.1 Katalon Studio là gì?

Hình 2-20: Katalon studio là gì

Katalon Studio hiện đang là một công cụ kiểm thử tự động được biết đến khá rộng

rãi cho phép người dùng có thể kiểm thử cả Web, API, Mobile và desktop application, điềuđặc biệt là nó được phát triển bởi công ty KMS Technology Việt Nam

Với sự thân thiện, linh hoạt và đầy đủ các tính năng cần thiết, Katalon Studio giúp

cho quá trình kiểm thử tự động được thực hiện ổn định và nhanh hơn

2.2.2 Vì sao nên sử dụng Katalon Studio?

- Viết test case nhanh và đơn giản, hỗ trợ cả chế độ Manual và Scripting

- Kiểm thử được các ứng dụng Web, API, mobile, desktop application

- Có thể sử dụng trên các nền tảng Window, Linux, macOS

- Hỗ trợ Recording để tạo test case mà không cần phải viết code

- Hỗ trợ Data Driven Testing, sử dụng được các dạng external file như Excel, CSV,

2.2.3 Cài đặt Katalon Studio

Bước 1: Mở trình duyệt và download Katalon Studio tại https://www.katalon.com

Bùi My XL Lớp DCCTPM63B

Ngày đăng: 21/03/2023, 09:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Thị Thanh, Bài giảng Kiểm thử và đảm bảo chất lượng phần mềm, Bộ môn Công nghệ phần mềm, Đại học Mỏ - Địa Chất,Hà Nội Sách, tạp chí
Tiêu đề: Bài giảng Kiểm thử và đảm bảo chất lượng phần mềm
Tác giả: Nguyễn Thị Thanh
Nhà XB: Bộ môn Công nghệ phần mềm, Đại học Mỏ - Địa Chất
[2] Đoàn Doãn Thu, Bài giảng Kiểm thử phần mềm, (Trung tâm đào tạo TesterTOP), Hà Nội, 2022 Sách, tạp chí
Tiêu đề: Bài giảng Kiểm thử phần mềm
Tác giả: Đoàn Doãn Thu
Nhà XB: Trung tâm đào tạo TesterTOP
Năm: 2022
[3] P. A. &. J. Offutt, Introduction To: Software Testing, George Mason University, 2008 Sách, tạp chí
Tiêu đề: Introduction To: Software Testing
Tác giả: P. A., J. Offutt
Nhà XB: George Mason University
Năm: 2008
[4] William E. Lewis, Software Testing and Continuous Quality Improvement, 2004 Sách, tạp chí
Tiêu đề: Software Testing and Continuous Quality Improvement
Tác giả: William E. Lewis
Năm: 2004
[5] T. T. Bang, “2018,” [Trực tuyến]. Available: https://viblo.asia/p/tim-hieu-ve-cong-cu-katalon-trong-kiem-thu-phan-mem-tong-quan-ve-katalon Sách, tạp chí
Tiêu đề: 2018
[6] AnhTester, “2021,” [Trực tuyến]. Available: https://anhtester.com/lesson/katalon-studio-bai-1-gioi-thieu-va-cai-dat-katalon-studio Link
[7] Admin, “2021,” [Trực tuyến]. Available: https://vnggroup.com.vn/selenium-ide-la-gi Link
[8] N. Ha, “2018,” [Trực tuyến]. Available: https://viblo.asia/p/tao-kich-ban-test-voi-selenium-ide-selenium-tutorial Link

TỪ KHÓA LIÊN QUAN

w