Testing

Better Software Magazine Articles

What Counts?

In the testing business, we are infected with counting disease–we count test cases, requirements, lines of code, and bugs. But all this counting is an endemic means of deception in the testing business. How do we know what numbers are truly meaningful?

Michael Bolton's picture Michael Bolton
A Story About User Stories and Test-Driven Development: The Setup

While "testing" is part of its name, many TDD pundits insist TDD is not a testing technique, but rather a technique that helps to focus one's design thinking. Drawing on real events from the authors' combined experience, this story follows a fictional team as it encounters some of the pitfalls of using test-driven development.

Behind the Scenes

Have you ever found a major defect while testing an unfamiliar system and been unable to explain exactly how you found it? The Framework for Exploratory Testing can help. These four activities help you explain your thought processes and allow you to train others to be better exploratory testers.

Erik Petersen's picture Erik Petersen
How Testers Think

People think in models and metaphors, which help us make sense of the world and deal with new things. Citing material from the book "How Doctors Think", Michael draws a comparison between how doctors diagnose illness in patients and how testers find problems in software.

Michael Bolton's picture Michael Bolton
Test Automation Grows Up

Can software test automation ever replace manual software testing? Dion Johnson says no, but he does think it’s time that test automation is recognized as a mature discipline with its own body of knowledge. This ABOK allows test-automation professionals to hone their skills and provides organizations wishing to automate a pool of able resources from which to hire.

Dion Johnson's picture Dion Johnson
McLuhan for Testers

If a tester is "somebody who knows that things can be different," then Marshall McLuhan was a tester par excellence. According to McLuhan, the English professor who proposed the Laws of Media, the message of a medium is not its content but rather its effects. Find out how this translates to software testing and how we evaluate requirements.

Michael Bolton's picture Michael Bolton
Developing Your Sense of Smell

With all of the resources available these days—books, blogs, Webcasts, training,—that aid us in our design, are you one of those programmers who lacks the "olfactory gene" needed to detect refactoring odors in your code? Unit testing helps you refine your sense of smell and improve your code design.

Tod Golding's picture Tod Golding
Four Tips for Technique Seeking

From an experience with a testing buddy in a large organization, Julie Gardiner had a career-shaping epiphany. She discovered that understanding and applying formal testing techniques can help you grow as a testing professional, and she has incorporated that knowledge into her management repertoire ever since. Learn four ways you can get started using formal testing techniques with your team.

Julie Gardiner's picture Julie Gardiner
Transform Your Software

Bring out the best in your code. Systematic code transformations are an important tool for test-driven development. Refactoring and generalization—common code transformations in TDD—improve the code while preserving its behavior and broaden the capabilities of the software. Each technique has its place, and together they help make TDD effective.

William Wake's picture William Wake
Pairwise Testing

One of the testing challenges we face is how to handle the large numbers of test cases we sometimes need to create and execute. We can't test everything, but pairwise testing using orthogonal arrays or an all-pairs algorithm can help generate pair combinations that reduce the number of test cases we run while still finding a large percentage of bugs.

Lloyd Roden's picture Lloyd Roden

Pages

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!