Decoding the Tester's Dictionary A Glossary Glide
Unlock the Mysteries of Testing: Your Guide to Navigating the Jargon Jungle is in the Palm of Your Hand! Image created using Canva

Decoding the Tester's Dictionary A Glossary Glide

Introduction

Dive into the world of software testing with us! From bugs to test plans, we're unraveling the terms often tossed around in the tech corridors. Join this simple journey and get the lowdown on the lingo!


Why It Is Necessary to Understand These Terms by Newbies

Unraveling the Question: Why Software Testing Terms Matter for Newbies? Image credit: canva

Grasping these testing terms is pivotal for newbies as it lays the foundation for effective communication in the tech realm. Knowledge of this lingo ensures they navigate meetings, documentations, and workflows with clarity and confidence. Moreover, understanding these basics primes them for deeper dives into more intricate aspects of software testing.


Let's Not Wait: Dive Deep into the World of Testing Lingo!

While I aspire to demystify as much of the testing jargon as possible, I might not cover them all. However, I will delve into a curated selection, ensuring you grasp the essentials. Let's embark on this journey, one term at a time.


1. Test Case

Definition: A test case is a set of conditions or actions executed to verify a particular feature or functionality of a software application. It specifies the input, action or event, and an expected response, to determine if a feature of an application is working correctly.

Example : Food Recipe

From Ingredients to Gastronomic Delight: The Recipe is Our Test Case! Image created using Canva

Just as a recipe gives you systematic instructions to achieve a desired dish, a test case provides you with systematic steps to verify a particular functionality of an application. If the final dish (or software functionality) doesn’t match the expected outcome, you know something went wrong in the procedure or the ingredients, just like identifying a defect in software testing.


2. Build

Definition: In software development, a build refers to the process of converting source code files into standalone software artifacts that can be run on a computer. Essentially, it's the step where the readable code written by developers is turned into executable files or software applications through a series of processes including compilation, linking, and packaging.

Example: Baking a Cake

From Code Commit to Cake Slice: Understanding the 'Build' Process Through the Art of Baking! Image created using Canva

Think of a build like baking a cake. The source code represents the raw ingredients: flour, eggs, sugar, and so forth. The build process is akin to the baking process, where these ingredients are combined, subjected to heat, and transformed into a final product—the cake. Just as you can't eat the raw ingredients individually and expect the experience of the cake, users can't interact with the raw source code. They need the "baked" product, or in software terms, the build.


3. Smoke Testing

Definition: Smoke Testing, often termed as "Build Verification Testing," is a type of software testing that comprises a non-exhaustive set of tests to ensure the most important functions of a program work. The purpose is to reject a badly flawed build so that the testing team doesn't waste time installing or testing it in detail.

Example : Buying New Phone

First Touch, First Impressions: Smoke Testing Illustrated Through Your Initial Moments with a New Phone Image created using Canva

When buying a new phone, you might first turn it on, check the screen's responsiveness, and test basic functions like the camera and Wi-Fi. You're not diving into every app or feature; you're confirming core functions work. Similarly, in smoke testing, testers verify primary software functionalities before detailed testing.


4. Sanity Testing

Definition: Sanity testing is a narrow and focused testing approach, typically applied after minor changes to the software. Its main goal is to ensure that the specific changes introduced function correctly without disturbing the existing behavior of the application.

Example: Installing a Game Mod

Modding Your Way Through: Sanity Testing Ensures Your Game Runs Smoothly After the UpdateImage created using Canva

Imagine you've installed a new mod for a game like Skyrim. After adding the mod, you don't replay the entire game to ensure every detail is intact. Instead, you quickly launch the game, verify that the modded feature works as expected, and check that no major game functions are broken due to the new addition. This concentrated check on the new modifications and their potential ripple effects mirrors sanity testing in the software world.

5.Regression Testing

Definition: Regression testing involves re-running previously executed tests on a modified software application to ensure that recent changes have not adversely affected features that were already working.

Example: Puzzle

Piece by Piece, Test by Test: Regression Testing Ensures the Puzzle Still Fits Together Image created using Canva

Imagine a puzzle where every piece fits perfectly. If you replace one puzzle piece with a new one, you'd recheck to ensure that the surrounding pieces still fit perfectly. In the same way, regression testing ensures that new code changes don't disrupt existing functionalities.

6. Retesting

Definition: Retesting is the process of testing a specific defect or bug that has been fixed by the developers to ensure its proper functionality.

Example: Stitched Shirt

Mending the Seams: Retesting to Confirm the Fix Holds UpImage created using Canva

If you've ever sent a shirt back to get a tear stitched, once it's returned, you'd specifically check the stitched area to ensure it's fixed. Similarly, retesting specifically checks the parts of the software that were reported faulty and then rectified.

7. Bugs/Defects

Definition: Bugs or defects refer to any error, flaw, mistake, failure, or fault in a software application that produces an incorrect or unexpected result or causes it to behave in unintended ways.

Example: Light Switch

Flipping the Switch: When Bugs and Defects Keep the Light Off Image created using Canva

Consider a light switch that turns on a fan instead of a light. It's not doing what's expected of it. Similarly, in software, when something doesn't work as intended, it's referred to as a bug or defect.

8. Sprints

Definition: In Agile methodology, a sprint is a set period during which specific work is completed and made ready for review. It's a phase of the project with a defined duration, usually ranging from one to four weeks.

Example: Chapters in Book

Turning the Page: Sprints as the Chapters in Your Agile Storybook Image created using Canva

Think of sprints as chapters in a book. While the entire book is the complete project, each chapter (or sprint) contributes a specific piece to the storyline, moving the plot forward.

9. UAT (User Acceptance Testing)

Definition: UAT is the final phase of testing where the intended users of the software validate the product for real-world use. It ensures the software meets the user's requirements and that users can successfully use the product for its intended purpose.

Example: The Mom Test

The Mom Test in Action: UAT Determines if You're Ready for the Real World Image created using Canva

Imagine you've just spent hours cleaning and reorganizing your room. Before showing it off to your friends, you ask your mom to take a look. If she approves and finds nothing more to clean or rearrange, you're good to go! Mom's approval is the ultimate form of UAT, because if it passes the "Mom Test," it's ready for anyone!

10. Release

Definition: In software development, a release refers to the distribution of a final version of an application after it has undergone multiple stages of testing. It's the point when the software product is considered ready for deployment in a real-world environment, be it for the public, a set of users, or within an organization.

Example: Movie Release

Premiere Night: Software Releases as the Debut of Your Blockbuster Feature Image created using Canva

Think of a movie release in theaters. After filming, editing, and private screenings (akin to software testing), the movie is finally released for the general public to watch. Similarly, a software release means that the product has passed all its checks and is now available for its intended users.


Conclusion

The world of software testing is rich with specialized terms, each carrying its own weight. By relating these to everyday scenarios, we hope to make them more accessible. From the complexities of regression testing to the finality of a release, understanding these terms is key. As you go through deeper into software testing, let this guide be your foundation, aiding you in navigating this domain with clarity and assurance.


#SoftwareTesting #TestingJargons #NewbieTesters #SmokeTesting #SanityTesting #RegressionTesting #Retesting #BugsAndDefects #Sprints #UAT #STLC #QA #QualityAssurance #TestCases #ReleaseManagement #TechBlog #SoftwareEngineering #BeginnersGuide #AgileTesting

要查看或添加评论,请登录

Ahtisham Ilyas的更多文章

社区洞察

其他会员也浏览了