Analysis, design and testing are the three main pillars of the development process of software and systems. In most cases, analysis is the first step that specifies, for example, the requirements for the system.
Design is the next step, in which a solution is developed based on the analysis. This is an example of a basic process model, which is usually much more complex.
In testing, in turn, all components that have been designed are examined in detail to ensure that all the requirements have been met and that the components are stable.