Tải bản đầy đủ (.pdf) (70 trang)

Nghiên cứu kiểm thử phần mềm và sử dụng công cụ postman để test API cho website

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.2 MB, 70 trang )

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

Đắc Thị Trà My

NGHIÊN CỨU KIỂM THỬ PHẦN MỀM VÀ TRIỂN
KHAI KIỂM THỬ API BẰNG CÔNG CỤ
POSTMAN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Hệ thống thông tin

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

Đắc Thị Trà My

NGHIÊN CỨU KIỂM THỬ PHẦN MỀM VÀ TRIỂN
KHAI KIỂM THỬ API BẰNG CÔNG CỤ
POSTMAN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Hệ thống thông tin

Cán bộ hướng dẫn: ThS. Vũ Thị Thu Hà

Hà Nội - 2022

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN



(Của giảng viên hướng dẫn)
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
Điểm: ...................................................... (bằng chữ: .................................................. )
Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?
...........................................

Hà Nội, ngày tháng năm 2022
GIẢNG VIÊN HƯỚNG DẪN
(ký, họ tên)

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

(Của giảng viên phản biện)
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................

..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
..........................................................................................................................................
Điểm: ...................................................... (bằng chữ: .................................................. )
Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp?
...........................................

Hà Nội, ngày tháng năm 2022
GIẢNG VIÊN PHẢN BIỆN
(ký, họ tên)

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

TÓM TẮT

Mục đích của Đồ án nhằm giải quyết các vấn đề về trạng thái lỗi, và kết quả trả về
cho mỗi chức năng của phần mềm có thể phát sinh trong một tổ chức, một doanh nghiệp.
Theo dõi và tìm ra các vấn đề phát sinh trong q trình của một dự án là cơng việc rất quan
trọng, tuy nhiên hiện nay các dự án phát triển đang được thực hiện theo mơ hình
Agile/Scrum thì việc sử dụng công cụ Postman ngày càng nhiều. Postman là một phần
mềm mã nguồn mở để test RestAPI mà khơng cần đến dịng code nào, nhờ đó mà các vấn
đề trong phát triển dự án trở nên dễ dàng hơn với mọi tổ chức.

Công nghệ thông tin ngày càng phát triển mạnh, việc tự động hóa các cơng việc ngày càng
được chú ý hơn giúp tiết kiệm thời gian, công sức, tăng năng suất làm việc và giảm các rủi
ro trong quá trình phát triển cũng như triển khai phần mềm. Vì vậy, nên em đã quyết định

chọn đề tài “Nghiên cứu kiểm thử phần mềm và triển khai kiểm thử API bằng công
cụ Postman” với mong muốn nghiên cứu, nâng cao trình độ trong quá trình học tập và làm
việc, từ đó áp dụng vào cơng việc thực tế.

Mục tiêu của đồ án này là xây dựng thành công kịch bản kiểm thử chi tiết và kiểm
thử tự động toàn bộ các ca kiểm thử đã thiết kế, ứng dụng kiểm thử các chức năng chính
của các chức năng chính trong API bán sách. Đồng thời đưa ra các hướng giải quyết phù
hợp.

Bố cục đồ án gồm có bốn chương:
Chương 1. Tổng quan
Chương 2. Cơ sở lý thuyết
Chương 3. Công cụ kiểm thử Postman
Chương 4. Triển khai kiểm thử API bằng công cụ Postman

Đắc Thị Trà My i 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

LỜI CAM ĐOAN

Em xin cam đoan đồ án này là cơng trình nghiên cứu của cá nhân em, dưới sự hướng
dẫn của ThS. Vũ Thị Thu Hà – giảng viên Trường Đại học Công nghệ GTVT. Các nội
dung nghiên cứu, kết quả trong đề tài đều là trung thực và chưa hề được sử dụng để bảo vệ
bởi một học vị nào. Các nguồn kiến thức trích dẫn có chú thích rõ ràng, có tính kế thừa,
phát triển từ một số tài liệu đã được liệt kê ở mục Tài Liệu Tham Khảo.

Em xin chân thành chịu trách nhiệm về lời cam đoan của mình.

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

Sinh viên thực hiện

