What is Experience Based Testing?

Experience based test techniques call on a tester’s previous experience with similar systems to perform the required testing. Their familiarity with comparable software helps them navigate their way around a new system and know where best to focus their testing efforts. A tester’s career proficiency will also impact how effectively they perform this type of testing, although their experience with analogous software is considered the greater asset.

Now we have a basic understanding of what experience based testing is, let’s take a more detailed look at how testers can use this method to support their testing efforts.

Experience Based Testing

Experience Based Test Techniques

The International Software Testing Qualifications Board (ISTQB) recognizes three experience based techniques; exploratory testing, checklist based testing, and error guessing. This article also makes the case for including automation.

Exploratory Testing – The best-known technique in experience based testing is exploratory testing. Exploratory testing involves setting aside a dedicated amount of time to analyze the system. Experienced testers will know which areas cause the most issues or could benefit from more in-depth testing. Typically there is not a lot of extra time for testers to dig deep into these areas. However, by performing exploratory testing, defects can be found and resolved prior to being discovered in a live environment. Sometimes an experienced tester’s competitive nature arises and the tester becomes determined to find new issues within a system. Experienced testers can have greater depth perception to dig past the surface to reveal larger, more complex issues. 

Checklist based Testing – A tester lists items they want to test, then creates test cases around them. This is a more casual form of testing and can be highly effective in the right environment. For example, imagine a critical issue is discovered in a live environment, and a hotfix must quickly be released. The tester may have a list of scenarios to test before a release. Likewise, if a team runs performance tests, the tester may already have a checklist, so will know the upper and lower limits for different modules. While checklist based testing is casual, documentation is still necessary for traceability.

Error Guessing – One of the seven testing principles is Defect Clustering, which is the concept that most defects will be found in a small number of modules. The error guessing technique uses the tester’s experience of how and where issues have occurred within a previously used system. They may be familiar with a module and know of repeat issues that will require more in-depth testing than others. A tester with knowledge of a system may be better able to predict how to break it.

The experience based test techniques a tester may use for guessing can come from different sources. For example, if they have worked on the project for an extended time, they will likely know where to look for defects. They may also be aware of how the system has failed previously. They might also have experienced the types of errors that have typically occurred. Even if the tester is new to the system, they may have seen comparable errors on a similar application. Although error guessing can seem disorderly, it is possible to follow a more systematic approach. Testers can create lists of the likely defects and then write test cases for the potential issues.

Test Automation – Besides the recognized techniques, test automation is a beneficial addition to frequent and repeated testing. However, often changing code sections with front-end elements or code with requirement revisions are not good candidates for automation. This is because the required maintenance will outweigh the time saved. However, a tester with prior experience working with a system will know which tests are the best automation candidates.

Benefits

Deeper Testing – Experience based testing allows testers to use their prior knowledge to delve into more complex testing and problem-solving. Practical information learned from previous experiences can be invaluable in deeper testing.

Increased Test Coverage – Techniques like exploratory testing provide broader test coverage because the tester can investigate overlooked features and extinguish any outstanding test debt.

Decrease Test Debt – Most of us know about the term technical debt. Similarly, test debt occurs because we often need to investigate underlying issues but, unfortunately, have to set them aside because of priorities or time restraints. Testers can explore known unresolved issues when time is reserved for techniques like exploratory testing.

Experience Based Difference

Tips for Experience Based Testing

Documentation – Whether you use a casual checklist or a more formal test charter, make sure to document your testing. Documentation serves many purposes:

  1. It may be required because of the type of testing being performed. For example, industries that conduct audits, like ISO, PCI, or SOX, demand detailed test documentation for auditing purposes.
  2. Bi-directional traceability is good practice for software testing. Showing that you have tested a feature and each feature has an associated test(s) is standard best practice in software testing.
  3. Because of the ad hoc nature of experience based testing, documentation helps you and other team members to keep track. Because no matter how well you test an issue, you will most likely forget details once you move on to the next issue.

If months later, a question arises about an item, it is hard to recall the testing information. Documenting allows you and others to identify what was tested and how, and see the results of the tests.

Knowledge transfer – Two people can have the same years of experience yet probably have entirely different knowledge about the same subjects. As a useful exercise, pair testing offers a convenient way to transfer knowledge between two people testing an item at the same time while sitting at the same screen. In addition, pair testing provides opportunities for questions and discussion, which brings both testers’ experience to the testing session, as well as learning, which can be mutually beneficial.

Conclusion

Experience based testing is highly beneficial because it saves time and money. Testers with prior experience with a system or module will know where to look for issues, saving time. In addition, when finding defects sooner, they cost less to resolve. Each experience based technique brings the benefit of increased test coverage and depth of testing.