History of Software Testing Philippe CHARMAN Last update: 21-04-2014.

Slides:



Advertisements
Similar presentations
QuEdge Testing Process Delivering Global Solutions.
Advertisements

SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
SDLC – Beyond the Waterfall
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen: Building Software to Support.
BUSINESS DRIVEN TECHNOLOGY
Chapter 4 Quality Assurance in Context
Conceptualizing & Initializing the IT Project
GAI Proprietary Information
Stepan Potiyenko ISS Sr.SW Developer.
Software Testing Written by Zvika Gutterman Adam Carmi.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Validating and Improving Test-Case Effectiveness Author: Yuri Chernak Presenter: Lam, Man Tat.
CHAPTER 17 Building Software to Support an Agile Organization
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Software Testing Levels Philippe CHARMAN Last update:
Introduction to Software Testing
Types and Techniques of Software Testing
CHAPTER 19 Building Software.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
Data Structures and Programming.  John Edgar2.
University of Toronto Department of Computer Science CSC444 Lec04- 1 Lecture 4: Software Lifecycles The Software Process Waterfall model Rapid Prototyping.
PV213 EIS in Practice: 04 – Quality assurance1 PV213 Enterprise Information Systems in Practice 04 – Quality assurance.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Session 1 – eProject Overview
The Problem with Good Enough Software Bj Rollison Test Training Manager Microsoft, Inc.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
CompSci 230 Software Design and Construction
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
Agile Software Development Brian Link
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Testing Damian Gordon.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Application Lifecycle Management - Activities- Methodologies- Disciplines- Tools- Benefits- ALM Tools and Products 1 Application Lifecycle Management (ALM)
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Software Development Life Cycle (SDLC)
Software Testing Process
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Introduction Requirements and the Software Lifecycle (3)
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Systems Development Life Cycle
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
Think Scrum, act Scrum Scrum Practitioner like a boss Thibault Clavier.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Testing Integral part of the software development process.
Software Metrics and Reliability
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Testing More In CS430.
Chapter 18 Maintaining Information Systems
The Software Development Cycle
IEEE Std 1074: Standard for Software Lifecycle
Information Technology Project Management – Fifth Edition
Introduction to Software Engineering
Introduction to Software Testing
Welcome to Corporate Training -1
Testing, Inspection, Walkthrough
The Software Development Cycle
Presentation transcript:

History of Software Testing Philippe CHARMAN Last update:

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 ( … ) 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 ( ) 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

Major Testing Models Primary Goal Phase Models DemonstrationTo make sure the program solves the problem DestructionTo detect implementation faults Life Cycle Models EvaluationTo detect requirements, design and implementation faults PreventionTo prevent requirements, design and implementation faults

Software Testing Timeline

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 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) 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, Myers, Glenford J. (1979). The Art of Software Testing. John Wiley and Sons.

Some interesting links