Testing in Software

Mehmet Mert KIRGIL || 17.07.2023

Testing in Software

Why Do We Need Testing in Software?

While developing software, we deal with multiple parameters, and we want them all to work in harmony with each other and without problems. We need tests to make sure the software is working properly and detect potential problems early.

Main Purposes of Tests

  1. Error Detection: Errors are inevitable when developing software. Errors prevent the application from running, create security vulnerabilities, but most importantly, disturb the user. Tests detect them, giving the developer the opportunity to fix errors without showing them to the user.

  2. Reliability: We offer the software we develop to people and we expect them to use it. What users expect from us is a reliable, stable and useful application. Some bugs can create security vulnerabilities. For example, if an error in a bank application is noticed by malicious people, it can make unwanted changes to users' accounts. To prevent this, we use tests and provide a safe application to our users.

  3. Performance: A fast and efficient application is a very important criterion for users. The codes we write should work as a whole and as fast as possible. Thanks to tests, we can evaluate the performance of our application while it is running and make improvements if necessary.

  4. Compatibility: We want the software we develop to run smoothly on different devices, browsers and operating systems. Through tests, we can see how the software works in different areas.

Basic Test Types

  1. Unit Tests: These tests are performed on functions or methods, which are the smallest units of the software. Each unit test checks how a function or method should behave with a given input.

  2. Integration Tests: It is used to test the points where different modules or units come together. In these tests, it is tested whether the units work together harmoniously.

  3. System Tests: This is the stage where all the software is tested as a whole. Tests are made over user scenarios and all functions of the software are checked.

  4. Acceptance Tests: These tests are done to approve the software by the user or the customer. It is used to verify that the developed software meets the requirements.

As a result, test software must be implemented in order to detect errors and make necessary improvements before presenting our application to users. The less errors your application works with, the more positive the users will welcome you and the other applications you will create.