120 likes | 281 Views
ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis. Overview. Functional Testing Structural Testing Integration and System Testing Process Models and Software Testing Integration Testing System Testing. Testing in the V-Model. Acceptance test.
E N D
ECE 453 – CS 447 – SE 465 Software Testing & Quality AssuranceInstructorKostas Kontogiannis
Overview • Functional Testing • Structural Testing • Integration and System Testing • Process Models and Software Testing • Integration Testing • System Testing
Testing in the V-Model Acceptance test Requirements Customer Developer Architectural Design System test Run tests Integration test Write tests Detailed Design Functional (BB) Structural (WB) Module implementation Unit test
Testing stages • Unit testing • Testing of individual components • Integration testing • Testing to expose problems arising from the combination of components • System testing • Testing the complete system prior to delivery • Acceptance testing • Testing by users to check that the system satisfies requirements. Sometimes called alpha testing
Layered Tests http://www-128.ibm.com/developerworks/java/library/j-aopwork11/
Integration Testing • Objectives: • To expose problems arising from the combination • To quickly obtain a working solution from components. • Problem areas • Internal: between components • Invocation: call/message passing/… • Parameters: type, number, order, value • Invocation return: identity (who?), type, sequence • External: • Interrupts (wrong handler?) • I/O timing • Interaction
Integration Testing • Types of integration • Structural • “Big bang” no error localization • Bottom-up: terminal, driver/module, (driver module) • Top-down: top, stubs, (stub module), early demo • Behavioral
System Testing • Concerns with the app’s externals • Much more than functional • Load/stress testing • Usability testing • Performance testing • Resource testing
Waterfall Model and Integration Testing • The Waterfall model is closely associated with top-down development and functional decomposition • Top down integration testing will start from the main and use stubs • Bottom up integration testing will start from lower level functions and use drivers • Big-bang integration testing will test all components at once • Traditional integration testing integrates previously tested units with respect to the functional decomposition tree
Design Design Design Coding Coding Coding Test Test Test Deployment Deployment Deployment Incremental Models and Integration Testing Each release adds more functionality, i.e., a new increment Release 1 Release 2 Requirements Release 3 • Incremental Builds: • Regression Testing • Progression Testing
Requirements Design Design Coding Coding Test Test Deployment Deployment Requirements Requirements Design Coding Test Deployment Evolutionary Models and Integration Testing New versions implement new and evolving requirements Version 1 Version 1 Feedback Version 1 • Incremental Builds: • Regression Testing • Progression Testing
Spiral Model and Integration Testing • Rapid prototyping brings the operational / behavioral • profile of the system in the requirements phase