Đắc Thị Trà My

Đắc Thị Trà My ii 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

MỤC LỤC

TÓM TẮT........................................................................................................................ i
LỜI CAM ĐOAN ........................................................................................................... ii
MỤC LỤC ..................................................................................................................... iii
LỜI NÓI ĐẦU.................................................................................................................v
BẢNG THUẬT NGỮ VIẾT TẮT ................................................................................ vi
DANH MỤC HÌNH ẢNH............................................................................................ vii
DANH MỤC BẢNG BIỂU......................................................................................... viii
CHƯƠNG 1. TỔNG QUAN ...........................................................................................1

1.1. Lý do chọn đề tài................................................................................................1
1.2. Mục tiêu của đề tài .............................................................................................1
1.3. Giới hạn và phạm vi của đề tài ..........................................................................1
1.4. Kết quả dự kiến ..................................................................................................1
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT................................................................................3
2.1. Tổng quan về kiểm thử phần mềm ....................................................................3

2.1.1. Định nghĩa và vai trò của kiểm thử phần mềm ...........................................3
2.1.2. Các kĩ thuật kiểm thử phần mềm ................................................................4
2.1.3. Các loại kiểm thử phần mềm ......................................................................9
2.1.4. Các mơ hình phát triển phần mềm và ưu nhược điểm ..............................11

2.1.5. Quy trình kiểm thử phần mềm ..................................................................18
2.2. Tổng quan về API ............................................................................................20
2.2.1. Khái niệm ..................................................................................................20
2.2.2. Lý do cần phải test API.............................................................................20
2.2.3. Những điều cần lưu ý khi thực hiện API Testing .....................................20
2.2.4. Các testcase cho kiểm thử API..................................................................21
2.2.5. Sự khác nhau giữa API testing và Unit testing .........................................22
CHƯƠNG 3. CÔNG CỤ KIỂM THỬ POSTMAN ......................................................23
3.1. Giới thiệu POSTMAN .....................................................................................23
3.1.1. Khái niệm ..................................................................................................23
3.1.2. Ưu nhược điểm của POSTMAN ...............................................................23
3.1.3. Những tính năng đặc biệt ..........................................................................23
3.2. Các chức năng chính của POSTMAN .............................................................24
3.3. Dowload và cài đặt công cụ POSTMAN.........................................................25
3.4. Các thành phần chính của POSTMAN ............................................................25

Đắc Thị Trà My iii 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

3.5. Collections trong POSTMAN..........................................................................27
3.5.1. Cách tạo collection ....................................................................................27
3.5.2. Các settings chính của 1 Collection. .........................................................28

3.6. Cách sử dụng Environments ............................................................................30
CHƯƠNG 4. TRIỂN KHAI KIỂM THỬ API BẰNG CÔNG CỤ POSTMAN ..........32

4.1. Giới thiệu về API bán sách online và các chức năng chính.............................32
4.1.1. API bán sách online ..................................................................................32
4.1.2. Một số chức năng chính của API bán sách ...............................................32


4.2. Thiết kế testcase cho các chức năng chính ......................................................36
4.2.1. Chức năng xem danh sách tất cả sách và đơn hàng ..................................36
4.2.2. Chức năng đặt hàng...................................................................................37
4.2.3. Chức năng chỉnh sửa thông tin đơn hàng..................................................39
4.2.4. Chức năng xóa đơn hàng...........................................................................41
4.2.5. Chức năng tìm kiếm thơng tin đơn hàng...................................................43
4.2.6. Chức năng tìm kiếm thông tin sách...........................................................45

4.3. Tạo collection tự động và biến môi trường cho giá trị kiểm thử dựa vào các
testcase đã thiết kế......................................................................................................46
4.4. Kiểm thử và tổng hợp kết quả..........................................................................49

4.4.1. Kiểm thử tự động Collection Runner........................................................49
4.5. Báo cáo kết quả kiểm thử tự động ...................................................................53
4.6. Đánh giá kết quả kiểm thử ...............................................................................56
KẾT LUẬN ...................................................................................................................57
TÀI LIỆU THAM KHẢO .............................................................................................58

Đắc Thị Trà My iv 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

