|
An Effective Technique for Verifying Software Design While working at a telecommunications company, Linda Hamm had the task of developing and automating tests in a very short time with high-quality expectations. One of the projects was a rule-based expert system for switch maintenance. To help nail down the requirements, the group wrote state diagrams. This article is about what they are and how the group used them.
|
|
|
Walking the Fine Line between Helpful and Harmful Jeff Johnson examines user interface problems caused by designers trying to rearrange users' data. He gives examples of software that is too helpful, and concludes that software should support users in their management of displays without managing the displays for them.
|
|
|
Know Thy User Testing, in its broadest sense, means ensuring that your visionaries and programmers are creating a helpful product that people will actually use. As the two authors of this installment of Bug Report illustrate, understanding how those users will operate your application is more than an exercise in empathy; it's a simple key to avoiding some real usability meltdowns.
|
|
|
Software Requirements Brian Lawrence and Johanna Rothman recommend Software Requirements by Karl Wiegers, a "readable, practical book about gathering and managing requirements, focused on best practices."
|
|
|
EXtreme Documentation The kind of collaboration that Extreme Programming engenders can benefit both publications and development. Writing, like programming, is a naturally iterative, revisionary process. Dana De Witt Luther shares what she's learned about documenting an Extreme Programming project, using iterative planning meetings and story cards.
|
|
|
I Think, Therefore I Prototype Prototypes can help you deliver the right software. Here, Technical Editor Brian Lawrence gives examples of prototypes and some guidelines for prototyping.
|
|
|
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."
|
|
|
Book Review: Mastering the Requirements Process Brian Lawrence points to Mastering the Requirements Process as a valuable reference book. The book presents a complete step-by-step method for gathering, modeling, and specifying requirements. Along the way the authors offer easy-to-understand and appropriate examples that nicely illustrate how to apply their techniques.
|
|
|
Test Design: Developing Test Cases from Use Cases A use case is a sequence of actions performed by a system, which combined together produce a result of value to a system user. Use cases describe the "process flows" through a system based on its actual likely use, so the test cases derived from use cases are most useful in uncovering defects in the process flows during real-world use of the system. Here is an example of how a use case is used to derive and prioritize test cases.
|
|
|
Lo-Fi GUI Design This article takes you from “what happens before Lo-Fi Design” (understand the user) to storyboarding (with post-it notes), through final implementation. Other steps include window design (get out the scissors) and simulated execution. This thorough, step-by-step explanation of design method is supplemented with graphics and a usability sidebar.
|
|