sss ssss      rrrrrrrrrrr
                      ssss    ss       rrrr   rrrr
                     sssss     s       rrrr    rrrr
                     ssssss            rrrr    rrrr
                      ssssssss         rrrr   rrrr
                          ssssss       rrrrrrrrr
                    s      ssssss      rrrr  rrrr
                    ss      sssss      rrrr   rrrr
                    sss    sssss       rrrr    rrrr
                    s  sssssss        rrrrr     rrrrr
         +===================================================+
         +=======    Quality Techniques Newsletter    =======+
         +=======              May 2003               =======+
         +===================================================+

QUALITY TECHNIQUES NEWSLETTER (QTN) is E-mailed monthly to
Subscribers worldwide to support the Software Research, Inc. (SR),
TestWorks, QualityLabs, and eValid user communities and other
interested parties to provide information of general use to the
worldwide internet and software quality and testing community.

Permission to copy and/or re-distribute is granted, and secondary
circulation is encouraged by recipients of QTN provided that the
entire document/file is kept intact and this complete copyright
notice appears with it in all copies.  Information on how to
subscribe or unsubscribe is at the end of this issue.  (c) Copyright
2003 by Software Research, Inc.

========================================================================

                       Contents of This Issue

   o  My Technique for Use Cases, by Michael Reidy

   o  eValid HealthCheck Subscriptions

   o  Software Engineering is Illegal (Part 1 of 2), by Boris
      Beizer, Ph. D.

   o  Selecting Your Baggage for the Journey Through Testland, by
      Jos van Rooyen

   o  Response to "Hard Questions" by Claudia Dencker.

   o  Software Quality Laboratory in Limerick Ireland.

   o  Special Issue on Activated and Programmable Internet

   o  eValid Updates and Details <http://www.e-valid.com>

   o  Subject: I Need a Reliable Vendor

   o  QTN Article Submittal, Subscription Information

========================================================================

                    My Technique for Use Cases
                                 by
                           Michael Reidy

                            INTRODUCTION

The tremendous growth of client sever and internet technologies has
had a significant impact on Information Technology. Object Oriented
(OO) programming is supplanting the procedural languages of legacy
platforms.

As the initial, beginning step, OO programming mandates thorough
functional analysis. This is followed by system analysis,
development and coding.

Communication of requirement documentation is accomplished with
visual modeling. Accordingly, a series of graphics and diagrams are
used in building an OO application. The Unified Modeling Language
(UML) was developed as an industry standard to aid in this process.
Numerous software tools are available to accomplish these graphics
and diagrams.  They are useful in communicating functional needs and
expediting code development.

This article's concern is with a key ingredient of OO analysis. It
is the most basic of all - the Use Case.

                            THE USE CASE

The Use Case is a narrative of user interaction with the proposed
system. It is subsequently elaborated and illustrated as a Use Case
diagram. In turn, this diagram is the basis for other, more detailed
diagrams and system flows.

The Use Case is constructed by reviewing functional requirements
with the end users. It is composed of brief statements detailing
'actor' intervention with the proposed application The actor can be
a single individual, groups of people or other even other systems.
An actor can also participate in multiple Use Cases. Importantly,
the Use Case should provide value to the actor (s).

Convention requires short, pointed statements as well as active
verbs.  The stress is on clarity and communicability.

The UML does allow quite a bit of flexibility in preparing and
presenting Use Cases. It allows various forms and formats (a
narrative in paragraph form, numbered steps with footnotes for
scenario options, numbered steps with scenario options in brackets,
or any other combination, etc.) The key is expressing functionality.
There is no limit to the number of steps in a Use Case. A single Use
Case can contain multiple actors. However, common sense is the
limiting factor (most often, I find a single application shouldn't
exceed thirty steps).

This article will propose a Use Case technique I have successfully
employed.

MY TECHNIQUE

My technique involves two steps:

(1) Building 'micro' Use Cases

I initially develop the Use Case as clearly and simply as possible.
I do this to elicit end user support and approval. I construct
multiple, very elementary functional statements. I use numbered,
sequential steps with detailed footnotes to express possible
scenarios. I use capitals to identify actors.

The individual Use Case names are brief and functionally
descriptive.

(2) Building the 'macro' Use Case

Upon securing end user approval, I then 'massage' the case(s). Most
often this entails combining the initial cases for review and
analysis (though I often combine several micro cases into a single
numbered step).

Again, the Use Case name is functionally descriptive.

                            ILLUSTRATION

I will illustrate my technique with a very simple Money Transfer
application.

It features a secured, highly structured and formatted, customer
transmission to a bank. It can initiate a transaction in any
currency for which a customer has an account. The transmission
contains detailed instructions to debit the customer account, and
either credit another customer account or transfer the funds to an
account at another Clearing House bank. The transactions can be
value today, post or future valued.  If post valued, the payment is
immediately made with a subsequent interest compensation award being
calculated and paid. If future valued, the entire transaction is
stored in an internal queue, pending release on the actual value
date. Other transaction details to be included are consistency with
test word authentication, payee name, payment details, consistency
with corporate standard.

Consider the following micro Use Cases:

CUSTOMER TRANSMISSION:

(1) Customer Treasurer composes Customer Transaction
(2) Customer Clerk data enters Customer Transaction
(3) Customer Clerical Supervisor verifies Customer Transaction
(4) Customer Clerical Supervisor releases Customer Transmission

INTERNAL ROUTING BY BANK:

