Jump to content

Software testing controversies

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 81.167.158.65 (talk) at 12:59, 4 September 2020 (Remove unreferenced sections, reorganize article). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

There is considerable variety among software testing writers and consultants about what constitutes responsible software testing. Prominent members of the Context-Driven School of Testing[1] consider much of the writing about software testing to be doctrine, mythology, and folklore. Some contend that this belief directly contradicts standards such as the IEEE 829 test documentation standard, and organizations such as the Food and Drug Administration who promote them. The Context-Driven School's retort is that Lessons Learned in Software Testing includes one lesson supporting the use IEEE 829 and another opposing it; that not all software testing occurs in a regulated environment and that practices appropriate for such environments would be ruinously expensive, unnecessary, and inappropriate for other contexts; and that in any case the FDA generally promotes the principle of the least burdensome approach.

Many members of the Context-Driven School of Testing believe that there are no best practices of testing, but rather that testing is a set of skills that allow the tester to select or invent testing practices to suit each unique situation.[citation needed] James Bach wrote "...there is no practice that is better than all other possible practices, regardless of the context."[2] However, some testing practitioners do not see an issue with the concept of "best practices" and do not believe that term implies that a practice is universally applicable.[3]

Some writers believe that test automation is so expensive relative to its value that it should be used sparingly.[4] Others, such as advocates of agile development, recommend automating 100% of all tests. A challenge with automation is that automated testing requires automated test oracles (an oracle is a mechanism or principle by which a problem in the software can be recognized).

Agile vs. traditional

Starting around 1990, a new style of writing about testing began to challenge what had come before. The seminal work in this regard is widely considered to be Testing Computer Software, by Cem Kaner.[5] Instead of assuming that testers have full access to source code and complete specifications, these writers, including Kaner and James Bach, argued that testers must learn to work under conditions of uncertainty and constant change. Meanwhile, an opposing trend toward process "maturity" also gained ground, in the form of the Capability Maturity Model. The agile testing movement (which includes but is not limited to forms of testing practiced on agile development projects) has popularity mainly in commercial circles, whereas the CMM was embraced by government and military software providers.


References

  1. ^ context-driven-testing.com
  2. ^ Bach, James (8 July 2005). "No Best Practices". Retrieved 5 February 2018.
  3. ^ Colantonio, Joe (13 April 2017). "Best Practices Vs Good Practices – Ranting with Rex Black". Retrieved 5 February 2018.
  4. ^ An example is Mark Fewster, Dorothy Graham: Software Test Automation. Addison Wesley, 1999, ISBN 0-201-33140-3
  5. ^ Kaner, Cem; Jack Falk; Hung Quoc Nguyen (1993). Testing Computer Software (Third ed.). John Wiley and Sons. ISBN 1-85032-908-7.