Please enable JavaScript.
Coggle requires JavaScript to display documents.
Testing Strategies and Techniques (Component Testing (Objectives (Find and…
Testing Strategies and Techniques
Component Testing
Objectives
Find and remove defects
Verify that code functions according to component specification, design or data model
Check coverage of code via structural testing
May check non-functional aspects such as resource management
Test basis
Component speecification
Detailed design or code
Test objects
Software modules, programs, objects, classes
Functions, procedures, subroutines
Data conversion / migration programs
Typical defects and failures
Incorrect logic
Incorrect definition or use of variables
Incorrect data types
Misinterpretation of specifications
Tool support
Integrated Development Environment
Debugging tools
Unit test framework, incorporating stubs and drivers
Responsibilities
Conducted by developers, not testers
Environment
Carried out in development environment, in isolation from rest of system
Component Integration Testing
Test basis
Software and design
System architecture, workflows
Objectives
Tests interfaces and interactions between components
Involves functional and structural testing of links
Some non-functional testing
Test objects
Software components
Internal interfaces
Typical defects and failures
Communication failures between components
Parameter mismatches
Tool support
Unit test framework, incorporating stubs and drivers
Responsibilties
Conducted by developers, not testers
Environment
Carried out in development environment
Incremental Integration Strategies
Architectural approach
Add components one at a time, based on structural model
Can be approached from top or bottom
Top-down method
Begin testing from top of hierarchy
Components are added in descending hierarchical order
Stubs are used to simulate lower-level components
Identifies defects in the architecture
Bottom-up method
Begin testing from bottom of hierarchy
Components are added in ascending hierarchical order
Drivers or Test Harnesses are used to simulate higher-level components
Higher risk that structure may be incorrect
Functional approach
Select a specific area of functional capability, sequence of transaction processing or other aspect of the system
Integrate the components needed for that part of the system, one at a time
Test these components to determine whether they work correctly together
System Testing
Objectives
Test the behaviour of a whole system or product
Functional and non-functional testing
Test basis
System and software requirement specification
Use cases
Business processes
Risk analysis reports
Test objects
End-to-end integrated system
System configuration
Typical defects and failures
Normally fewer than component testing
Likely to include non-functional issues
Incorrect system design specification
Tool support
May use test execution tools for automated testing
Responsibilities
Performed by independent test team
Environment
System Test / QA
As close to target as possible including realistic data
System Integration Testing
Objectives
Test interfaces between different systems
Test business processes which may involve a series of systems
Test basis
System design including sub-systems
Business processes
Use cases
Test objects
Sub-systems database implementation
Infrastructure
Interfaces between systems
Typical defects and failures
Communication failures or incompatibility between systems
Tool support
May need to simulate functioning of external systems or databases
Responsibilities
Independent test team
Environment
System Test / QA
Acceptance Testing
Test basis
User requirements
System requirements
Use cases
Business processes
Risk analysis reports
Objectives
Establish confidence in the system, parts of the system or specific non-functional characteristics of the system
Ensure the system is fit for purpose
Assess the system's readiness for deployment and use
Test Objects
Business processes on fully integrated system
Operational and maintenance processes
User procedures, forms, reports
Typical defects and failures
Non-functional issues- Usability, performance
Incorrectly specified user requirements
Responsibilities
Customers or users of a system
Other stakeholders as necessary
Environment
As close as possible replica of Live system with relevant data and volumes