Professional Documents
Culture Documents
Objectives Setting
To understand the importance of Software Testing in developing software. To understand the Software Testing Principles and their usefulness in different phases of Software Development Life Cycle (SDLC). To differentiate static and dynamic testing. To differentiate the different levels of testing. To be able to analyze what type of testing will be used for a specific testing scenario.
Major Topics
Causes of System or Software Failures Importance of Software Testing Software Testing Definition Software Testing Principles Category of Testing Levels of Testing Type of Testing
SDLC Review
On-schedule Within Budget Customer Satisfaction Easy to Maintain Usefulness ROI Product Confidence
Requirements
Analysis
Design
Coding
Testing
Maintenance
Project Management
Process Model
Software Process
Intentional Damage
Error/ Mistake
Document/ Code
Defects
Software/ System
Failures
Identify Errors and Defects Meet Contractual Agreements Checking of Processes Validation - checking the product against its intended use Verification -checking the product against the requirements
Measures of Quality - can show data Confidence in the Software testing independence Increases Software Quality if bugs are fixed before release
Testing Principles
Testing shows presence of defects Exhaustive testing is impossible.
Early testing ( cost is exponential)
Category of Testing
Levels of Testing
Level Description
unit of software
Focus
Internal code structure Component Interaction, System Interaction System Technical Issues Operational confidence in the software functionalities.
Tester
Developer
Comments
Logic Testing Module Testing Catches 65% bugs Big-bang Integration Incremental Integration Thorough & detailed testing Alpha Testing Beta Testing
Integration
Putting together unit tested components Testing the system in its operational environment Checking of usefulness and readiness in the deployment area.
Developer, Tester
System
Tester
Acceptance
Tester
Types of Testing
Type
Functional Testing Requirements Testing Error Handling Control Testing Inter-System Testing Manual Support Non-Functional Performance Testing Operational/ Environmental Testing Stress/Capacity Testing Recovery Testing Security Testing Usability Testing Deployment Regression Testing Parallel Testing
Description
Focus on the capabilities of the software or system. Checking of feature or functionality operations. How the system reacts to erroneous data (prevent, detect, correct) Corrective action to reduce risks at an acceptable level Check if data or interaction between systems are correct check mechanism for manual and automated integration Focus on the checking of software attributes. check time operation expectations Check if how system operates in normal operational environment (e.g. Power, temperature, humidity) Checking of maximum loading Ability to recover after system failure Check protection against potential unwanted intrusion Check ease of use and learnability Testing activities to lower the level of risks when the software is released Checking of side effects due to new features or fixing of bugs In cases where old and new system must simultaneously operate
Objectives Checking
To understand the importance of Software Testing in developing software. To understand the Software Testing Principles and their usefulness in different phases of Software Development Life Cycle (SDLC). To differentiate static and dynamic testing. To differentiate the different levels of testing. To be able to analyze what type of testing will be used for a specific testing scenario.
Key Concepts
Errors, Defects and Failures Early Testing Exhaustive Testing Defect Clustering Pesticide Paradox Context-depended testing Absence-of-Error Fallacy Validation Verification Static Testing Dynamic Testing Component Testing Integration Testing System Testing Acceptance Testing Functional Testing Non-Functional Testing Deployment Testing
References
Software Engineering: A Practitioners Approach Roger Pressman, 5th edition 2001 Foundations of Software Testing (ISTQB CERTIFICATION) Dorothy Graham, Erick Van Veenendaal, Isabel Evans, Rex Black Revised edition