This presentation is aimed at providing a general idea of how a software is tested prior to its release. In doing so it will cover points like problems that may occur during testing, characteristics of testing such as test effectiveness and test adequacy, strategies that need to be adopted during testing and the software testing process. Under this heading it will cover points like black box testing, equivalence partitions, white box/structural testing, control flow graph, unit testing and interface testing. It will also cover component developer/provider, component user, component testability and possible solutions before concluding with test automation.
[...] Java and .NET Insert a layer to perform test and coverage Auto-testable components Built in testing capabilities Enable/Disable testing Test automation Provides regression testing Easy to test complete code Supporting tools Test case generators Drivers Stubs Simulators Component test bed (environment) Reporting Conclusion Component reuse benefits will be maximized when components fulfill Clients requirements in terms of quality and reliability Easily tested in client application context Indicative bibliography proposed by Oboulo.com http://www.robdavispe.com/free2/2045-what-is-incremental-integration-testing.html http://en.wikipedia.org/wiki/System_testing http://www.coleyconsulting.co.uk/testtype.htm Component Testing Testing a software before release Introduction Importance of testing and problems Testing methods Testing activities Component based software testing Component testability Test automation Case study: Ariane 5 (1996) Ariane 5 explodes during startup Reused software (component) Software was successful for Ariane 4 Problem with new hardware Analyses shows NO software testing error Software reuse error Testing problems Costs of testing About 30%-50% Last phase in project Dijkstra: “Testing can only show the presence of errors, not their absence” Characteristics Test effectiveness Find smallest test set which finds most faults Test adequacy How much was tested Is it sufficient Test strategies Validation testing Software fulfills the requirements Successful when system correct Demonstrate that software meets requirements Defect testing Discover faults or defects Successful when system incorrect Use problematic inputs Software testing process Black box testing Source code not used Behavior determined with inputs and outputs Input data Equivalence partitions Output data Equivalence partitions Different classes with common characteristics e.g. [...]
[...] JUnit Incremental integration testing Release testing Goal: meets requirements Functional Non-functional Usually black-box testing Problems Difficult to understand system behavior Difficult error isolation, debugging High cost on performance testing No information provided by vendor Unit testing Integration testing System testing Component developer/provider Single component No context knowledge Testing with source code High costs when find error after release see Ariane 5 Testing increases user's confidence Reduces costs for users Component user Component based software Quality based on used components No knowledge about implementation and testing No source code No test reports/coverage More functionality as required Should all be tested How get coverage Component testability Two aspects Observability Traceability Incoming and outgoing interfaces Controllability Inputs/Outputs Operations Behaviors Conflict with component definition No externally observable state Component testability Component presentation Documentation, specification Component test suite Suites which can be used by user Configuration management Manage test resources Component test support Interfaces Component test bed Component testability What we would need Tracking interface Interface To execute unit tests Check test result Report errors Built in tests Standardized Possible solutions Use the byte code format e.g. [...]
[...] Java and .NET Insert a layer to perform test and coverage Auto-testable components Built in testing capabilities Enable/Disable testing Test automation Provides regression testing Easy to test complete code Supporting tools Test case generators Drivers Stubs Simulators Component test bed (environment) Reporting Conclusion Component reuse benefits will be maximized when components fulfill Clients requirements in terms of quality and reliability Easily tested in client application context Indicative bibliography proposed by Oboulo.com http://www.robdavispe.com/free2/2045-what-is-incremental-integration-testing.html http://en.wikipedia.org/wiki/System_testing http://www.coleyconsulting.co.uk/testtype.htm Profile Component Testing Testing a system before delivery Introduction Importance of testing and problems Testing methods Testing activities Component based software testing Component testability Test automation Case study: Ariane 5 (1996) Ariane 5 explodes during startup Reused software (component) Software was successful for Ariane 4 Problem with new hardware Analyses shows NO software testing error Software reuse error Testing problems Costs of testing About 30%-50% Last phase in project Dijkstra: “Testing can only show the presence of errors, not their absence” Characteristics Test effectiveness Find smallest test set which finds most faults Test adequacy How much was tested Is it sufficient Test strategies Validation testing Software fulfills the requirements Successful when system correct Demonstrate that software meets requirements Defect testing Discover faults or defects Successful when system incorrect Use problematic inputs Software testing process Black box testing Source code not used Behavior determined with inputs and outputs Input data Equivalence partitions Output data Equivalence partitions Different classes with common characteristics e.g. [...]
APA Style reference
For your bibliographyOnline reading
with our online readerContent validated
by our reading committee