Introduction to System Testing
Explore system testing methods for machine learning pipelines, focusing on functional testing by validating inputs and outputs, and check for correct model performance and artifacts. Understand the importance of automated testing using config files to verify the entire pipeline's behavior before production deployment.
We'll cover the following...
System testing
Unit testing is just the first of multiple phases of software testing. The typical phases of software testing are listed in the diagram below:
We’ve seen before that unit testing involves testing individual units of the system. Integration testing involves combining two or more units and testing them as a group. System testing is the process by which the entire system, which includes all units, is tested. System testing is a special case of integration testing wherein we integrate all units before testing. In our case, the system to be tested is the ML training pipeline.
A detailed discussion of system testing is outside the scope of this lesson, but it mainly involves checking if the system satisfies functional and performance requirements.
Functional testing
In simple terms, functional requirements are specifications of how the system should function. Functional testing is a mapping of ...