LỜI NÓI ĐẦU

Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, đặc biệt là sự phát
triển nhanh chóng của lĩnh vực cơng nghệ thơng tin, cơng nghệ thông tin ngày càng đi vào
đời sống và được con người khai thác một cách rất hiệu quả biến nó thành cơng cụ lao
động hữu ích và đóng vai trị rất quan trọng trong đời sống xã hội. Kiểm thử phần mềm là
một phần quan trọng của lĩnh vực công nghệ thơng tin, nó giúp tìm ra các lỗi và thiếu sót

của phần mềm mà người lập trình khơng thể kiểm sốt hết từ đó giúp cho chất lượng phần
mềm được tốt hơn rất nhiều, thực hiện các công việc đúng như kì vọng ban đầu và hơn thế
nữa. Em thực hiện đề tài “ Nghiên cứu kiểm thử phần mềm và triển khai kiểm thử API
bằng công cụ Postman” nhằm nâng cao thêm kiến thức và tầm hiểu biết của mình về lĩnh
vực này. Lĩnh vực cơng nghệ thơng tin nói chung và bộ mơn kiểm thử phần mềm nói riêng.

Em xin gửi lời cảm ơn sâu sắc đến giảng viên, Thạc sĩ Vũ Thị Thu Hà, người đã
trực tiếp hướng dẫn và giúp đỡ em rất nhiều trong thời gian em thực hiện đồ án, giúp em
hoàn thiện đồ án một cách tốt nhất.

Em xin cảm ơn các thầy cô giáo trong khoa Cơng nghệ thơng tin nói riêng và các
thầy cơ giáo của Trường Đại học Công nghệ Giao Thông Vận Tải nói chung đã chỉ dạy,
hướng dẫn và giúp đỡ em trong suốt bốn năm học tập tại trường. Vì thời gian, điều kiện
cịn có hạn, em đã cố gắng rất nhiều để hoàn thành đồ án tốt nghiệp, nhưng chắc chắn vẫn
cịn nhiều hạn chế và khơng thể tránh khỏi những thiếu sót, mong thầy cơ và các bạn có
những ý kiến đóng góp để em có thể hồn thiện và phát triển đề tài hơn.

Cuối cùng, em xin kính chúc các thầy cô giảng viên trong Trường Đại học Công
nghệ Giao Thơng Vận Tải nói chung, các thầy cơ khoa Cơng nghệ thơng tin nói riêng có
nhiều sức khỏe và nhiều thành công trong sự nghiệp cao quý.

Em xin chân thành cảm ơn!

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

Đắc Thị Trà My

Đắc Thị Trà My v 69DCHT20083


Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

BẢNG THUẬT NGỮ VIẾT TẮT

STT Viết tắt Tên tiếng Anh Tên tiếng Việt
1 CSDL
2 API Database Cơ sở dữ liệu

3 Application Programming Giao diện chương trình
4
5 Interface ứng dụng
6
Request Yêu cầu
7
Response Trả về
8
Collection Tập hợp nhiều request

Test script Các đoạn mã lệnh thực thi

một chức năng cụ thể sau

khi có kết quả

Pre request Các đoạn mã lệnh thực thi

một chức năng cụ thể

trước khi gửi yêu cầu


Tester Kiểm thử viên

Đắc Thị Trà My vi 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

DANH MỤC HÌNH ẢNH

