0% found this document useful (0 votes)
4 views13 pages

6 - Principles of Testing

The document discusses the psychology and importance of software testing and validation, emphasizing the need to build confidence while also finding faults. It contrasts traditional and better testing approaches, highlighting the paradox of testing where finding faults can undermine confidence. Additionally, it outlines the rights and responsibilities of testers, as well as the importance of independence in the testing process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views13 pages

6 - Principles of Testing

The document discusses the psychology and importance of software testing and validation, emphasizing the need to build confidence while also finding faults. It contrasts traditional and better testing approaches, highlighting the paradox of testing where finding faults can undermine confidence. Additionally, it outlines the rights and responsibilities of testers, as well as the importance of independence in the testing process.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

CCSW-323

Software Testing & Validation

Assist. Prof. Dr. Abubakar Elsafi – SW Eng. Dept.


E-mail: [email protected]
Lecture #6
Outline

Psychology of testing
Why test?

build confidence ‫بناء الثقه‬


prove that the software is correct
demonstrate conformance to requirements
find faults ‫نوجد األخطاء‬
reduce costs ‫نقلل من التكاليف‬
show system meets user needs ‫اثبات متطلبات المستخدم‬
assess the software quality ‫تقييم جوده النظام‬
Confidence
Confidence
Fault found
Faults found

Time

No faults found = confidence?


Assessing software quality You think
you are here

Many High Few


Few
Faults Faults
Faults

Low High
Software Quality

Few Test Few


Faults Quality Faults

You may
be here

Low
A traditional testing approach

Show that the system:


- does what it should | ‫ماذا يجب ان يفعل النظام‬
- doesn't do what it shouldn’t ‫ما الذي ال يفعله النظام‬
Goal: show working
Success: system works

Fastest achievement: easy test cases

‫االختبار التقليدي‬ Result: faults left in


‫سهل بناء الكيسس‬
‫ األخطاء باليسار‬: ‫النتيجه‬
A better testing approach

Show that the system:


- does what it shouldn't
- doesn't do what it should
Goal: find faults
Success: system fails

Fastest achievement: difficult test cases


‫االختبار االفضل‬
‫صعب بناء الكيسس‬
Result: fewer faults left in
‫ األخطاء قليه باليسار‬: ‫النتيجه‬
The testing Paradox

Purpose of testing: to find faults


Finding faults destroys confidence
Purpose of testing: destroy confidence
Purpose of testing: build confidence
: ‫هدف االختبار‬
‫وجود األخطاء المدمرة للنظام‬
‫تدمير األخطاء المدمرة‬
‫بناء الثقه للنظام‬

The best way to build confidence


is to try to destroy it
Tester’s have the right to:
: ‫المختبر له الحق ان يعرف التالي‬
- accurate information about progress and changes
‫يعرف المعلومات الدقيقه عن التقدم المنجز و التغيرات‬
- insight from developers about areas of the software
‫نظره ثاقبه من قبل المطورين عن مجاالت النظام‬
- delivered code tested to an agreed standard ‫تسليم الكود للمختبر‬
- be regarded as a professional ‫يكون محترف‬
- find faults! ‫يوجد األخطاء‬
- challenge specifications and test plans ‫مواصفات و خطة النظام‬
- have reported faults taken seriously ‫تقارير األخطاء المهمه‬
- make predictions about future fault levels ‫التنبؤ عن لفل األخطاء المستقبليه‬
- improve your own testing process ‫تطوير بروسس االختبار للمختبر‬
Testers have responsibility to:
- follow the test plans, scripts etc. as documented
‫متابعة خطة االختبار وعمل لها دوكمنت‬
- report faults objectively and factually
‫عمل تقارير عن األخطاء بشكل موضوعي و واقعي‬
- check tests are correct before reporting s/w faults
‫التأكد من االختبار قبل عمل التقرير‬
- remember it is the software, not the programmer, that you are testing
"‫تذكر ان البرنامج هو اللي تختبره وليس المبرمج "يعني ال تعيب على كتابه االكواد‬
- assess risk objectively ‫تقييم المخاطر‬
- prioritise what you report ‫اولويه للتقارير‬
- communicate the truth ‫توصيل الحقيقه‬
Independence

Test your own work?


- find 30% - 50% of your own faults
- same assumptions and thought processes
- see what you meant or want to see, not what is there
- emotional attachment
• don’t want to find faults
• actively want NOT to find faults
Levels of independence

None: tests designed by the person who


wrote the software
Tests designed by a different person
Tests designed by someone from a different
department or team (e.g. test team)
Tests designed by someone from a different
organisation (e.g. agency)
Tests generated by a tool (low quality tests?)

You might also like