Articles

Please enter an article title, author, or keyword
Flag that says "Explore," photo by Andrew Neel Using Tours to Structure Your Exploratory Testing

In testing, a tour is an exploration of a product that is organized around a theme. Tours bring structure and direction to exploration sessions, so they can be used as a fundamental tool for exploratory testing. They're excellent for surfacing a collection of ideas that you can then further explore in depth one at a time, and they help you become more familiar with a product—leading to better testing.

Nishi Grover Garg
Identical bugs under a magnifying glass When Testers Should Consider a Bug a Duplicate

When can a bug report be considered redundant because it is already reported in the bug management system? If you ask the developers, if two bugs are caused by the same mistake in the code, it’s enough to report one of them. But Michael Stahl has good arguments from a tester's perspective about why it's better to err on the side of over-reporting bugs.

Michael Stahl
Path breaking away from a road Learn More from Tests That Stray off the Happy Path

Unit tests exercise various paths through your codebase. Some are happy paths where everything you expect goes right. These tests are boring. The interesting tests are the ones where your code goes hurtling off the happy path. The trick is to capture the diversity of a multitude of unhappy paths without needlessly duplicating unit tests. Here's how you can improve the quality of your unit testing and fix it more effectively.

Steve Poling
Requirements model Requirements Mapping Using Business Function Test Suites

On this team, testers were overcommitted, avoidable defects were surfacing, and documentation was hard to find. Worse, trust and morale were low. Upgrading tools was out of the question, so the testers decided to take matters into their own hands and create incremental change themselves. Here's how a team added a new type of traceability to its requirement test case world.

Balazs Schaffhauser
Changeable code The Value of Test-Driven Development when Writing Changeable Code

Writing changeable code makes it easier and more cost-effective to add features to existing software. Writing changeable code doesn’t take longer, but it does require paying attention to certain things when building a system. It's important to have a good suite of unit tests that support refactoring code when needed, and test-driven development helps you create independently testable code.

David Bernstein
Monster mask Tame Your Monster and Make Better Decisions

When you go into a meeting, lead a project, or have to ask management for something, remember that body language, tone of voice, and facial expression are part of the package. The techniques and words are just the tip of the iceberg; under the water are motivations, fear, and anger. If you're feeling anxious or uncertain, wait until you have good energy to make a decision.

Matthew Heusser
AngularJS logo Lessons Learned Testing Angular Applications

AngularJS is a framework used for organization of JavaScript code in highly interactive web and mobile applications. What does that mean from a testing perspective? Here's what should be in your test strategy when you’re testing Angular applications, including what might give you difficulty and how you can mitigate challenges.

Albert Gareev
Image of lock over code DevSecOps: Incorporate Security into DevOps to Reduce Software Risk

DevSecOps is a growing movement to incorporate security into DevOps practices in order to ensure flaws and weaknesses are exposed early on through monitoring, assessment, and analysis, so remediation can be implemented far earlier than traditional efforts. By failing fast with security testing, organizations reduce risk of a security incident and decrease the cost of rework.

Alan Crouch
Stopwatch timeout Using Test Automation Timeouts as Performance Alarms

In automated testing, one of the challenges to developing consistent and stable tests is loading and rendering time and latencies. This plays a larger role for web applications or other network dependent applications, especially with user interface automation. But you can design tests so that timeouts can be used to measure the performance of the application and service while testing the functionality.

Faisal Qureshi
Testing code Hybrid Verification: Mixing Formal Methods and Testing

The ability to verify contracts either statically or dynamically, coupled with recent advances in proof technology, has opened up a new and promising approach to verification. Critical code can be proved with formal methods, and less critical code can be verified using traditional testing, with a clear separation at the interfaces between the two.

Ben Brosgol

Pages

Upcoming Events

Jun 03
Jun 19
Jun 25
Aug 20