TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG
THÀNH PHỐ HỒ CHÍ MINH
KHOA: HỆ THỐNG THƠNG TIN VÀ VIỄN THÁM
BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGÀNH THƯƠNG MẠI ĐIỆN TỬ
NGHIÊN CỨU VÀ ỨNG DỤNG
KIỂM THỬ PHẦN MỀM
TẠI CÔNG TY TNHH ALOAPP
Giảng viên hướng dẫn :
TS. Dương Thị Thúy Nga
Sinh viên thực hiện:
Đặng Kim Liên
Lớp:
08TMDT
Khố:
2022 - 2023
TP. Hồ Chí Minh, tháng 2 năm 2023
TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG
THÀNH PHỐ HỒ CHÍ MINH
KHOA HỆ THỐNG THƠNG TIN VÀ VIỄN THÁM
BÁO CÁO THỰC TẬP TỐT NGHIỆP
CHUYÊN NGÀNH: THƯƠNG MẠI ĐIỆN TỬ
NGHIÊN CỨU VÀ ỨNG DỤNG
KIỂM THỬ PHẦN MỀM TẠI CÔNG TY ALOAPP
Giảng viên hướng dẫn:
TS. Dương Thị Thúy Nga
Sinh viên thực hiện:
Đặng Kim Liên
Lớp:
08TMDT
Khố:
2022-2023
TP. Hồ Chí Minh, tháng 2 năm 2023
MỞ ĐẦU
Công nghệ thông tin là một trong những ngành có chuyển biến tích cực nhất
trong những năm qua. Bên cạnh sự phát triển của khoa học – công nghệ cũng đặt ra
nhiều yêu cầu, thách thức về việc đảm bảo chất lượng phần mềm cũng ngày một tăng
cao. Từ đó, kiểm thử phần mềm ra đời nhằm nâng cao chất lượng, tăng tính chuyên
nghiệp của dự án. Kiểm thử phần mềm là khâu cuối cùng trước khi chuyển sản phầm
đến khách hàng. Người kiểm thử được coi như người đại diện cho khách hàng, là
người kiểm tra cho khách hàng xem sản phẩm đó đã đảm bảo chất lượng chưa. Vì vậy,
người kiểm thử đóng vai trị quan trọng với sự thành công của dự án và chất lượng sản
phẩm.
Tuy nhiên, cung – cầu về nhân lực làm kiểm thử phần mềm vẫn chưa ở thế cân
bằng, còn thiếu nhiều kỹ sư kiểm thử chất lượng cao. Tỷ lệ kỹ sư kiểm thử phần mềm
tại Việt Nam còn thấp so với mặt bằng thế giới. Cho đến thời điểm hiện tại, các đơn vị
đào tạo chuyên sâu về nghề kiểm thử phần mềm khơng nhiều. Ví dụ về mơi trường ở
đại học, sinh viên được đào tạo rất ít kiến thứ liên quan đến kiểm thử phần mềm. Điều
này khiến cho số lượng tester không đáp ứng đủ cho dự án của công ty tại Việt Nam.
Đề tài “Nghiên cứu và Ứng dụng Kiểm thử phần mềm tại Công ty TNHH
AloApp” được thực hiện trong quá trình thực tập tại Cơng ty TNHH AloApp nhằm
mục đích tìm hiểu về kiểm thử phần mềm, kiểm thử thủ công phần mềm, tập trung
nghiên cứu, tìm hiểu vai trị, phương pháp cũng như ứng dụng trong thực tiễn. Từ đó,
thực hiện, phân tích, xây dựng các trường hợp kiểm thử, tạo tiền đề cho cơ hội nghề
nghiệp sau này.
LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại trường Đại học Tài nguyên và Môi trường
thành phố Hồ Chí Minh để trao dồi kiến thức và kỹ năng, em đã nhận rất nhiều sự
quan tâm, giúp đỡ của q thầy cơ, gia đình và bạn bè. Với lòng biết ơn sâu sắc nhất,
em xin gửi lời cảm ơn đến Quý thầy cô khoa Hệ thống thông tin và Viễn thám đã
truyền đạt vốn kiến thức làm nền tảng cho em trong quá trình thực tập.
Qua đây, em cũng xin trân trọng cảm ơn cô Dương Thị Thúy Nga và công ty
TNHH ALOAPP đã tạo điều kiện cho em có cơ hội tham gia thực tập tại cơng ty.
Trong q trình thực tập tại cơng ty ALOAPP, em đã được trang bị những kỹ năng
mềm, nâng cao và hồn thiện kiến thức chun mơn thơng qua việc tiếp cận dự án thực
tế trong lĩnh vực công nghệ và phát triển phần mềm.
Em xin chân thành cảm ơn anh Nguyễn Lê Anh Tuân – Giám đốc công ty
TNHH ALOAPP, và các anh chị trong công ty đã tạo điều kiện giúp đỡ, chỉ dẫn tận
tình em trong quá trình thực tập. Những kiến thức và kinh nghiệm trong suốt thời gian
qua đã giúp em dần hồn thiện và có thêm kinh nghiệm về phân tích và quy trình kiểm
thử phần mềm (Tester). Tuy nhiên, do kinh nghiệm thực tế cịn hạn chế, báo cáo khơng
thể tránh những sai sót. Chính vì vậy, em rất mong nhận được những ý kiến đóng góp
của q thầy, cơ để em hồn thiện bản thân tốt hơn.
Em xin cảm ơn đặc biệt đến cô Dương Thị Thúy Nga đã hướng dẫn em tận tình
để hồn thành bài báo cáo thực tập này. Cuối cùng, em xin kính chúc Thầy, Cơ và các
anh, chị lời chúc sức khỏe, hạnh phúc, thành công trong công việc.
Thành phố Hồ Chí Minh, Tháng 2 năm 2023
Sinh viên thực hiện
Đặng Kim Liên
NHẬN XÉT
(Của Cán bộ hướng dẫn tại đơn vị thực tập)
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
XÁC NHẬN CỦA CƠ QUAN
THỦ TRƯỞNG
(ký tên, đóng dấu)
………….., ngày….tháng….năm……
CÁN BỘ HƯỚNG DẪN
(ký tên)
NHẬN XÉT
(Của giảng viên hướng dẫn tại khoa)
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………………
Kết luận: Đồng ý hoặc Không đồng ý cho sinh viên nộp báo cáo thực tập.
…………………………………………………………………………………………
…………
………….., ngày….tháng….năm……
CÁN BỘ HƯỚNG DẪN
(ký tên)
NHẬN XÉT
(Của giảng viên phản biện)
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………………
………….., ngày….tháng….năm……
NGƯỜI NHẬN XÉT
(ký tên)
LỊCH LÀM VIỆC
(Của Sinh viên tại nơi thực tập)
Họ và tên sinh viên: Đặng Kim Liên
Đơn vị thực tập: Công ty TNHH AloApp
Họ và tên người hướng dẫn (đơn vị thực tập): Lê Quang Quân
Thời gian thực tập từ ngày 28 tháng 11 năm 2022 đến ngày 15 tháng 01 năm 2023
Tuần
1
Từ ngày
28/11/2022
đến ngày
03/12/2022
2
Từ ngày
05/12/2022
đến ngày
10/12/2022
Nội dung
Tự nhận xét về
Nhận xét của
cơng việc được giao
mức độ hồn thành CB hướng dẫn
- Tìm hiểu văn hóa làm Hồn thành tốt
Hồn thành tốt
việc, quy định của công
ty.
- Làm quen với môi
trường của cơng ty và
team QC
- Tìm hiểu sơ lược về
Tester, đọc tài liệu
- Tìm hiểu quy trình của
phần mềm Techres (
phần mềm quản lý
chuyên biệt dành riêng
cho ngành F&B)
- Tham gia họp team QC
hằng ngày và họp công
ty cuối tuần
- Dùng thử các ứng dụng Hoàn thành tốt
Hoàn thành tốt
của phần mềm Techres
trên nền tảng web,
mobile, windows.
- Tiếp tục tìm hiểu về
nội dung cơng việc
tester
- Tìm hiểu về quy trình
vận hành của nhà hàng
thực tế để đưa vào ứng
dụng cho phần mềm
- Đọc tài liệu đặc tả
- Tìm hiểu về mơ hình
Agile / Scrum
- Tìm hiểu và làm quen
với Hệ thống quản lý
Task Overate-VNTech,
hệ thống Yandex Mail.
- Tham gia họp
team QC hằng ngày và
họp công ty cuối tuần
Chữ ký của
CB hướng dẫn
(Đã ký)
(Đã ký)
3
Từ ngày
12/12/2022
đến ngày
17/12/2022
4
Từ ngày
19/12/2022
đến ngày
24/12/2022
5
Từ ngày
26/12/2022
đến ngày
31/12/2022
6
Từ ngày
02/01/2023
đến ngày
07/01/2023
- Dùng thử các ứng dụng Hoàn thành tốt
của phần mềm Techress
trên nền tảng web,
mobile, windows
- Viết testcase cho
web,mobile.
- Vẽ sơ đồ luồng dữ liệu
- Tham gia họp team QC
hằng ngày và họp cơng
ty cuối tuần
- Tiếp tục tìm hiểu về
Hồn thành tốt
nội dung công việc, các
phương pháp và kỹ thuật
kiểm thử
- Vào Sprint dự án, thực
hiện test web, mobile
(app Aloline)
- Lên task cho dev
- Tìm hiểu về cơng cụ
kiểm thử hiệu năng
Jmeter
- Tham gia họp team QC
hằng ngày và họp công
ty cuối tuần
Hoàn thành tốt
(Đã ký)
Hoàn thành tốt
(Đã ký)
- Vào Sprint dự án, thực Hoàn thành tốt
hiện test web, API
- Báo cáo cho cộng sự
về công việc test API
- Tiếp tục tìm hiểu về
cơng cụ kiểm thử hiệu
năng Jmeter
- Tham gia họp team QC
hằng ngày và họp công
ty cuối tuần
- Vào Sprint dự án, thực Hoàn thành tốt
hiện test web, app TMS,
app order, windows.
- Lên task cho dev
- Tiếp tục tìm hiểu về
cơng cụ kiểm thử hiệu
năng Jmeter
Hồn thành tốt
(Đã ký)
Hồn thành tốt
(Đã ký)
- Tìm hiểu về phần mềm
Postman
- Tham gia họp team QC
hằng ngày và họp công
ty cuối tuần
- Vào Sprint dự án, thực Hoàn thành tốt
hiện test app order,
windows.
7
Từ ngày
- Lên task cho dev
09/01/2023 - Tiếp tục tìm hiểu về
đến ngày phần mềm Postman
15/01/2023 - Tham gia họp team QC
và công ty
Hồn thành tốt
(Đã ký)
TP. Hồ Chí Minh, ngày 15 tháng 1 năm 2023
Sinh Viên
(Đã ký)
Đặng Kim Liên
MỤC LỤC
MỞ ĐẦU
CHƯƠNG 1: TỔNG QUAN ......................................................................................... 1
1.1. Giới thiệu về Công ty AloApp ............................................................................... 1
1.1.1. Thông tin về doanh nghiệp ................................................................................ 1
1.1.2. Lĩnh vực hoạt động ............................................................................................ 2
1.2. Vị trí thực tập, nội dung cơng việc ........................................................................ 2
1.3. Phạm vi của đề tài................................................................................................... 2
CHƯƠNG 2: CƠ SỞ LÝ LUẬN .................................................................................. 4
2.1. Lý thuyết.................................................................................................................. 4
2.1.1. Kiểm thử phần mềm là gì? ................................................................................. 4
2.1.2. Tìm hiểu kiến thức về lỗi phần mềm .................................................................. 4
2.1.3. Cơng việc, vai trị, kỹ năng cần có của kiểm thử phần mềm (Tester) ................ 6
2.1.4. Vai trị trong kiểm thử phần mềm ...................................................................... 7
2.1.5. Quy trình kiểm thử phần mềm............................................................................ 7
2.1.6. Các mức kiểm thử (Test level) ......................................................................... 11
2.1.7. Các phương pháp kiểm thử phần mềm ............................................................. 13
2.1.8. Kiểm thử tĩnh và kiểm thử động ....................................................................... 15
2.1.9. Các kỹ thuật kiểm thử ....................................................................................... 18
2.1.10. Phân loại kiểm thử .......................................................................................... 27
2.2. Kỹ thuật kiểm thử hiệu năng Jmeter .................................................................. 29
2.2.1. Tổng quan kiểm thử hiệu năng ......................................................................... 29
2.2.2. Jmeter................................................................................................................ 30
CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC ....................................................................... 33
3.1.Dự án phần mềm Techres ..................................................................................... 33
3.2. Chi tiết các công việc đã tham gia và kết quả: ................................................... 37
3.2.1. Tìm hiểu quy trình nghiệp vụ của hệ sinh thái phần mềm Techres ................. 37
3.2.2. Quy trình kiểm thử Manual Testing ................................................................. 40
3.2.2. Quy trình kiểm thử hiệu năng với Jmeter ......................................................... 46
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................... 49
4.1. Kết quả đạt được .................................................................................................. 49
4.2. Hạn chế .................................................................................................................. 49
4.3. Hướng phát triển .................................................................................................. 49
DANH MỤC TÀI LIỆU THAM KHẢO ................................................................... 50
DANH MỤC HÌNH ẢNH
Hình 1. Logo Cơng ty TNHH AloApp (Nguồn: Cơng ty AloApp) ................................. 1
Hình 2. Quy trình kiểm thử phần mềm (Nguồn: Viblo.asia) .......................................... 7
Hình 3. Kiểm thử hộp trắng (Nguồn: Viblo.asia) .......................................................... 13
Hình 4. Phương pháp kiểm thử hộp đen ........................................................................ 14
Hình 5. Phương pháp kiểm thử hộp xám ....................................................................... 15
Hình 6. Phân vùng tương đương ................................................................................... 18
Hình 7. Giá trị phân vùng tương đương ........................................................................ 19
Hình 8. Phân vùng giá trị biên (1) ................................................................................. 20
Hình 9. Phân vùng giá trị biên (2) ................................................................................. 20
Hình 10. Ví dụ về giá trị biên ........................................................................................ 22
Hình 11. Form Login ..................................................................................................... 23
Hình 12. Form upload hình ảnh ..................................................................................... 24
Hình 13. Thành phần của Jmeter ................................................................................... 32
Hình 14.Tổng quan các thành phần chức năng của phần mềm Admin ......................... 33
Hình 15.Tổng quan các thành phần chức năng của phần mềm TMS ............................ 34
Hình 16. . Tổng quan các thành phần chức năng của phần mềm Order ........................ 35
Hình 17. Tổng quan các thành phần chức năng của phần mềm Supplier ..................... 35
Hình 18. Tổng quan các thành phần chức năng của phần mềm Media ......................... 36
Hình 19. Tổng quan các thành phần chức năng của phần mềm AloLine...................... 36
Hình 20. . Trang web Dashboard (dành cho Admin quản trị tất cả nhà hàng) .............. 37
Hình 21. Trang web Dashboard (dành cho giám đốc và quản lý nhà hàng) ................. 38
Hình 22.App Window dành cho bộ phận thu ngân của nhà hàng ................................. 38
Hình 23. App Order dành cho nhân viên phục vụ nhận yêu cầu tại bàn ....................... 39
Hình 24.App TMS dành cho nhân viên của nhà hàng................................................... 39
Hình 25. Cơng việc check mail thường xun (1) ........................................................ 40
Hình 26. Cơng việc check mail thường xuyên (2) ........................................................ 41
Hình 27. Thực hiện viết testcase (1) .............................................................................. 42
Hình 28. Thực hiện viết testcase (2) .............................................................................. 42
Hình 29. Viết báo cáo Bug(1)........................................................................................ 44
Hình 30. Viết báo cáo Bug (2)....................................................................................... 44
Hình 31. Biểu đồ báo cáo lỗi test trên Android ............................................................. 45
Hình 32. Biểu đồ báo cáo lỗi test trên Android ............................................................. 45
Hình 33. Tạo Thread Group .......................................................................................... 46
Hình 34. Thêm HTTP Request Defaults. ...................................................................... 47
Hình 35. Thêm HTTP Request ...................................................................................... 47
Hình 36. Kết quả test Graph Result ............................................................................... 47
DANH MỤC BẢNG
Bảng 1. Bảng điều kiện cho form đăng nhập ................................................................ 23
Bảng 2. Bảng quyết định cho form upload hình ảnh ..................................................... 24
KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
BA :
DEV :
QA :
Tài liệu SRS:
Business Analyst (Chuyên viên phân tích nghiệp vụ)
Developer (Lập trình viên)
Quality Assurance ( Đảm bảo chất lượng)
Software Requirement Specification (Tài liệu đặc tả yêu cầu)
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
CHƯƠNG 1: TỔNG QUAN
1.1. Giới thiệu về Công ty AloApp
1.1.1. Thông tin về doanh nghiệp
- Tên quốc tế:
ALOAPP COMPANY LIMITED
- Tên viết tắt:
ALOAPP CO.LTD
- Mã số thuế:
0314616495
- Địa chỉ:
155 Chu Văn An, phường 26, quận Bình Thạnh, thành phố
Hồ Chí Minh
- Người đại diện:
Nguyễn Lê Anh Tuân
- Điện thoại:
0916 357 018
- Ngày hoạt động:
09/09-2017
- Quản lý bởi:
Chi cục Thuế Quận Bình Thạnh
- Loại hình doanh nghiệp: Cơng ty trách nhiệm hữu hạn 2 thành viên trở lên ngồi
nhà nước
- Tình trạng:
Đang hoạt động
- Logo cơng ty ALOAPP CO., LTD
Hình 1. Logo Cơng ty TNHH AloApp (Nguồn: Công ty AloApp)
SVTH: Đặng Kim Liên
Trang 1
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
1.1.2. Lĩnh vực hoạt động
Công ty Cổ phần ALOAPP là một trong những đơn vị uy tín trong lĩnh vực cung cấp
các giải pháp tối ưu (bao gồm các giải pháp phần mềm chuyên biệt) hỗ trợ hoạt động
của doanh nghiệp trong ngành F&B (Food and Beverage Service: dịch vụ nhà hàng
quán ăn và quầy uống)
1.2. Vị trí thực tập, nội dung cơng việc:
Vị trí thực tập: Chun viên kiểm thử phần mềm
Nội dung công việc:
- Tham gia vào các giai đoạn phát triển phần mềm, phân tích thiết kế, đặc tả sản
phẩm.
- Viết các tài liệu kiểm thử và lên kế hoạch test: test plan, test scenario, test case.
- Thực hiện kiểm thử sản phẩm. Sử dụng công cụ hỗ trợ quá trình kiểm thử:
Excel, Postman, Jmeter.
- Kiểm thử: Web Testing, Mobile Testing.
- Làm việc theo mơ hình Agile (Scrum).
- Phối hợp chặt chẽ với BA, Dev để đảm bảo chất lượng dự án.
- Thực hiện các công việc khác theo sự hướng dẫn của Quản lý trực tiếp.
- Hoàn thành báo cáo thực tập chuyên ngành
1.3. Phạm vi của đề tài
Đồ án của em dựa trên các kiến thức được thực tập của công ty và tham khảo
một số giáo trình về kiểm thử phần mềm, bài báo cáo có phạm vi như sau:
-
Tìm hiểu tổng quan về việc kiểm thử phần mềm nói chung
-
Tìm hiển vai trị kiểm thử. Các công cụ hỗ trợ cho việc kiểm thử phần mềm.
-
Tìm hiểu về Jmeter, Postman, hoạt động, ưu nhược điểm và cách sử dụng, ứng
dụng của nó trong việc kiểm thử.
SVTH: Đặng Kim Liên
Trang 2
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
-
GVHD: TS. Dương Thị Thúy Nga
Thực hiện phân tích xây dựng bộ các trường hợp kiểm thử. Từ đó, tạo testcase,
checklist để thực hiện các trường hợp kiểm thử nhằm phát hiện lỗi, xây dựng
báo cáo kiểm thử.
Với mục tiêu và phạm vi nêu trên, bố cục của báo cáo gồm 3 chương như sau:
-
Chương 1: Tổng quan
-
Chương 2: Cơ sở lý luận
-
Chương 3: Kết quả đạt được
-
Chương 4: Kết luận và hướng phát triển.
SVTH: Đặng Kim Liên
Trang 3
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
CHƯƠNG 2: CƠ SỞ LÝ LUẬN
2.1. Lý thuyết
2.1.1. Kiểm thử phần mềm là gì?
Kiểm thử phần mềm (Software testing) là phương pháp kiểm tra xem sản phẩm
đó trên thực tế có phù hợp với các yêu cầu đã đặt ra hay không, 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, thông tin của phần mềm được
kiểm thử. Nó bao gồm việc kiểm tra, phân tích, quan sát và đánh giá các khía cạnh
khác nhau của sản phẩm. Chuyên viên kiểm thử phần mềm sử dụng kết hợp công cụ
thủ công và tự động. Mục đích cơng việc này là để đảm bảo sản phẩm được tạo ra theo
đúng yêu cầu và hoạt động hiệu quả, nếu có bất kỳ lỗi nào, nó có thể được xác định
sớm và giải quyết kịp thời. Điều này làm giảm thiểu tỷ lệ rủi ro, tốn thất về chi phí bảo
trì cũng như uy tín của doanh nghiệp.
Ai là người thực hiện kiểm thử phần mềm? Điều này phụ thuộc vào quy trình
của các bên liên quan đến dự án, Trong ngành công nghiệp phần mềm, những công ty
lớn có một team chuyên chịu trách nhiệm về việc đánh giá phần mềm đã phát triển với
những yêu cầu được chỉ định từ trước – gọi là tester.
Trong hầu hết các trường hợp, người kiểm thử (Tester) có thể là:
Software Tester – nhân viên kiểm thử phần mềm
Software Developer – nhân viên phát triển phần mềm
Leader hoặc manager dự án
Product Owner – người sở hữu sản phẩm
User – người dùng cuối.
2.1.2. Tìm hiểu kiến thức về lỗi phần mềm
Lỗi phần mềm:
- Là sự cố khiến chương trình bị sập, tạo kết quả khơng chính xác hoặc tạo đầu ra
khơng hợp lệ, vận hành khác với chủ đích ban đầu. Vấn đề được gây ra bởi
logic không đủ hoặc sai. Hầu hết các lỗi do con người tạo ra trong mã nguồn
hoặc thiết kế của nó. Một chương trình được cho là có lỗi khi nó chứa một số
lượng lỗi lớn, ảnh hưởng đến chức năng của chương trình hoặc gây ra kết quả
khơng chính xác.
- Một số lỗi có thể không ảnh hưởng nghiêm trọng đến chức năng của chương
trình và khó phát hiện, Một chương trình có thể bị sập khi không xác định được
các lỗi nghiêm trọng.
- Lỗi phần mềm có thể xảy ra ở tất cả các cơng đoạn.
Ngun nhân sinh ra lỗi phần mềm: Có rất nhiều nguyên nhân dẫn đến lỗi phần
mềm. Khi đã biết được nguyên nhân dẫn đến khiếm khuyết của phần mềm, việc sửa
chữa để giảm thiếu những khiếm khuyết đó sẽ trở nên dễ dàng hơn rất nhiều.
- Lỗi đặc tả: Định nghĩa các yêu cầu bị lỗi, 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 hoặc khơng có giao tiếp: Những u cầu không rõ
ràng và những hiểu lầm giữa các bên liên quan, đội ngũ phát triển, đội ngũ kiểm
thử có thể là nguyên nhân chính dẫn đến khiếm khuyết trong phần mềm. Ngoài
SVTH: Đặng Kim Liên
Trang 4
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
ra, những khiếm khuyết phát sinh trong giai đoạn phát triển còn do đội ngũ phát
triển khơng được thơng báo chính xác về các yêu cầu.
- Sự phức tạp của các ứng dụng phần mềm hiện hành có thể trở nên rất khó hiểu
đối với bất kỳ ai khơng có kinh nghiệm trong lĩnh vực phát triển phần mềm hiện
đại. Các giao diện loại Windows, cấu trúc máy khách – máy chủ và các ứng
dụng phân tán, cơ sở dữ liệu khổng lồ, cấu trúc hướng đối tượng phức tạp…
góp phần làm tăng thêm sự phức tạp của phần mềm.
- Lỗi lập trình: Các lập trình viên có thể thiếu kinh nghiệm hoặc kiến thức
chun mơn hạn chế có thể mắc những lỗi đơn giản trong lập trình, thiếu thực
hành trong các thao tác lập trình đơn giản, kiểm thử đơn vị hay gỡ lỗi là một số
nguyên nhân dẫn đến các lỗi phát sinh trong quá trình phát triển.
- Thay đổi yêu cầu: Trong quá trình phát triển dự án sẽ phát sinh sự thay đổi, thiết
kế lại, thay đổi nhân sự, những đầu việc đã hồn thành có thể cần thực hiện lại
hoặc bỏ đi, những yêu cầu về phần cứng có thể bị ảnh hưởng ,… Khi thay đổi
xảy ra dù lớn hay nhỏ thì những mắt xích giữa các phần của dự án cũng có khả
năng sẽ tương tác với nhau, vấn đề xảy ra lỗi cũng sẽ phức tạp.
- Áp lực thời gian: Lịch trình phi thực tế, khủng hoảng về deadline sẽ tác động ít
nhiều đến tinh thần, tâm lý của các nhân sự. Nếu không có đủ thời gian để thiết
kế, coding và kiểm thử một cách hồn chỉnh thì chắc chắn phần mềm sẽ phát
sinh lỗi.
- Các công cụ phát triển phần mềm: Các cơng cụ trực quan, các thư viện lớp,
trình biên dịch, cơng cụ kịch bản,… thường cũng có lỗi riêng hoặc được tài liệu
hóa kém, dẫn đến việc sản sinh ra lỗi. Các lập trình viên thường dùng những
cơng cụ phần mềm thay đổi liên tục, nhưng việc cập nhật các phiên bản khách
nhau và khả năng tương thích của chúng là một vấn đề rất lớn đang hiện hữu
- Các trường hợp khác như: Khơng thiết lập thử nghiệm thích hợp (môi trường
thử nghiệp) để kiểm tra các yêu cầu; viết code hoặc kiểm thử các trường hợp
khi chưa hiểu rõ tất cả các yêu cầu; thiết kế sai dẫn đến các giai đoạn của chu
kỳ phát triển phần mềm đều có vấn đề; dành ít thời gian hoặc bỏ qua hồn tồn
việc kiểm tra hồi quy; khơng theo dõi quá trình phát triển và kiểm thử một cách
liền mạch,…
Các loại lỗi phần mềm: Tester cần phải hiểu được bản chất, ý nghĩa của lỗi phần
mềm và nguyên nhân để xử lý nó tốt hơn. Điều này giúp cho việc xử lý lỗi và tiết
kiệm thời gian cũng như chi phí bảo trì hệ thống.
- Lỗi chức năng: Chức năng là cách mà phần mềm vận hành có chủ đích. Phần
mềm có một lỗi chức năng nếu một cái gì đó mà bạn mong muốn phần mềm
làm là khó, rắc rối, khó hiểu, khơng khả thi.
- Lỗi giao tiếp: Những lỗi xảy ta trong giao tiếp giữa phần mềm và người dùng
cuối. Bất cứ điều gì mà người dùng cuối cần biết để sử dụng các phần mềm nên
được làm sẵn có trên màn hình. Ví dụ: một phần mềm cần có menu, save chức
năng mặc định là lưu, close có chức năng hồn tác, đóng.
- Lỗi thiếu lệnh: điều này xảy ra khi một lệnh mong muốn bị thiếu dẫn đến không
cung cấp đầy đủ chức năng cho người sử dụng
SVTH: Đặng Kim Liên
Trang 5
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
-
-
GVHD: TS. Dương Thị Thúy Nga
Lỗi cú pháp: là những từ sai chính tả hay ngữ pháp câu khơng chính xác và rất
rõ ràng trong khi kiểm thử thử giao diện phần mềm (sai chính tả về phương
diện giao diện hiển thị trong phần mềm)
Lỗi lỗi xử lý: bất kỳ lỗi nào xảy ra khi người dùng đang tương tác với các phần
mềm cần phải xử lý một cách rõ ràng và ý nghĩa. Nếu khơng, nó được gọi là
một lỗi Xử lý lỗi. Ví dụ nếu phần mềm có xác thực những trường bắt buộc cần
phải được nhập trước khi lưu thông tin trên một form, các thông báo xác thực
phải rõ ràng và chỉ ra những hành động cần thiết cho người dùng
Lỗi tính tốn: thường xảy ra có thể do logic khơng tốt, cơng thức tính tốn
khơng chính xác, kiểu dữ liệu khơng phù hợp, lỗi lập trình hoặc các vấn đề gọi
chức năng.
Lỗi dịng điều khiển: việc kiểm sốt flow (luồng) của một phần mềm mơ tả
những gì nó sẽ làm gì tiếp theo và dựa trên điều kiện gì. Ví dụ, hãy xem xét một
hệ thống mà người dùng phải điền vào mẫu đơn và các tùy chọn có thể được sử
dụng như: Save, Save and Close, Cancel. Nếu người dùng nhấp vào button:
“Save and Close”, thông tin người dùng trong form được lưu và đóng form lại.
Nếu nhấp vào button “Save and Close” mà khơng đóng form, thì đó là lỗi dịng
điều khiển.
2.1.3. Cơng việc, vai trị, kỹ năng cần có của kiểm thử phần mềm (Tester)
Công việc của kiểm thử phần mềm là lên kế hoạch và tiến hành kiểm tra phần
mềm, phân tích các kết quả và báo cáo các lỗi tìm ra trong quá trình kiểm tra để báo
cho bên phát triển phần mềm khắc phục lỗi. Để trở thành một người kiểm thử giỏi thì
cần phải am hiểu những kiến thức về kiểm thử, ngôn ngữ lập trình, cơ sở dữ liệu. Tuy
nhiên, những kiến thức về kiểm thử, khả năng lên kế hoạch, lên kịch bản kiểm thử vẫn
là quan trọng nhất. Ngồi ra, cơng việc phần mềm cũng cần đến khả năng giao tiếp,
viết báo cáo để tester có thể viết báo cáo các lỗi một cách dễ hiểu nhất.
Tester đóng một vai trị quan trọng trong quy trình phát triển một phần mềm cần
có những vai trò sau. Vai trò quan trọng trong quy trình phát triển một phần mềm cần
có những vai trị sau:
- Phải xem xét các tài liệu do bên đội ngũ BA cung cấp. Đồng thời, cũng cần phải
biết đánh giá tổng quan về ứng dụng sắp kiểm thử.
- Tester cần biết lên các kịch bản kiểm thử và thực hiện các bài kiểm tra về khả
năng sử dụng phần mềm.
- Phân tích các kết quả tìm thấy trong khi trải qua các vịng lặp kiểm thử, các lỗi
được tìm thấy ở đơn vị nào, vị trí và chức năng nào trong phần mềm.
- Chuẩn bị và lên các báo cáo liên quan đến lỗi, cơ sở dữ liệu và khả năng sử
dụng lại các đoạn mã trong quá trình sửa lỗi.
- Trao đổi với khách hàng để khách hàng hiểu hơn về tình hình của phần mềm,
nên khắc phục và bổ sung những gì phần mềm hồn chỉnh hơn.
- Tham gia đánh giá phần mềm cùng với bên thiết kế và lập trình để tạo ra một
sản phầm có giá trị đến tay người dùng.
Kiểm thử phần mềm là cơng việc liên quan đến máy tính, đến cơng nghệ. Để trở
thành một tester giỏi thì cần và phải trau dồi những kỹ năng đặc biệt:
- Cần phải hiểu biết rõ các kiến thức về kiểm thử , thực hành chuyên sâu và hiểu
được các phương pháp kiểm thử và vòng lặp kiểm thử.
SVTH: Đặng Kim Liên
Trang 6
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
-
GVHD: TS. Dương Thị Thúy Nga
Tester cũng cần phải hiểu biết sơ về lập trình, biết cài đặt và chạy các phần
mềm thì mới kiểm tra được là phần mềm có hoạt động ổn định hay khơng.
Kỹ năng giao tiếp cũng là một kỹ năng quan trọng cần có của người kiểm thử.
Bởi sau khi trải qua các vịng lặp kiểm thử, tester cần có các báo cáo lỗi, và trao
đổi với lập trình viên, khách hàng, BA.
Có tư duy và khả năng tổ chức tốt. Bởi quá trình kiểm thử phần mềm là hoạt
động theo đội nhóm chớ khơng phải hoạt động đơn lẻ. Vì vậy, nến như muốn
trở thành người thủ lĩnh bạn cần phải biết tổ chức và điều hành đội nhóm để
đưa ra hiệu quả cuối cùng tốt nhất.
2.1.4. Vai trò trong kiểm thử phần mềm
Các vai trò trong kiểm thử phần mềm
- Test Manager: Là người đứng đầu bộ phận kiểm thử quản lý chung về các vấn
đề liên quan như quy trình làm việc, nhân sự.
- Test Leader: Là người trực tiếp tham gia vào quá trình kiểm thử dự án cùng
Tester, Test Leader đảm nhiệm vai trị quản lý cơng việc của Tester, thực hiện
verify các sản phẩm mà tester tạo ra cũng như báo cáo của Tester Manager khi
có yêu cầu.
- Tester: Là người trực tiếp thực hiện quá trình kiểm thử, đảm bảo chất lượng của
sản phẩm theo những nhiệm vụ được phân cơng.
2.1.5. Quy trình kiểm thử phần mềm
Quy trình kiểm thử phần mềm xác định các giai đoạn/pha trong kiểm thử phần mềm.
Tuy nhiên, khơng có STLC (Software Testing Life Cycle) tiêu chuẩn cố định nào trên
thế giới, nhưng về cơ bản, quy trình kiểm thử bao gồm những giai đoạn sau:
Hình 2. Quy trình kiểm thử phần mềm (Nguồn: Viblo.asia)
2.1.5.1. Requirement Analysis (Phân tích yêu cầu)
Đầu vào:
Đầu vào của giai đoạn phân tích yêu cầu bao gồm các tài liệu như: tài liệu đặc
tả yêu cầu, tài liệu thiết kế hệ thống, tài liệu khách hàng yêu cầu về các tiêu chí chấp
nhận của sản phẩm, bản prototype của khách hàng yêu cầu (nếu có),..
Hoạt động:
- Phân tích yêu cầu là giai đoạn đầu tiên trong quy trình kiểm thử phần mềm.
- Team QA sẽ thực hiện đọc hiểu, nghiên cứu và phân tích cụ thể các yêu cầu
trong tài liệu đặc tả của dự án hoặc tài liệu khách hàng. Qua hoạt động này, đội
ngũ QA sẽ nắm bắt được các yêu cầu mà dự án đưa ra bao gồm yêu cầu kiểm
thử chức năng/phi chức năng nào.
SVTH: Đặng Kim Liên
Trang 7
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Cơng ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
Ngồi ra, trong q trình phân tích, nghiên cứu tài liệu, nếu có câu hỏi phát sinh
hay đề xuất giải pháp, team QA sẽ đưa ra câu hỏi với các bên liên quan như BA
(Business Analysis), PM (Project Manager), team leader, khách hàng để hiểu
chính xác hơn về yêu cầu của sản phẩm. Những câu hỏi này sẽ được lưu trữ vào
file Q&A (Question and Answer). Các câu hỏi nên được đưa ra dưới dạng
Yes/No question hoặc các lựa chọn để tiết kiệm thời gian trả lời cũng như hỗ
trợ đưa ra những gợi ý hay để xây dựng sản phẩm ngay từ đầu. Như vậy, đương
nhiên là chúng ta không nên nêu ra những câu hỏi dạng là gì, như thế nào, tại
sao,… Những câu hỏi như thế thường mất thời gian dài để giải thích và cũng
khó có thể giải thích một cách chi tiết nhất có thể. Hơn nữa, đối với khách hàng
khơng có sự hiểu biết về lĩnh vực phần mềm mà họ u cầu thì càng khơng thể
trả lời những câu hỏi mang tính chun mơn cao. Chính chúng ta sẽ là người hỗ
trợ và đưa ra giải pháp thích hợp cho khách hàng lựa chọn.
Đầu ra:
- Đầu ra của giai đoạn phân tích yêu cầu bao gồm tài liệu chứa các câu hỏi và câu
trả lời liên quan đến nghiệp vụ của hệ thống, tài liệu báo cáo tính khả thi, phân
tích rủi ro của việc kiểm thử phần mềm.
2.1.5.2. Test Planning (Lập kế hoạch kiểm thử)
Đầu vào:
Đầu vào của giai đoạn lập kế hoạch kiểm thử là các tài liệu đặc tả đã được cập
nhật thông qua các câu hỏi và trả lời được đưa ra trong giai đoạn phân tích yêu cầu, tài
liệu báo cáo tính khả thi, phân tích rủi ro của việc kiểm thử phần mềm.
Hoạt động:
Dựa vào các tài liệu được cung cấp và cập nhật mới nhất, thông thường, Test
Manager hoặc Test Leader sẽ là người lập kế hoạch kiểm thử cho cả team QA. Lập kế
hoạch kiểm thử nhằm xác định một số yếu tố sau:
- Xác định phạm vi(Scope) dự án: Dự án thực hiện trong thời gian bao lâu? Bao
gồm những cơng việc gì cho từng khoảng thời gian xác định? Từ đó, đưa ra lịch
trình thực hiện cho từng công việc nhỏ sao cho phù hợp với toàn bộ đội dự án.
- Xác định phương pháp tiếp cận: Nói về cách tiếp cận để kiểm thử cho một đối
tượng nào đó, thì phải dựa vào nhiều thứ, ví dụ: Thời gian cho phép test có phù
hợp với con số ước lượng, nhiều hay ít, yêu cầu chất lượng từ phía khách hàng
như thế nào? Cao, thấp, khắc khe hay sao cũng được? Công nghệ/kỹ thuật sử
dụng để phát triển ứng dụng này là gì? Lĩnh vực của hệ thống/ sản phẩm đang
được test (domain) là gì?. Từ đó, Test Manager có thể đưa ra những phương
pháp và kế hoạch phù hợp nhất cho cả quá trình thực hiện dự án sao cho đúng
với các tiêu chí chấp nhận của sản phẩm và kịp tiến độ với các mốc thời gian
bàn giao, phát hành.
- Xác định các nguồn lực:
+ Con người: Bao nhiêu người tham gia dự án, ai sẽ test phần nào, bao
nhiêu tester tham gia? Tester và nhóm phát triển có kinh nghiệm về lĩnh vực
này khơng?
+ Thiết bị: số lượng server, version, máy tính, mobile để thực hiện test là
bao nhiêu.
-
SVTH: Đặng Kim Liên
Trang 8
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
Lên kế hoạch thiết kế công việc test: Bản kế hoạch kiểm thử sẽ bao gồm các nội
dung:
+ Liệt kê các chức năng cần kiểm thử: Để thực hiện test chức năng này
thì cần làm những cơng việc gì, trong thời gian bao lâu, cái nào thực hiện trước,
cái nào thực hiện sau, ai là người thực hiện.
+ Xác định điều kiện bắt đầu: Xác định những điều kiện tối thiểu để bắt
đầu hoạt động kiểm thử cho từng chức năng.
+ Xác định điều kiện kết thúc: Khi có những điều kiện nào thì sẽ kết thúc
việc kiểm thử.
Đầu ra:
Đầu ra của giai đoạn lập kế hoạch bao gồm các tài liệu như test plan, test
estimation, test schedule.
2.1.5.3. Test Case Development (Thiết kế kịch bản kiểm thử)
Đầu vào
Đầu vào của giai đoạn thiết kế kịch bản kiểm thử là test plan, test estimation,
test schedule, các tài liệu đặc tả đã được cập nhật.
Hoạt động:
- Review tài liệu: Đầu tiên, các kiểm thử viên cần review lại tất cả các tài liệu để
xác định cơng việc cần làm, các cơng việc có khác gì so với dự án trước khách
hàng đưa cho, chức năng nào cần test, chức năng nào không cần test lại nữa. Từ
đó, vừa có thể tiết kiệm thời gian mà vẫn đưa ra được một kịch bản kiểm thử
đầy đủ và hiệu quả.
- Viết test case/check list: Sau đó, tester bắt tay vào việc viết test case chi tiết dựa
vào kế hoạch đã đưa ra và vận dụng các kỹ thuật thiết kế kịch bản kiểm thử.
Test case cần bao phủ được tất cả các trường hợp kiểm thử có thể xảy ra cũng
như đáp ứng đủ các tiêu chí của sản phẩm. Đồng thời, tester cũng cần đánh giá
mức độ ưu tiên cho từng test case.
- Chuẩn bị dữ liệu kiểm thử: Cùng với việc tạo ra các test case chi tiết, đội kiểm
thử cũng cần chuẩn bị trước các dữ liệu kiểm thử cho các trường hợp cần thiết
như test data, test script.
- Review test case/ check list: Sau khi hoàn thành, các thành viên trong đội kiểm
thử hoặc test leader cũng cần review lại test case đã tạo để có thể bổ sung, hỗ
trợ lẫn nhau nhằm tránh những sai sót trong thiết kế test case và rủi ro về sau.
Đầu ra:
Sau khi hoàn thành thiết kế kịch bản kiểm thử, đội kiểm thử sẽ có các tài liệu
bao gồm: test design, test case, check list, test data, test automation script.
2.1.5.4. Environment Setup (Thiết lập môi trường kiểm thử)
Đầu vào:
Đầu vào của giai đoạn cài đặt môi trường kiểm thử là test plan, test case, test
data.
Hoạt động:
- Việc cài đặt môi trường kiểm thử là giai đoạn cũng rất quan trọng trong vòng
đời phát triển phần mềm. Môi trường kiểm thử sẽ quyết định dựa trên những
yêu cầu của khách hàng, hay đặc thù của sản phẩm ví dụ như server/ client/
network,…
-
SVTH: Đặng Kim Liên
Trang 9
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
Tester cần chuẩn bị một vài test case để kiểm tra xem môi trường cài đặt đã sẵn
sàng cho việc kiểm thử hay chưa. Đây chính là việc thực thi các smoke test
case.
Đầu ra:
Đầu ra của giai đoạn này là môi trường đã được cài đặt đúng theo yêu cầu, sẵn
sàng cho việc kiểm thử và kết quả của smoke test case.
2.1.5.5. Test Excution (Thực hiện kiểm thử)
Đầu vào:
Tài liệu đầu vào của giai đoạn này là test plan, test design, test case, check list,
test data, test automation script.
Hoạt động:
- Thực hiện các test case như thiết kế và mức độ ưu tiên đã đưa ra trên môi
trường đã được cài đặt.
- So sánh với kết quả mong đợi sau báo cáo các bug xảy ra lên tool quản lý lỗi và
theo dõi trạng thái của lỗi đến khi được sửa thành công.
- Thực hiện re-test để xác nhận các bug đã được sửa và thực hiện kiểm tra hồi
quy khi có sự thay đổi liên quan.
- Trong quá trình thực hiện kiểm thử, kiểm thử viên cũng có thể hỗ trợ, đề xuất
cho cả đội dự án để có giải pháp hợp lý và kết hợp công việc hiệu quả.
- Đo và phân tích tiến độ:Kiểm thử viên cũng cần kiểm sốt chặt chẽ tiến độ cơng
việc của mình bằng cách so sánh tiến độ thực tế với kế hoạch, nếu chậm cần
phải điều chỉnh sao cho kịp tiến độ dự án, nếu nhanh cũng cần điều chỉnh vì có
thể test lead lên kế hoạch chưa sát với thực tế dự án. Từ đó, có thể sửa chữa test
plan cần điều chỉnh để phù hợp với tiến độ dự án đưa ra.
- Váo cáo thường xuyên cho BA và khách hàng về tình hình thực hiện dự án:
Cung cấp thơng tin trong quá trình kiểm thử đã làm được những chức năng nào,
cịn chức năng nào, hồn thành được bao nhiêu phần trăm công việc, báo cáo
các trường hợp phát sinh sớm, tránh ảnh hưởng tiến độ công việc của cả ngày.
Đầu ra:
Đầu ra của giai đoạn này là test results (kết quả kiểm thử), defect reports (danh
sách các lỗi tìm được)
2.1.5.6. Test Cycle Closure (Đóng chu trình kiểm thử)
Đầu vào:
Đầu vào của giai đoạn đóng chu trình kiểm thử bao gồm tất cả những tài liệu
liên quan đã được tổng hợp, ghi chép và hoàn thiện liên quan đã được tổng hợp, ghi
chép và hoàn thiện đầy đủ trong suốt quy trình kiểm thử của dự án: tài liệu phân tích
đặc tả yêu cầu, test plan, test results, defect reports, tài liệu Q&A,…
Hoạt động:
- Đây là giai đoạn cuối cùng trong giai đoạn kiểm thử phần mềm.
- Ở giai đoạn này, team QA thực hiện tổng kết, báo cáo kết quả về việc thực thi
test case, bao nhiêu case pass/fail, bao nhiêu case đã được sửa, mức độ nghiêm
trọng của lỗi, bao nhiêu lỗi cao/thấp, lỗi còn nhiều ở chức năng nào, dev nào
nhiều lỗi. Chức năng nào đã hoàn thành test/ chưa hoàn thành test/ trễ tiến độ
bàn giao.
-
SVTH: Đặng Kim Liên
Trang 10
Đề tài:Nghiên cứu và Ứng dụng Kiểm thử
phần mềm tại Công ty TNHH AloApp
GVHD: TS. Dương Thị Thúy Nga
Đánh giá các tiêu chí hồn thành như phạm vi kiểm tra, chất lượng, chi phí, thời
gian, mục tiêu kinh doanh quan trọng.
- Ngoài ra, giai đoạn này cũng thảo luận tất cả những điểm tốt, điểm chưa tốt và
rút ra bài học kinh nghiệm cho những dự án sau, giúp cải thiện quy trình kiểm
thử.
Đầu ra:
Đầu ra của giai đoạn này bao gồm các tài liệu: Test report, Test result (final)
-
2.1.6. Các mức kiểm thử (Test level)
2.1.6.1. Kiểm thử đơn vị (unit test)
- Kiểm thử đơn vị là hoạt động kiểm thử nhỏ nhất. Kiểm thử hoạt động trên các
hàm hay thành phần riêng lẻ.
- Cần hiểu biết về thiết kế chương trình và code.
- Thực hiện bởi lập trình viên
- Đơn vị: Là thành phần nhỏ nhất của phần mềm có thể kiểm thử được. Ví dụ:
các hàm, lớp, thủ tục, phương thức.
- Mục đích của việc kiểm tra unit test 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.
2.1.6.2. Kiểm thử tích hợp (Integration testing)
- Kiểm thử tích hợp nhằm phát hiện lỗi giao tiếp xảy ra giữa các thành phần cũng
như lỗi của bản thân từng thành phần (nếu có).
- Thành phần có thể là các module, các ứng dụng riêng lẻ, các ứng dụng
client/server trên một mạng.
- Integration Test có 2 mục tiêu chính:
+ 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ỏ (subsystem) và cuối cùng là
nguyên hệ thống hoàn chỉnh (system) chuẩn bị cho kiểm tra ở mức hệ thống
(System Test)
- Trong Unit Test, lập trình viên cố gắng phát hiện lỗi liên quan đến chức năng và
cấu trúc nội tại của Unit. Có một số phép kiểm tra đơn giản trên giao tiếp giữa
Unit với các thành phần liên quan khác, tuy nhiên, mọi giao tiếp liên quan đến
Unit thật sự được kiểm tra đầy đủ khi các Unit tích hợp với nhau trong khi thực
hiện Integration Test.
- Có 4 loại kiểm tra trong Integration Test:
+ Kiểm tra cấu trúc (structure) : Tương tự White Box Test (kiểm tra nhằm bảo
đảm các thành phần bên trong của một chương trình chạy đúng), chú trọng đến
hoạt động của các thành phần cấu trúc nội tại của chương trình chẳng hạn các
lệnh và nhánh bên trong.
+ Kiểm tra chức năng (functional): Tương tự Block Box Test (kiểm tra chỉ chú
trọng đến chức năng của chương trình, khơng quan tâm đến cấu trúc bên trong),
chỉ khảo sát chức năng của chương trình theo yêu cầu kỹ thuật.
+ Kiểm tra hiệu năng (performance): Kiểm tra việc vận hành của hệ thống.
+ Kiểm tra khả năng chịu tải (stress): Kiểm tra các giới hạn của hệ thống.
2.1.6.3. Kiểm thử mức hệ thống (System test)
SVTH: Đặng Kim Liên
Trang 11