Avesta's software testing approach
involves planning and monitoring the software testing
efforts at the various life cycle phases or testing
levels. We recommend that unit testing should be
planned and accomplished by the developers. Integration
testing involves testing the combinations of program
units and their interfaces. Integration testing
should be planned during the design phase and accomplished
with an appropriate balance of developers with design
knowledge and independent testers with minimal design
biases. Systems testing should involve testing the
entire system to verify that system requirements
are met including specified functions, quality,
and performance characteristics. System testing
should be planned during requirement analysis and
accomplished by independent testers. Acceptance
testing involves testing the system to ensure that
it is ready for delivery and use. Acceptance testing
should be planned during requirement analysis and
accomplished or witnessed by intended system users.