Hình 2.1 Vịng đời của quá trình kiểm thử......................................................................... 3
Hình 2.2 Kiểm thử hộp đen ................................................................................................ 5
Hình 2.3 Kiểm thử hộp trắng.............................................................................................. 7
Hình 2.4 Kiểm thử hộp xám ............................................................................................... 8
Hình 2.5 Mơ hình thác nước............................................................................................. 11
Hình 2.6 Mơ hình chữ V................................................................................................... 13
Hình 2.7 Mơ hình xoắn ốc ................................................................................................ 14
Hình 2.8 Mơ hình Agile.................................................................................................... 16
Hình 2.9 Vịng đời kiểm thử phần mềm ........................................................................... 18
Hình 2.10 API................................................................................................................... 20
Hình 3.1. Giao diện trang chủ POSTMAN ...................................................................... 25
Hình 3.2. Collections của Postman................................................................................... 26
Hình 3.3. API content của Postman.................................................................................. 27
Hình 3.4. Tạo Collection .................................................................................................. 28
Hình 3.5. Viết tên collection và mơ tả.............................................................................. 28
Hình 3.6. Các settings của collection ............................................................................... 29
Hình 3.7. Vị trí của Environment trong khung làm việc của Postman ............................ 30
Hình 3.8. Tests Response ................................................................................................. 31
Hình 4.1. Trang chủ website bán sách của Nhã Nam....................................................... 32
Hình 4.2. Tạo folder cho collection.................................................................................. 47
Hình 4.3. Chi tiết kịch bản kiểm thử chức năng với cơng cụ kiểm thử Postman............. 48
Hình 4.4. Tạo biến mơi trường cho collection ................................................................. 48

Hình 4.5. Testscipt kiểm tra response time ...................................................................... 49
Hình 4.6. Testcript kiểm tra status code ........................................................................... 51
Hình 4.7. Testcript kiểm tra giá trị trả về trong response................................................. 52
Hình 4.8. Giao diện run collection ................................................................................... 53
Hình 4.9. Báo cáo kết quả kiển thử tự động run collection.............................................. 56

Đắc Thị Trà My vii 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

DANH MỤC BẢNG BIỂU

Bảng 2.1 Sự khác nhau giữa API testing và Unit testing .................................................. 22
Bảng 4.1 Mô tả yêu cầu chức năng xem danh sách tất cả Sách ........................................ 33
Bảng 4.2 Mô tả yêu cầu chức năng xem danh sách tất cả đơn hàng ................................. 33
Bảng 4.3 Mô tả yêu cầu chức năng thêm mới đơn hàng ................................................... 34
Bảng 4.4. Mô tả yêu cầu chức năng thêm mới đơn hàng .................................................. 35
Bảng 4.5. Testcase cho chức năng xem danh sách tất cả sách và đơn hàng ..................... 36
Bảng 4.6. Testcase cho chức năng đặt hàng ...................................................................... 38
Bảng 4.7 Testcase cho chức năng chỉnh sửa thông tin đơn hàng ...................................... 39
Bảng 4.8 Testcase cho chức năng xóa đơn hàng ............................................................... 41
Bảng 4.9 Testcase cho chức năng tìm kiếm thông tin đơn hàng ....................................... 43
Bảng 4.10 Testcase cho chức năng tìm kiếm thơng tin sách............................................. 45

Đắc Thị Trà My viii 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

CHƯƠNG 1. TỔNG QUAN


1.1. Lý do chọn đề tài
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, đặc biệt là sự phát triển

nhanh chóng của lĩnh vực cơng nghệ thơng tin, cơng nghệ thông tin ngày càng đi vào đời
sống và được con người khai thác một cách rất hiệu quả biến nó thành cơng cụ lao động
hữu ích và đóng vai trò rất quan trọng trong đời sống xã hội.

Kiểm thử phần mềm là một phần quan trọng của lĩnh vực cơng nghệ thơng tin, nó giúp
tìm ra các lỗi và thiếu sót của phần mềm mà người lập trình khơng thể kiểm sốt hết từ đó
giúp cho chất lượng phần mềm được tốt hơn rất nhiều, thực hiện các công việc đúng như
kỳ vọng ban đầu và hơn thế nữa. Vì vậy, em thực hiện đề tài “Nghiên cứu kiểm thử phần
mềm và triển khai kiểm thử API bằng công cụ POSTMAN” nhằm nâng cao thêm kiến
thức và tầm hiểu biết của mình về lĩnh vực này. Lĩnh vực cơng nghệ thơng tin nói chung
và Đồ án tốt nghiệp nói riêng.
1.2. Mục tiêu của đề tài

- Chỉ ra những khiếm khuyết và sai sót đã được thực hiện trong giai đoạn phát triển
phần mềm;

- Để giảm nhân lực kiểm thử và đảm bảo chất lượng phần mềm hơn với công việc
kiểm thử bằng tay;

- Nghiên cứu giai đoạn nào cần áp dụng công cụ Postman để test API;

