Test Design

Articles

Improving the Accuracy of Tests by Weighing the Results

Test automation is often hard to do well, especially when testing a complex system where the results may be dynamic and hard to predict precisely. For instance, how would you test a price finder for highly volatile products such as airline tickets, where the data comes from live, third-party systems? While manual testers can interpret such results to decide whether a system is working correctly, the interpretation may be much harder to codify in an automated test. In this week's column, Julian Harty describes an approach that may help you to improve the accuracy of your automated testing even in these volatile environments.

Julian Harty
class/object illustration Object of My Desire

Object orientation, the least talked about component of test automation, might be the most important factor. In this column, Dion Johnson explains how effective test automation is heavily reliant on objects.

Dion Johnson's picture Dion Johnson
Why You Need to Be Specific about Agile Practice Adoption

Amr Elssamadisy presents one way to share our knowledge that is more specific than full methodologies and processes, more general than war stories, and will help new agile adopters get beyond the mantra "It depends!"

Amr Elssamadisy's picture Amr Elssamadisy
Write a Blockbuster Using User Scenarios

Big projects require many little user stories. But if these scenarios don't add up to one good story, then you're probably missing out on the big picture. In this week's column, Jeff Patton describes how his team weaves many small tales into a single strong report by identifying key characters and themes.

Jeff Patton's picture Jeff Patton
deriving a feature fail conclusion Understanding the Logic of System Testing

This article discusses the logic of system testing and how to construct the valid proofs that testers can use to assess the quality of a software product.

Yuri Chernak
Using Mocks to Verify Interactions

In the March 2006 issue of Better Software magazine, Dan North began a discussion of the evolution of behavior-driven development from test-driven development. Here, North continues the conversation with closer look at "mocks," utility classes that, for testing purposes, pretend to be some component or service with which your object will interact.

Dan North's picture Dan North
Exploratory Load Testing

Load testing is a necessary but daunting task on many testers' to-do lists. As difficult as the task may be, it helps testers find problems when a software product is running at full capacity. Danny R. Faught explains how he takes an exploratory approach to load testing, which gives quick results without making a big tool investment.

Danny R. Faught's picture Danny R. Faught
How Much Building Is Too Much?

Staged integration versus continuous integration—which does your team prefer? Can't decide if one is better than the other? In this column, Johanna Rothman explains that you can create the perfect blend of the two. Developers and testers benefit from frequent builds, but be careful with how much you build. Build too much or too little and a project could topple.

Johanna Rothman's picture Johanna Rothman
The Trouble with Tracing: Traceability Dissected

Traceability! Some crave it. others cringe at the very mention of it. For hardcore configuration managers and requirements and systems engineers, it is a fundamental commandment of “responsible” software development. For many hardcore agilists and other developers, the very word evokes a strong “gag” reflex, along with feelings of pain and frustration. Traceability requires work and discipline! So how does traceability add value to our business and how can we make it easier?

Test Case Preparation Checklist (template)

This template is a checklist will help you prepare better test cases. It includes a list of the type items you should typically check.

Sreeram Kishore Chavali

Pages

StickyMinds is a TechWell community.

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