Software Testing

Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects).

Software testing can be stated as the process of validating and verifying that a computer program/application/product:

  • meets the requirements that guided its design and development,
  • works as expected,
  • can be implemented with the same characteristics,
  • and satisfies the needs of stakeholders.

Manual testing is the oldest and most rigorous type of software testing. Manual testing requires a tester to perform manual test operations on the test software without the help of Test automation. Manual testing is a laborious activity that requires the tester to possess a certain set of qualities; to be patient, observant, speculative, creative, innovative, open-minded, resourceful, unopinionated, and skillful.

Repetitive manual testing can be difficult to perform on large software applications or applications having very large dataset coverage. This drawback is compensated for by using manual black-box testing techniques including equivalence partitioning and boundary value analysis. Using which, the vast dataset specifications can be divided and converted into a more manageable and achievable set of test suites.

There is no complete substitute for manual testing. Manual testing is crucial for testing software applications more thoroughly. If success is perceived as achieving something constructive or creative, like the job of developing a software to work, software testing in contrast is perceived as destructive job or negative job by majority of the masses. Nevertheless, software testing itself has to be perceived as an equally creative job on par with the development job, but this perception can only be practically possible with a different outlook and mindset.

Software Testers require technical skills similar to their development counterparts, but software testers need to acquire other skills, as well.

  • Keen Observation
  • Detective Skills
  • Destructive Creativity
  • Understanding Product as integration of its parts
  • Customer Oriented Perspective
  • Cynical but Affable Attitude
  • Organized, Flexible & Patience at job
  • Objective & Neutral attitude

Whether you are a planning to become a software developer or tester, no matter what your role would be, at one point of time, you need to test code/software irrespective of your typical titles you might hold.