Networks & Computing Systems Integrity Group

Monthly Testing Newsletter -- May 2000

Software Development Process (requirements, project management, methodology, etc.)

Article: Quantifying The Qualitative: How To Avoid Vague Requirements By Clear Specification Language

Qualitative requirements can and should always be specified as clearly as possible. Most people do not know how. Everybody can learn how. Organizations should insist on quantitative clarity for all critical qualitative aspects of their project, process or product. The main concept is to define an 'operational scale of measure' for all qualitative requirements.

Article: They Write the Right Stuff

Found by Tim Myers

This is an article about how the NASA Space Shuttle software development group develops almost perfect (17 errors in last 11 versions with 420,000 lines of code each) code. It has a very interesting perspective on healthy "competition" between developers and testers to ensure the best possible product.

Article: Requirements Engineering Patterns

Requirements engineering-the elicitation, documentation and validation of requirements-is a fundamental aspect of software development. Unfortunately, and to the detriment of everyone involved, requirements engineering efforts are often shortchanged or even completely forgone in favor of "getting the code out as soon as possible, at all cost." This month I share my experiences and observations regarding requirements engineering, present several requirements engineering patterns that you should find valuable to your software development efforts, and suggest several good books that describe how to successfully engineer requirements.

Presentation: What Every Developer Needs to Know About Testing

A series of slides from a presentation by James Bach who is a recognized expert in the field of software testing. His focus is on the practical aspects of software testing: how to do it and why it's important. This presentation focuses on five points which help developers and testers work together effectively.


Software Testing & Quality

Whitepaper: Designing Unit Test Cases

Producing a test specification, including the design of test cases, is the level of test design which has the highest degree of creative input. Furthermore, unit test specifications will usually be produced by a large number of staff with a wide range of experience, not just a few experts. This paper provides a general process for developing unit test specifications and then describes some specific design techniques for designing unit test cases. It serves as a tutorial for developers who are new to formal testing of software, and as a reminder of some finer points for experienced software testers.

Words of Wisdom: The Expert Game Equation

