Better Software Magazine Articles

The Two Bugs

Brian Marick applies the philosophical concept of "ready-to-hand" to software programming and describes two bugs that illustrate problems caused by mismatched reuse of ideas.

Brian Marick
Applying Development Best Practices to Automated Testing

Test automation is a specialized form of software development where executable code is produced for the validation and testing process. Many best practices have been identified to allow developers to code more quickly, efficiently, and correctly, but few test automators have adopted these practices. Learn about several of these "best practices"-including code reviews and coding standards-that can be applied to automated test development. Discover how you, as an automated test developer, can capitalize on the benefits provided by these practices.

Andy Tinkham, Spherion Technology Architects
Testing in the Extreme Programming World

Much attention has been given to the topic of lightweight development processes-especially eXtreme Programming (XP). Robert Martin explains the concept and significance of a paradigm that believes acceptance tests should be defined by customers, and requires developers to write the unit tests before they write the code. He then separates the difficulties from the benefits inherent in this relatively new discipline. By cutting through the controversy, he's able to address the essential issues such as environmental possibilities and the need for XP. But most importantly, he addresses the question: What is the relevance of software testing and testing professionals within XP?

Robert Martin, Object Mentor, Inc.
The Simplest Automated Unit Test Framework That Could Possibly Work

Everyone pays lip service to the importance of unit testing, but rarely do developers actually integrate unit testing into their daily routine. In the spirit of eXtreme Programming, this presentation offers a simple two-class framework for automating unit tests in three popular languages: C++, Java, and C. No GUI, no templates, just a fast and productive way of organizing and running suites of unit tests. You'll walk away wondering how you have done without this simple technique for so long.

Chuck Allison, Utah Valley State College
Software Code Inspection for Defect Prevention

Thousands of hours are spent testing, but most software professionals find that traditional testing simply isn't enough to ensure code quality. This presentation gives software professionals a complementary approach: software inspection. Learn how software inspection differs from traditional testing, and gain an understanding of principal inspection techniques.

Jasper Kamperman, Reasoning
Is Quality Negotiable? Experiences of an eXtreme Programming Tester

If you want a higher quality product in an eXtreme Programming (XP) project, you must be prepared to pay a higher price. We make decisions and compromises based on quality versus cost every day. Extreme programming teams are driven to do their best work, but customers have the right to specify and pay for only the level of quality they require. This presentation explores ways to resolve these two potentially conflicting points of view.

Lisa Crispin, BoldTech Systems
STARWEST 2001: Bug Hunting: Going on a Software Safari

This presentation is about bugs: where they hide, how you find them, and how you tell other people they exist so they can be fixed. Explore the habitats of the most common types of software bugs. Learn how to make bugs more likely to appear and discover ways to present information about the bugs you find to ensure they get fixed. Drawing on real-world examples of bug reports, Elisabeth Hendrickson reveals tips and techniques for capturing the wiliest and most squirmy critters crawling around in your software.

Elisabeth Hendrickson, Quality Tree Software
Introduction to Usability Testing

What is usability? Why is it important? If these questions wake you in the middle of the night, then this presentation is for you. Cheryl Nesta discusses the relevance of usability testing within the broad framework of quality assurance and appropriate expectations based on its uses and applicability. Explore methodology, process flow, goal identification, and definition. Real-world examples create a hands-on introductory experience.

Cheryl L. Nesta, Vanteon
A Framework for Testing Real-Time and Embedded Systems

What do we mean when we say local, remote, simultaneous, and distributed testing? Alan Haffenden of The Open Group explores the differences, and explains why the architecture of a distributed test execution system must be different from that of non-distributed systems. An overview of POSIX 1003.13 profiles and units of functionality helps advanced users build a good foundation for testing both their real-time and embedded systems.

Alan Haffenden, The Open Group
Facilitated Workshops in Software Development Projects

To build planning and requirements products quickly and efficiently, consider using facilitated workshops. In your workshops, participants should be active, engaged,
committed and task-oriented. A well-run workshops builds trust and mutual understand among all the participants. Workshops are not new, but are proven best practices in
software development. They can go a long way not only in product delivery, but also in building a "jelled" team.

Ellen Gottesdiener, EBG Consulting, Inc.

Pages

AgileConnection is a TechWell community.

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