Beruflich Dokumente
Kultur Dokumente
by Madam Nor Haslinda Hj Ismail Email: lynda@utem.edu.my Phone: 331 6521 Room: Ground Floor FTMK building
Semester 1, 2010/2011 Fakulti Teknologi Maklumat dan Komunikasi
can lead to
can lead to
Human Error
Fault
Failure
Overview
What is Software Testing? Objectives of Software Testing General Failure Terminology Impact of Software Error Real-life cases Critical Choice in Software Testing Fundamental of Software Process Type of Software Testing Testing and Quality Career in Software Testing
Fakulti Teknologi Maklumat dan Komunikasi
Software Testing
Fakulti Teknologi Maklumat dan Komunikasi
3.
4.
5.
The software doesnt do something that the product specification says. The software does something that the product specification says it shouldnt do. The software does something that the product specification doesnt mention The software doesnt do that the product specification doesnt mention but should The software is difficult to understand, hard to use, oranything which a tester think that will be viewed as not right by the end user.
The + key of a calculator should do the addition. But it doesnt do any calculation or instead it works as subtraction.
The product specification specifies that the calculator should never crash, lock up or freeze. Yet, when you press Enter key, it stops responding to any of your next input.
Missing requirements or the requirements/specifications are not well documented. e.g. Contradiction, ambiguity, incomplete requirement Volatile requirements The requirements are constantly changing. Communication problem among team members. No team work
Definition
The measurement of software quality
(Hetzel, 1983)
The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component (IEEE, 1990)
Fakulti Teknologi Maklumat dan Komunikasi
Definition : Summary
Software testing is a process by which people, methods, measurements, tools and equipment are integrated to test a software product.
Process A quality process and planning determines the success of the test effort People Software testing is a professional discipline , thus need trained and skilled people with the right and positive attitudes. Methods There are different methods and techniques to be applied in testing. E.g White-box, black box,
Fakulti Teknologi Maklumat dan Komunikasi
Measurements - Used to calculate the quality of a software product. Tools and Equipments
-
A wide variety of tools to make the testing more efficient and faster. E.g. Using automated tool to re-run the test for a modified software product. Save time and able to test thoroughly.
To identify and reveal as many errors as possible in the tested software To produce a quality software product, which the software can be used, and used successfully
To bring the tested software, after correction of the identified errors and retesting, to an acceptable level of quality
To perform the required tests efficiently and effectively, within budgetary and scheduling limitations To compile a record of software errors for use in error prevention
Fault :
Failure :
Occurs when a program is prevented from achieving its mission resulting from faults
Fakulti Teknologi Maklumat dan Komunikasi
Relationship : Error-Fault-Failure
Error made by a person. - Avoidable through training, process improvement, or similar
How to test? Test effectively and cost-effectively! Identify the critical/important area to be tested by considering the worthwhile from financial point of view.
The more effective the error detection, the greater the savings in development and maintenance costs over the life of the product. Several examples have indicated that partial testing can yield saving of 1.5 times its cost; full testing can yields savings up to 2 times its cost (Lewis, 1992: p.280)
Fakulti Teknologi Maklumat dan Komunikasi
What to test first? What to test most? How thoroughly to test each item?
risk of missing important faults risk of incurring failure costs risk of releasing untested or under-tested software risk of losing credibility and market share risk of missing a market window risk of over-testing, ineffective testing
Test planning and control Test analysis and test design Test implementation and test execution Test evaluation of the test exit criteria
Regression Testing Is used to check that the changes made to the program have not introduce any new faults in the system User Acceptance Testing Test the final end product by a group of end users to determine the satisfaction of the customers Usability Testing Used to test user-friendliness of the software product
They are tactful and diplomatic A tester is always a bearers of bad news. He/she has to convey the bugs to appropriate party. This must be done in professional and diplomatic manner so that, the other party will not feel offended or personally being attacked. A team player attitude.
Fakulti Teknologi Maklumat dan Komunikasi
Increase productivity
Domain knowledge
QA Lead QA Manager
How much more does it cost to fix a bug found after the product is released that it does from the very start of the project? Give three reason why the product specification is usually the largest source of bugs in a software product Find 2 article from ACM & IEEE Journal regarding Software Testing from Year 2009 until 2011.
Fakulti Teknologi Maklumat dan Komunikasi
Next Chapter