Software Testing
Software Testing
3. Testing Principles
6. Specification
7. Why do we test?
8. Common misconceptions
• IEEE - The Institute of Electrical and Electronics Engineers (IEEE) is a professional association with
its corporate office in New York City and its operations center in Piscataway, New Jersey.
Quality
What is quality?
Quality
Definitions of Quality:
By ISTQB:
The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.
By IEEE:
• The degree to which a system, component, or process meets specified requirements.
• The degree to which a system, component, or process meets customer or user needs or expectations.
QA, QC, Testing
Quality Assurance:
• A set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a
system will meet its objectives.
Quality Control:
• A set of activities designed to evaluate a developed work product.
Testing:
• The process of executing a system with the intent of finding defects.
QA, QC, Testing
Quality Quality Control Testing
Assurance
Definition Activities which ensure the Activities which ensure the Activities which ensure the
implementation of verification of developed identification of
processes, procedures and software with respect to bugs/error/defects in the
standards in context to documented (or not in Software.
verification of developed some cases) requirements
software and specified
requirements.
Focuses on Focuses on processes and Focuses on actual testing Focuses on actual testing
procedures rather then by executing Software with
conducting actual testing intend to identify
on the system. bug/defect through
implementation of
procedures and process.
Audit
Standardization organizations
2. A small town in Illinois received an unusually large monthly electric bill of $7 million in March of 1999.
This was about 700 times larger than its normal bill. It turned out to be due to faults in new software
that had been purchased by the local power company to deal with Y2K software issues.
3. In early 1999 a major computer game company recalled all copies of a popular new product due to
software problems. The company made a public apology for releasing a product before it was ready
Mistake and Error
• Humans make mistakes: No one is perfect. We all make mistakes or omissions
• Aggressive schedules and pressure: The more pressure we are under the more likely we are
to make mistakes. In IT development we have time and budgetary deadlines to meet
• Poor Documentation: Requirements not clearly defined. Requirements change & requirements
not properly documented. Data specifications not complete
• Assumptions
Specification
• Description of how software should work/look
for determining whether these provisions have been satisfied. [IEEE 610]
• Bug in specification
• Lack of specification
TROUBLESHOOT!
• Measure quality
• Increase reliability
• Increase profitability
Misconceptions
• MYTH: Software quality depends on the testing team
FACT: Software quality depends on the development team
• MYTH: The objective of Testing is to ensure a 100% defect- free product.
FACT: The objective of testing is to uncover as many defects as possible while
ensuring that the software meets the requirements. Identifying and getting rid of all
defects is impossible.
• MYTH: Testing is easy.
FACT: Testing can be difficult and challenging (sometimes, even more so than
coding).
Misconceptions
• MYTH: Anyone can test.
FACT: Testing is a rigorous discipline and requires many kinds of skills.
• MYTH: There is no creativity in testing.
FACT: Creativity can be applied when formulating test approaches, when designing tests,
and even when executing tests.