19
History of Software Testing Philippe CHARMAN [email protected] http://users.polytech.unice.fr/~charman/ Last update: 21- 04-2014

History of Software Testing Philippe CHARMAN [email protected] charman/ Last update: 21-04-2014

Embed Size (px)

Citation preview

Page 1: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

History of Software Testing

Philippe [email protected]

http://users.polytech.unice.fr/~charman/

Last update: 21-04-2014

Page 2: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Summary

• Testing periods and evolution of testing models

• Software testing timeline

Page 3: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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

Page 4: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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

Page 5: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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

Page 6: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Destruction-oriented Period(1979 – 1982)

• In 1979, G.J. Myers writes his famous book:

Page 7: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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”

Page 8: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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.

Page 9: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Prevention-oriented Period(1988 – …)

• Quality metrics: • Code coverage• Complexity• etc.

• Rule coding• Comments in the code• etc.

• Continuous Inspection

Page 10: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Prevention-oriented Period(1988 – …)

• Quality metrics: • Code coverage• Complexity• etc.

• Rule coding• Comments in the code• etc.

• Continuous Inspection

Page 11: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014
Page 12: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Major Testing ModelsPrimary Goal

Phase

Models

Demonstration To make sure the program solves the problem

Destruction To detect implementation faults

Life Cycle

Models

Evaluation To detect requirements, design and implementation faults

Prevention To prevent requirements, design and implementation faults

Page 13: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Software Testing Timeline

Page 14: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014
Page 15: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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

Page 16: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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

Page 17: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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

Page 18: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

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.

Page 19: History of Software Testing Philippe CHARMAN charman@fr.ibm.com charman/ Last update: 21-04-2014

Some interesting links

• http://www.stickyminds.com/• http://www.testingreferences.com/• http://googletesting.blogspot.com/• http://idtus.com/img/UsefulAutomatedTestingMetrics.pdf