The term simply stands for the application being tested. The SUT varies in granularity and the testing is done accordingly. Granularity here states whether the system is being tested beginning with a single class reaching out to the whole application. Implementation of SUT depends on the various documents like modules, classes which are associated with one another and are required in testing the system.
An example of tests and their corresponding documents are as follows :
|Types of test||SUT example||DOC example|
|Unit tests||User service, invoice||Product, Account, MailService|
|Integration Tests||Data Access Object layer(ORM-based), Data Access Object layer(JDBC-based)||Hibernate, Mysql etc.|
|End-to-end tests||Whole Application||External Web Service|
Based on granularity levels, the SUT and DOC (Dependant on Components) are co-related. One System Under Test may need more than one DOC to work.
There are few key points that characterizes a SUT. These are as follows :
The idea behind the concept of system under test is to test the system/application under various scenarios. The requirement specifications are mapped with the test cases or test scenario to verify whether all requirements are met. It is to verify that all the components are working in accordance with the specified requirements.