220 likes | 394 Views
Explore the different periods in software testing history, from debugging-oriented to prevention-oriented. Learn about major testing models and significant events in the field. Discover key organizations, tools, and standards shaping software testing evolution.
E N D
History of Software Testing Philippe CHARMAN charman@fr.ibm.com http://users.polytech.unice.fr/~charman/ Last update: 21-04-2014
Summary • Testing periods and evolution of testing models • Software testing timeline
Testing Periods • Until 1956: Debugging-oriented period • 1957–1978: Demonstration-oriented period • 1979–1982: Destruction-oriented period • 1983–1987: Evaluation-oriented period • 1988– …: Prevention-oriented period
Debugging-oriented Period( … - 1956) • No consensus between testing and debugging: • For some people, testing is a sub-activity of debugging • For others, debugging and testing are the same activity • For still others, debugging and testing are two distinguished activities • The main focus is on the hardware not on the software
Demonstration-oriented Period (1957 - 1978) • People realize bugs can have a negative impact • Charles Baker makes a clear distinction from debugging and testing: • Debugging: Make sure the program runs • Testing: Make sure the program solves the problem • Testers should write tests having in mind they have to be successful
Destruction-oriented Period(1979 – 1982) • In 1979, G.J. Myers writes his famous book:
Destruction-oriented Period(1979 – 1982) • Myers defined testing as “the process of executing a program with the intent of finding errors” • Tester should write tests having in mind they have to fail • Myers: Showing a program has bugs is more efficient than showing a program has no bugs. • Google Testing Blog: “If it ain't broke, you're not trying hard enough”
Evaluation-oriented Period(1983 – 1987) • Guideline for Lifecycle Validation, Verification and Testing of Computer Software • Methodology that integrates analysis, review and test activities to provide product evaluation during the software life cycle • A tester can start working on the software life cycle from the very beginning • A tester can review and gives his feedback on the specifications of the features to be implemented • For instance a tester can detect that: • User needs won’t be fully satisfied with the feature • A feature has some holes and thus cannot be correctly tested in some particular cases • etc.
Prevention-oriented Period(1988 – …) • Quality metrics: • Code coverage • Complexity • etc. • Rule coding • Comments in the code • etc. • Continuous Inspection
Prevention-oriented Period(1988 – …) • Quality metrics: • Code coverage • Complexity • etc. • Rule coding • Comments in the code • etc. • Continuous Inspection
Some Companies and Organizations • 1896 IBM founded • 1958 First software test team • 1973 Compuware founded • 1981 Rational Software founded • 1989 Mercury Interactive founded • 1991 Pure Software founded • 2001 StickyMinds.com launched • 2002 ITSQB founded
Some Tools and Applications • 1988 First defect tracking tool (DDTS) • 1989 First version of LoadRunner • 1991 Start of the newsgroup comp.software.testing • 1995 First release of Winrunner • 1998 Bugzilla released • 2002 IBM Rational Functional Tester • 2002 JIRA 1.0 released • 2005 Hudson/Jenkins released
Some Models and Standards • 1970 Waterfall model • 1983 IEEE 829 • 1986 V-model • 1993 SCRUM • 1996 Extreme Programming • 2001 Agile Manifesto • 2002 Test Driven Development
References • Baker C Review of D.D. McCracken’s “Digital Computer Programming”” Mathematical Tables and Other Aids to Computation 1 I, 60. (Oct. 1957). 298-305 • Gelperin, D.; B. Hetzel (1988). "The Growth of Software Testing". CACM 31 (6) • Guideline for Lifecycle Validation, Verification and Testing of Computer Software. Processing Standards, National Bureau of Standards, June, 1983. • Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons.
Some interesting links • http://www.stickyminds.com/ • http://www.testingreferences.com/ • http://googletesting.blogspot.com/ • http://idtus.com/img/UsefulAutomatedTestingMetrics.pdf