Articles

Please enter an article title, author, or keyword
Two people participating in a code review, photo by Alvaro Reyes Participating in Code Reviews as a Tester

Code reviews are a popular method of catching bugs early in development through peer-reviewing someone’s code. But perhaps more important than catching bugs, these reviews also serve as a chance to see how something is built and have a conversation about it. Because testers question software differently from developers, it’s important that we participate in this knowledge-sharing practice.

Chris Kenst
Medical syringes and needles Fault Injection Testing for an IoT Device

If someone says a feature is not testable through the methods we use, it does not absolve us from the responsibility of testing; that's still our job. When this team was given a new connected device to test, they realized their existing functional testing skills wouldn't be sufficient to test the product's core algorithm. So the team got creative, learning the source code and introducing fault injection, figuring out new ways to test.

Ali Khalid
Mushroom cloud explosion How to Ruin Your Behavior-Driven Development Test Scripts

We get it: Writing good, reusable, effective test scripts is hard. It consumes a lot of time and energy, and you have to learn too much about automated testing and test implementation. Just give up and produce some complicated, messy, and ineffective scripts! But why waste time figuring out how to do that on your own? Here are the best practices to ruin your BDD test scripts completely.

László Szegedi
Icon of a dial showing good system performance Measuring the Performance of Your Operations Center

Many organizations have problems with consistently tracking and measuring system outages. Issues aren't logged, admins make changes to systems without going through change management, and a high number of issues turn out to be recurring problems. Implementing a performance measurement process calculates system reliability and can help you improve consistency.

Nels Hoenig
Arrow pointing left Shifting Testing Left Is a Team Effort

There is a lot of talk in the testing world about shifting left. Basically, “shift left” refers to moving the test process to an earlier point in the development process, independent of the development approach. This article explores a case in which shift-left has been applied, and the lesson is that shifting left cannot be achieved by testers alone—it must result from a team effort.

Clip art of an insect with a target on its back How Much of Debugging Software Is a Tester’s Responsibility?

Everyone knows a tester's job is to help improve the quality of the software under test. But it gets a little murky when you try to define the boundary between testing and debugging. There's no clear delineation: Some testers would state how to reproduce the bug, write the report, and hand it off, while others learn the code, find the root cause, and even create builds to fix the bugs. How much is useful, and how much is too much?

Michael Stahl
Puzzle pieces being put together to spell "Usability" Testing to the Usability Standards Our Customers Expect

Allowing minor defects to be included in releases impacts our customers’ perspective on software professionalism. We’ll never catch every weird, obscure bug, but there are some design elements where they tend to lurk. By focusing our testing efforts on these areas—or at least not neglecting them—we can catch more issues before our customers do.

Nels Hoenig
Man in a suit reading the Business section of a newspaper Getting Started with Business Intelligence Testing

There’s a bit of hype in terms such as business intelligence, data analytics, and data mining. In testing terms, though, it means working with scripts and databases, often without traditional GUI interaction. But core testing skills—analysis, synthesis, modeling, observation, and risk assessment—will still help you go far in business intelligence testing.

Albert Gareev
Three different colored keys 3 Keys to Mastering Test-Driven Development

From his decade of teaching thousands of professional software developers how to be effective with test-driven development, David Bernstein has learned that there are three key ingredients for mastering TDD: understanding what it really is, making code reliably testable, and getting hands-on experience. Let’s look at each of these factors to see what it takes to use TDD effectively on your projects.

David Bernstein
Sign reading "Duh!" When the Code Is Too Obvious to Check

How many times does something seem too obvious to check? Most of the time this normal human response is a handy shortcut. Your brain tries to save you time—but you can’t always trust it. If your code malfunctions, each of those "too obvious to check" thoughts will bias your thinking about what caused the malfunction. We have to commit up front, before our thinking crystalizes, that the code will have to prove to us that it is correct.

Steve Poling

Pages

Upcoming Events

Apr 28
Jun 02
Nov 03