Better Software Magazine Articles

A Race with Only Losers

Collectively, problems related to resource sharing in multi-threaded, multi-processor, and distributed systems are termed "concurrency problems." Concurrency problems are further divided into several major subcategories such as deadlock, livelock, priority inversion, starvation, and race conditions. This article will focus on race conditions.

Dave Cline
How to Avoid Getting Burned by Your CD Release

Despite the risks, many companies do not have a formal release process. This article will guide you through some simple steps to verify your software prior to release.

George Hamblen
The Bug You're Most Likely to Miss

We all miss some bugs, but the bug you're most likely to miss is one that gives wrong results that might look right. Let's look at a famous and costly example, then we'll see what we can do during testing to avoid a similar disaster.

Bob Stahl
Nightly Builds: A Tester's Early Warning System

We're all looking for an effective "Distant Early Warning" line of testing: a procedure that will minimize integration bugs, reduce the risk of low quality by allowing bugs to be caught early, make it easier to debug, and improve the visibility of the status of the system under test. One practice that meets those needs is the "nightly"—essentially a daily build and sanity test of the product.

Carla Oexmann
A Look at PREfix by Intrinsa

PREfix provides a source code simulation tool that is able to perform automatic review for a wide range of programming defects that lead to program crashes. Defects reported by PREfix include de-referencing NULL pointers, using uninitialized memory, leaking memory or resources, or using illegal values. Here is an analysis of the product.

Rodney Wilson
A Look at T-VEC's Test Vector Generation System

Before they started using T-VEC, David Statezni's group was manually creating and running requirements tests and separately creating and running code coverage tests. T-VEC's features allowed them to save time.

David Statezni
My Next Mission (And How You Might Benefit from It)

Technical Editor Brian Marick proposes organizing a public effort to test a real software product.

Brian Marick
Quality Assurance and Testing

Brian Marick argues for using testers at the requirements analysis stage of a project. He says, "While QA is primarily about process, testing—my specialty—is about product. Whatever else a tester might do, she certainly eventually exercises the product with the aim of discovering problems a user might encounter. This essay is about that 'whatever else' the tester does."

Brian Marick
Heuristic Test Oracles

For automated testing, expected results are generated using a test oracle. Here is a look at how heuristic oracles can strike a balance between exhaustive comparison and no comparison at all.

Douglas Hoffman
Finding Answers on the Net

The Internet provides a wealth of information on software quality and testing. However, finding that information can be a challenge. In this first edition of Web Watch, Brian Marick tells you how to start your search.

Brian Marick

Pages

CMCrossroads is a TechWell community.

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