(1) Bank Telecom Device receives Customer Transmission
(2) Bank Router relays Customer Transmission to Money Transfer
Processor

INSTRUCTIONS VERIFIED

(1) Bank Money Transfer Processor verifies structure and content of
Customer Transmission

(2) Bank Money Transfer Processor records Bank Transaction as
Automatic Posting

- Notes -
1a1 - valid account (continue process)
1a2 - invalid account (send to Repair Queue)
1b1 - valid currency (continue process)
1b2 - invalid currency (send to Repair Queue)
1c1 - amount consistent with test authentication (continue process)
1c2 - amount inconsistent (send to Repair Queue)
1c3 - invalid amount (garbled or decimals not consistent with
          currency, send to Repair Queue)
1d1 - valid date (equal to today, continue process)
1d2 - valid date (post dated, continue process but send item to
          Compensation Queue)
1d3 - valid date (future date, send to Future Queue)
1d4 - invalid date (no date or garbled, send to Repair Queue)
1e1 - payee name indicated (continue process)
1e2 - payee name not indicated (send to Repair Queue)
1f1 - message details supplied (continue process)
1f2 - no details supplied (send to Repair Queue)
1g1 - message conforms to corporate standard  (continue process)
1g2 - message doesn't conform to corporate standard (send to
          Repair Queue)

DEBIT/CREDIT POSTED

1) Bank Money Transfer Processor posts debit to Customer Account
2) Bank Money Transfer Processor applies credit
3) Bank Money Transfer Processor forwards outgoing Bank
Transmission to External Processor

- Notes -
2a1 - credit to other Internal Customer
        (credit to Internal Account)
2a2 - credit to Account at Clearing House Bank
        (credit Internal Omnibus Account)

                        ONWARD TRANSMISSION

(1) Bank External Processor records transactional details (will be
used in calculating interest compensation award for past dated
transactions in INSTRUCTIONS VERIFIED 1d2)
(2) Bank External Processor sends Bank Transmission into Clearing
House Network
(3) Clearing House Network routes Bank Transmission

Now, my colleagues in bank Money Transfer Systems would agree this
is a very elementary, unrealistic scenario. Additionally, every
reader could probably have formulated different cases, combining
some or altering others (this flexibility is allowed and encouraged
by the UML).

However, my intent is to illustrate an approach to constructing Use
Cases.

Now, let me build the macro case.

MONEY TRANSFER

(1) Customer Treasurer composes Customer Transaction
(2) Customer Clerk data enters Customer Transaction
(3) Customer Clerical Supervisor verifies Customer Transaction
(4) Customer Clerical Supervisor releases Customer Transmission
(5) Bank Telecom Device receives Customer Transmission
(6) Bank Router relays Customer Transmission to Money Transfer
Processor
(7) Bank Money Transfer Processor verifies structure and content of
Customer Transmission
(8)Bank Money Transfer Processor records Bank Transaction as
Automatic Posting
(9) Bank Money Transfer Processor posts debit to Customer Account
(10) Bank Money Transfer Processor applies credit
(11) Bank Money Transfer Processor forwards outgoing Bank
Transmission to External Processor
(12) Bank External Processor records transactional details (will be
used in calculating interest compensation award for past dated
transactions in INSTRUCTIONS VERIFIED 1d2)
(13) Bank External Processor sends Bank Transmission into Clearing
House Network
14) Clearing House Network routes Bank Transmission

- Notes -
7a1 - valid account (continue process)
7a2 - invalid account (send to Repair Queue)
7b1 - valid currency (continue process)
7b2 - invalid currency (send to Repair Queue)
7c1 - amount consistent with test authentication (continue process)
7c2 - amount inconsistent (send to Repair Queue)
7c3 - invalid amount (garbled or decimals not consistent with
          currency, send to Repair Queue)
7d1 - valid date (equal to today, continue process)
7d2 - valid date (post dated, continue process but send item to
          Compensation Queue)
7d3 - valid date (future date, send to Future Queue)
7d4 - invalid date (no date or garbled, send to Repair Queue)
7e1 - payee name indicated (continue process)
7e2 - payee name not indicated (send to Repair Queue)
7f1 - message details supplied (continue process)
7f2 - no details supplied (send to Repair Queue)
7g1 - message conforms to corporate standard  (continue process)
7g2 - message doesn't conform to corporate standard (send to
          Repair Queue)
10a1 - credit to other Internal Customer (credit to Internal Account)
10a2 - credit to Account at Clearing House Bank (credit Internal
          Omnibus Account)

                           JUSTIFICATION

Consider what my technique has accomplished:

- The micro cases have allowed the end users to give clearly stated
functional requirements to the technical staff.

- The micro cases have better enabled the technical staff to secure
end user signoff.

- The micro and macro cases have given a clear view of desired
functionality with all interlocking and interdependent functional
needs.  System development and coding is greatly facilitated.

- Test scripts and cases can be constructed using the alternative
scenarios presented in the
  Use Cases.

My simplistic illustration has resulted in five micro cases. A more
realistic set of needs might well have generated twenty-five!!!

Building the macro case would seem to be an inefficient extra step.
But I strongly feel it's worthwhile. Let me explain why.

The tools used in OO analysis and development do not easily
accommodate numerous Use Cases. It can be exceedingly difficult to
squeeze the graphics for all cases onto a single screen.

The UML does allow another technique. Related cases (the micro
cases) can be combined into packages.

