130 likes | 145 Vues
Selected Topics in Software Engineering - Distributed Software Development. Testing. Tihana Knaffl. Testing. demonstrates the presence of program faults Software product should: conform to its specifications meet the customers needs to satisfy these objectives:
E N D
Selected Topics in Software Engineering-Distributed Software Development
Testing Tihana Knaffl
Testing • demonstrates the presence of program faults • Software product should: • conform to its specifications • meet the customers needs • to satisfy these objectives: • verification and validation - V&V
Verification and validation • Verification: Are we building the right product? • Validation: Are we building the product right? • V&V : • should estabilish confidence that the software is fit for purpose • should be applied at each stage in the software development process
Static and dynamic V&V tehniques • Static: • Software inspections • analysis and checking of the static system representation • Dynamic: • Software testing • exercising and observing product behaviour
Software testing • Statistical testing • measures software preformance and reliability • test designed to reflect the frequence of user inputs • Defect testing • revealing the presence of defects in the system • not concerened with locating and correcting defects (debbugging)
Defect testing • impossible to be exhaustive • it is more important to test the parts of the system which are commonly used • different approaches: • functional testing • structural testing • interface testing
Testing process • testing in stages
Testing process • Object-oriented system testing • Objects are not necessarily integrated into sub-systems • cluster testing • testing a group of cooperating objects • thread testing • test a processing thread as it weaves from object to object
Test planning • testing should be scheduled as a part of the project planning process • testing requires adequate resources • The test plan: • The testing process • Requirements traceability • Tested items • Testing schedule • Test recording procedures • Hardware and software requirements • Constraints
Testing strategies • ways of approaching the testing process • top-down testing • bottom-up testing • thread testing • stress testing • back to back testing • Different strategies may be applied at different stages of the testing process • Large systems are usually tested comining different strategies