[TIP] Web Application Testing Code of Ethics?

Ben Finney ben+python at benfinney.id.au
Wed Nov 19 23:19:39 PST 2008


"Noah Gift" <noah.gift at gmail.com> writes:

> If I was in his position, I would tell the developer(s) that
> routinely give him broken web apps that they were poor developers
> for not including at least some basic tests. These could even be
> minimal, like a script that connects to the database and tests a
> couple of URL parameters for example.

I recommend that anyone being asked to pay for software should receive
the functional application, its source code, and the full automated
test suite for the entire application as a routine part of the
transaction.

In other words, sufficient to, if and when the customer chooses, and
without needing any further consultation with the vendor, allow the
customer to take the whole lot to a trusted third party expert, ask
*them* to examine the source code to see if it's of good quality, and
examine the automated test suite to ensure it's comprehensive and
matches the requirements, and that all of those match with the
application as supplied.

All of these are perfectly reasonable requirements, and no competent
vendor can claim that they aren't necessary or that they're extra
burdens on the process. They are the equivalent of land assessments,
architectural blueprints, circuit diagnostic logs, and other
supporting expert documentation of the design and engineering process
that are routine in the process of building anything else to someone's
specifications.

Even if the customer can't *themselves* make use of these documents
(although it's never wise to assume that the customer can't understand
at least some of the technical stuff you're doing), they are thereby
assured that their vendor accepts peer scrutiny of their work if it
becomes necessary.

It is astounding that so many vendors, and so many customers, expect
that these can be omitted from the deliverables of the project. Yet
there is no good reason for it, and we should be challenging that
status quo and expecting the same quality of relationship that any
other customer of a design or engineering profession would expect.

> Is there anything I could point him to that could help convince the
> CTO and developers at this company that testing is just ethical?

Hopefully the above analogy can be helpful.

-- 
 \       “I bought some batteries, but they weren't included; so I had |
  `\                                to buy them again.” —Steven Wright |
_o__)                                                                  |
Ben Finney




More information about the testing-in-python mailing list