Bài giảng Kiểm thử phần mềm (Software Testing) - Bài 1: Tổng quan kiểm thử phần mềm - Nguyễn Thị Thanh Trúc
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
KIꢀM THꢁ PHẦN MỀM
GV: ThS. Nguyễn Thị Thanh Trúc
Khoa: Công nghệ Phần mềm
Email: [email protected].vn
1
Tài liệu tham khảo
[1]. Roger S. Pressman. Software Engineering, 5th edition.
USA, McGraw-Hill, 2003.
Tài liệu tham khảo chính:
[2]. Cem Kaner, Jack Falk, Hung Q. Nguyen. Testing
Computer Software, 2nd edition. Canada, Wiley, 1999.
[3]. Hung Q. Nguyen. Testing applications on the web. USA,
Wiley.
[4] Paul Ammann, Jeff Offutt (2008): Introduction to
Software Testing, Cambridge University Press.
]5] Glenford J. Myers (2004): The art of Software Testing,
John Wiley & Son.
[6] LogiGear (2009): Basic Software Testing Skills,
LogiGear Corporation.
2
Nội dung môn học
• Bꢀi 1: Tꢁng quan kiꢂm thư
• Bꢀi 2: Quy trꢅnh kiꢂm thư phꢃn mꢄm
• Bꢀi 3: Cꢆc cꢇp đô kiꢂm thư
• Bꢀi 4: Cꢆc loꢈi kiꢂm thư
• Bꢀi 5: Cꢆc ky thuꢉt kiꢂm thư
• Bꢀi 6: Kiꢂm thư tư đꢊng
• Bꢀi 7: Quản lý chꢇt lượng phꢃn mꢄm
̉ phꢃn mꢄm
̉
̣
̉
̉
̃
̉
̉
̣
3
HÌNH THỨC KIꢀM TRA
• Hình thức kiểm tra: (tỷ lệ 100%)
– LÝ THUYẾT: 50% (trắc nghiệm + tự luꢉn)
– QUꢋ TRꢌNH : lꢀm bꢀi thu hoꢈch lꢀm việc
nhóm 50%
– Chuyên cꢃn: 10% chuyên cꢃn vꢀ tích cực
thảo luꢉn diễn đꢀn vꢀ lꢀm bꢀi tꢉp cꢆ nhân.
4
Bài 1
TỔNG QUAN VỀ KIꢀM THꢁ
PHẦN MỀM
5
BꢂI 1: Tꢃng quan kiểm thử phần mềm
• 1.1 Phꢃn mꢄm va
̀
chꢇt lượng phꢃn mꢄm, SQA
• 1.2 Cꢆc yꢍu tô
mꢄm
́ ảnh hưꢎng đꢍn chꢇt lượng phꢃn
• 1.3 Khꢆi niệm kiꢂm thư
• 1.4 Mꢏc tiêu
• 1.5 Tꢃm quan trꢐng cꢑa kiꢂm thư
• 1.6 Cꢆc nguyên tắc trong kiꢂm thư
• 1.7 Mꢊt sô khꢆi niệm liên quan
• 1.8 Cꢆc đꢒi tượng thực hiện kiꢂm thư
• 1.9 Cꢆc điꢂm cꢃn lưu ý khi kiꢂm thư
• 1.10 Cꢆc hꢈn chê cꢑa kiꢂm thư
̉ phꢃn mꢄm
̉
̉
̉
́
̉
̉
́
̉
6
1.1 Phần mềm và chꢄt lưꢅng phần mềm
• Phꢃn mꢄm va
̀
cꢆc đꢓc trưng
lꢔi, sai sót, hꢕng hóc
• Cꢆc khꢆi niệm vê
̃
• Nguyên nhân gây ra lꢔi phꢃn mꢄm
• Chꢇt lượng phꢃn mꢄm
• Đảm bảo chꢇt lượng phꢃn mꢄm
7
1.1.1 Phần mềm
• Theo định nghĩa của IEEE: Bao gồm cꢆc
chương trꢅnh mꢆy tính, cꢆc thꢑ tꢏc, cꢆc tꢀi
liệu có thꢂ liên quan vꢀ cꢆc dữ liệu liên quan
đꢍn hoꢈt đꢊng cꢑa hệ thꢒng mꢆy tính
• Theo định nghĩa của ISO: 4 thꢀnh phꢃn cơ
bản cꢑa phꢃn mꢄm:
– Chương trꢅnh mꢆy tính (code)
– Cꢆc thꢑ tꢏc
– Tꢀi liệu
– Dữ liệu cꢃn thiꢍt đꢂ vꢉn hꢀnh phꢃn mꢄm
8
1.1.1 Phần mềm
• Đặc trưng của phần mềm:
– Phꢃn mꢄm được thiꢍt kꢍ, chꢍ tꢈo như cꢆc
loꢈi sản phẩm công nghiệp khꢆc, nhưng
không đưꢅc định hình trước
– Quꢆ trꢅnh phꢆt triꢂn phꢃn mꢄm quyꢍt định giꢆ
thꢀnh vꢀ chꢇt lượng cꢑa nó
– Cꢆc phꢃn mꢄm chỉ thực sự được tꢅm ra lꢔi
trong pha
9
1.1.1 Phần mềm
• Đặc trưng của phần mềm:
– Có tính phức tạp cao và luôn thay đổi.
– Phꢃn mꢄm lꢀ mꢊt hệ thꢒng logic với nhiꢄu khꢆi niệm vꢀ
cꢆc mꢒi liên hệ logic khꢆc nhau => mꢔi mꢊt vꢖng lꢓp với
mꢊt giꢆ trị khꢆc nhau lꢀ cơ hꢊi đꢂ tꢅm ra lꢔi cꢑa phꢃn mꢄm
– Thay đꢁi theo nhu cꢃu cꢑa người dùng
– Thay đꢁi đꢂ đꢆp ứng môi trường vꢉn hꢀnh
– Phꢃn mꢄm không nhꢅn thꢇy được
– Phꢃn mꢄm không nhꢅn thꢇy được mꢀ chỉ có thꢂ nhꢉn biꢍt
qua sự mô tả từ những khía cꢈnh khꢆc nhau (sơ đồ điꢄu
khiꢂn, mô hꢅnh luồng dữ liệu, mô hꢅnh tương tꢆc…)
– Do đꢓc trưng nꢀy nên khả năng tꢅm ra lꢔi mꢊt cꢆch nhanh
chóng lꢀ không thꢂ
10
1.1.2 Khꢆi niệm lꢇi, sai sꢈt, hꢉng
• Lꢇi phần mềm (software error)
– Lꢀ lꢔi do con người gây ra (thường lꢀ cꢆc lꢉp tr.nh viên)
– Lꢔi phꢃn mꢄm có thꢂ lꢀ lꢔi cú phꢆp hoꢓc lꢔi logic
• Sai sꢈt của phần mềm (software fault)
– Sai sót cꢑa phꢃn mꢄm không phải lúc nꢀo cung do lꢔi phꢃn
mꢄm
– Có thꢂ có sai sót do dư thừa hoꢓc bꢕ sót yêu cꢃu phꢃn mꢄm
(từ khâu khảo sꢆt, phân tích, đưa ra yêu cꢃu phꢃn mꢄm bị thừa
hoꢓc bị sót so với yêu cꢃu cꢑa khꢆch hꢀng)
• Hꢉng hꢈc của phần mềm(software failure)
– Mꢊt sai sót cꢑa phꢃn mꢄm dẫn đꢍn hꢕng hóc khi nó sai sót đó
bị phꢆt hiện
– Mꢊt sai sót cꢑa phꢃn mꢄm nꢍu không bị phꢆt hiện hoꢓc ko gây
ảnh hưꢎng tới phꢃn mꢄm thꢅ sẽ không được coi lꢀ hꢕng hóc
11
cꢑa pm
1.1.2 Khꢆi niệm lꢇi, sai sꢈt, hꢉng
12
ERROR, FAULT, FAILURE
A developer makes an
ERROR
… and injects a FAULT into the
software
… and the fault causes
software to FAIL
1.1.3 Cꢆc nguyên nhân gây ra lꢇi phần mềm
• 1. Định nghĩa sai yêu cầu của khꢆch hàng
– Đây được coi lꢀ gꢒc rễ cꢑa việc gây ra lꢔi
phꢃn mꢄm
– Hiꢂu sai yêu cꢃu cꢑa khꢆch hꢀng
– Yêu cꢃu cꢑa khꢆch hꢀng không được lꢀm rꢗ
– Triꢂn khai phꢃn mꢄm thiꢍu yêu cꢃu cꢑa khꢆch
hꢀng
– Khꢆch hꢀng đưa ra quꢆ nhiꢄu yêu cꢃu không
cꢃn thiꢍt vꢀ không liên quan
14
15
1.1.3 Cꢆc nguyên nhân gây ra lꢇi phần mềm
• 2. Thꢄt bại trong việc giao tiếp giữa người phꢆt triển
và khꢆch hàng
– Có sự không hiꢂu cꢇu trúc cꢑa tꢀi liệu yêu cꢃu phꢃn
mꢄm
– Không nắm bắt được những thay đꢁi được viꢍt trong
tꢀi liệu yêu cꢃu
– Những thay đꢁi được yêu cꢃu từ khꢆch hꢀng nhưng
ko được lưu dưới dꢈng văn bản
• - Thiꢍu sự chú ý tới:
– Thông điệp cꢑa khꢆch hꢀng đꢄ cꢉp tới việc thay đꢁi
yêu cꢃu
– Trả lời cꢑa khꢆch hꢀng tới những câu hꢕi mꢀ
developer đꢓt ra
16
1.1.3 Cꢆc nguyên nhân gây ra lꢇi phần mềm
• 3. Tạo ra độ lệch cố ꢊ trong yêu cầu phần
mềm
– Lꢉp trꢅnh viên sử dꢏng những module phꢃn
mꢄm có sẵn từ những dự ꢆn trước mꢀ không
thay đꢁi cho phù hợp với yêu cꢃu cꢑa dự ꢆn
mới nhằm tiꢍt kiệm thời gian
– Bꢕ qua mꢊt vꢀi yêu cꢃu cꢑa phꢃn mꢄm do
thời gian quꢆ gꢇp hoꢓc chi phí không đꢑ đꢆp
ứng.
17
1.1.3 Cꢆc nguyên nhân gây ra lꢇi phần mềm
• 5. Lꢇi mꢋ hꢈa
– Lꢔi logic
– Lꢔi cú phꢆp
– Lꢔi thời gian chꢈy
• 6. Không tuân theo cꢆc tài liệu và cꢄu trúc code
– Không tuân theo cꢆc chuẩn tꢀi liệu (templates…)
– Không tuân theo cꢆc cꢇu trúc mꢘ hóa
• 7. Rút ngắn quꢆ trình kiểm thử phần mềm
– Do ꢆp lực vꢄ thời gian, tiꢍn đꢊ hoꢀn thꢀnh dự ꢆn
– Lꢉp kꢍ hoꢈch kiꢂm thử không đꢃy đꢑ
– Không bꢆo cꢆo đꢃy đꢑ cꢆc lꢔi
– Bꢆo cꢆo không chính xꢆc lꢔi
18
1.1.3 Cꢆc nguyên nhân gây ra lꢇi phần mềm
• 8. Lꢇi thủ tục
Chỉ dẫn cho người dùng những hoꢈt đꢊng cꢃn thiꢍt ꢎ
mꢊt quꢆ trꢅnh. Nó quan trꢐng trong cꢆc hệ thꢒng pm
phức tꢈp khi quꢆ trꢅnh xử lý được thực hiện qua nhiꢄu
bước. Mꢔi bước có nhiꢄu dꢈng dữ liệu vꢀ cho phép
kiꢂm tra kꢍt
• 9. Lꢇi tài liệu
– Sai sót trong hồ sơ thiꢍt kꢍ
– Sai sót trong việc lꢉp tꢀi liệu hướng dẫn sử dꢏng
– Cꢆc danh tong phꢃn mꢄm
nhưng lꢈi có trong tꢀi liệu
19
1.1.4 Chꢄt lưꢅng phần mềm – quan điểm
• Theo quan điểm của người dùng: sản phẩm
phù hợp với mꢏc đích sử dꢏng cꢑa người dùng
• Theo quan điểm của nhà cung cꢄp sản
phẩm: sản phẩm đꢈt được cꢆc tiêu chí đꢆnh
giꢆ do nhꢀ cung cꢇp đꢄ ra
• Theo quan điểm của nhà sản xuꢄt phần
mềm: sản phẩm đꢆp ứng đꢃy đꢑ cꢆc tiêu chí
đꢄ ra trong bản đꢓc tả.
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiểm thử phần mềm (Software Testing) - Bài 1: Tổng quan kiểm thử phần mềm - Nguyễn Thị Thanh Trúc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_kiem_thu_phan_mem_software_testing_bai_1_tong_quan.pdf

