Site Feedback
My Smiling Face   Kevin's Software Quality and
Testing Omnibus

Hi there, and welcome to one aspect of my e-self. I've put this page together to help the folks I mentor with references to various aspects of software quality, testing and engineering. Here's my growing list of interesting websites to browse, articles to read, and books to put in your professional library. This is not meant to be a comprehensive listing; I don't have a large enough web server to do that. Instead, this is a list of information that I've found useful in my study of software engineering and information that I continue to share with others.

Enjoy the links; share them with others. If you've got a reference that you think I should add, please let me know. I semi-regularly update this list, so you might want to check every now and again.

Shameless plug here: If you work in the computer field, join a professional association. There are plenty of them, including several I'll describe on this page. You will receive discounts on publications, career assistance, opportunities to meet other professionals, lots of opportunities to learn something new. It's good for you and for the profession.

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
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

Valid CSS!

Hosted by www.Geocities.ws

1