System Testing vs. Acceptance Testing - Difference in Test Cases

I am a little confused by the real difference between system testing and acceptance testing. When I look at this topic, the answers are different, and I do not see how the test files can be significantly different.

Facts I discovered:

System testing is carried out in a complete system and performed by the supplier. System testing is an end-to-end testing where you test full flows in a system (from logging in to logging out) based on a specification of requirements (both functional and non-functional).

Acceptance testing is performed by the client to verify that it meets the requirements of the customers. It is also full threads and based on specification requirements. HOWEVER, the system that was built was developed based on the specification of requirements, and apperance / usability is usually already adopted in the early stages of the development cycle. If the system covers the specification of requirements, the client should not be told: “This is not what we wanted, repeat this and this,” unless the contract allows it and the client pays per hour.

So my question is basically, how do different test cases for these two stages of testing differ? Both of them are end-to-end testing and focus on the fact that it is a functional system, and it satisfies the specification, which in volume is also the needs of the business (since this is what they ordered). It seems that test cases of system testing can be reused in acceptance tests, since both cover full flows?

+6
source share
3 answers

The short answer is:

System Testing Performed by developers and / or QA to ensure that the system does what it was intended to do. This can be done automatically, using, for example, something like Selenium (for a web application). The purpose of this is to ensure quality, and many organizations are not worried about it.

Acceptance testing Performed by customers and / or managers to ensure that the system does what they think should be. As a rule, it is believed that the end of the contractual obligations of developers is to fix the software.

The difference is that the system test usually checks that the client really does not care, such as "Are the database connections in the correct order." Acceptance tests usually focus on things like "How subjective user experience is."

+7
source

Customer acceptance testing should not have formal test cases. It is about the client using the system as they planned, and how their understanding of how it will work corresponds to what it actually does. Test cases limit acceptance testing because usually the things raised from it look like "X is great, but you can also add Y" and "We said that the Z field should be an integer, but in fact we might need to add text".

+3
source

Both types of tests are performed throughout the system / application. It is very possible that many of the tests will overlap.

A system test is often performed by an independent QA team in a production environment. This may be the first time that all components are tested together.

Acceptance testing is often performed either in the same environment or in a similar (also production) environment, but the team often consists of a subset of the actual users of the system. One belief is that users will identify scenarios, defects, and observe behavior that a regular tester will ignore. In addition, it can provide a level of comfort for users before they are deployed in production.

If you work with a V-shaped model, the system test coincides with the system design and acceptance testing in accordance with business requirements.

+2
source

All Articles