testsigma
left-mobile-bg

A to Z of Software Testing: Terms, Tips, & Advice for Newbies

May 3, 2023
Rahul Parwal
right-mobile-bg
A to Z of Software Testing: Terms, Tips, & Advice for Newbies
image

Start automating your tests 10X Faster in Simple English with Testsigma

Try for free

In today’s software world, testing is an inevitable part of the process, but if you’re new to it, it can be hard to know where to begin. The following guide will provide you with a basic understanding of some of the most frequently used terms and how they can be applied to your work. It will also have some tips that will help you improve your software testing efforts.

๐Ÿค– A – Application Under Test (AUT)

  • An application or software system that you are testing is referred to by this term.
  • Some common application types:
    • Console
    • Web
    • Desktop
    • API, etc.
  • Hardware testers often use the term DUT, which stands for Device Under Test.

๐Ÿ‘พ B โ€“ Bugs

  • A bug is anything about a product that threatens the value of a product. โ€“ James Bach.
  • Other related terms
    • Error: Something wrong with the product
    • Critical Condition:ย  Data value or environment condition or step to reveal the problem
    • Defect: Bug with Legal Implications – Used in lawsuits
    • Symptom: Behavior that suggests an underlying problem
  • Reference: Bug Advocacy by Rahul Parwal

๐Ÿ™ C – Change Requests

  • A change request is something that is not a bug or threat to value.
  • Nevertheless, it is a request that the developer strives higher or maximizes what has already been worked on.
  • Tip: Phrase a request like a request.

๐ŸŽฒ D โ€“ Data

  • Think about Data Coverage rather than Test Cases
  • Learn to Visualize and use the power of data!
  • Testing is as good as the data that you are using.

 ๐ŸŽฎ E – Exploration

  • Exploring = Discovering unknown information to find out about any possible risks.
  • Exploratory Testing = Simultaneous Test Design + Execution + Learning  
  • Dr. Cem Kaner defines exploratory software testing as a style of software testing that optimizes the value of testing work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.

๐Ÿ”ด F – Fault / Failures

  • A fault is a mistake in the code
  • Failure is misbehavior caused by the fault
  • Ex: 404 error due to wrongly configured app.

๐Ÿ“ข G – Great Resources

โ‰๏ธ H – Heuristics

  • A heuristic is a fallible way to solve a problem – James Bach & Dr. Cem Kaner
  • Ex:ย 
    • Knife: To cut things
    • Map: To find places & directions
    • Rule of thumb
  • Reference: Understanding Heuristics in Testing

๐Ÿ’ก I – Ideas

  • Testing is all about test ideas
  • Heuristics help to think of test ideas.
  • Common Sources of Ideas
    • Product
    • Business Requirements
    • Team
    • External Factors
    • Project
    • Stakeholders
  • Reference: 37 Sources of Test Ideas

๐Ÿช› J – Judgement

  • Testing is a sampling activity.
  • It is common for testers to sample a small number of tests from an infinite space of possible tests.
  • Your judgement will help you to identify:

    • What to test?
    • Why test?
    • Risk areas!
  • A good judgement comes from experience and time.

๐Ÿงฌ K – Knowledge

  • Knowledge is stored in two forms:
    • Tacit Knowledge: Which includes:
      • Experience
      • Thinking
      • Competence
    • Explicit Knowledge: Which includes:
      • Data, Information
      • Documents
      • Records
      • Files
  • Reference: Tacit and Explicit Knowledge: Collins, Harry

๐ŸŽƒ L – Lateral Thinking

  • Testers are often recognized as out of the box thinkers. Example:

    • What can go wrong?
    • What is certain to go wrong?
    • What if someone tries something extreme?
  • With lateral thinking, a problem can be viewed from a creative perspective.
  • Additionally, it facilitates creative problem-solving.


๐Ÿ’ญ M – Mental Models

  • This is a mental picture of how something works.
  • Ex:
    • Flow Charts
    • Architectural Diagrams
    • Maps, etc.
  • It is common for professional testers to use mental models consciously.
  • Reference: Heuristics & Why you should care about them?

 ๐Ÿงพ N – Note Taking

  • The importance of taking notes during tests cannot be overstated.
  • What does a typical test notes document contain:

    • Risks
    • Ideas
    • Observations
    • Questions
    • Links to resources, etc.
  • Popular Formats:

    • Doc Files
    • Mindmaps
    • Excels
    • Readme files, etc.

