Unit testing: the smallest testable parts of an application, called units, are independently checked. This stage checks whether data flows properly,data structure works correctly, etc.
Integration testing: A few modules are combined and tested as a group. It occurs after unit testing.
System testing: System testing is done with full system implementation and environment to determine whether the system meets all customer requirements
Regression Testing: When a software is corrected, a part of the software configuration (code/documentation/data) may change. Regression testing ensures that such changes do not introduce additional errors.
So answer must be D) System testing