- Kiểm chứng những kiến thức đã được học trên giảng đường Đại học, đồng thời
trang bị những kiến thức mới, là hành trang chuẩn bị bước vào cuộc sống.

1.3. Giới hạn và phạm vi của đề tài
- Tìm hiểu cơ sở lí thuyết về kiểm thử phần mềm;
- Thực hiện kiểm thử trên dữ liệu có sẵn bằng công cụ POSTMAN;

- Sử dụng công cụ kiểm thử tự động POSTMAN để kiểm thử tự động các chức
năng đã phân tích.

1.4. Kết quả dự kiến
- Bản báo cáo nghiên cứu và triển khai kiểm thử;
- Trình bày được các kiến thức cơ bản về kiểm thử phần mềm nói chung và kiểm
thử phần mềm tự động API nói riêng;

Đắc Thị Trà My 1 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

- Giới thiệu được các đặc điểm, thành phần chức năng của công cụ kiểm thử tự
động POSTMAN;

- Áp dụng các kiến thức đã tìm hiểu vào thực hiện kiểm thử tự động các chức năng
chính của một API bán sách online.

Đắc Thị Trà My 2 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

2.1. Tổng quan về kiểm thử phần mềm

2.1.1. Định nghĩa và vai trò của kiểm thử phần mềm
2.1.1.1. Định nghĩa

Kiểm thử phần mềm là một quá trình kiểm tra để phát hiện ra lỗi của những phần mềm,

ứng dụng nhằm cung cấp cho khách hàng, lập trình viên… thơng tin về chất lượng của
phần mềm được kiểm thử. Mục đích cuối cùng của công việc này là để đảm bảo sản phẩm
(phần mềm, ứng dụng) được tạo ra theo đúng mong muốn khách hàng và hoạt động hiệu
quả. Với các công ty phát triển phần mềm thì Tester (chuyên viên kiểm thử phần mềm) có
vai trị cốt yếu để đảm bảo uy tín của cơng ty, tránh những trường hợp sản phẩm lỗi bị
khách hàng trả về nơi sản xuất.

2.1.1.2. Vai trị Hình 2.1 Vịng đời của quá trình kiểm thử

Xác định những lỗi và khiếm khuyết có thể xảy ra trong quá trình phát triển phần
mềm. Mức độ thành cơng của một phần mềm được đánh giá bởi chất lượng và độ
tin tưởng của khách hàng. Để cung cấp một ứng dụng có chất lượng cao thì kiểm thử
phần mềm là một trong những yếu tố tiên quyết. Điều này nâng cao trải nghiệm của
người dùng. Hơn nữa, một sản phẩm được kiểm thử tốt sẽ phát sinh chi phí bảo trì
ít hơn do đó kết quả được cung cấp chính xác, phù hợp và đáng tin cậy hơn.

Để thiết kế bất kỳ sản phẩm hoặc phần mềm nào cũng sẽ tốn rất nhiều chi phí
trong q trình phát triển, vì vậy điều quan trọng đối với một ứng dụng hoặc sản

Đắc Thị Trà My 3 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

phẩm khi muốn đem lại kết quả khả quan là tránh mọi chi phí phát sinh ngồi dự
tốn. Để củng cố vị trí của bạn trên thị trường, hiệu suất sản phẩm phải thực sự tốt
và hiệu quả. Kết quả này chỉ có thể đạt được khi thực hiện các biện pháp kiểm thử
hữu hiệu và hợp lý. Kiểm thử có thể phân ra thành hai phương pháp chính gồm: kiểm
thử phần mềm và kiểm thử Ad-hoc (kiểm thử dựa trên kinh nghiệm).

Kiểm thử phần mềm thường được sử dụng để kiểm tra phần mềm trong quá trình