you are able to get important things done
you are seen learning things on your own
you are seen trying to do things even if you aren't sure how
you share freely the things that you know
you don't hide your ignorance, but also don't rest on it
you honor what other people know
you know more often than not how to find out what you don't know
you know how to ask for help
you offer to help people on their own terms
no one will care whether you succeed by learning or succeed by already knowing
no one will care if you mess up occasionally because they assume you learn from it
no one will mind if you forget (or don't know) any given fact or method at any given time
you will be treated as if you're smart and useful, even though everyone knows you have a lot to learn
-Jonathan Bach, from "Software Realities" column of IEEE Computer, Vol. 32, No. 8: August 1999, pp. 99-101 [Editors Note: Mr. Bach is a test lead in Microsoft's SMS group.]

Article: Quality Assurance & Testing: Are they the same or not?

This article discusses the differences between quality assurance and testing in the software realm. It focuses on the process models and activities for each.


Reference: TechEncyclopedia

Free online version of The Computer Desktop Encyclopedia with more than 14,000 definitions of computer terms and concepts with cross-references to related terms. It even has a random definition feature in case you just want to learn something new.

Career Development/Miscellaneous

Article: Say It Right

No matter what our position in an organization, we spend an average of 80 percent of each day communicating. We communicate with customers, managers, and employees on the telephone, via e-mail, in person, and in written form. Our body language communicates how we feel about a situation or an individual even when we do not utter a word. The average manager or administrator spends a minimum of 60 percent of each workday listening to customers and staff. That totals 24 hours in the 40-hour work week.


Telecommunications Industry

Reference: FCC Glossary of Telecommunications Terms

This 1998 edition of the glossary of telecommunications terms was prepared by the Public Service Division of the Office of Public Affairs of the Federal Communications Commission. It contains many words and phrases used to describe telecommunications terms which commonly appear in Commission documents and other publications or articles on telecommunication technology.

Article: Start-up firms follow the lead by large companies

Tulsa is edging out cities like Denver and Fort Worth as they scramble for position in the global technology and telecommunications market. The size of Tulsa's high-tech employment rates the city among the top eight in the Southwest, says a new study by CorpTech Inc.

Article: Information Overhaul -- The science of OSSs is changing as rapidly as the core network itself

One of the biggest challenges in pulling together the individual pieces that will make a packet- and cell-based infrastructure equally adept at handling data, voice and video is simply getting everything to share vital information easily. "Integration is the key to success; you have to be able to follow information from front to back," says Brandon Thompson, senior analyst with The Yankee Group (Boston).


Useful Utilities

WinSize (Free - Windows 9x/NT - 717kB)

Sometimes it's useful to set a window to exact dimensions. Position the mouse cursor on a window edge and press the left button to see the window size in pixels. As you resize the window, the new dimensions will appear in the WinSize status window. The status window can be positioned in a fixed screen location, or next to your cursor. WinSize's window list feature makes it easy to set a window to particular dimensions.

PowerDesk (Free - Windows 9x/NT - 1.10MB)

PowerDesk is a file manager which makes an excellent replacement for Windows Explorer. Some of the features include single or dual pane file management windows, a powerful file finder, integrated zip and unzip capabilities, and full integration with QuickView, file and directory "Favorites", "quick launch" bar, and a dialog helper. [Note: This is a free version with a short (<5 seconds) "nag" screen displayed on shut down. Otherwise, it's fully functional and unobtrusive.]

TopDesk (Free - Windows 9x/NT - 113kB)

TopDesk is a system tray utility that provides quick access to your desktop icons without having to move or minimize all of the open windows. In addition, it can hide all of your desktop icons (they're still available in the TopDesk menu) so that you can see your entire desktop wallpaper.

Productivity Tips

Set precise tabs or table column widths easily in Word

In MS Word, you can change the tabs (or indents) or table column widths by dragging the appropriate item on the horizontal ruler. However, this only lets you use the predefined increments (typically, 1/8"). You can gain precise control over the tabs or table column widths by holding down the <Alt> key while dragging the control on the ruler. Word will display the exact position/width (and the widths of the other tabs or table columns).

Drag an object to an obscured window

Sometimes you'd like to drag an object (file, shortcut, etc.) from Windows Explorer or selected text from an application to another window (perhaps an e-mail message that you're working on), but the target window is obscured (behind some other window or windows). Here's a trick that can help you do this: Simply drag the object to the icon for the target window on the task bar hover over the icon for a couple of seconds. Windows will bring the target window to the foreground and you'll be able paste the object in that window.

Sharing your Outlook Calendar

Sometimes when you need to track someone down and they're not at their desk, you'd like to know if they are in a meeting and when they might be back. Outlook has a great feature where you can share your calendar (or any folder for that matter!) so that others can view (or even modify it!) from Outlook on their machine. Here's how to do it:

1. In Outlook, right-click on Calendar in the Folder List or Outlook Bar and select Properties from the context menu.

2. In the Calendar Properties window, select the Permissions tab.

3. Press Add... and select the user or group names that you wish to give rights to view your calendar. I recommend choosing (at least) WC IT Employees group (and perhaps WC All Inclusive).

4. Select the users and groups added in step 3 from the list and choose Reviewer in the Roles dropdown list. The Reviewer role allows anyone with this right to view your calendar, but not make changes to it. You can experiment with the other roles and rights.

5. Press Apply and then OK to save your changes.

To view someone else's shared calendar from Outlook on your machine, select File | Open à Other User's Folder... from the menu and enter the appropriate name and select Calendar from the Folder dropdown list. The above process works for any folder as long as the folder resides on the Exchange server. Thus, you can't share Personal Folders using this technique. To prevent a personal appointment (doctor's appointment, golf game, etc.) from being displayed on your calendar, enable (check) the Private checkbox in the lower right corner of the Appointment window. The time will show as busy, but other users won't be able to see the specific details of the appointment.

Just For Fun

Humor: New Types of Tests?!

Found by Taylor Cottam

During a particularly long and painful bout of REGRESSION TESTING our application software, my buddies and I came up with this list of other types of testing we'd like not to see:

AGRESSION TESTING: If this doesn't work, I'm gonna kill somebody.
CONFESSION TESTING: Okay, Okay, I did program that bug.
CONGRESSIONAL TESTING: Are you now, or have you ever been a bug?
DEPRESSION TESTING: If this doesn't work, I'm gonna kill myself.
EGRESSION TESTING: Uh-oh, a bug... I'm outta here.
DIGRESSION TESTING: Well, it works, but can I tell you about my truck...
EXPRESSION TESTING: #@%^&*!!!, a bug.
OBSESSION TESTING: I'll find this bug if it's the last thing I do.
POISSION TESTING: Alors! Regardez le poission!
REPRESSION TESTING: It's not a bug, it's a feature.
SECCESSION TESTING: The bug is dead! Long lives the bug!
SUGGESTION TESTING: Well, it works but wouldn't it be better if...

Site: How Stuff Works

The How Stuff Works site has a wide variety of excellent articles on how some everyday (and not so commonplace) things operate. Most of the articles are written by domain experts, but they are written at a level for the everyday person (like me!) to understand. Some recent topics include such wide ranging subjects as laughter, minor league baseball, the US Customs Service, and chain saws. It may sound silly, but this site can be addictive!

Site: Urban Legend Generator

This little gem allows you to spin your very own "urban legend" yarn and then e-mail it to your "friends". Use cautiously; someone will surely believe it because, after all, if it's on the Internet it must be true! (If you are curious about which of those e-mails that you sometimes receive are really true or not, check out the urban legends site: