Lesson 5 - Activity 1 - How would you describe what testing is?

Time: 30 minutes – 1 hour

Introduction:
In the lesson, I shared my definition of what testing is, but if you were to do a quick web search you will find there are many different definitions of testing. With so many interpretations and opinions of what testing is, it’s useful to analyse as many as you can and create your own definition and understanding that you can refine over time as you have more experiences in testing.

Purpose:
Researching different definitions of testing will help you appreciate that the role is constantly changing and can be viewed very differently depending on the context. This research will also help you deepen your understanding of testing and help you to develop your own definition.
By creating your own definition, you are creating a guiding principle that will inform how you test and how you learn about testing as well as giving you the ability to justify and communicate the work you do to others.

Activity:

  1. Research many different definitions and descriptions of what software testing is.
  2. Analyse and compare those definitions to discover their views on what testing is and isn’t. Some of these views will connect with you more than others.
  3. Using the definitions that you can relate to, create your own definition of software testing (note: the goal of this activity is not to write the ‘correct’ definition, but to create something that means something to you)
  4. Add your definition to your portfolio and share it on this thread to compare with others and discuss the differences and similarities of views on what testing is.

Software testing is the 2-part process of verification and validation that software or an application is free from “bugs” or defects and meets the technical requirements set forth in the course of development. This process not only finds faults but also identifies methods of improvement.

1 Like

Really interesting, Kimberly!
Do you feel that “investigation” fits within “verification” or “validation”? Or should it be a third category alongside verification and validation?

It’s a great point that testing often uncovers bugs and things to improve too!
Here’s a question though - if testing doesn’t find bugs or things to improve, does that mean the testing isn’t valuable? Or is the information uncovered by the testing that there aren’t any bugs or concerns still a valuable outcome of testing?

Hi @danashby. “If testing doesn’t find bugs or things to improve, does that mean the testing isn’t valuable?”

This is a great, complex question and something I’ve asked myself a lot in the past. I don’t know if I’ve come to the right conclusion but my perspective of testing is that it not only helps to find bugs/defects but also provides reassurance to stakeholders. Not just that issues are being uncovered and addressed but also that by the end of a project high priority bugs aren’t being found and importantly that software is doing what it sets out to do.

If I’m happy with my testing for the purpose I’m testing (well, as happy as I can be within the limitations/framework I have to work in) and I haven’t found any bugs then it can provide reassurance for the project manager/product owner/client. Even if I know there’s a million other things I could have tested and am aware that sometimes ignorance is bliss for others involved in a project.

Overall though, yes, I do believe not finding bugs is valuable because it is a part of instilling confidence in software (as long as it’s doing what it’s meant to be and not doing what it shouldn’t, of course!).

1 Like

Awesome, Olly!
I completely agree. If you’ve done some great, effective testing but haven’t found bugs, you should definitely still be happy with your testing and it’s value, because you’re building a level of confidence in quality from your testing.
The next challenge thing though, is displaying that confidence. If the output of testing is predominantly bug logs for some testers, then what do they do if there are no bugs? How do they show their great testing that’s building that picture of confidence from their perception of quality? And that’s where testing notes come in to play.

1 Like

Absolutely. Take notes of what you’ve done and then use them for Jira comments, conversations, stand ups and sprint reviews.

1 Like

Software Testing is the process of evaluating and exploring a software product in order to assess if it is working according to the customer’s requirements and to determine how to solve defects when found. It also exposes the risks associated with releasing a particular feature and helps to analyze the overall user experience.

Testing is the process of finding both technical issues that were created during development and usability issues that may prove to hinder the user from adapting or using the product.

Testing is mainly used to reduce the product’s risks, by proactively finding them and pre-emptying other possible risks.

To ensure software meets user requirements and to identify potential risks.

Testing is the process of verifying that the product works as expected, and the results provide feedback on the quality and user experience of the product.

1 Like

Testing is used to evaluate the quality and usability of software.
To check whether the software meets the expectations required.
To provide feedback to the team to help build the best version of the software.

It helps to reduce the risk of potential problems, by investigating different scenarios in which the software might be used. It also helps to build confidence in the software.

Software testing is the process of finding technical problems during development and fixing them , after that maintaining them and to improve them later on.In has to do with quality and good experiance when using a product

1 Like

Really interesting definition, Dusan!
On the “finding problems” part - is it possible to do really good software testing, without finding problems? :thinking:

Software testing is a process that checks a product meets expectations and minimises unforeseen problems. The process reduces risk, improves quality and provides confidence in the product.

You receive a new part of software which nobody has ever touched before. You are allowed to destroy it however you like, break down the software, nuke down the servers, hack it and give criticism on other peoples work AND get payed for it? #DreamJob

While doing all of that, we also try to automate most of it!

That’s how I explain testing to my friends :smiley:

Testing is the act of getting informed about what functionalities the end-user wishes to have within the product, as well as making informed assessments of potential problems and risks that the software solution might run into once released and making best attempts to prevent them.

Testing is checking that the developed software meets the intended expectations, identifying risks in the development cycle and the requirements, and maintaining overall quality assurance of the project.

Testing I think is used to make sure that the system is working as required and intend, to check if there are any bugs in the use of the software, to ensure that there are no gaps between the development to the use of the software and that is real-life usable from the perspective of the user.

We test software to check whether the actual software product matches expected requirements and to check are there any other risks. Software testing is important because bugs can be found and fixed before it is delivered to customer.