DEV Community

Latha Rao
Latha Rao

Posted on

What is Software Testing ? What do we need to know about Software Testing ? What is the relevance of Software Testing..

What is Software Testing ? What do we need to know about Software Testing ? What is the relevance of Software Testing..

As the name self explains, any new software that is developed by the software developers for a client as per their requirements is prone to have error or bugs and defects. To capture, convey, address and resolve these defects, Software Testing plays an essential role which helps create a bug free, defect less application that can be utilised at its best performance by the client.

The process of evaluating and verifying the software for bugs and/or defects is called Software Testing.

First thing a Software Tester needs to know about Software Testing is if the software in question is adhering to all the client's requirements and is functional and not breaking on the ideal environment provided. Another thing is if it is doing exactly what it is expected to do. Also, if the purpose of Software testing is fulfilled, like ensuring that the software is functioning correctly, is helping to identify the issues and fixing early on during development thereby reducing the cost and efforts of fixing them later on.

Relevance of Software Testing is that it helps to point out errors and defects from the various phases of software development. Software testing ensures that the overall quality of the software including its functional aspects, performance, security, customer experience, etc are met as specified by the business or the clients.

Most all testing methodologies use Agile methodologies nowadays where testing starts from the very initial stage, like when gathering requirements from the clients. Of course a business analyst, scrum master plays an important role while trying to understand the business requirements, however, the testing team may participate by studying and understanding the product or software in question. Just like the SDLC - Software Development Life Cycle, there is STLC - Software Testing Life Cycle which covers the end to end testing requirements and aspects to be implemented.

Software Testing are of two types - Manual Testing and Automation Testing.
In Manual Testing, once a tester is asked to test the product, they have to define the test plan, write the test scenarios and test cases based on what the product is supposed to do in alignment with the client's requirements and specifications. Then the can test for the defects and discuss with the developers about the fixes the product requires. So, based on their own creativity and product knowledge and understandings, they have to come up with the testing of the product.

In Automation Testing, human intervention is minimal. And tasks that require repetitive test scenarios in large magnitude of data, automation testing is used.

The Software Testing Life Cycle (STLC) is a series of specific actions performed on the software to be tested during the testing process to ensure that the software quality objectives are met and the software is performing as per the requirements.

Following are the 7 Phases of STLC -

Phase 1 — Requirement Analysis.
Phase 2 — Test Planning.
Phase 3 — Test Design.
Phase 4 — Test Environment.
Phase 5 — Test Execution.
Phase 6 — Defect Tracking.
Phase 7 — Test Reporting.

Top comments (0)