What is Software Testing?

12 Apr 2021
What is Software Testing?

Software Testing is a general term for the various processes and methodologies used to test software – including applications, websites, software components and entire systems – to ensure it meets the requirements of the business, matches user expectations, and is error (or defect) free.

There are different types of Software Quality Assurance or Software Testing types and tools, which testers use to interrogate software in different ways, and at different stages of its development. Testing is typically split between Manual (or Functional) Testing, and Test Automation, often a combination of both.

The type of Testing used depends on a large number of factors, including budget, deadline, the type of software being tested, the industry it’s used for, and so on. There is no one-size-fits-all blueprint for Software Testing, and the best solution requires careful planning, consulting and strategy.

Some of the specific types of Software Testing include:

  • Functional Testing – this is the most common type of Software Testing, also known as Manual Testing, because Testing is done manually by experienced and qualified testers. It is more time consuming than automation but requires less technical skill or coding knowledge.
     
  • Test Automation – this is the more modern type of Testing, and is quickly overtaking Functional Testing as the predominant method in many industries. Test Automation requires a higher level of skill to write (code) test scripts in various languages, which are then used to execute repetitive tests with little or no user intervention. Test Automation is commonly used for Regression Testing, whenever new features are added to existing software.
     
  • Performance Testing – as the name suggests, this is used to test the performance (including user experience) of different software against a set of requirements or user expectations. Performance Testing is typically automated but can also be done manually, and tests can include a variety of different metrics, such as load testing, website response times, transaction speed, system downtime, and so on.
     
  • Exploratory Testing – this is a less structured, more manual type of Testing that involves actively trying to ‘break’ software to discover defects or performance issues that haven’t been thought of or identified using other methods. Exploratory Testing is rapidly gaining popularity, especially with organisations adopting Agile delivery frameworks for their software development, and encourages a very human approach that other forms of Testing sometimes lack.
Sastri Munsamy
About Sastri

Sastri is a passionate and engaging mentor, educator and speaker with extensive experience of real-world testing and automation projects. He has worked in the consultancy industry for over 17 years. He has implemented test automation on various systems ranging from desktop, Web, SAP and mobile applications in multiple industries across the world, with an emphasis on defining an efficient and profitable automation strategy. As a mentor, Munsamy has hosted testing community meetups in Cape Town and Johannesburg, and has guest spoken at numerous industry events.

Sastri Munsamy

Executive: Technology and Innovation for Inspired Testing

Sastri is a passionate and engaging mentor, educator and speaker with extensive experience of real-world testing and automation projects. He has worked in the consultancy industry for over 17 years. He has implemented test automation on various systems ranging from desktop, Web, SAP and mobile applications in multiple industries across the world, with an emphasis on defining an efficient and profitable automation strategy. As a mentor, Munsamy has hosted testing community meetups in Cape Town and Johannesburg, and has guest spoken at numerous industry events.


Linkedin

Join the conversation on LinkedIn
Connect with our experts and read the latest industry insights on our dedicated LinkedIn page.