Better Software Magazine Articles

Computer Science 101: Software Testing?

Summary:
Where do you find new testers? For the most part, the answer is typically not "from your local university computer science or software engineering department." Testing just isn't taught as a subject in most university curricula. Here, James Whittaker suggests ways to get testing into your university.

James Whittaker's picture James Whittaker
Generating Test Code with Teradyne TestMaster

Robin Sahner looks at generating test code with Teradyne TestMaster. His group evaluated TestMaster on two projects. It did what they hoped it would, and now they're using TestMaster on all of their projects. They're not employing it to shorten their test development time or use fewer people; instead they plan to use it to get a more complete, more easily maintained set of functional tests using the same resources. Editors Note: Teradyne SST has become a new company called Empirix.

Robin Sahner
No More Whining

Johanna Rothman urges test managers to stop whining and deal with the "Not-Enough" problem. She concludes: "You have more capability to influence attitudes, behaviors, and actions in your organization than you know. If you feel like a second-class citizen, reframe the situation. Rethink your job and how you do it, and realize the importance of the contribution–finite, but powerful–you can make toward your organization's product quality."

Johanna Rothman's picture Johanna Rothman
When Applications Collide

Having multiple applications installed and running on a personal computer system presents interesting challenges for testing, even if all the applications are from a single vendor. Bill Mullins imparts some lessons he learned while testing multiple applications.

Bill Mullins
Bugs Beneath the Surface

Brian Marick uses two bugs to illustrate a small, but valuable, test design tip: Try the next thing that a user would try.

Brian Marick
Testing for Exceptions

The basic problem with exception handling is that it is difficult! Exception handling in modern languages makes it easy to drastically change the contents of memory. The next instruction executed may be very distant from the site of the exception, and required cleanup might not be done. In C++ the problem can be particularly acute, with lost memory not reclaimed correctly. For these reasons, it's critical for good testing of exception handling that we test all representative sequences of normal and exceptional calls.

Keith Stobie
Scripted Validation

David Bennett discusses how scripted validation helped revolutionize his organization's software development efforts. This article contains a sample script.

David M. Bennett
Software Tester Certification Options

Increased demand for test expertise has generated interest in testing-specific professional certifications. Alyn Wambeke sorts through certification options for testers.

Alyn Wambeke
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
Not a Game of Random() Chance

Online gaming poses a myriad of security risks. These hazards include various forms of player cheating and the possibility of unfair gaming software, in addition to the risks normally associated with any e-commerce business. Matthew Schmid describes a specific design flaw in an online poker game.

Matthew Schmid

Pages

AgileConnection is a TechWell community.

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