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

Đồ án kiểm thử sản phẩm thương mại điện tử trên nền Wordpress sử dụ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 (2.68 MB, 77 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA: CÔNG NGHỆ THƠNG TIN
============

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: Hệ thống thông tin
ĐỀ TÀI:
Kiểm thử sản phẩm thương mại điện tử trên nền wordpress sử dụng
công cụ selenium

Giáo viên hướng dẫn
Sinh viên thực hiện
Lớp
MSV

: ThS Bùi Thị Như
: Trương Tùng Dương
: 69DCHT22
: 69DCHT20026

Hà Nội – 2022


TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA: CÔNG NGHỆ THƠNG TIN
============

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
NGÀNH: Hệ thống thông tin
ĐỀ TÀI:
Kiểm thử sản phẩm thương mại điện tử trên nền wordpress sử dụng


công cụ selenium

Giáo viên hướng dẫn
Sinh viên thực hiện
Lớp
MSV

: ThS Bùi Thị Như
: Trương Tùng Dương
: 69DCHT22
: 69DCHT20026

Hà Nội – 2022


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

MỤC LỤ
NHẬN XÉT CỦA GIẢNG VIÊN………………………………………………….4
LỜI CẢM ƠN......................................................................................................9
MỞ ĐẦU............................................................................................................12
CHƯƠNG 1: TỔNG QUAN VỀ PHẦN MỀM VÀ LỖI PHẦN MỀM........14
1.1. Định nghĩa phần mềm...............................................................................14
1.1.1. Phần mềm............................................................................................14
1.1.2. Yêu cầu của khách hàng......................................................................14
1.1.3. Đặc tả yêu cầu phần mềm...................................................................15
1.1.4. Chất lượng và độ tin cậy của phần mềm.............................................15
1.2. Lỗi phần mềm............................................................................................16
1.2.1. Khái niệm............................................................................................16
1.2.2. Các nguyên nhân gây lỗi phần mềm...................................................16

1.2.3. Chi phí cho việc sửa lỗi phần mềm.....................................................18
1.2.4. Qui trình xử lý lỗi phần mềm..............................................................19
1.3. Vịng đời phần mềm..................................................................................24
1.4. Kết luận chương........................................................................................28
CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM.........................29
2.1. Định nghĩa kiểm thử phần mềm................................................................29
2.2. Mục tiêu của kiểm thử phần mềm.............................................................29
2.3. Các qui trình của kiểm thử phần mềm......................................................29
2.4. Các kĩ thuật xác định ca kiểm thử.............................................................31
2.4.1. Kỹ thuật phân vùng tương đương.......................................................32
2.4.2. Kỹ thuật phân tích giá trị biên.............................................................32
2.4.3. Đốn lỗi..............................................................................................33
2.5. Các kĩ thuật kiểm thử phần mềm..............................................................34
2.5.1. Kiểm thử hộp đen................................................................................34
2.5.2. Kiểm thử hộp trắng.............................................................................34
2.5.3. Kiểm thử hộp xám...............................................................................34
2.6. Các giai đoạn kiểm thử phần mềm............................................................34


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

2.6.1. Kiểm thử đơn vị..................................................................................35
2.6.2. Kiểm thử tích hợp...............................................................................35
2.6.3. Kiểm thử hệ thống...............................................................................36
2.6.4. Kiểm thử nghiệm thu..........................................................................36
2.7. Kiểm thử tự động......................................................................................37
2.7.1. Kiểm thử tự động là gì ? Qui trình kiểm thử tự động.........................37
2.7.2. Ưu điểm và nhược điểm của kiểm thử tự động...................................38
2.7.3. Các trường hợp nên áp dụng kiểm thử tự động...................................39
2.8. Kết luận chương........................................................................................40

CHƯƠNG 3: KIỂM THỬ WEBSITE SẢN PHẨM THƯƠNG MẠI ĐIỆN
TỬ TRÊN NỀN WORDPRESS SỬ DỤNG CÔNG CỤ SELENIUM..........41
3.1. Tổng quan về Selenium.............................................................................41
3.1.1. Giới thiệu chung về Selenium.............................................................41
3.1.2. Các thành phần của Selenium.............................................................41
3.2. Selenium IDE............................................................................................42
3.2.1. Giới thiệu................................................................................................
.......................................................................................................................42
3.2.2. Đặc điểm của Selenium.......................................................................43
3.2.3. Hướng dẫn cài đặt Selenium IDE.......................................................43
3.2.4. Một số chức năng trong Selenium IDE...............................................47
3.2.5. Thao tác cơ bản với Selenium IDE.....................................................48
3.2.6. Các câu lệnh trong Selenium IDE – Selenese.....................................53
3.2.7. Một số công cụ hỗ trợ kiểm thử ứng dụng Web..................................55
3.3. Phần mềm mã nguồn mở WordPress.........................................................59
3.3.1. Những thành tựu của WordPress.........................................................60
3.3.2. Ưu nhược điểm của WordPress...........................................................60
3.3.2.1. Ưu điểm của WordPress..............................................................60
3.3.2.2. Nhược điểm của WordPress.........................................................61
3.4. Bài toán.....................................................................................................61
3.5. Bài toán kiểm thử......................................................................................61


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

3.6. Kế hoạch kiểm thử....................................................................................63
3.7. Xây dựng TestCase....................................................................................67
3.8. Xây dựng Testcase.....................................................................................68
3.9. Thực thi các Testcase bằng công cụ Selenium..........................................69
3.9.1.aKiểm


thử

chức

năng

đăng



tài

khoản

trên

website

dụng công cụ Selenium
IDE................................................................................................................69
3.9.2. Ca kiểm thử trường hợp nhập thiếu tên đăng ký.................................69
3.10. Kết quả thực hiện các Testcase................................................................70
3.11. Báo lỗi lên công cụ quản lý dự án Backlog.............................................70
Tài liệu tham khảo...............................................................................................72
Kết luận...............................................................................................................73


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium


DANH MỤC HÌNH
Hình 1.1. Chi phí cho việc sửa lỗi phần mềm.....................................................19
Hình 1.2. Các trạng thái của lỗi..........................................................................19
Hình 1.3. Qui trình xử lí lỗi.................................................................................20
Hình 1.4: Vịng đời phần mềm............................................................................26
Hình 2.1: Vịng đời của q trình kiểm thử.........................................................29
Hình 2.2: Qui trình kiểm thử phần mềm.............................................................30
Hình 2.3: Minh họa kỹ thuật phân vùng tương đương........................................32
Hình 2.4: Minh họa kỹ thuật phân tích giá trị biên.............................................33
Hình 2.5. Các giai đoạn kiểm thử phần mềm......................................................35
Hình 3.1: Truy cập trang Download tiện ích Selenium IDE...............................44
Hình 3.2: Tiến hành chọn phiên bản Selenium IDE để cài đặt...........................44
Hình 3.3: Thêm tiện ích Selenium IDE vào Firefox...........................................44
Hình 3.4: Xác nhận cài đặt tiện ích Selenium IDE vào trình duyệt....................45
Hình 3.5: Khởi động lại trình duyệt Firefox để hồn tất q trình cài đặt..........45
Hình 3.6: Khởi chạy tiện ích Selenium IDE........................................................46
Hình 3.7: Giao diện khởi chạy Selenium IDE.....................................................46
Hình 3.8: Giải thích một số chức năng, ký hiệu trong Selenium IDE.................47
Hình 3.9: Kịch bản kiểm thử được Selenium IDE lưu trữ dưới dạng HTML.....48
Hình 3.10: Chức năng tạo mới ca kiểm thử/bộ kiểm thử nằm trong menu File..49
Hình 3.11: Minh họa thao tác lưu ca kiểm thử....................................................49
Hình 3.12: Minh họa thao tác lưu bộ kiểm thử...................................................50
Hình 3.13: Minh họa thao tác mở ca kiểm thử....................................................50
Hình 3.14: Minh họa thao thác mở bộ kiểm thử đã lưu......................................50
Hình 3.15: Thiết lập điểm dừng cho ca kiểm thử................................................51
Hình 3.16: Thiết lập điểm bắt đầu cho ca kiểm thử............................................52
Hình 3.17: Minh họa thao tác chèn dịng lệnh mới.............................................53
Hình 3.18: Chèn nhận xét cho một dịng lệnh trong Selenium IDE....................53
Hình 3.19: Bảng liệt kê một số lệnh thường dùng trong Selenium IDE.............55
Hình 3.20: Giao diện tiện ích hỗ trợ kiểm thử Firebug.......................................55



Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

Hình 3.21: Cài đặt cơng cụ Firebug trong trình quản lý Add-ons của Firefox....56
Hình 3.22: Giao diện ứng dụng chụp ảnh màn hình Monosnap..........................57
Hình 3.23: Giao diện trang chủ MantisBT..........................................................59
Hình 3.24: Logo của WordPress..........................................................................59
Hình 3.25: Giao diện trang Flaton.......................................................................61
Hình 3.26: Testcase các chức năng đăng ký 1.....................................................68
Hình 3.27: Testcase các chức năng đăng ký 2.....................................................69
Hình 3.28: Kết quả sau khi chạy AutoTest bằng Selenium.................................70
Hình 3.29: Giao diện issues sau khi log bug lên Backlog...................................71


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

DANH MỤC BẢNG
Bảng 3.1: Bảng tài liệu liên quan
Bảng 3.2: Bảng mô tả chiến lược kiểm thử giao diện
Bảng 3.3: Bảng mô tả chiến lược kiểm thử chức năng
Bảng 3.4: Bảng mô tả chiến lược kiểm thử bảo mật


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

LỜI CAM ĐOAN
Em tên là: Trương Tùng Dương, sinh viên lớp 69DCHT22 – Trường Đại
học Cơng Nghệ Giao Thơng Vận Tải.
Em xin cam đoan tồn bộ nội dung của đồ án do em tự học tập, nghiên

cứu trên Internet, sách báo, các tài liệu trong và ngồi nước có liên quan. Khơng
sao chép hay sử dụng bài làm của bất kỳ ai khác, mọi tài liệu đều được trích dẫn
cụ thể.
Em xin chịu hồn tồn trách nhiệm về lời cam đoan của mình trước Quý
Thầy Cô, Khoa và Nhà trường.

Hà Nội, ngày … tháng … năm 2022
Người cam đoan


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

NHẬN XÉT CỦA GIẢNG VIÊN
--------------  ------------.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................

.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
..........................................................................................................................................

Hà Nội, ngày … tháng … năm 2022
Giảng viên hướng dẫn

1


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

LỜI CẢM ƠN
Hồn thành khóa luận tốt nghiệp đối với em là một cột mốc lớn mà em thật sự
hạnh phúc và tự hào. Để có được kết quả này khơng chỉ nhờ sự cố gắng và nỗ lực hết
mình mà cịn nhờ sự giúp đỡ của giảng viên hướng dẫn đề tài, của bộ môn và nhà
trường.
Trước hết, em muốn gửi lời cảm ơn sâu sắc đối với cô Ths. Bùi Thị Như. Được

làm việc với cơ và được cơ chỉ bảo, góp ý là những kinh nghiệm quý giá đối với em
trong việc hồn thành khóa luận tốt nghiệp và cả trong cộng việc sau này.
Em xin chân thành cảm ơn quý Thầy Cô đang công tác tại Khoa Công Nghệ
Thông Tin đã tận tình giảng dạy, trang bị cho em những kiến thức q báu trong suốt
q trình học tập để có thể thực hiện được đề tài. Và em cũng xin cảm ơn Khoa Công
Nghệ Thông Tin, trường Đại Học Công nghệ Giao thông vận tải đã tạo điều kiện thuận
lợi cho em trong 4 năm học tập tại trường và thực hiện đề tài tốt nghiệp.
Em cũng xin gửi lòng biết ơn đến gia đình và bạn bè, những anh chị đồng nghiệp
tại công ty CMC Global, đã cổ vũ và giúp đỡ cho em rất nhiều trong lúc gặp khó khăn
cũng như trong suốt q trình thực hiện đề tài tốt nghiệp.
Mặc dù em đã cố gắng hoàn thành khóa luận trong phạm vi và khả năng cho
phép nhưng chắc chắn sẽ khơng tránh khỏi những thiếu sót, kính mong nhận được sự
góp ý và tận tình chỉ bảo của quý Thầy Cô.
Em xin chân thành cảm ơn!

Hà Nội, ngày … tháng … năm 2022
Sinh viên thực hiện

Trương Tùng Dương

2


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

MỞ ĐẦU
Ngày nay, trong giai đoạn phát triển của công nghệ thông tin, công nghiệp phần
mềm ngày càng chiếm vị trí quan trọng trong xu thế phát triển kinh tế cơng nghiệp
hóa, hiện đại hóa của nước ta. Tuy nhiên, ở Việt Nam hiện nay, kiểm thử phần mềm
vẫn chưa thực sự được coi trọng. Điều này được thể hiện qua tỷ lệ kỹ sư kiểm thử

phần mềm ở Việt Nam khá thấp, nơi chỉ có 5 lập trình viên mới có 1 kỹ sư kiểm thử,
trong khi tỷ lệ này theo tiêu chuẩn quốc tế là 3:1. Nguyên nhân là do thiếu các đơn vị
đào tạo chuyên sâu về lĩnh vực kiểm thử, và nguyên nhân chính vẫn là vấn đề kiểm thử
phần mềm ở Việt Nam chưa được chuyên nghiệp hóa và đầu tư đúng mức.
Ngoài ra, xu hướng ứng dụng tự động hóa được triển khai rộng rãi trên 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à giai đoạn
chiếm phần lớn thời gian trong quy trình phát triển dự án phần mềm thì việc triển khai
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, thời gian, công sức và tiền bạc. Selenium hiện được đánh giá là một trong những
công cụ tốt nhất để kiểm tra tự động các ứng dụng web.
Với mong muốn được tìm hiểu rộng hơn về lĩnh vực kiểm thử phần mềm cũng
như ước muốn trở thành một kỹ sư kiểm thử phần mềm sau khi tốt nghiệp đại học, em
đã chọn đề tài “Kiểm thử sản phẩm thương mại điện tử trên nền Wordpress bằng công
cụ Selenium.” Trong q trình làm đồ án, do cịn hạn chế về thời gian và kiến thức
thực tế, em mong nhận được những góp ý chân thành từ thầy cơ và các bạn.
Đề tài giới thiệu về lý thuyết kiểm thử phần mềm, các cơng cụ hỗ trợ kiểm thử tự
động. Ngồi ra, đề tài đi sâu vào việc tìm hiểu, sử dụng các tính năng, cơng cụ của bộ
phần mềm Selenium như:
-

Đưa ra hướng dẫn cài đặt, sử dụng hiệu quả bộ công cụ.

-

Ứng dụng các kiến thức đã học được để viết một kịch bản kiểm thử cho ứng

dụng cụ thể.
Đồ án được tổ chức làm 5 phần như sau:
-


Mở đầu: Trình bày rõ lý do chọn đề tài, mục tiêu nghiên cứu đồ án và bố cục

của đồ án.
-

Chương 1: Tổng quan về phần mềm và lỗi phần mềm. Chương này trình

bày các khái niệm cơ bản về phần mềm, lỗi phần mềm và quy trình phát triển phát
phần mềm

3


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

-

Chương 2: Tổng quan về kiểm thử phần mềm. Chương này trình bày chi

tiết các khái niệm về kiểm thử phần mềm, qui trình kiểm thử phần mềm, các kỹ thuật
xác định ca kiểm thử, các kỹ thuật kiểm thử, các giai đoạn kiểm thử phần mềm và mục
tiêu của kiểm thử phần mềm


Kiểm thử Website sản phẩm thương mại điện tử trên nền tảng Wordpress

bằng công cụ Selenium. Giới thiệu chung về Selenium, giới thiệu chung về Wordpress
cách cài đặt và sử dụng bộ công cụ, ứng dụng thực tế với Selenium, xây dựng bài toán,
viết kịch bản, thực hiện kiểm thử dựa trên kịch bản đã có, báo cáo cơng việc trên cơng
cụ quản lý bug

-

Chương này trình bày kịch bản kiểm thử viết cho một số chức năng cơ bản

của ứng dụng web và thử nghiệm một số trường
hợp kiểm thử tự động viết bằng Selenium IDE và Selenium WedDriver
-

Kết luận: Phần này đưa ra những kết quả đồ án đạt được, những thiếu sót

chưa thực hiện được và hướng phát triển đề tài trong tương lai.

4


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

CHƯƠNG 1: TỔNG QUAN VỀ PHẦN MỀM VÀ LỖI 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ề 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 độ, các kỹ thuật trong kiểm thử phần mềm.

1.1. Định nghĩa phần mềm
1.1.1. Phần mềm
Phần mềm thường được mô tả với ba bộ phận cấu thành:
● Tập các lệnh (chương trình máy tính) trên máy tính khi được thực hiện sẽ tạo
ra các dịch vụ và đem lại những kết quả mong muốn cho người dùng.
● Các cấu trúc dữ liệu (lưu giữ trên các bộ nhớ) làm cho chương trình thao tác
hiệu quả với các thơng tin thích hợp và nội dung thơng tin được số hố.
● Các tài liệu để mô tả các thao tác, cách sử dụng và bảo trì phần mềm (hướng

dẫn sử dụng, tài liệu kỹ thuật, tài liệu phân tích, thiết kế, kiểm thử, v.v.)

1.1.2. 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 độ 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ó.
Có thể phân loại yêu cầu của khách hàng cho sản phẩm phần mềm thành một số
loại như sau:



Phân loại theo sản phẩm và tiến trình



Yêu cầu sản phẩm: là những đòi hỏi hay ràng buộc mà phần mềm phải thực



Yêu cầu tiến trình: là những ràng buộc liên quan đến việc phát triển phần

hiện.
mềm (kĩ thuật sử dụng, mơ hình phát triển, v.v.).
Ví dụ: Khách hàng muốn phát triển một website làm bài thi trực tuyến. Lúc này,
yêu cầu sản phẩm là xây dựng website thi trực tuyến với các tính năng như quản lý câu
hỏi; quản lý đề thi; cho phép người dùng có thể tham gia làm bài thi; quản trị viên có
thể duyệt các câu hỏi và bộ đề thi trước khi đăng lên website. Việc website được phát


5


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

triển theo mơ hình Agile hay mơ hình thác nước chính là u cầu tiến trình của sản
phẩm phần mềm.

● Phân loại theo chức năng


Yêu cầu chức năng: đặc tả các chức năng mà phần mềm cần phải thực hiện.



Yêu cầu phi chức năng: là các ràng buộc về giải pháp và chất lượng (hiệu

năng, việc bảo trì, mức độ an tồn, bảo mật, v.v.).


u cầu đặc tả các thuộc tính nổi bật: là đặc tả cho các thuộc tính phụ thuộc

vào sự vận hành, đặc biệt là kiến trúc hệ thống. Các thuộc tính này không thể xác định
được cho từng thành phần đơn lẻ.

● Phân loại theo tính kiểm định


Những yêu cầu mang tính mơ hồ, khơng thể kiểm định




Những u cầu đã rõ ràng và có thể kiểm định được.

● Phân loại theo phạm vi đặc tả


Yêu cầu hệ thống: đặc tả các cấu hình, cơ sở hạ tầng, phần cứng, phần mềm,

con người, kỹ thuật, v.v. của toàn bộ hệ thống.


Yêu cầu phần mềm: dựa trên tài liệu đặc tả về yêu cầu, các chức năng, giao

diện,. . . của các cấu phần phần mềm.

1.1.3. Đặ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 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. 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.4. 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

6


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

như: tính đúng đắn, tính hiệu quả, độ tin cậy, tính khả kiểm thử, 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 . Ngồ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, em 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. Lỗi phần mềm
1.2.1. Khái niệ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: 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: 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ố: 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.
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.
7


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

1.2.2. Các nguyên nhân gây lỗi phần mềm
Lỗi phần mềm có thể đến từ nhiều nguyên nhân khác nhau, trong đó có cả các
nguyên nhân chủ quan và các nguyên nhân khách quan. Dưới đây là chín nguyên nhân
chủ yếu gây ra lỗi phần mềm:

 Định nghĩa các yêu cầu bị lỗi:
Những lỗi trong việc xác định yêu cầu thường nằm ở phía khách hàng. Một số lỗi
thường gặp là: định nghĩa sai yêu cầu, lỗi khơng hồn chỉnh, thiếu các u cầu quan
trọng hoặc là quá chú trọng các yêu cầu không thật sự cần thiết.

 Các lỗi trong giao tiếp giữa khách hàng và nhà phát triển:
Hiểu lầm trong giao tiếp giữa khách hàng và nhà phát triển cũng là nguyên nhân
gây lỗi. Những lỗi này thường xuất hiện trong giai đoạn đầu của dự án. Một số lỗi hay
gặp phải: hiểu sai chỉ dẫn trong tài liệu yêu cầu, hiểu sai thay đổi khi khách hàng trình

bày bằng lời nói và tài liệu, hiểu sai về phản hồi và thiếu quan tâm đến những đề cập
của khách hàng.
Giải pháp khắc phục: Cần có uỷ ban liên kết giữa khách hàng và nhà cung cấp để
tránh lỗi trong giao tiếp. Ủy ban do quản trị dự án đứng đầu và khách hàng phải giới
thiệu những người hiểu về mặt nghiệp vụ vào ủy ban đó.

 Sai lệch có chủ ý về các yêu cầu của phần mềm:
Trong một số trường hợp các nhà phát triển cố tình làm sai lệnh các yêu cầu
trong tài liệu đặc tả. Nguyên nhân của việc này đến từ các áp lực thời gian, ngân sách,
hay cố tình sử dụng lại các mô-đun từ các dự án trước mà chưa phân tích đầy đủ
những thay đổi để thích nghi với các yêu cầu mới. Giải pháp khắc phục: Dựa trên
những thống kê để quyết định xem giải pháp như thế nào, sắp xếp ưu tiên xem bỏ được
yêu cầu nào hay sử dụng lại được mô-đun nào.

 Các lỗi thiết kế Logic:
Lỗi phần mềm xảy ra trong quá trình các chuyên gia thiết kế hệ thống, các kiến trúc
sư hệ thống, kỹ sư phần mềm, các nhà phân tích xây dựng phần mềm theo yêu cầu.
Các lỗi điển hình bao gồm:
 Định nghĩa các yêu cầu phần mềm bằng các thuật tốn sai
 Quy trình định nghĩa có chứa trình tự lỗi
 Sai sót trong các định nghĩa biên như > 3 hay ≥ 3
8


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

 Thiếu sót các trạng thái hệ thống phần mềm được yêu cầu

9



Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

 Các lỗi lập trình:
Có rất nhiều lý do dẫn đến việc các lập trình viên gây ra các lỗi lập trình. Những lý
do này bao gồm: sự hiểu sai các tài liệu thiết kế, ngơn ngữ; sai sót trong ngơn ngữ lập
trình; sai sót trong việc áp dụng các công cụ phát triển; sai sót trong lựa chọn dữ liệu...

 Khơng tn thủ theo các tài liệu hướng dẫn và tiêu chuẩn lập trình:
Các lỗi phần mềm có thể đến từ việc khơng tn thủ các tài liệu và tiêu chuẩn lập
trình của các tổ chức phát triển phần mềm

 Thiếu sót trong quá trình kiểm thử:
Lỗi phần mềm có thể đến từ chính quá trình kiểm thử khi mà người kiểm thử để lọt
lỗi.
Những lỗi này đến từ các nguyên nhân sau đây:
 Kế hoạch kiểm thử chưa hồn chỉnh, để sót u cầu cần kiểm thử.
 Lỗi trong tài liệu và báo cáo kiểm thử.
 Việc sửa chữa các lỗi được phát hiện khơng hồn chỉnh do áp lực thời gian hay
do thiếu cẩn thận.
Giải pháp: Lên kế hoạch kiểm thử có thể tại giai đoạn đầu của dự án

 Các lỗi thủ tục:
Các thủ tục hướng dẫn cho người sử dụng tại từng bước của tiến trình. Chúng
có tầm quan trọng đặc biệt trong các hệ thống phần mềm phức tạp mà các tiến trình
được thực bằng nhiều bước, mỗi bước có thể có nhiều kiểu dữ liệu và cho phép kiểm
tra các kết quả trung gian. Các lỗi có thể đến từ việc viết các thủ tục.

 Các lỗi về tài liệu:
Các lỗi về tài liệu là vấn đề của các đội phát triển và bảo trì khi có những sai sót

trong các tài liệu liên quan. Những lỗi này có thể là nguyên nhân gây ra lỗi trong giai
đoạn phát triển kế tiếp và giai đoạn bảo trì.

1.2.3. Chi phí cho việc sửa lỗi phần mềm
Việc kiểm thử và sửa lỗi phần mềm có thể thực hiện trong bất cứ giai đoạn nào
của vòng đời phần mềm. Tuy nhiên công việc này nên được thực hiện càng sớm càng
tốt vì càng về giai đoạn sau của vịng đời phần mềm, chi phí cho việc tìm và sửa lỗi
càng tăng, đặc biệt là đến giai đoạn đư triển khai phần mềm thì chi phí cho sửa lỗi sẽ
trở nên rất lớn và ảnh hưởng trực tiếp đến uy tín của tổ chức phát triển phần mềm.
10


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

Theo tài liệu của Boehm, chi phí cho việc tìm và sửa lỗi phần mềm sẽ tăng theo
hàm mũ trong biểu đồ sau:

Hình 1.1. Chi phí cho việc sửa lỗi phần mềm
1.2.4. Qui trình xử lý lỗi phần mềm
Trước khi giới thiệu về qui trình xử lý lỗi phần mềm, đồ án sẽ trình bày về
các trạng thái có thể có của lỗi.

11


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

Hình 1.2. Các trạng thái của lỗi

Trong đó:

 New: Lỗi mới
 Assigned: Lỗi đã được gán cho nhân viên phát triển
 Resolved: Lỗi đã được xử lý
 Confirmed: Lỗi cần được chứng thực, thảo luận lại
 Canceled: Lỗi được xác định là không phải lỗi, lỗi được bỏ qua
 Next: Lỗi không thuộc phạm vi của dự án, hoặc sẽ được xử lý trong một giai
đoạn khác của dự án
 Accept: Các lỗi có thể chấp nhận được. Ví dụ: Các lỗi do Framework
 Closed: Trạng thái đóng. Lỗi đã được sửa thành cơng.
Mỗi tổ chức phát triển phần mềm sẽ sử dụng một công cụ quản lý lỗi riêng, trong
đó có thể kể đến Mantis là một công cụ được sử dụng khá phổ biến hiện nay. Phần tiếp
theo sẽ trình bày một qui trình xử lý lỗi phần mềm hiện đang được sử dụng trong thực
tế của một số tổ chức phát triển và gia công phần mềm:

12


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

Hình 1.3. Qui trình xử lí lỗi

13


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Cơng Cụ Selenium

Theo đó, qui trình xử lý lỗi có thể bao gồm 6 bước chính:
 Bước 0_Bắt đầu: Phát hiện phần mềm có lỗi
 Bước 1_Đưa lỗi lên hệ thống quản lý lỗi
 Bước 2_Gán lỗi cho nhân viên phát triển

 Bước 3_Xử lý lỗi
 Bước 4_Kiểm thử lại
 Bước 5_Đóng lỗi

Bước 1: Đưa lỗi lên phần mềm quản lý lỗi
- Người thực hiện: tất cả các thành viên trong đội dự án như quản trị dự án, nhóm
kiểm thử, nhóm giải pháp, nhóm lập trình.
- Trạng thái của lỗi là NEW

Một số thông tin cần có về lỗi:
 Category: Thư mục lỗi dùng để phân loại lỗi, lỗi thuộc phần chức năng nào
phải chọn đúng phần thư mục lỗi tương ứng để thuận tiện cho việc tra cứu, thống kê
lỗi của chức năng.
 Severity (trọng số của lỗi): Thông số này biểu hiện độ nghiêm trọng của lỗi,
thông thường lỗi sẽ thuộc một trong ba trọng số dưới đây:
 Minor: Các lỗi định dạng (font chữ, cỡ chữ, màu sắc của các đối tượng, chiều
dài của các đối tượng), lỗi chính tả, lỗi validate dữ liệu.
 Major: Các lỗi ràng buộc dữ liệu, lỗi chức năng nghiệp vụ của hệ thống (nhưng
chưa gây ra treo hệ thống hay không làm cho hệ thống không xử lý được tiếp).
 Crash: Các lỗi chức năng nghiệp vụ của hệ thống gây treo hệ thống, không xử
lý được tiếp.
 Reproducibility: Khả năng tái tạo lỗi. Khi phát hiện ra lỗi, nhân viên kiểm thử
cần thực hiện lại phần chức năng phát hiện ra lỗi để xét khả năng tái tạo lỗi và lựa
chọn đúng khả năng tái tạo lỗi.
 Priority: Mức độ ưu tiên trong việc sửa lỗi.
 Summary: Tóm tắt nội dung lỗi, có thể coi là tiêu đề của lỗi.
 Description: Đây là phần mô tả lỗi, phải mô tả rõ 3 phần nội dung:
 Các bước thực hiện

14



Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

 Kết quả trả về từ hệ thống
 Kết quả mong muốn
 Notes: Dùng để đưa các lưu ý, trao đổi về lỗi của các thành viên trong dự án.

Bước 2: Gán lỗi cho nhân viên phát hiện
- Nhân viên kiểm thử thực hiện gán lỗi cho nhân viên phát triển, người sẽ chịu
trách nhiệm về phần chức năng bị lỗi.
- Trạng thái của lỗi là ASSIGNED.
- Lưu ý:
 Trưởng nhóm kiểm thử, quản trị dự án có thể xem xét lại các lỗi có trạng thái
NEW và ASSIGNED trên hệ thống phần mềm quản lý lỗi:
 Nếu thấy khơng phải là lỗi thì đưa lỗi về trạng thái CANCELLED và nêu rõ
nguyên nhân đưa lỗi về CANCELLED.
 Nếu thấy nhân viên kiểm thử mô tả khơng rõ ràng, thiếu thơng tin thì chuyển
lỗi sang trạng thái CONFIRMED và yêu cầu nhân viên kiểm thử bổ sung thêm thông
tin
 Nếu thấy lỗi không thuộc phạm vi phát triển của dự án trong giai đoạn hiện tại
thì chuyển lỗi về trạng thái NEXT.
 Quản trị dự án xem xét lại các lỗi có trạng thái NEW hoặc ASSIGNED, nếu
thấy là lỗi nhưng có thể chấp nhận được thì chuyển lỗi sang trạng thái ACCEPTED và
nêu rõ nguyên nhân đưa lỗi về trạng thái ACCEPTED.

Bước 3: Xử lý lỗi
Nhân viên phát triển xem xét các lỗi được gán cho mình:
- Nếu thấy đúng là lỗi và được mô tả lỗi rõ ràng, đầy đủ thông tin, nhân viên phát
triển thực hiện sửa lỗi và chuyển lỗi về trạng thái RESOLVED, đồng thời bắt buộc nêu

rõ hướng giải quyết và các chưc năng bị ảnh hưởng trong phần NOTES.
- Các trường hợp khác: Nếu thấy không phải là lỗi của hệ thống, nhân viên phát
triển sẽ yêu cầu nhân viên kiểm thử bổ sung thêm thông tin, hoặc thấy là lỗi nhưng có
thể chấp nhận được lỗi thì nhân viên phát triển chuyển lỗi sang trạng thái
CONFIRMED và nêu rõ lý do chuyển lỗi sang trạng thái CONFIRMED trong phần
NOTES.

Bước 4: Kiểm thử lại
15


Kiểm Thử Sản Phẩm Thương Mại Điện Tử Trên Nền Wordpress Sử Dụng Công Cụ Selenium

Theo phân công của trưởng nhóm kiểm thử, nhân viên kiểm thử thực hiện
kiểm thử lại các chức năng có lỗi đang ở trạng thái RESOLVED:
 Nếu lỗi được sửa thì chuyển lỗi về trạng thái CLOSED.
 Nếu lỗi chưa được sửa hoặc mới chỉ sửa một phần thì chuyển lỗi về trạng
thái ASSIGNED và nêu rõ những phần chức năng nào chưa chỉnh sửa để
nhân viên phát triển tiến hành sửa tiếp.
 Nếu thấy có thể chấp nhận lỗi thì chuyển lỗi về trạng thái ACCEPTED.
Đồng thời khi cập nhật kịch bản kiểm thử thì sẽ để kết quả của case đó là
fail (vì vẫn là lỗi). - Lưu ý: Nếu phần chức năng bị ảnh hưởng gây ra lỗi
mới thì đưa một lỗi mới lên phần mềm quản lý lỗi.

16


×