What is software testing and why it is necessary

Senuri Samindi
3 min readAug 28, 2021

Testing is the most familiar word in the software industry. So this article discusses what testing is and why it is so important today.

There are many common misperceptions of testing as execute tests and checking the results, it entirely focuses on verifications of requirements, user stories or other specifications, etc. but actually, software testing is a process that includes many activities which include activities such as (test planning, analyzing, designing, implementation, reporting the progress and results (This testing process will be discussed in another article). Also, testing involves validating systems by checking systems meet user and other stakeholder needs while checking systems meet specific requirements.

Definition of the testing

According to the glossary of ISTQB foundation level,

“Testing is the process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of a component or system and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.”

Why testing is necessary

With the current technological era, software systems have become an essential part of life. Also, due to the current COVID-19 epidemic, people are tempted to use software for many essential tasks in their daily lives.

These softwares are developed by humans. So, human errors can cause a defect or failure at any stage of the software development life cycle. If the software is released for personal use without any possible bug fixes, it could cause serious damage to the people such as cash loss to the clients(bug in e-marketing site), loss of life of the users(bug in a healthcare software system), etc. So, testing is a very important part of the software development process.

How testing contributes to the success of software

Rigorous testing of components and systems and associated documentation can help reduce the risk of operational failure. When shortcomings are identified and then corrected, this contributes to the quality of the components or systems. In addition, software testing is required to meet contract or legal requirements or industry-specific standards. The following examples illustrate how testing contributes to software success.

  • Deficiencies in these work products can be identified by contacting testers to review requirements or refine user stories. Identifying and eliminating need deficiencies reduces the risk of developing incorrect or untested symptoms.
  • Working closely with system designers as inspectors when designing a system can increase the understanding of the design for each party and how it is tested. Understanding this more can reduce the risk of initial design errors and detect them at an early stage of testing. It can bring many benefits such as reducing the cost of software development.
  • As the code develops, testers can work closely with developers to increase the understanding of each party about the code and how it is tested. This increased understanding can reduce the risk of code and test errors.
  • Tested and verified by the testers before the software is released to identify other failed failures and to assist in the debugging process (ie debugging). This allows the software to meet the needs of the stakeholders and increase the likelihood of meeting the requirements.

In addition to these examples, achieving defined test objectives contributes to overall software development and maintenance success.

--

--

Senuri Samindi

I am an unrelenting person who has marshaled all the knowledge, skills and abilities to win over audacious goals by constantly honing latent abilities.