software testing levels philippe charman [email protected] charman/ last update: 25-04-2014
TRANSCRIPT
Software Testing Levels
Philippe [email protected]
http://users.polytech.unice.fr/~charman/
Last update: 25-04-2014
Main Testing Levels
• Component Testing• Integration Testing• System Testing• Acceptance Testing
Testing LevelsWith A Basic Architecture
Integration Testing
Low Level Code
High Level Code
Component A
Low Level Code
High Level Code
Component B
Acceptance Testing
System Testing
Component Testing
CustomerDB
App Server
Component Testing
• Testing individual software components
• Benefits:– Tests unit are easy and simple to write– Allow to detect bugs sooner in the development cycle when
written at a first stage– Can be run as non-regression tests later on– Ease the debug
• Limitation:– Cannot test globally the application
• Should be written by developers or testers having access to the source code
Integration Testing
• Testing level in which individual software modules are combined and tested as a group
• 3 approaches:
– Big Bang
– Top-down
– Bottom-up
System Testing
• Process of testing an integrated system to verify it meets specified requirements
• Purpose : find as many bugs as possible
• Testing both functional and non-functional requirements of the system
• Specification-based and structure-based techniques
• Executed by the development organization
Acceptance Testing
• Performed by the customer mainly and the consultant also
• They may detect:
– My needs are not really satisfied
– Performance issues
– Usability issues
– Customer Data issues
• Alpha testing ~= internal acceptance testing
– Performed at the developers site
• Beta testing ~= internal acceptance testing
• Performed at an external site
Testing LevelsWho Tests What
ComponentTesting
IntegrationTesting
SystemTesting
Low Level Code
High Level Code
Component A
Low Level Code
High Level Code
Component B
CustomerDB
Acceptance Testing
Dev
elop
er
Tes
ter
Con
sulta
nt
Cus
tom
er
App Server