Testing

Better Software Magazine Articles

From Here to Acceptance Test-Driven Development

Acceptance test-driven development (ATDD) means different things to different people based on their experiences—from "It's all about testing" to "It has nothing to do with testing,” and from "TDD, ATDD—it's all the same" to "TDD and ATDD are nothing alike." These nine landmarks will help you navigate ATDD no matter where you are coming from.

Antony Marcano's picture Antony Marcano
It's in the Way That You Use It

Rapid testers don't think of test automation merely as something that controls a program and checks for some expected result. Instead, we think of test automation as any use of tools to support testing. With that definition in mind, it may not be the most obvious automation tool that is the most useful.

Michael Bolton's picture Michael Bolton
Programming with GUTs

Because tests are commonly viewed in terms of offering quantitative feedback on the presence or absence of defects in specific situations, Good Unit Tests need to both illustrate and define the behavioral contract of the unit in question. Do you have GUTs?

Kevlin Henney's picture Kevlin Henney
Two Cheers for Ambiguity

Some people dismiss words such as skill, diversity, problems, and mission as being too ambiguous to be useful. But one tester's ambiguity is another tester's gauge for assessing consensus on a project and how to achieve that consensus.

Michael Bolton's picture Michael Bolton
Software: Use at Your Own Risk

Is it really so hard to produce software that works? When was the last time you read a software license agreement? Most are one-sided statements that limit the product developer's liability. It's time to move away from "Use at your own risk" software and be upfront with customers about the true cost of quality.

Chuck Allison's picture Chuck Allison
Give Your Defects Some Static

Computer security has raised the demand for automated tools that can analyze source code for vulnerabilities and defects. Find out how you can put automated static analyzers to work for you.

How to Fail Less and Enjoy More

The shiniest software application in the world, shipped on time and under budget, is a failure if it doesn't make someone's job easier. Failures cost us customers and money. How can we design software that our customers want to use and that will reduce our cost of failure?

Frédéric Boulanger's picture Frédéric Boulanger
Stop The Insanity! Using Root Cause Analysis to Avoid Repeating Your Mistakes

We've all heard Einstein's definition of insanity, and it definitely holds true in software development. We "are" going to make mistakes in product development, but root-cause analysis can help us understand those mistakes and be proactive in not repeating them.

Ed Weller's picture Ed Weller
Know Where Your Wheels Are

Drawing from his experiences while learning to drive, Michael applies lessons he learned from written rules, experiential learning, and the advice of mentors to teaching new testers some valuable skills.

Michael Bolton's picture Michael Bolton
What's the Deal with Investigators?

"Investigators aren't sure" is a phrase that frequently pops up in the media. Information systems workers seem to share this uncertainty. So, what's the secret to success in this "aren't sure" world?

Lee Copeland's picture Lee Copeland

Pages

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.