๐Ÿฎ O – Oracles

  • An oracle is a heuristic principle or mechanism by which you recognize a “potential” problem.
  • Some commonly used consistency oracles:

    • Consistent with claims
    • Consistent with History
    • Consistent with Purpose
    • Consistent with our image
    • Consistency within product
    • Consistent with user’s expectations
    • Consistency with comparable product
    • Consistent with standards or regulations
  • Used to guide:

    • Test Design
    • Bug Evaluation
    • Test Reporting

โ˜๏ธ P – Priority

  • Priority is the urgency to fix a problem.
  • By default, prioritizing is a business decision.
  • In general, testers don’t set the priority.
  • However, stakeholders may benefit from valuable information provided by the testers as they set the priorities.
  • Read more about priority and severity.

โ“ Q – Questioning

๐Ÿ“’ R – Requirements

  • Usually the starting point of a project. This document defines your product’s various components.
  • In most cases, requirements aren’t explicitly stated, and they’re often tacit.
  • Question stakeholders to know their requirements (or โ€œdesireโ€ments).
  • Reference: Exploring Requirements

โš™๏ธ S – Strategy

  • Test Strategy: Given a testing mission, how will you achieve it?
  • It defines answers to questions like:

    • Who’s going to run the tests?
    • What potential problems are they looking for?
    • What aspects are they testing?
    • What tools will be used?

๐Ÿ”ง T – Tools

  • Tools are an integral part of every testing task we perform as testers
  • Tools are an assistant to one’s testing effort.
  • Reference: Ultimate Productivity Toolkit

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ U – Users

  • They are the consumers of your applications
  • It is important to study different users in order to generate relevant test ideas.
  • Here is an example of common user personas for a shopping application:

    • SHOP-A-HOLICS: They make multiple purchases.
    • CART-ABANDONER: They probably add things to the cart. Applies discount but does not make a purchase.
    • THE PRODUCT RETURNER: They tend to return products a lot.
    • THE DISCOUNT CHASER: Applied for a discount but is hunting for more. Do we allow multiple discounts?
    • THE PSEUDO-SMART: Tries to reduce cart content after discount is applied. Are we giving the discount coupon when the cart value changes?
    • THE WANNA BE SMART: Tries an SQL injection in place of a discount voucher input value. Are we safeguarding against these possible threats?

๐Ÿ”ฆ V – Visualization

  • There is visual intelligence in all of us.
  • It’s unfortunate that only a few harness it.
  • Common visualization ways:

    • Doodling
    • Diagramming
    • Whiteboarding
    • Mindmapping
    • Sketch noting, etc.

๐ŸŒ W – World

  • Our expectations are that the product will be consistent with what we know or can observe in the real world 
  • Something that is inconsistent with how the world works is an alert of potential trouble
  • Example: Map showcasing roads with blue color and water with orange color.

โ„๏ธ X – Xtreme Cases

  • Normally, development occurs within defined boundaries.
  • Testers often try out “Xtreme” cases to see “What If?” someone does this. 
  • The extreme cases are a good way to check for:

    • System Boundaries
    • Performance Bottlenecks
    • Security Risks

๐Ÿ˜„ Y – Yourself

  • Each tester is unique; each tester is different
  • โ€œYouโ€ are the most significant differentiator to the testing you do.
  • Listen to yourself ๐Ÿ™‚

๐Ÿ™Œ Z – Zen

  • Zen is a state of calm attentiveness, where intuition guides one’s actions.
  • You often receive intuitive signals from your tacit brain.
  • Use your intuition to analyze and act.

Hey! Thanks for sticking around. Hope this article helped you with some common software testing terms, tips, and advice. If you want to check out an open-source testing solution, check out Testsigma.

Testsigma Author - Rahul Parwal

Rahul Parwal

Rahul Parwal is a Software Tester & Generalist. Presently, He works as a Senior Software Engineer with ifm engineering in India. Reading, learning, and practicing the craft of software testing is something Rahul enjoys doing. His recent accolades include the โ€˜Jerry Weinberg Testing Excellence Awardโ€˜ under the โ€˜Rising star of the yearโ€™ (2021) Category from the โ€œTea-time with Testersโ€ Magazine.

image

Start automating your tests 10X Faster in Simple English with Testsigma

Try for free
imageimage
Subscribe to get all our latest blogs, updates delivered directly to your inbox.

By submitting the form, you would be accepting the Privacy Policy.

RELATED BLOGS


How to Write Test Cases for Trading Application Testing?
RITIKA KUMARI
TEST AUTOMATIONTESTING DISCUSSIONS
Scriptless Test Automation | What , Why it Matters & Examples
KIRUTHIKA DEVARAJ
TEST AUTOMATION
Top 6 Game Testing Tools You Need to Know
RAUNAK JAIN
TEST AUTOMATION