However, packages also result in a somewhat scattered view of
functional needs. For this reason, I avoid them as much as possible.
I prefer that end users, analysts, developers, coders, testers -
anyone who refers to Use Case contents - see all functional details
in one, single spot. I strongly feel this minimizes the chance of
overlooking an important detail.

The macro case presents an inclusive view of system flows and
interfaces.

                             CONCLUSION

My technique facilitates end user signoff and counters a limitation
to both the UML and CASE tools. (Interestingly, the IT staff often
references the initial micro Use Cases for an undisputed picture of
desired functionality.)

My technique was adapted from work by others (principally Alistair
Cockburn, "Writing Effective Use Cases" and Martin Fowler with
Kendall Scott, "UML Distilled".

You may well see some practicality in adopting  (or modifying) it.

The principal concern should always be developing better systems by
documenting and communicating user requirements. I offer my
technique as one way to accomplish this.

                             BIOGRAPHY

Michael Reidy is a consultant in New York City.  He has an MBA in
Finance with additional postgraduate work in Computer Science and
programming. He has over twenty years experience throughout the
financial services industry (in both end user and system staff
functions) and was an instructor for International Banking at NYU.
He holds several professional and industry certifications, among
them Certified Quality Analyst (CQA), Certified Software Test
Engineer (CSTE) from the QAI as well as Project Management
Professional (PMP) from the PMI. He also has published several
articles on QA, Project Management and Banking. Reidy's email
address is .

========================================================================

               eValid FREE WebSite HealthCheck Offer
                      <http://www.e-valid.com>

Do you know how healthy your WebSite really is?

Does it have any broken links?  Any slow-loading pages?

Are your WebSite pages optimized to provide for the fastest download
performance?

The eValid WebSite test engine provides a very wide variety of tests
and analyses that help you keep your WebSite healthy.

                  FREE eValid WebSite HealthCheck

We are now offering on a limited basis a FREE eValid WebSite
HealthCheck that includes a sample of key eValid reports:
unavailable links analysis, detailed page timing report, slow-
loading pages report, and detailed SiteMap.

The FREE eValid WebSite HealthCheck gives you an analysis of part of
your WebSite in automatically generated eValid reports that address
such critical quality areas as:

  > An Unavailable Links Report using the LinkCheck feature of
    eValid's Site Analysis engine.  It shows you client-side
    availability failures that you can't detect from the server
    side.

  > A Slow-Loading Pages Report that identifies, among all pages
    downloaded, every page that takes longer than 2 seconds to
    download (using a fast DSL connection).

  > A Detailed Page Download Timing Chart, produced for one of your
    WebSite pages, so you can see how to improve the download
    response times for that page.

  > A Unique Link SiteMap for the all the analyzed pages that
    details your WebSite structure and page dependencies.

          How To Get Your FREE eValid WebSite HealthCheck

Complete details about the FREE eValid WebSite HealthCheck,
including sample reports and results, are available at:

   <http://www.soft.com/eValid/Promotion/HealthCheck/offer.html>.

========================================================================

           Software Engineering is Illegal (Part 1 of 2)
                                 by
                            Boris Beizer

      Note:  This article is taken from a collection of Dr.
      Boris Beizer's essays "Software Quality Reflections" and
      is reprinted with permission of the author.  We plan to
      include additional items from this collection in future
      months.

      Copies of "Software Quality Reflections," "Software
      Testing Techniques (2nd Edition)," and "Software System
      Testing and Quality Assurance," can be obtained directly
      from the author at .

Since the publication of this essay in 1995, Texas has been the
first to recognize Software Engineering as a legal profession.  The
University of Texas was quick to follow with being the first to
offer Software Engineering degrees by that name --  although many
universities offer such degrees, de-facto, none in the U.S. had
offered them de-jure.  We have 49 states and five territories still
to go -- so this essay is still germane.

                        1. What's The Fuss?

The 30 May 1994 issue of ComputerWorld carried a provocative story.
One of our colleagues in Tennessee, George Phelps by name, ran afoul
of a 75 year old statute that specifies who has the right to use the
title "Engineer."  Because of this law, he had to change his title
from "Director of Engineering" to "Director of Technology." His is a
CENSORED Engineering company and CENSORED Engineering is not legal
in Tennessee.  Nor, by the way, is it legal in all 50 states and
five territories.  If you call yourself a "Software Engineer" or
promote your company as doing "Software Engineering" you may be
liable for fines of up to $10,000, be forced to change your company
name, your title, your stationery, your advertisements,
publications, etc.

The purpose of the Tennessee (and the 54 other statutes) is
ostensibly to "... provide a measure of assurance that an engineer
... will in no way jeopardize the safety, health, or well-being of
the general public."  Just who is an engineer and who determines
that?  The legal qualifications for using the title "Engineer" in
the United States are:

1. Graduate from an accredited engineering school, where
   accreditation is granted solely by the Accreditation Board for
   Engineering and Technology (ABET).

2. Pass the Fundamentals of Engineering Examination, created by the
   National Council of Examiners for Engineering and Surveying
   (NCEE) but administered by the various states.

3. Four years of work experience in a recognized engineering
   subprofession, where recognition, although legislated in each
   state, is effectively done only by ABET and NCEE.

4. Pass the Principles and Practices of Engineering examination,
   also created by NCEE but administered by the states, in one of
   the recognized subprofessions.

There are also unofficial, requirements for joining the ranks of
sanctioned professional engineers.

5. Wear a pocket protector filled with Dietzgen #2 to #4 lead
   pencils.

6. Own a K&E Log-Log Duplex Decitrig Slide Rule (if you are old
   enough to know what that is!)..

7. Be a white, Anglo-Saxon, male who wears a hard hat.

The first four of these might seem to be reasonable standards for
protecting the public.  After all, if anybody could hang out a
shingle and call themselves an engineer, who knows what harm might
come of it. These standards seem reasonable until you look into them
and learn:

1. There are no accredited degrees in Software Engineering and
   unlikely to be any in our lifetimes -- at least until the current
   generation of superannuated creditors dies off.

2. The examinations have more relevance to a Mesopotamian water
   works engineer of three-thousand years ago than to software.  The
   examinations have few questions on electronics no questions on
   computer hardware, and no questions on software whatsoever.

3. According to most state laws, you must have a Professional
   Engineering (PE) license to legally teach in an engineering
   school, otherwise the school or department won't be accredited.
   How's that for self-perpetuation generation after generation?

4. Our profession is not recognized and very unlikely to ever be
   recognized by the self-appointed, self-perpetuated, self-
   interested, official recognizers (ABET, NSPE, and NCEE).

5. Based on the singular lack of success that other "new"
   engineering disciplines have had in getting recognized within the
   framework of so-called professional engineering (Electronics
   Engineering being the most notorious 7), we don't stand a chance.

               2. The Legal Engineering Professions.

I'll have more to say about these examinations below. For now, let's
see what kind of "Engineer" is legal in the United States.

1. You can be in one of the recognized major engineering
   professions, including: Aeronautical, Agricultural, Chemical,
   Civil, Control Systems, Electrical, Environmental, Fire
   Protection.  Industrial, Manufacturing, Mechanical,
   Metallurgical, Mining, Nuclear, Petroleum or Structural -- but
   you can't be a Software Engineer, because that major profession,
   the profession with more practitioners than the others combined
   -- doesn't exist according to ABET and NCEE.

2. You can practice one of the recognized engineering specialties
   such as: Gas Engineering, Tool and Manufacturing, Automotive,
   Lighting, Safety, Die-Casting, Plastics, Corrosion,
   Refrigeration, Pharmaceutical, Lubrication, Photographic, and
   Sanitation -- never ridicule our Sanitation Engineering
   colleagues and pay daily homage (as we all must) to its spiritual
   founder, George Crapper -- civilization would be down the toilet
   without them.  But you can't be a Software Engineer!

3. You can practice one of the lesser known subspecialties.  The
   NCEE told me that designation of a subspecialty depends on the
   number of practitioners; after all, one "... cannot expect to
   certify every tiny-subprofession that has only a few hundred
   practitioners."  And, surely, all of the following subspecialties
   must have many more practitioners than our forbidden specialty:
   Arctic Condition Engineering, Cable-TV, Cryogenic, Earthquake,
   Heating, Insulated Cable, Lubrication, Noise Control, Optical,
   Plumbing, and Wood.  But you can't be a Software Engineer because
   obviously there aren't enough of us and you can't be a Software
   Engineer!!

4. There are societies for engineering sub-subspecialties, all of
   which are legal: Senior Wire Rope (I couldn't find an Ordinary
   Wire Rope or a Junior Wire Rope?), Annular Bearings, Ball
   Bearings, Ball Manufacturing, Carbide, Cylindrical Hydraulic (as
   distinct from just-plain Hydraulics?), Practical Refrigeration
   (as distinct from Impractical Refrigeration?), Rehabilitation,
   Tractor, and Wind -- the last one intrigues me because as a
   sometime competitive sailor, I would love to know how to engineer
   wind.  That's the way the wind blows on sub-subspecialities; but
   no matter how hard you huff and puff, you won't be allowed to be
   a Software Engineer, because there aren't enough of us.  You
   can't be a Software Engineer!!!

5. There are other occupations that have traditionally carried the
   name "Engineer" and are therefore legal and exempt from these
   laws: Flight Engineer, Flight Electronics-, any serving soldier
   from private to general in the U.S. Army Corps of Engineers,
   Motion Picture-, Radio-, Sound-, TV-, Railway-, Ship's-,
   Locomotive- (also known as Mobile Engineer, which comes in both
   steam and non-steam flavors) and last and least the Stationary
   and Steam Engineer who fires up the boiler in the basement.  The
   janitor in your office building can call himself an Engineer (if
   you have a steam boiler, that is), but you can't because you
   can't be a Software Engineer!!!

6. An Engineer can be: concerned, illuminating, abrasive, military,
   rough & tumble, or even explosive -- and we all know engineers
   that fit those descriptors; each of the previous have their own
   engineering society -- but they better not be concerned or
   illuminating about software because YOU CAN'T BE A SOFTWARE
   ENGINEER!!.

7. If you satisfy the technical criteria for engineering, you can
   add another hyphen and go on to be a: Cuban-American-Engineer,
   Danish-American-, Native-American-, Hispanic-, Korean-, Polish-,
   Swedish-, Turkish-, or Ukrainian-American engineer.  You can be a
   minority engineer, a black engineer, and even women can be
   engineers today.  You can be a gay and lesbian engineer, or a
   Christian, Muslim, or Seventh Day Adventist engineer -- all these
   groups also have their own special-interest societies, but
   heavens forfend that you hyphenate "software" with "engineering."
   It's not legal in all 50 states and five territories because YOU
   CAN'T BE A SOFTWARE-ENGINEER!!!.

Before you start worrying that the PE Gestapo is going to come down
on you like they did poor Phelps in Tennessee, let's note that as
lawbreakers in all 55 states and territories we are in good company.
The biggest lawbreaker is the Federal Government, especially DoD,
who annually lets thousands of contracts with "Software Engineering"
in the title or in the specifications 9 .  The FAA and almost every
other branch of the government that buys technical software
similarly mention -- no, they don't merely mention software
engineering, they insist that we practice it.  The annual Software
Engineering Conference, now in it's 17th year, as well as dozens of
other annual conferences and symposia on Software Engineering are
also lawbreakers.  The Software Engineering Institute is breaking
these ludicrous laws.  Purdue University is a lawbreaker.  Every
publisher with Software Engineering titles is a lawbreaker.  But the
next biggest lawbreakers after DoD are the IEEE and ACM, both of
whom sponsor conferences, publish journals, and have huge hunks of
memberships who call themselves "Software Engineers." If I were
really worried about the PE thought police, I would insist that the
IEEE mail the SE transactions in a plain brown wrapper.

                       3.  The Examinations.

I looked at these examinations: Id rather have root canal without
anesthesia done by Steve Martins sadistic dentist in The Little Shop
of Horrors than take one of these.  The first one, Fundamentals of
Engineering, the one you take before you practice, is bad enough;
but the second exam that you take after youve practiced a while,
makes the first look like a give-away.

The first exam is an 8-hour, open book exam in which you answer 140
compulsory questions in the morning and 70 in the afternoon.10
Most of the morning questions are hard-hat engineering questions
including such juicy favorites as: the rate at which a slab of beef
will give up heat, those horrible physics problems that involve two
monkeys, a pulley and a string; and one of your routine four-body
cis-lunar orbital calculations for a slingshot-effect ride past
Mercury to land you in the vicinity of Pluto by June 2007 11 .

There are two morning categories you'll recognize:  finance and
mathematics.  The earlier exams had a section on computers and
software, but they since expurgated these subjects.  The finance
questions are easy -- they're all built-in my calculator.  The math
is okay if you remember your calculus 101.  But you couldn't count
on passing the software questions when they did have them.  About
half involved number representation conversions (also on my
calculator). The tough ones were the programming questions.  You'll
have to dig up very old, very obsolete BASIC and FORTRAN manuals to
learn the syntactic and semantic peculiarities of those languages as
of two decades ago.  And even that wouldn't help because according
to the answer book, sometimes AND is equal to "OR" and ">=" can be
used interchangeably with  ">".  The afternoon is more of the same,
but only worse.

How did I do, you ask? Based on my self-administered attempt at
several exams, I would have failed gloriously.  I aced the math and
finance, got two "wrong" on the software, picked up fifteen
questions because as an avid sailor and navigator I've learned about
vectors, aerodynamics, and hydrodynamics.  Out of 210, had I gone
the whole route, I might have managed 50 or so; possibly more
because it is an open book exam.  That was the old exam from 1986
and earlier.  The latest study guides and presumably therefore, the
latest exams, have no questions on computers and software whatsoever
so my score would have dropped proportionately.  Not only doesn't
software exist for these so-called engineers, but neither do
computers!

How about the Principles and Practices exam that you take after
you've worked in the field for several years?  The closest you could
manage would be to opt for the Electrical Engineering exam and try
to hit problems in digital systems, computer systems, and
communications.  Frankly, folks. it's hopeless. You're about as
likely to pass as one of our hard-hat colleagues is likely to pass
an exam on software quality assurance or object-oriented
development.

It's a stacked deck; so deeply and thoroughly stacked that unless
you're willing to re-educate yourself in engineering archeology and
spend several years cramming, you can't possibly make it.

The examinations fascinated me, especially the fact that to the
extent that the samples I saw dealt with software at all, it dealt
only with toy problems in archaic Basic.  I called the NCEE and
asked why Software Engineering was not a recognized engineering
discipline and why there were no questions on software.  The reason,
according to Roger A. Hadley, of the National Council of Examiners
for Engineering and Surveying was:

   "There is no such thing as "Software Engineering". That's just
   writing computer programs.  Any high school kid or
   mathematician can do it.  It is not a recognized engineering
   discipline because it isn't engineering.  And no engineering
   school in the United States provides a degree in it --
   whatever did you call it?  "Software Engineering"?

Yes, my fellow "high-school kids," anybody can do it!

                         (To Be Continued)

========================================================================

      Selecting Your Baggage For The Journey Through Testland

                           Jos van Rooyen
                      CMG Oost Nederland B.V.
                            Meander 901
                            Postbus 7015
                           6801 HA Arnhem
                    email: jos.van.rooyen@cmg.nl













                            Introduction

Everything we do is limited by time and space. Whether you are
building a house or going on holiday. When building a house you have
specifications and materials. If you want to go on a holiday you
pack some essential items in your backpack and off you go. You take
different types of clothing depending on where you are going. You
take special clothing for a winter trip, just as you do when you are
going to a tropical resort.  You have to collect your baggage and
maintain it. The baggage you need depends on the type of journey you
want to make and the role you want to play when you get to your
destination.

The need for baggage is not restricted to holidays; you also need it
to perform your (test) activities.  Through schooling and study, you
collect a great deal of intellectual baggage that comes in very
handy in your daily activities.  As a tester, you frequently find
yourself on the border between business and ICT. This demands a
different type of knowledge. Test knowledge is one of these types of
course, but there are others. For example, there is business
knowledge and ICT knowledge. In addition, this baggage must be
collected and maintained, as well.

Why do you need knowledge? There are different reasons. If you want
to conduct a test well, you have to know what you are talking about.
So that you are able to test whether the product meets the quality
requirements that have been set. Many projects succeed or fail
because of the qualities of those performing the tests. For
projects, it is essential to select the right people with the right
skills for a job.  Costs are another factor. The better the quality
of an information system, the lower the maintenance costs, in
particular for corrective maintenance. To realize such an objective
you need people with the right knowledge.

To determine what knowledge is needed you can use a so-called
knowledge quadrant. This quadrant is described in this article. The
knowledge you need depends on the role you fulfil and the type of
system or organization in which you are working. The quadrant can
serve various applications.


The knowledge quadrant

The quadrant describes the domains about which the tester must have
knowledge. Figure 1 depicts the knowledge quadrant.

       --------------------+---------------------
       Business Knowledge  |    ICT Knowledge
       --------------------+---------------------
          Test Knowledge   |    Social Skills
       --------------------+---------------------

           Figure 1: The Knowledge Quadrant
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

          What do the Four Parts of the Quadrant Contain?

The "business knowledge" section contains the knowledge of the
substance and knowledge regarding the customer organization. An
example is financial knowledge. For example if you want to be able
to test a mortgage system adequately you must know something about
this substance if you want to be able to test whether the
information system satisfies the requirements set. Depending on the
quality of a design, the need for this substance knowledge can
increase.  In addition to the substance knowledge, knowledge of the
organization is also important, e.g. process knowledge. If you want
to be able to demonstrate that a new or renovated information system
fits in the organization, you must know how the organization is
comprised. The level of the requisite expertise depends on the role
you play in a project or an organization. As a tester, you need in-
depth knowledge of the material. As a testmanager, you can get by
with less substance knowledge, but you need greater knowledge of the
organization.

The "ICT knowledge" section implies that as a tester you can
determine the influence a development method, programming language
or a platform will have on testing an information system.  Several
aspects play a role here. In the first place the applied development
methodology plays a role. For example, if you use COOL:Gen as your
development environment you will encounter COOL:Gen syntactical
errors. As a tester you do not have to pay attention to these.
Moreover, the tool monitors the relationship between design and
building. This makes it easier to check whether the functional
requirements have been met. You must know how a development
environment fits together to be able to determine its impact on the
test.  To test infrastructure aspects you must have knowledge
regarding architectures. How is a web configuration put together?
How can I conduct an installation test on one? How is the
installation test influenced by the configuration used?  Another
important aspect for you as a tester is to know how a program is put
together. You must develop a feeling for the type of errors that can
occur and in particular where these can occur in the information
system.  Knowledge of ICT prevents tests from being performed
unnecessarily.

For testers the third quadrant, "the test knowledge", is of course
the most important. Just as you can distinguish various sub
disciplines within development, you can also distinguish different
sub disciplines within the testing profession. Some of the sub
disciplines within testing are test automation, test management and
test consultancy. The requisite knowledge depends on the sub
discipline(s) in which you are working. The requisite test knowledge
can be split into knowledge regarding the different test methods,
the different test techniques that are available, both functional as
well as non-functional, and the different test types. For example,
think of a conversion test, a load test and a usability test. If you
are working in the sub discipline test automation, it is of eminent
importance that you know what test tools there are and when you can
use them.

The fourth, but certainly not the least important quadrant contains
the "social skills". As a tester, no matter what your role is, you
must regularly present people bad news or serve as a corrective
force in a project. This may comprise as much as half of your
activities.  The messenger bringing the bad news frequently gets the
blame. The manner in which bad news is presented is extremely
important. Frequently a programmer has an emotional tie to his
product. If a tester approached such a programmer and says. "ha, ha,
I found an error", it is not hard to predict the outcome of the
conversation. A tester must be able to convey bad news in a
constructive, supporting manner. A tester must have skills such as
conflict management and negotiation skills.  Of course, depending on
the role. Frequently you have to take the company culture into
account.

                Roles & Type of Information Systems

The knowledge quadrant described is a basic idea. The quadrant must
be tailored to the role you will be playing. Depending on the role
there will be more emphasis on specific skills. As testmanager the
skills within the business quadrant will be less important than the
skills within the social skills quadrant, for example. As test
advisor, you must have a great deal of knowledge regarding all sorts
of sub-disciplines within the test. In that case not only  knowledge
of the test quadrant is important; social skills also play an
important role.  Interview techniques and skills in making
recommendations are extremely important as a test advisor. The
requisite knowledge must be tailored to the role you play as a
tester within the specific project.

The requisite skills are not only influenced by the role, but also
by the type of information system. Technically oriented projects
require different expertise than those required by functionally
oriented projects.  For example, if the project involves a new form
of insurance, substance knowledge within the business quadrant is
important to you as a tester.

                           Applicability

Developing a knowledge quadrant and applying it is great, but how
can you use it? There are a number of different applications for
this:

* Setting up a test team. By closely examining the requisite skills
  and matching these to the skills of the testers you can put the
  right team together at the right moment in a project.

* As an organization but also as a tester you can gain insight into
  the requisite training for a department or a project. Of course,
  this depends on the role you play and the environment in which the
  company is operating. Depending on the role you can prioritize
  your trainings.

* Applying the knowledge quadrant as part of an assessment of your
  test organization. By mapping out the individual skills of
  everyone within a test organization in general terms using the
  knowledge quadrant, you can gain insight into the strengths and
  weaknesses of the employees within your test organization. The
  information obtained can be used to formulate proposals for
  improvement.

* That automatically brings us to the fourth point - offering a
  career perspective. Insight into the knowledge and the various
  possible roles within a test organization can help develop a
  career perspective.

* Setting up curricula for trainings in the testing profession.  The
  profiles of the various roles in combination with the knowledge
  quadrant can serve as a basis for setting up trainings.

                        Amassing knowledge

Independent of the role that you play, you must have a basic
knowledge of all the quadrants. This knowledge can be obtained
through regular trainings in courses related to your profession or
by taking special courses. The test knowledge quadrant in particular
must be kept up to date using follow-up courses.

Depending on your role you need specialized knowledge in one or more
quadrants. This knowledge can be obtained in different ways. Through
schooling, research, conducting projects, coaching and the like.

Knowledge profiles can be drawn up depending on the role you play. A
training profile can be associated with a specific profile.

                            Conclusions

The Article starts with the remark "baggage is a theme in our
activities". In order to select the right baggage you need a frame
of reference. This frame of reference can be described using the
knowledge quadrant. A winter sports holiday requires a different
sort of baggage than you would take if you were going deep sea
diving.  Properly applying the quadrant ensures that testers have
the right baggage for testing information systems properly. This
improves the quality of the information system. An additional
benefit is that the costs for corrective maintenance in production
will be reduced.

Knowledge must be maintained. That is why it is important to review
the quadrant periodically or when changing roles in order to define
any additional baggage that may be required.

A well-considered mix of skills selected from the knowledge quadrant
is the key to success for every project or organization.

========================================================================

                   Response to "Hard Questions"
                         by Claudia Dencker
                      


Here are my thoughts on your first tough question.

> ECONOMIC ISSUES.  Everyone in the QA/Test community is suffering
>   -- is this news to any of our readers?  What are the factors
>   holding back QA & Test business.  How do consultants, and small
>   business operations survive the slowdown?

A key factor holding back the QA and Test business in the US can be
answered quite simply: off-shore work.  We have seen far too many of
our projects be handed over to off-shore enginers and off-shore
companies who are doing a superb job of it.  US engineers need to
wake up and smell the roses; their jobs are going somewhere else and
"it sure ain't here."

Another factor is over-supply of QA/test tool and service vendors in
the US.  The software industry has matured enough where there are
LOTS of QA-focused companies and QA professionals.  This is quite
different from just 10 years ago.  The space is crowded.

How do we survive?  Be creative, think outside the box, reinvent
yourself, and don't be limited by pride.

My thoughts for the day!

Regards, Claudia

========================================================================

     Software Quality Research Laboratory in Limerick Ireland.

Some of the positions advertised from the Careers link at
<http://www.idc.ul.ie/~mark/sqrl/> are still available. There are
also positions open for Ph.D. students.

The advertised positions are not the usual PostDoc positions.
Although a Ph.D. or equivalent research accomplishment is required,
the positions are remunerated at a higher level than is usual for
people who have just completed their Ph.D. They are positions for
more senior researchers who have acquired experience in software
development or related experience well beyond the Ph.D.

These positions offer the opportunity to work as part of a highly
qualified research team under the leadership of a researcher who has
been contributing to the software Engineering field for more than 30
years. The team will work closely with industry to be sure that the
results it obtains are applicable in practice.

========================================================================

       Special Issue on Activated and Programmable Internet:
    The Converging Technologies for the Internet Based Active,
                 Programmable & Computing Systems.
                 Journal of Computer Communications
      Guest Editor: Prof. Javed I. Khan, Kent State University

   Latest Information for the call for paper can be found from:
               <http://trident.mcs.kent.edu/~editor/>


SCOPE:  Over the last few years a number of paradigms have emerged
on the converging theme of the activated Internet. Paradigms trace
back to vastly different origins, but converge on the unifying
themewhere the Internet is not only a large network but also a
confederated computing and communication platform. The spectrum
ranges from grid networking, content services networking, active and
programmable networks, sensor computing to the very recent automatic
computing.

" Application services on peer-to-peer networks have recently
toppled the Web as the leading consumer of backbone bandwidth.
Active proxies are opening a new horizon for such services.  "
Active networking aims at new network services by adding
programmability to network devices.  " Programmable networking is
exploring how the existing protocols on internetworking devices can
be made versatile by making their features programmable via open
interfaces.  " Grid computing targets scientific computing over
massive number of networked computers, supercomputers, and massive
storage.  " The latest-- automatic programming envisions the
internet as the ultimate computing platform where resources can be
adaptively congregated, used, and dismantled- all based on services
need.

The objective of this special issue of the Journal of Computer &
Communication is to showcase some of the brilliant and recent
research in these convergent paradigms which merit potential cross
fertilization. Authors are encouraged to submit high-quality papers
dealing with original and innovative results along the themes. Both
theoretical and practical results are highly welcome. Topics of
particular interest include but are not limited to the following:

" Theory, Model & Framework o Languages and models of network
programmability o OS and environments for network programming o
Models & framework for netcentric applications & services "
Architectures & Protocols:  o Programmable network architecture &
hardware o Server architecture for web based computing & service o
QoS, resource management & synchronization of active systems o
Security and privacy models for safe internet computing o Ubiquity,
global portability and mobility architectures o Peer-to-peer systems
with programmable transport protocols.  o Extensible network
signaling protocols o Service dissemination and discovery protocols
" Applications & Services:  o Services on active and programmable
networks.  o Integrated content and application services involving
proxy.  o Sensor computing.  o Grid applications.  o Automatic
services & applications.

IMPORTANT DATES Submission: August 30, 2003 Acceptance decision:
November 1, 2003 Final paper due: March 1, 2004 Publication date:
Spring 2004

SUBMISSION GUIDELINES Authors are invited to submit full papers less
than 25 pages, following the templates available from the publisher
at http://authors.elsevier.com/ in electronic form (PDF preferred)
to the Guest Editor at the following address:

Prof. Javed I. Khan
Department of Computer Science
Kent State University
233 MSB, Kent, OH-44242
Email: javed@kent.edu

========================================================================

                     eValid Updates and Details
                     <http://www.e-valid.com>

                 New Download and One-Click Install

You can qualify for a free evaluation for Ver. 4.0 including a "one
click install" process.  Please go to:
<http://www.soft.com/eValid/Products/Download.40/down.evalid.40.phtml?status=FORM>

If for some reason the eValid license key robot doesn't give you the
EVAL key you need, please write to us at  and
we will get an eValid evaluation key sent to you ASAP!

                       eValid Bundle Pricing

The most-commonly ordered eValid feature key collections are now
available as discounted eValid bundles; see:

<http://www.soft.com/eValid/Products/bundle.pricelist.4.html>

You can compose your own feature "bundle" by checking the pricing
at:

<http://www.soft.com/eValid/Products/feature.pricelist.4.html>

Check out the complete product feature descriptions at:

<http://www.soft.com/eValid/Products/Documentation.40/release.4.0.html>

Tell us the combination of features you want and we'll work out an
attractive discounted quote for you!  Send email to  and be assured of a prompt reply.

               Purchase Online, Get Free Maintenance

That's right, we provide you a full 12-month eValid Maintenance
Subscription if you order eValid products direct from the online
store:

<http://store.yahoo.com/srwebstore/evalid.html>

========================================================================

                 Subject: I Need  a Reliable Vendor
               From: "Mitzi Newell" 

Greetings,

We need a vendor who can offer immediate supply.

I'm offering $5,000. US dollars just for referring a vendor which is
(Actually RELIABLE in providing the below equipment).

Contact details of vendor required, including name and phone #. If
they turn out to be reliable in supplying the below equipment I'll
immediately pay you $5,000. We prefer to work with vendor in the
Boston/New York area.

1. The mind warper generation 4 Dimensional Warp Generator # 52
4350a series wrist watch with z60 or better memory adapter. If in
stock the AMD Dimensional Warp Generator module containing the GRC79
induction motor, two I80200 warp stabilizers, 256GB of SRAM, and two
Analog Devices isolinear modules, This unit also has a menu driven
GUI accessible on the front panel XID display. All in 1 units would
be great if reliable models are available

2. The special 23200 or Acme 5X24 series time transducing capacitor
with built in temporal displacement. Needed with complete
jumper/auxiliary system.

3. A reliable crystal Ionizor with unlimited memory backup.

If your vendor turns out to be reliable, I owe you $5,000.

Email his details to me at: powercrystals@unicum.de

========================================================================
    ------------>>> QTN ARTICLE SUBMITTAL POLICY <<<------------
========================================================================

QTN is E-mailed around the middle of each month to over 10,000
subscribers worldwide.  To have your event listed in an upcoming
issue E-mail a complete description and full details of your Call
for Papers or Call for Participation to .

QTN's submittal policy is:

o Submission deadlines indicated in "Calls for Papers" should
  provide at least a 1-month lead time from the QTN issue date.  For
  example, submission deadlines for "Calls for Papers" in the March
  issue of QTN On-Line should be for April and beyond.
o Length of submitted non-calendar items should not exceed 350 lines
  (about four pages).  Longer articles are OK but may be serialized.
o Length of submitted calendar items should not exceed 60 lines.
o Publication of submitted items is determined by Software Research,
  Inc., and may be edited for style and content as necessary.

DISCLAIMER:  Articles and items appearing in QTN represent the
opinions of their authors or submitters; QTN disclaims any
responsibility for their content.

TRADEMARKS:  eValid, SiteWalker, TestWorks, STW, STW/Regression,
STW/Coverage, STW/Advisor, TCAT, and the SR, eValid, and TestWorks
logo are trademarks or registered trademarks of Software Research,
Inc. All other systems are either trademarks or registered
trademarks of their respective companies.

========================================================================
        -------->>> QTN SUBSCRIPTION INFORMATION <<<--------
========================================================================

To SUBSCRIBE to QTN, to UNSUBSCRIBE a current subscription, to
CHANGE an address (an UNSUBSCRIBE and a SUBSCRIBE combined) please
use the convenient Subscribe/Unsubscribe facility at:

       <http://www.soft.com/News/QTN-Online/subscribe.html>.

As a backup you may send Email direct to  as follows:

   TO SUBSCRIBE: Include this phrase in the body of your message:
           subscribe 

   TO UNSUBSCRIBE: Include this phrase in the body of your message:
           unsubscribe 

Please, when using either method to subscribe or unsubscribe, type
the  exactly and completely.  Requests to unsubscribe
that do not match an email address on the subscriber list are
ignored.


               QUALITY TECHNIQUES NEWSLETTER
               Software Research, Inc.
               1663 Mission Street, Suite 400
               San Francisco, CA  94103  USA

               Phone:     +1 (415) 861-2800
               Toll Free: +1 (800) 942-SOFT (USA Only)
               FAX:       +1 (415) 861-9801
               Email:     qtn@sr-corp.com
               Web:       <http://www.soft.com/News/QTN-Online>