Manual integration testing is an important stage in the software life cycle, conducted after unit testing. Its goal is to ensure that individual modules or components of the system interact correctly with each other.
Background: Initially, software testing was performed in phases: first, individual modules (unit tests) were checked, followed by testing the entire system. However, in practice, it became clear that most critical bugs arise precisely at the junction between modules. This led to the need for integration testing, which manually identifies inconsistencies in the behavior of different parts of the system.
Problem: The main difficulty is insufficient elaboration of interaction scenarios between modules and forgotten interdependencies. This leads to "invisible" bugs: everything works correctly during isolated testing, but failures occur after integration (for example, incorrect data handling between the API and the database).
Solution: Proper organization of manual integration testing includes:
Key features:
What is the difference between integration and system manual testing?
Integration testing focuses on testing the connections between specific modules, while system testing checks the entire system as a whole from the perspective of its business functionality.
Should real external services be used during integration testing, or are emulators sufficient?
For critical integrations, a real environment is preferable, but one can start with emulators (mock/stub). Final testing should be conducted in an environment as close to PROD as possible.
Can all integration errors be discovered only through automation?
No: some defects are only detected manually when the tester notices non-obvious issues in data exchange business logic or in user scenarios not covered by automation.
Integration testing between the payment module and the orders module was conducted only after all other tests were completed and without separate documentation.
Pros:
Cons:
Integration scenarios were documented from the outset, and test data closely matched real user tasks.
Pros:
Cons: