This issue looks at software testing from a variety of perspectives but, when considering them in totality, some key points emerge. One point is that software complexity, as well as the need for flexibility, demands that we consider new approaches to testing. Author John Scott speaks to this issue as it relates to designing and testing open networked systems.
Another key point is summed up nicely by testing expert, Robin Goldsmith, who refers to testing as the “forgotten phase” of software development. He indicates that even though testing constitutes about half of development time, most formal academic programs that purport to prepare students for software careers don’t even offer courses on testing .
Author Capers Jones makes the point that there is value in tracking defect removal efficiency and “cumulative defect removal efficiency” as methods for evaluating testing effectiveness. He asserts that in spite of the existence of dozens of books and hundreds of articles on testing, there is very little information about how many test cases might be needed, how many test personnel might be needed, and how many defects are likely to be found and removed via testing. His article provides quantitative information on testing as well as other forms of defect removal such as inspections and static analysis.
Authors Elfriede Dustin, Bernie Gauf and Thom Garrett note that “simply stated, there is more software to test, with increasing complexity, more often, with fewer people. The current manual testing methods cannot keep pace.” They describe Automated Software Testing (AST) as a key technique that addresses some of the challenges software testers face today.