Articles

Please enter an article title, author, or keyword
A tesselated pattern of gray tiles Test Tooling Patterns for Solving Problems

A design pattern consists of the pattern name, the problem it solves, how to implement the solution, and some consequences. There are also proven patterns like this that can be used in testing. This article lists and defines many commonly used patterns that can help you solve problems, improve code maintenance, and just make your life easier.

Matthew Heusser's picture Matthew Heusser
Graphic of test automation tools The TERMS for Test Automation Risk or Success

Automation is a service to testing—a tool that may prove to be useful or turn wasteful. When approaching test automation, there are five main areas to focus on, expressed in the acronym TERMS: Tools and Technology, Execution, Requirements, Maintenance, and Security. Here are some examples of how these factors are involved in defining automation success or failures.

Albert Gareev's picture Albert Gareev
Red octagonal stop sign 3 Testing Practices We Should All Stop

Testing evolves, and it becomes clear that some concepts we’re all used to doing are no longer applicable today. It’s important to periodically take stock of our testing practices and cull the ones that no longer make sense—or are downright harmful. Here are three common testing practices it’s in our best interests to stop doing.

Ajay Balamurugadas's picture Ajay Balamurugadas
Test pyramid with the base unit test layer eroded The Eroding Agile Test Pyramid

The test pyramid is a great model for designing your test portfolio. However, the bottom tends to fall out when you shift from progression testing to regression testing. The tests start failing, eroding the number of working unit tests at the base of your pyramid. If you don't have the development resources required for continuous unit test maintenance, there are still things you can do.

Wolfgang Platz's picture Wolfgang Platz
Chefs preparing and cooking food Taste-Testing: Cooking Up Good Software

Think about what we do while cooking food to make it the best dish possible. We taste the food first, make necessary adjustments and add a few more ingredients, taste the food again, and repeat until the dish is how we want it. This is just like building a software product. If you don’t taste the food before serving it—or test the software before rolling it out—there will be a risk that the quality isn’t up to your standards.

Arun Kumar Dutta's picture Arun Kumar Dutta
Power button Simplify Continuous Operation Tests with a Periodic Reboot

Continuous operation tests find important bugs, partly as a result of their long operation and partly by increasing the probability of finding statistical bugs. However, CO tests have their own downsides. Mandating a periodic reset or reboot can work around these issues, as well as save time and cost for testing, reproduction, debugging, and fix verification.

Michael Stahl's picture Michael Stahl
Test documentation Tests as Documentation

It’s important that test authors keep in mind the inherent authority their tests possess. After all, an application’s tests are sometimes the first lines of code a new developer will read when acclimating to a new codebase. Tests aren't the only kind of documentation you need, but automated tests in a CI environment can provide a lot of useful information.

Nelson Nogales's picture Nelson Nogales
Squares in organized rows next to scattered squares The Difference between Structured and Unstructured Exploratory Testing

There are a lot of misunderstandings about exploratory testing. In some organizations exploratory testing is done unprofessionally and in an unstructured way—there's no preparation, no test strategy, and no test design or coverage techniques. This leads to blinds spots in the testing, as well as regression issues. Here's how one company made its exploratory testing more structured.

Gearbox for a car with a manual transmission Shifting Your Testing: When to Switch Gears

Shifting your testing either left or right can meet different needs and improve different aspects. How do you know whether to make a change? Let your test cycles be your guide. Just like when driving a car with a manual transmission, if the engine starts to whine or you’re afraid you’re about to stall out, switching gears may be just what you need.

Maximilian Bauer's picture Maximilian Bauer
Collection of random numbers When a Number Is Not a Number: Benefits of Random Test Generators

We like to hope that we will consider all possible situations when devising our tests, but it’s all too easy to overlook the unusual cases. That’s the benefit of random test generators. We might feel comfortable after testing a few dozen test cases; these tools generate hundreds. With more stuff getting tossed at the wall, there is a greater likelihood that something interesting sticks.

Steve Poling's picture Steve Poling

Pages

Upcoming Events

Apr 28
Jun 02
Sep 22
Oct 13