DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Cover image for Explaining Software Testing To My 5year Old
theQAgirl
theQAgirl

Posted on

Explaining Software Testing To My 5year Old

Imagine you’re cooking for a party/friends, you’ll want the food to come out nice and tasty. You would also want to taste the food at different points just to check if all the ingredients are properly mixed together and in the right proportion. This act of tasting is not because you are a poor cook, rather, you want your friends to have an enjoyable meal.

If you don’t taste your food and check that all the ingredients mix nicely and your friends find something wrong with the food, they'll not enjoy the food and they’ll think you’re a bad cook too

This is what software testing looks like and why it's important

Software testing is checking to find what is known or unknown in your software so that users wouldn’t find these things.

Okay, DEV, you're not a 5year old but maybe an enthusiast, so let's cook.

Software is a piece of code/ program designed to do something specific
Let's call it a type of food. (Insert your favorite food here)
For example, The app on your phone is software.

Now there are so many things that go into building a software/ product, depending on what you are trying to achieve (requirement)

Testing is checking to find something that is known or unknown. The way you taste and check that the meal is ready, good, and will be enjoyable when served.

Since we are talking about Software Testing, let's define it simply

Software Testing is all the activities involved in ensuring that a software product meets customers' expected results and is defect-free.

Let's explain some keywords

Activities: Activities in software testing involve, checking, verifying, validating, documenting, retesting, comparing, calculating, etc.

Expected Result: These are expectations, but not just expectations, they are defined expectations (also called requirements)

Just as you expect a bank application to allow you to transfer money and check your account balance. These expectations are usually defined even before building that bank application at all

Defect: is any abnormality or a deviation from the requirement

So technically speaking, (and since you're not 5)

Software Testing is a process that consists of all test life cycle activities like static(verification) and dynamic(validation)testing concerned with planning, preparation, and evaluation of software products to determine that the software products satisfy customers' requirements and are fit for customers' use. Software Testing is done to find software defects or failures before users find them.

(I Know that's a lot of grammar)

What I'm simply saying is whenever you're cooking, think of it like you're building a product, every time you taste it, that's you testing it.

You can read more on software testing here: [(https://www.ibm.com/topics/software-testing#:~:text=Software%20testing%20follows%20a%20common,be%20enough%20for%20small%20builds.)]
[(https://www.testim.io/blog/software-testing-basics/)]
[(https://www.guru99.com/software-testing-introduction-importance.html)]

Top comments (0)

Timeless DEV post...

Git Concepts I Wish I Knew Years Ago

The most used technology by developers is not Javascript.

It's not Python or HTML.

It hardly even gets mentioned in interviews or listed as a pre-requisite for jobs.

I'm talking about Git and version control of course.

One does not simply learn git