| Software
Quality |
Software
Testing |
- American Society for Quality
The American Society for Quality advances learning,
quality improvement, and knowledge exchange across
industries to improve business results through a focus on
training, technology, and certification of quality
practitioners.
- Out of the Crisis
by W. Edwards Demming If you do anything
with or regarding quality, you should know W. Edwards
Demming's teachings. While his teachings are based on
process and quality control for manufacturing, much of what
he taught is applicable to software engineering. You might
want to carry around a card with his 14 points on it.
- Quality is not the Goal!
by Boris Beizer
- A Model for Software Product
Quality
by R. Geoff Dromey
|
- Writing Effective Bug Reports
If you've ever wondered why that development engineer
ignores your defect reports, you might want to read this
article by Elisabeth Hendrickson of Quality Tree Software.
- Software Testing FAQ
Danny Faught maintains this set of Frequently Asked
Questions and lists about Software Testing.
- Association for Software Testing
This is a newly formed professional service organization
dedicated to advancing the understanding and practice of
software testing. The board of directors includes some
seriously notable folks in the software testing profession.
A professional conference and journal are in the works.
Stay tuned for more info.
- Testing Computer Software, Second Edition
by Cem Kaner, Jack Falk, and Hung Nguyen
- Testing Object-Oriented Systems: Models,
Patterns, and Tools
by Robert V. Binder
Don't try to read this cover to cover. However, it's a
wonderful reference. Use it as a starting place to research
a testing question you need to answer. I'm not just
recommending this book because one of my JavaOne testing
presentations was referenced in it.
- Black-Box Testing: Techniques for
Functional Testing of Software and
Systems
by Boris Beizer
- The Craft of Software Testing: Subsystem
Testing Including Object-based and Object-oriented
Testing
by Brian Marick
- The Art of Software Testing
by Glenford J. Myers
The classic book on software testing. It's been superseded
by other books in this list, but many of the ideas are still
sound.
- Software Testing Techniques, Second Edition
by Boris Beizer
I think he is working on an updated version of this
book. Please stand by...
- IEEE 829-1998: IEEE
Standard for Software Test Documentation
- Determining the
Cost of a Stop-Test Decision
by Willa Ehrlich, Bala Prasanna, John Stampfel, Jar
Wu
- Debugging
Concurrent Ada Programs by Deterministic Execution
by Kuo-Chung Tai, Richard Carver, Evelyn Obaid
- ISEI Ballista Project
Automated test generation for common off the shelf (COTS)
software.
|
| Computers in
General |
Other topics for
Software Professionals |
- IEEE Computer Society
This sub-group or society of the Institute of
Electrical and Electronic Engineers is one of the two
primary associations for computer professionals. The
IEEE Computer Society along with the Association for
Computing Machinery have produced the definitive
description of the body of knowledge for software
engineers.
The IEEE Computer Society sponsors lots of very
useful conferences and publishes lots of very useful
information, including conference proceedings,
professional periodicals, process and technology
standards, journals and textbooks. If you have a
question about software there's a pretty good chance
that the IEEE Computer Society has something published
about that question.
- Association for Computing
Machinery
The ACM is the other association dedicated to computer
professionals. On the off chance that the IEEE
Computer Society doesn't have information about a
topic that you're interested in, the ACM does. The
ACM sponsors many special interest groups and
conferences. They also publish proceedings,
periodicals, journals and textbooks.
|
This is a grab-bag of other interesting ideas you
might find useful in the pursuit of designing,
constructing, testing, and delivering computer
software.
- The
Wikipedia
The free, web based, encyclopedia that anyone can edit.
There are already lots of topics with entries in the
Wikipedia. It's a very useful place to start your search
for information.
- Conjectures and Refutations
by Sir Karl Popper
A wide ranging series of articles and papers by
one of the leading 20th century philosophers in
scientific epistemology. The first two chapters
are directly applicable to the little branch of
engineering known as software testing. Testing
software is all about working against the limits of
human knowledge of how can a technological artifact,
such as software, can fail. It's pretty heavy slogging,
but it's easier to read than Plato.
- The Logic of Failure
by Dietrich Dorner, Robert Kimber (Translator), Rita Kimber
(Translator)
- Cognition in the Wild
by Edwin Hutchins
- Are Your Lights On?
by Donald C. Gause and Gerald M. Weinberg
|
| Software Engineering |
Build and
Integration |
- Software Engineering Online
The website for the Software Engineering Body of Knowledge
(SWEBOK). This is sponsored by the IEEE Computer Society.
- Essays on Object-Oriented Software Engineering
by Edward V. Berard
- Tom Ball, a researcher at Sun Microsystems,
Inc. wrote a wonderful, quick, overview of the
difference between an unchecked and checked exception
in Java. As soon as I get permission to publish it,
I'll put it here.
- Sticky
Minds
This is the online version of Better
Software magazine (formerly known as Software
Testing and Quality Engineering (STQE)). Plenty of
good stuff here.
|
- Software Configuration Management
by Wayne Babich
One of the early books on Software Configuration
Management. This is an easy and lucid read, which
reinforces the idea that software development is a
team activity that must be optimized for team
productivity, not individual productivity. Some of
the specific tools and techniques are a tad out of
date, but the ideas are still sound.
- Recursive Make Considered Harmful
by Peter Miller
The next time Make does something you didn't expect and
don't want it to do, you might want to read this insightful
article. As the title suggests, recursive Make can cause
more counter-intuitive problems than it might solve.
As an example, I managed a project with 80,000 source
code files. The project builds often failed for no
explainable reason and if successful, took a full 24 hours
to complete. The team decided to change our build process;
the engineer used many of the suggestions in this article.
Build time was cut by 65%; unexplained build errors mostly
went away.
|
| Internationalization
and Localization |
Conference
Calendar |
|
|
There are lots of conferences going on all year long on various
aspects of software quality and testing. I'm way too busy to
track every interesting conference. What I do have is a list of
annual conferences that normally have interesting topics for
Software Testing and Quality professionals:
|
| Software Dependability and
Reliability Engineering |
Software
Measurement |
- Dependability of Computer Systems:
from Concepts to Limits
by Jean-Claude Laprie
A very good overview of all of the aspects of dependable
computer systems including availability, reliability, and
security.
- Dependability.org
The web presence of the IEEE Technical Committee on
Fault-Tolerant Computing and IFIP Working Group 10.4 on
Dependable Computing and Fault Tolerance. They sponsor an
annual joint conference on Dependable Systems and Networks.
- Software Reliability
by Glenford J. Myers
One of the early books on software reliability. John Musa's
work builds on this early work and is probably more
applicable to what you're working on.
- Software Reliability Engineering
by John Musa and John D. Muda
John Musa has a new book out on Software Reliability
Engineering. I haven't read it yet, but it will probably be
interesting.
This book is fairly long and involved, but the
level of detail is very useful if you really want to run
reliability experiments on your software.
- Software Reliability: Measurement,
Prediction, and Application
by John Musa, Anthony Iannino, Kazuhira
Okumoto
More in the series on SRE from John Musa and cohorts.
- John Musa's SRE Website
You can keep up with John Musa's current work on Software
Reliability Engineering on this site. It includes a very
good overview and description of of how SRE techniques might
help you develop more reliable software faster and cheaper.
|
|
| Engineering
Management |
Computers and
Time |
|
|
|
| Specific
Internet Standards |
| From time to time I need to research a
particular Internet standard. I've collected many of them here.
Most of the time those standards are kept by either the World Wide Web
Consortium (W3C) or the Internet Engineering
Task Force. Here's the index to RFCs.
|
| URL/URI |
IP, UDP, and TCP |
|
|
|
| Multihomed Host |
Address Resolution Protocol
(ARP)
Reverse Address Resolution Protocol (RARP) |
|
|
|
| Trivial File Transfer Protocol
(TFTP) |
Bootstrap Protocol (BOOTP) and Dynamic
Host Configuration Protocol (DHCP) |
|
|
|
| Alternate Methods of IP service |
|
|