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 đủ
pdf 68 trang yennguyen 17380 Free
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:

  • pdfbai_giang_kiem_thu_phan_mem_software_testing_bai_1_tong_quan.pdf