Both the system testing and acceptance testing, are the forms of the dynamic testing, which are used to validate all the pre-defined requirements in the software product.
System testing is a type of black-box testing, which is being performed to validate the complete or whole or integrated software/system, against the specified requirements. On the other hand, acceptance or user acceptance testing, involves the testing of the software or system, against the user requirement, to meet the acceptance criteria, to get software product, readily accepted by the users.
To clear the concept of the system testing and acceptance testing, let us see the differences between them.
|System Testing||Acceptance Testing|
|1. Validates the whole integrated system, with respect to the pre-defined software requirement specifications(SRS).||1. It validates the fulfilment of the user requirements in the software system.|
|2. Performed through functional and non-functional testing techniques.||2. Typically, confined to the functional testing.|
3. Consists of two types
|3. Involves, both alpha testing and beta testing.|
|4. Carried out by the developers and the testers.||4. Involves the participation of the client or stakeholder, to execute the testing activity, with the help of the testers.|
|5. May be considered as the Penultimate or intermediate level of testing, to validate the requirements.||5. Final testing, for validating the software's requirement.|
|6. Mostly consists of negative test cases.||6. Largely contains positive test cases.|
|7. Here, we evaluate the system, to check whether the developed system, fulfils all the specified requirements.||7. The software product is examined, to assess the fulfilment of the users need.|
|8. It makes, developer or tester, to gain confidence, towards the achievement of the quality software product, fulfilling all the requirements.||8. Helps in assessing the customer's satisfaction.|
|9. Non-availability of the external interfaces, such as other systems, software, hardware, etc.||9. Software product interacts with the external interfaces.|
|10. It is performed, after the completion of the integration testing phase.||10. It begins, after the dusk of the system testing phase.|
|11. Executed under restricted and lab environment, with the help of testers-defined or demo data.||11. Execution in the real time environment, with the real or actual data.|
|12. The loopholes or errors found during system testing, are considered as defects, which can be resolved, at developer's site, itself.||12. Defects, found during the testing, are generally considered as failures.|