Testing modules and messages
When considering information flow within your application, you need to identify which information is local and remote for each module. How is the information passed around within the system?
This doesn’t necessarily require reading the code but needs at least a block-diagram-level understanding of the data generation, storage, and movement.
The modules may be as obvious as different physical machines, or they could be separate virtual machines or containers, other services, or, at the lowest level, different blocks of code that can only be identified by code inspection. All of these require messages to be passed between them, which need to be specified and can host different classes of issues.
Watch out for third-party modules imported to perform specific tasks. The development team will be less familiar with their code, so they are more likely to be surprised, and any fixes may take longer since they will have to work around how the third...