Software testing overview

Software testing is an assessment of software in accordance with the requirements received from users and system specifications. Testing is carried out at the phase level in the life cycle of software or at the module level in the software code. Software testing consists of validation and verification.

Software check

Validation is the process of checking the software compliance with the user requirements. This is performed at the end of SDLC. If the software meets the requirements for which it was done, it is checked.

Validation guarantees that the product being developed meets the requirements of the user.

Validation answers the question – “Are we developing a product that uses all the software necessary for this user?”

Validation focuses on user requirements.

Software check

Checking is a process of confirmation that the software corresponds to business requirements, and it is developed in accordance with the proper specifications and methodologies.

The audit guarantees that the product being developed corresponds to design specifications.

Verification answers the question: “Do we develop this product, strictly adhering to all design specifications?”

The check is concentrated on the design and technical characteristics of the system.

The purpose of the test is

Errors are real coding mistakes made by developers. In addition, there is a difference in the output of software and the desired exit, it is considered an error.

A malfunction – if there is an error, a malfunction occurs. A mistake also known as an error is the result of an error that can lead to a system failure.

Refusal – refusal is understood the inability of the system to fulfill the desired task. The failure occurs when there is a malfunction in the system.

Errors are real coding mistakes made by developers. In addition, there is a difference in the output of software and the desired exit, it is considered an error.

A malfunction – if there is an error, a malfunction occurs. A mistake also known as an error is the result of an error that can lead to a system failure.

Refusal – refusal is understood the inability of the system to fulfill the desired task. The failure occurs when there is a malfunction in the system.

Manual and automatic testing

Testing can be done manually or using an automated testing tool:

Manually – this testing is performed without the help of automatic testing tools. The software tester prepares test sets for various sections and levels of code, performs tests and reports the result to the manager.

Manual testing requires a lot of time and resources. The tester must confirm whether the correct control examples are used. The bulk of the testing includes manual testing.

Automated this testing is a testing procedure performed using automatic testing tools. Restrictions for manual testing can be overcome using automatic testing tools.

Manually – this testing is performed without the help of automatic testing tools. The software tester prepares test sets for various sections and levels of code, performs tests and reports the result to the manager.

Manual testing requires a lot of time and resources. The tester must confirm whether the correct control examples are used. The bulk of the testing includes manual testing.

Automated this testing is a testing procedure performed using automatic testing tools. Restrictions for manual testing can be overcome using automatic testing tools.

The test should check whether it is possible to open a web page in Internet Explorer. This is easy to do using manual testing. But it is impossible to check whether the web server can stand the load of 1 million users, it is impossible to check manually.

There are software and hardware that help the tester conduct load testing, stress testing, and regression testing.

Approaches to testing

Tests can be carried out on the basis of two approaches –

Functional testing

Testing implementation

When the functionality is tested without taking into account the actual implementation, this is called testing a black box. The other side is known as testing a white box, where not only functionality is tested, but also a way to implement it.

Exhausting tests are the most desirable method for perfect testing. Each possible value in the range of input and output values ​​is checked. It is impossible to check each value in the scenario of the real world if the range of values ​​is great.

Testing a black box

This is carried out to verify the performance of the program. It is also called “behavioral” testing. The tester in this case has a set of input values ​​and the corresponding desired results. When entering, if the output coincides with the desired results, the program is checked “in order”, and otherwise the problem arises.

Testing a black box

In this testing method, the design and the structure of the code are not known to the tester, and test engineers and end users conduct this test on software.

Black box testing methods:

Equivalence class – the entrance is divided into similar classes. If one element of the class passes a test, it is assumed that the entire class is passed.

Border values ​​- the entrance is divided into upper and lower final values. If these values ​​pass the test, it is assumed that all values ​​between them can also pass.

A causal schedule-in both previous methods, only one input value is checked at a time. The reason (input) – the effect (output) is the testing method in which the combinations of the input values ​​are tested in a systematic way.

Pair testing. Software behavior depends on several parameters. In pair testing, multiple parameters are tested in pairs for their various values.

Based on the testing state – the system changes the condition when providing the input. These systems are tested on the basis of their states and input data.

Equivalence class – the entrance is divided into similar classes. If one element of the class passes a test, it is assumed that the entire class is passed.

Border values ​​- the entrance is divided into upper and lower final values. If these values ​​pass the test, it is assumed that all values ​​between them can also pass.

A causal schedule-in both previous methods, only one input value is checked at a time. The reason (input) – the effect (output) is the testing method in which the combinations of the input values ​​are tested in a systematic way.

Pair testing. Software behavior depends on several parameters. In pair testing, multiple parameters are tested in pairs for their various values.

Based on the testing state – the system changes the condition when providing the input. These systems are tested on the basis of their states and input data.

Previous PostNextNext Post