Software Testing Apirada Thadadech Computer Science Department, Faculty of science, Prince if Songkla University Apirada.t@psu.ac.th 06/04/62 Background
What is Your Expectation from this course? 06/04/62 Background
Software Testing Background Software error case studies What is a bug? Why do bugs occur? The cost of bugs What exactly does a software tester do? What makes a good software tester? 06/04/62 Background
Software error case studies Disney’s Lion King Intel Pentium floating-point Division Bug, 1994 NASA Mars polar lander, 1999 Patriot Missile Defense System, 1991 The Y2K (Year 2000) Bug 06/04/62 Background
What is a bug? The Examples of what happens when software fails It can be inconvenient, as when a computer game doesn’t work properly. It can be catastrophic, loss result. ฯลฯ 06/04/62 Background
Why does Software have bugs? 06/04/62 Background
Why Software testing? To verify that all requirements are implemented correctly. To identify defects before software deployment. To help improve quality and reliability. To make software predictable in behavior. To reduce incompatibility and interoperability issues. To help marketability and retention of customers. 06/04/62 Background
What is the business impact? 06/04/62 Background
Terms for Software Failures Defect (ข้อบกพร่อง) Fault (ข้อผิดพลาด ผิดๆ ถูกๆ) Problem (ปัญหา) Error (ข้อผิดพลาด) Incident (การตกของแสง) Anomaly (ผิดหลัก ผิดที่ผิดทาง) Variance (เปลี่ยนแปลง) Failure (ไม่เป็นไปตามที่คาดหวัง ต้องการ) Inconsistency (ไม่เป็นไปตามที่ต้องการ) Feature (ข้อที่เห็นเด่นชัด) Bug (ข้อติดขัด) 06/04/62 Background
meaning Grouping Fault, Failure and Defect Maybe even dangerous Anomaly, Incident and Variance Sound quite negative infer unintended operation Problem, Error and Bug Most general terms used All software problems will be called bugs 06/04/62 Background
Software bug occurs follow the rule The software doesn’t do something that the product specification says it should do. The software does something that the product specification says it shouldn’t do. The software does something that the product specification doesn’t mention. The software doesn’t do something that the product specification doesn’t mention but should. The software is difficult to understand, hard to use, slow, or-in the software tester’s eyes-will be viewed by the end user as just plain not right. 06/04/62 Background
Why do bugs occur? The specification : It isn’t through enough It is constantly changing It isn’t communicated well to the entire development team If it’s not done correctly, Bugs will be created. 06/04/62 Background
Cause of Software Bugs Other Code Design Specification Design Bugs are caused for numerous reasons, but the main cause can be traced to the specification 06/04/62 Background
The cost of bugs Time when Bug is found $1000 $100 $10 $1 Specification Design Code Test Release Time when Bug is found 06/04/62 Background
Global Software Testing business to reach $13 Billion : Good news for Indian Software testers There are questions “ What is the future of software testing business?” “ Should I consider software testing as my career option?” Infosys estimated global software testing business to reach $13 billion by 2010. Out of these approximately half of the testing work will be outsourced to India. 06/04/62 Background
Who tests the Software Developer Understands the system but, will test “gently” and is driven by “delivery” Independent Tester Must learn about the system, but, will attempt to break it and , is driven by quality 06/04/62 Background
What exactly does a software tester do? The goal of a software tester is to find bugs Try to find bugs as early as possible Make sure they get fixed them 06/04/62 Background
How tester do it? How do we go about detecting errors? By examining the internal structure and design? By examining the functional user interface? By examining the design objectives? By examining the users’ requirement? By executing code? 06/04/62 Background
The Importance of Testing Critical element of software quality Post-release removal of defects is the most expensive 06/04/62 Background
What makes a good software tester? The Software tester should have character below: They are explorers. (นักสำรวจ รักการผจญภัย) They are troubleshooters.(คนขี้สงสัย ทำไมไม่ทำงาน ทำไมทำไม่ได้ตามต้องการ) They are relentless. (คนอดทน มีความพยายาม) They are creative. (มีความคิดสร้างสรรค์ คิดหาวิธีค้นหาข้อผิดพลาด) They are (mellowed) perfectionists สุขุมเยือกเย็น รอบคอบ สมบูรณ์แบบ) They exercise good judgment. (ฝึกฝนตักสินใจที่ดี) They are tactful and diplomatic. (มีไหวพริบดี มีปฏิภาณดี ฉลาด) They are persuasive. (นักโน้มน้าว เพื่อให้ยอมแก้ไขข้อผิดพลาด) 06/04/62 Background