phát triển ứng dụng của lập trình viên. Quá trình này bao gồm đánh giá các loại
thông tin liên quan đến sản phẩm phần mềm. Hiệu quả của các hoạt động hàng ngày
của một doanh nghiệp được cải thiện sau khi quy trình kiểm thử phần mềm được
thực hiện. Các công ty ngày nay đang hoạt động trong mơi trường có tính cạnh tranh
cao. Mọi ứng dụng đều có mục tiêu đạt hiệu năng cao nhất so với đối thủ. Do đó
chất lượng của sản phẩm trở nên rất quan trọng. Thông qua kiểm thử phần mềm, các
lỗi cụ thể trong sản phẩm có thể được xác định chính xác để có thể thực hiện các
giải pháp phù hợp để cải thiện chất lượng. Quá trình này cũng giúp phát hiện ra bất
kỳ lỗi có thể phát sinh để cải thiện năng lực và độ chính xác tổng thể của hệ thống.

2.1.2. Các kĩ thuật kiểm thử phần mềm
2.1.2.1. Kĩ thuật kiểm thử hộp đen– Black Box Testing (BBT)

- Khái niệm:

Kiểm thử hộp đen: là một phương pháp kiểm thử phần mềm được thực hiện
mà không biết được cấu tạo bên trong của phần mềm, là cách mà các tester kiểm
tra xem hệ thống như một chiếc hộp đen, không có cách nào nhìn thấy bên trong
của cái hộp.

+ Nó còn được gọi là kiểm thử hướng dữ liệu hay là kiểm thử hướng in/out;
+ Người kiểm thử nên xây dựng các nhóm giá trị đầu vào mà sẽ thực thi đầy

đủ tất cả các yêu cầu chức năng của chương trình;
+ Cách tiếp cận của các tester đối với hệ thống là không dùng bất kỳ một

kiến thức về cấu trúc lập trình bên trong hệ thống, xem hệ thống là một
cấu trúc hồn chỉnh, khơng thể can thiệp vào bên trong.

Đắc Thị Trà My 4 69DCHT20083


Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

Hình 2.2 Kiểm thử hộp đen

Black Box Testing chủ yếu là được thực hiện trong Function test và System
test. Phương pháp này được đặt tên như vậy bởi vì các chương trình phần mềm,
trong con mắt của các tester giống như một hộp đen, bên trong mà người ta khơng
thể nhìn thấy. Phương pháp này cố gắng tìm ra các lỗi trong các loại sau:

+ Chức năng khơng chính xác hoặc thiếu;
+ Lỗi giao diện;
+ Lỗi trong cấu trúc dữ liệu hoặc truy cập cơ sở dữ liệu bên ngoài;
+ Hành vi hoặc hiệu suất lỗi;
+ Khởi tạo và chấm dứt các lỗi.
- Ưu điểm của kiểm thử hộp đen:
+ Các tester được thực hiện từ quan điểm của người dùng và sẽ giúp đỡ

trong việc sáng tỏ sự chênh lệch về thông số kỹ thuật;
+ Các tester theo phương pháp black box khơng có “mối ràng buộc” nào

với code, và nhận thức của một tester rất đơn giản: một source code có
nhiều lỗi. Sử dụng nguyên tắc, "Hỏi và bạn sẽ nhận" các tester black box
tìm được nhiều bug ở nơi mà các DEV khơng tìm thấy;
+ Tester có thể khơng phải IT chun nghiệp, khơng cần phải biết ngôn
ngữ lập trình hoặc làm thế nào các phần mềm đã được thực hiện;
+ Các tester có thể được thực hiện bởi một cơ quan độc lập từ các
developer, cho phép một cái nhìn khách quan và tránh sự phát triển thiên
vị;


Đắc Thị Trà My 5 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

+ Hệ thống thật sự với tồn bộ u cầu của nó được kiểm thử chính xác;
+ Thiết kế kịch bản kiểm thử khá nhanh, ngay khi mà các yêu cầu chức

năng được xác định.
- Nhược điểm của kiểm thử hộp đen:

+ Dữ liệu đầu vào yêu cầu một khối lượng mẫu khá lớn;
+ Nhiều dự án khơng có thơng số rõ ràng thì việc thiết kế test case rất khó

