Solve problems before your system goes into production and demonstrate that the system operates according to its requirements.
System testing evaluates the complete, integrated system against its requirements. Create a test plan based on the requirements. It should contain test cases with expected outcomes. Over one or more test rounds, test the system and compare the results with the expected outcomes. Each test round ends with a conclusion (pass or fail) for the system or parts of it.
- Quite a bit of time to do a lot of tests.
- A bug-killing mindset (which is different from showing that your system works).
- Test scenarios with both happy flow and specific cases (e.g. for error handling).
- Access to all the system’s interfaces.
- A test framework (for automated testing).
Large companies have dedicated test teams separate from the developers, as finding bugs requires a different competence and mindset than developing an IT system.