Over the years I have seen a lot of patterns for the Information integration testing process, and these patterns will not be an exhaustive list of patterns a consultant will encounter over the course of a career.
However, the two most common patterns in the testing process are:
The Three-Test Phase Pattern
In the three-test phase pattern, SIT and SWIT’s environment and testing activities are normally combined.
The Four Test Phase Pattern
In the four test phase pattern, normally, the environment and testing activities of SIT and SWIT are performed separately and will frequently have separate environments in the migration path.
Testing of individual software components or modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. It may require developing test driver modules or test harnesses.
System Integration Testing (SIT):
Integration testing – Testing of integrated modules to verify combined functionality after integration. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems. Testing is performed to expose defects in the interfaces and interactions between integrated components or systems. See also component integration testing and system integration testing.
Software Integration Test (SWIT)
Similar to system testing, it involves testing a complete application environment, including scheduling, in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
User Acceptance Testing (UAT):
Normally, this type of testing is done to verify if the system meets the customer-specified requirements. Users or customers do this testing to determine whether to accept the application. Formal testing concerning user needs, requirements, and business processes is conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.