7 Testing Topics that 95% Testers Miss Out On
As an active member of testing communities and a visitor in various testing conferences, I've witnessed a lot of conversations happening in the testing community on many topics. However, there are still some interesting testing topics that don't get as much attention as they should. These topics can make a huge difference in the quality of your testing efforts, so it's worth diving into them. In this article, I'll be discussing 7 testing topics that 95% of testers don't talk about. I will also share you some tools and resources to learn these terms in depth.
1. Test Design
Test design is a critical part of any testing activity. It's creating a set of tests that will effectively cover the system being tested. Effective test design ensures that your tests cover all aspects of the software and are representative of real-world scenarios. Poor test design can result in inefficient testing and missed defects. Popular test design techniques are:
- State Transition
- Decision Table
- Combinatorial Testing
- Equivalence Partitioning, etc.
Here are a few resources that I would recommend to learn test design in-depth:
- The Little Black Book on Test Design (thetesteye.com): This is a free e-book by Rikard Edgren containing various test ideas as well as test design tips.
- Test Design – AST Teaching Material (ast-bbst.org): This is a free course on test design by Dr. Cem Kaner.
Here are a few tools that I would recommend to you for assistance with test design:
- Pairwise Online Tool (teremokgames.com): It is a free tool to generate pairwise and all combinations for given fields and supported values for each field.
- ACCELQ Manual: It is a powerful test management tool that allows unique features such as test tracking, traceability & integrations. It is a flexible test management tool which works seamlessly with modern bug trackers, task trackers, CI/CD systems and webhook tools. The best way to determine whether a product is right for you is to try it out first. It is available on a free lifetime model.
2. Test Data
Most testers don’t pay attention to it. However, your tests are as good as the data they use. The quality of your test data can make or break your testing efforts. It's important to have diverse and representative data sets that cover a combination of use cases and scenarios. Combining different data types can uncover unique defects that wouldn't be found otherwise. For example, you can combine different types of data, such as numbers, strings, and special characters to uncover input validation issues. Test data should ideally be:
- Recognizable
- Memorable
- Realistic
- Relatable
- Curated
- And readily available.
Here are a few resources that I would recommend to creatively use test data:
- “Rich Test Data: An Example” by James Bach | TestFlix 2020 – YouTube:This talk demonstrates how to create rich test data to test a product and find better bugs.
- Test Heuristics Cheat Sheet | Ministry of Testing: This is a public cheat sheet with list of ideas on test data.
- minimaxir/big-list-of-naughty-strings (github.com): The Big List of Naughty Strings is a list of strings that have a high probability of causing issues when used as user-input data.
- Test Case Generation for Manual Testing – ACCELQ: You can also use powerful platforms like ACCELQ that support generating test cases based on data parameterization.
Here are a few tools to check out for generating powerful & synthetic test data:
- Auto Test Data: Generate test data in 3 steps.
- generatedata.com: Quick test data generator.
- Mockaroo: Random Data Generator and API Mocking Tool.
3. Test Environment
The test environment is where your testing will take place. It's important to set up the environment correctly and ensure that it's in a stable state before testing. One should also have a quick mechanism to clean up the environment after testing to ensure it's ready for the next round of testing. Proper environment setup and cleanup can help you avoid false positives and ensure that you can stay focused on your testing efforts.
Here are few resources that I would recommend to use test data creatively:
- I can build my own test infrastructure & environments: Let’s Level Up by Mahesh Mallikarjunaiah – YouTube:This conference talk demonstrates how to build your testing infrastructure, & environments for all your testing activities.
- IIEC RISE 1.0 Docker – YouTube: This series talks about docker and how you can quickly create, modify, and replicate your test environment for testing needs.
Here are few tools to check out for testing environment needs:
- Docker: To automate your repetitive configuration tasks.
- BrowserStack: Cloud Testing Platform
- LambdaTest: Cloud Testing Platform
4. Test Strategy
A test strategy is a high-level document outlining how you plan to test the system. It's important to have a clear and concise test strategy to ensure that your testing is effective and efficient. A good test strategy will cover all areas of the system, including:
- Product elements
- Project environment
- Testing techniques
- Quality criteria
Here are few resources that I would recommend to learn about creating an effective testing strategy:
- Heuristic Test Strategy Model – Satisfice, Inc.: The HTSM is a guideword heuristics designed to help you think better about test strategy.
- Creating a Test Strategy – Magnifiant: exploring software testing (huibschoots.nl): This blogpost talks about a live example of how to create a good testing strategy for your product.
5. Risk Analysis
Risk analysis is the process of identifying and assessing potential risks to the system being tested. It's essential to perform risk analysis at the beginning of the testing process, and to revisit it regularly throughout the testing cycle. Risks can be technical, functional, or business-related. A thorough risk analysis can help you prioritize your testing efforts and focus on areas of the system that are most at risk.
Here are few resources that I would recommend to learn risk analysis in depth:
- Michael Bolton. Risk Analysis. QA Fest 2018 – YouTube: In this talk, Michael Bolton talks about a set of ideas to help you develop a risk model for your project.
- Risk-analysis Archives – Satisfice, Inc.: Good reading material on Risk Analysis by James Bach.
Here are few tools that can assist you with risk analysis:
- TestSphere | Ministry of Testing: Cards game to perform risk storming with your team.
- RiskStorming Online: Online tool to perform risk analysis.
6. Biases
Testers, like everyone else, have biases that can impact the testing process and lead to missed issues and blind spots. It’s essential to be aware of your biases and try to mitigate them during the testing process. Some common biases in testing include:
- Confirmation bias: Happens when a tester unintentionally focuses on confirming the functionality of the software rather than trying to identify issues or bugs.
- Anchoring bias: Occurs when a tester gives too much weight to the first piece of information encountered, which can limit their ability to consider other options or possibilities.
- Bandwagon bias: Happens when a tester’s opinions or judgments are influenced by the opinions or behaviors of others in team, rather than being based on their own independent analysis.
Here are a couple of resources that I would recommend to learn about biases in depth:
- Every Single Cognitive Bias in One Infographic (visualcapitalist.com): It is a visual of 180+ Cognitive Biases, which are inherent thinking ‘blind spots’ that reduces thinking accuracy and results inaccurate/irrational conclusion.
- Are Biases Influencing your Test Results? – Testing Titbits | Rahul Parwal
7. Exploring Requirements
Exploring requirements is an essential part of any testing project. It’s important to explore the different layers of requirements and not just limit yourself to the written requirements. Here are four activities that can help you explore requirements well:
- Questioning: Questioning is a powerful tool that can help you uncover hidden requirements and assumptions.
- Knowing your stakeholders and customers: Knowing your stakeholders and customers is crucial to understanding their needs and expectations.
- Risk analysis: Risk analysis is a process of identifying potential risks and developing strategies to mitigate them.
- Researching multiple sources of information: Researching multiple sources of information can help you gain a more complete understanding of the product and its intended use.
Here are a couple of resources that I would recommend to learn about exploring requirements in depth:
- Exploring Requirements Toolkit: A curated list of personalized tools & resources to gather and explore requirements effectively and efficiently.
- Requirements (leanpub.com): Classic books on the art of exploring requirements by Gerald M. Weinberg.
To conclude, these 7 testing topics may not be discussed as often as they should be, but they can significantly impact the quality of your testing efforts. You can level up your testing game and test effectively by focusing on test design, diverse and combined test data, test environment setup and cleanup, test strategy, risk analysis, biases, and exploring requirements. As a professional, it's essential to evaluate and improve your testing efforts continuously, and these topics can provide valuable insights to do just that.