và do đó khó viết kịch bản kiểm thử do cần xác định tất cả các yếu tố đầu
vào, và thiếu cả thời gian cho việc tập hợp này;
+ Khả năng để bản thân kỹ sư lạc lối trong khi kiểm thử là khá cao;
+ Chỉ có một số nhỏ các đầu vào có thể được kiểm tra và nhiều đường dẫn
chương trình sẽ được để lại chưa được kiểm tra;
+ Kiểm thử black box được xem như "là bước đi trong mê cung tối đen mà
không mang đèn pin” bởi vì tester khơng biết phần mềm đang test đã được
xây dựng như thế nào. Có nhiều trường hợp khi một tester viết rất nhiều
trường hợp test để kiểm tra một số thứ có thể chỉ được test bằng một trường
hợp test và/hoặc một vài phần cuối cùng không được test hết.

2.1.2.2. Kĩ thuật kiểm thử hộp trắng– White Box Testing (WBT)

- Khái niệm:
Kiểm thử Hộp Trắng (còn gọi là Clear Box Testing, Open Box Testing, Glass

Box Testing, Transparent Box Testing, Code-Based Testing hoặc Structural

Testing) là một phương pháp kiểm thử phần mềm trong đó tester biết về cấu trúc
nội bộ / thiết kế. Người kiểm tra chọn đầu vào để thực hiện các đường dẫn thông
qua mã và xác định đầu ra thích hợp. Kiến thức lập trình và kiến thức thực hiện
là rất cần thiết trong kiểm thử hộp trắng.

Đắc Thị Trà My 6 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT

Hình 2.3 Kiểm thử hộp trắng

- Mức độ áp dụng:
+ Unit Testing(Kiểm thử đơn vị): Để kiểm tra đường dẫn trong một đơn
vị;
+ Integration Testing(Test tích hợp): Để kiểm tra đường dẫn giữa các đơn
vị;
+ System Testing(Test hệ thống): Để kiểm tra các đường dẫn giữa các hệ
thống con.

- Ưu điểm của kiểm thử hộp trắng:
+ Test có thể bắt đầu ở giai đoạn sớm hơn, không cần phải chờ đợi cho GUI
để có thể test;
+ Test kỹ càng hơn, có thể bao phủ hầu hết các đường dẫn;
+ Thích hợp trong việc tìm kiếm lỗi và các vấn đề trong mã lệnh;
+ Cho phép tìm kiếm các lỗi ẩn bên trong;
+ Các lập trình viên có thể tự kiểm tra;
+ Giúp tối ưu việc mã hoá;
+ Do yêu cầu kiến thức cấu trúc bên trong của phần mềm, nên việc kiểm
soát lỗi tối đa nhất.


- Nhược điểm của kiểm thử hộp trắng:

Đắc Thị Trà My 7 69DCHT20083

Đồ án tốt nghiệp Trường Đại học Cơng Nghệ GTVT

+ Vì các bài kiểm tra rất phức tạp, địi hỏi phải có các nguồn lực có tay nghề
cao, với kiến thức sâu rộng về lập trình và thực hiện;

+ Maintenance test script có thể là một gánh nặng nếu thể hiện thay đổi quá
thường xuyên;

+ Vì phương pháp thử nghiệm này liên quan chặt chẽ với ứng dụng đang
được test, nên các công cụ để phục vụ cho mọi loại triển khai / nền tảng
có thể khơng sẵn có.

2.1.2.3. Kĩ thuật kiểm thử hộp xám– Gray Box Testing (GBT)

- Khái niệm:

Kiểm thử hộp xám là một phương pháp kiểm thử phần mềm được kết hợp giữa
phương pháp kiểm thử hộp đen và phương pháp kiểm thử hộp trắng.

Trong kiểm thử hộp xám, cấu trúc bên trong sản phẩm chỉ được biết một phần,
tester có thể truy cập vào cấu trúc dữ liệu bên trong và thuật tốn của chương trình với
mục đích là để thiết kế test case, nhưng khi test thì test như là người dùng cuối hoặc là
ở mức hộp đen.

Hình 2.4 Kiểm thử hộp xám


- Ưu điểm kiểm thử hộp xám:
+ Quan điểm kiểm thử của kiểm thử hộp xám là từ quan điểm của người
dùng;
+ Cung cấp các lợi ích của cả thử nghiệm hộp đen và hộp trắng cùng
nhau;

Đắc Thị Trà My 8 69DCHT20083


×