Software testing is one of the steps in software development. It is used to identify performance errors or product inconsistencies with current documentation. The classification of software testing is very extensive.
Why carry it out?
Software testing is carried out for several reasons:
- Identification of major programming errors. The tester checks individual functions of the system or their combination for critical situations that prevent the software from working in the right way.
- Determination of usability. The ergonomics of the user interface and the system behavior are checked depending on external influences.
- Achieving documentation compliance. The test manager receives a program before the start of work to verify the situation and which software must comply with. Further discrepancies in the actual work of the program and the functions planned by the documentation are revealed.
Kinds
Typically, there are different types of testing, such as unit, system and integration. Each of them touches on individual aspects of finding errors.
Unit testing allows you to test specific modules, methods, functions, and classes. This method shows the operability of individual sections of the code, and also allows you to quickly check whether subsequent improvements have affected the action of the functional.
After checking the individual functions and operations of the system, the quality specialist proceeds to the next step. Integration testing is carried out, as a rule, after modular. At this stage, together, individual sections of the code and their interaction with each other are considered.
The final stage is system testing. With it, a software product that is already fully assembled and ready for comprehensive verification is tested from a user position. At this stage, problems with the interface are identified, and the greatest ergonomics of the application are achieved.
The above types of software testing are determined by the degree of isolation of the components.
Other testing methods
There are also different types of testing, such as the methods of "white box" and "black box". When carrying out the procedure in the first way, the developer has full access to the source code, and can also use independently written code to check and identify developers' errors. The βblack boxβ method does not allow access to the program code, in this case, control occurs only through user interfaces. These types of testing are determined by the degree of knowledge of the system.
End of Software Life Cycle
Testing is carried out after design, development of the system and documentation. This stage can be the final one in the software life cycle if no problem spots have been identified, otherwise there will be a return to programming. The first stream of testing always returns negative feedback, since in any development there are bottlenecks, shortcomings, and sometimes serious errors that simply cannot be tracked at the creation stage.