1

Click here to load reader

The History of Software Engineering and Software Testing (World and Japan)

Embed Size (px)

Citation preview

Page 1: The History of Software Engineering and Software Testing (World and Japan)

2012.5.8

▲ ▲ ▲ ▲

EDSAC(1st Neumann computer) IBM System/360 IBM System/370 Cray-1

▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ UNIVAC1(1st commercial computer) DEC PDP-1 DEC PDP-8 Apple PC IBM PC ▲ Apple Macintosh iPhone iPad

▲ ▲ ▲ Sun-1 ▲ ▲

IBM 701 IBM 704 Intel 4004MPU Sun SPARC Intel Pentium Pro

(Scientific computer) ● ●(Apple) (Sun Microsystems)

▲ ▲ ▲ ▲ ▲ ▲ ▲

OS/360 UNIX CP/M MS-DOS UNIX System V Linux Windows NT ▲Netware ▲ ▲ ▲ Android

▲ ▲ ▲ ▲ ▲ ▲ ▲ Windows 3.1 ▲ J2EE .NET ▲

SpeedCode FORTRAN COBOL LISP PL/I C ▲ C++ ▲ Java ▲ Ajax

▲ ALGOL Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲ Ruby on Rails

FLOW-MATIC ▲ Netscape Internet ▲ ▲

● ● HTML/HTTP/WWW Explorer XML ● SOAP ●(Microsoft) (Free Software Foundation) (Apache Software Foundation) (Eclipse Foundation)

▲ ▲ ● ● ▲ ▲SAGE ▲ CompuServe America Online Amazon.com Amazon Web Services Amazon EC2

SABRE ● ● Google Docs & Spreadsheets

▲ ▲ Yahoo! Google Cloud computing

Mercury ▲ Gemini ▲ ● ● ● ●Apollo project anouncement Apollo 11 moon landing eBay Salesforce.com Facebook Twitter

▲ ▲ ▲ ▲ ▲ ▲ ▲

ETL Mark I [Relay] FUJIC [Vacuum tube] NEAC2200<NEC> DIPS-1 PC-8001 PC-9001 UNIX servers

*1st digital automatic computer *1st electronic computer FACOM230<Fujitsu> <NTT> <NEC> <NEC> <Hitachi,NEC,Fujitsu,Mitsubishi,OKI>

<ElectroTechnical Laboratory> <Fuji Photo Film> HITAC8000<Hitachi> ▲ ▲

▲ Reorganization into 3 paired groups ▲ ▲

ETL MarkⅢ [Transistor] of Japanese computer makers FM-8 PC servers

▲ <ElectroTechnical Laboratory> M series<Fujitsu-Hitachi> <Fujitsu> <Mitsubishi,Fujitsu,Hitachi>

FACOM100 [Relay] ▲ MUSASINO-1[Parametron]<NTT> ACOS series<NEC-Toshiba> ▲

<Fujitsu> *1st parametron computer COSMO series<Mitsubishi-OKI> ▲ Express5800<NEC>

▲ HIPAC MK-1[Parametron]<Hitachi> JW-1<Toshiba> *PC server with WinNT3.5

▲ NEAC-1101[Parametron]<NEC> *Japanese word processor

▲ ▲ ▲Loader for NEAC-1101 1st Operating system for NEAC2200 DIPS-103-10OS

Symbol input routine for HIPAC-101 Monitor for HITAC-5020 (Time sharing OS)

▲ ▲ ▲Automatic programming(FORTRAN) for HIPAC 103 MCPII monitor for FACOM 230-20/30 OSIV<Fujitsu>, OS<Hitachi>

▲ (Multi-program processing) ACOS<NEC-Toshiba>

FORTRAN/Assembler/IOCS/SORT for FACOM 222A UTS<Mitsubishi>

▲ ▲ ▲ ▲ ● ●Tokyo Stock Exchange, National Railways National Railways online seat reservation system(MARS101) JUNET(Japan University NETwork) Yahoo! JAPAN amazon Japan

Nomura Securities seat reservation system Japan Airline seat reservation system ▲ ●*1st business use computers ▲ (MARS1) Tokyo Olympic realtime record management system *Commercial online services PC-VAN ▲ Rakuten

installation (UNIVAC120) Japan Meteorological Agency NIFTY *e-commerce site ▲ *weather forecasting i-mode<NTT DoCoMo>

▲ ▲ ▲ Zengin System(Japanese Banks' Payment Clearing Network) ▲Sanwa Bank Mitsui Bank online banking system ▲ ▲ Japan Net Bank

*1st banking system 1st-generation online systems of banks 2nd-generation online systems of banks 3rd-generation online systems of banks *1st internet bank

▲ ▲ ▲ ▲ 1st NCSE(ICSE)

NATO Software Engineering Conferences Symposium on Computer Software Reliability

▲ ▲ ▲ ▲ ▲ ▲

Structure Theorem Stepwise Refinement Structured Design CASE Booch Method UML UML 2.0

(Bohm-Jacopini) ▲ ▲ ▲ (Computer aided ▲ ▲ ▲

Structured Programming ▲ Data Flow Diagram software engineering) Object Modeling Technique Design Pattern Aspect Oriented Programming

▲ Abstract Data Type ▲ ▲ ▲

▲ Abstract Module ▲ Object-Oriented Software Architecture Test Driven Development

Formal Methods Entity-Relationship Model ▲ Software Engineering ▲

▲ ▲ Design by Contract ▲ Scrum

Warnier Method Jackson Structured Programming Agile Manifesto

▲ ▲ ▲ ▲ ▲

Waterfall Model DoD-2167 DoD-2167A MIL-498 XP

(Royce) ▲ ▲ ▲Spiral Model ISO/IEC 12207 ISO/IEC 15288

(Boehm) ▲ ▲ [Software Life Cycle Process] ▲ [System Life Cycle Process]

ISO 9000 CMM CMMI

▲ ▲ ▲ ▲ ▲ ▲ ▲Program Quality Characteristics of Factors in Software Quality ▲ ISO/IEC 9126 ISO/IEC 14598 ISO/IEC 15939 ISO/IEC 25000

(Rubey) Software Quality (Boehm) (McCall) GQM [Product Quality] [Software Product [Software Measurement [Software Quality Requirements

▲ ▲ ▲ ▲ (Basili) Evaluation] Process] and Evaluation]

Lines of Code(LOC) Token count Function Point(Albrecht) COCOMO ▲(Halstead) Putnam model (Boehm) IEEE Std 1061

▲ ▲ ▲ [Software Quality Metrics Methodology]

Software Reliability Model Reliability Growth Non-Homogeneous Poisson Process

(Jelinski&Moranda) (Coutinho) (Goel&Okumoto)

▲ ▲Cyclomatic Complexity Software Science(Halstead)

(McCabe) �

Software Metrics(Gilb)

▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲Program Test Methods Symposium 1st Workshop 2nd 3rd International Symposium on Software Testing and Analysis (ISSTA)

▲ ▲ on Software Testing Workshop Workshop Testing, Verification, ▲ ▲Courant Symposium IEEE Symposium on Computer Software Reliability and Analysis (TAV) ▲ ▲ ▲ ICST

on Debugging Techniques ▲ ROSATEA ROSATEA

in Large Systems International Conference on Reliable Software (Role of Software Architecture in Testing and Analysis)

▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲[Decision Table] [Test design by Decision table] Cause-Effect Graphing Decision Table Equivalence Partitioning Orthogonal Array Testing OATS AETG

(GE, Sutherland) (Scheff) ▲ (Elmendorf) Testing Boundary Value Analysis (Fujitsu) *Orthogonal array testing *Pairwise testing

[Equivalence Partitioning] (Myers) (AT&T) (Bellcore) ▲

▲ [Boundary Value Analysis] ▲ ▲ ▲ Component-based Software Testing

Gedanken-experiments on sequential machines (Elmendorf) n-switch Coverage Domain Testing Object-oriented Testing ▲(Moore) (Chow) ▲ Architecture-based Testing

▲ ▲ ▲ ▲ ▲ Exploratory Testing

Path analysis Coverage analyzer Coverage[TER] Coverage[Cx] Data Flow Testing (Kaner)

(Miller & Maloney) (Hirsh) (Brown) (Miller) ▲ ▲Basis Path Testing ▲ Fuzz Testing ▲

(McCabe) Mutation Testing ▲ ▲ (B. Miller) Operational Profiles ● ▲

▲ ▲ IEEE 829 IEEE 1008 (Musa) ISTQB ISO/IEC 29119 development start

Inspection Software FMEA [Test Documentation] [Unit Testing] (Software Testing )

(Fagan) (Reifer)

▲ ▲ ▲ ▲

▲ FIPS 101 IEEE 1012 W-Model TMap ▲ ▲ ▲

V-Model (Lifecycle V,V&T) (V&V Plans) (Herzlich) SW-TMM TPI TMMi

■ � � ■ � � � �

Checking a Large Routine Digital Computer Programming Program Test Methods The Art of Software Testing Software Testing Techniques 2nd Ed. Testing Object-Oriented Systems

(Turing) (McRacken) Fundamentals (Gruenberger) (Hetzel) � (Myers) � (Beizer) (Binder)

■ ■ (Leeds & Weinberg) ■ Software Reliability Software Testing Techniques

Computing Machinery and Intelligence Review of Evaluation of the Functional Testing � (Myers) (Beizer)

(Turing) "Digital Computer Programming" of Control Programs Program Style,・・・, Debugging, and Testing ● Special Issues

(Baker) (Elmendorf) � (Tassel) � ■ Papers, Articles

Debugging Techniques in Large Systems Tutorial: Program Testing Techniques � Books, Magazines

(Rustin) ■ (Miller) #### Establishment

Theory of Test Data Selection

(Goodenough & Gerhart)

#### (Software engineering technical committee) ▲ #### ####JEIDA founded 1st research report on software engineering IPA Sigma project IPA SEC(Software Engineering Center)

#### #### ▲ ▲IPSJ founded Software Engineering SIG ICSE in Tokyo COMPSAC in Tokyo

� ● ● ● ● ● ● ● ● ● Embedded software development

IPSJ Magazine "Joho Shori" Special issue on Software Software engineering Software tools Current status of software engineering Software management Software process Software project management ●(1st issue) ■ ■ Program testing(Kishida) Hot topics on software testing ●

An approach for software inspection ■ Testing techniques for software(Chusho) Trend of software reviews, software inspections

(Kanno) and defect prevention

#### ▲ 1st SPC symposium �

Software Production Control research committee (SPC) Software Quality Body of Knowledge (SQuBOK)

� � � ####Software Engineering Software inspection and quality assurance Concepts and practices of JUSE Certified Software Quality Engineer (JCSQE)

(Kanno) (Ishii(Ed)) software quality assurance(Yasuda)

Software quality management practices

■ ● (Moriguchi(Ed))

Software quality control Special issue

and productivity on software quality control

▲ ▲

1st Software symposium ####SEA founded

#### ▲ ▲TEF Japan Symposium on Software Testing (JaSST)

#### #### ASTER founded

� ■ ● ● Japan Software Testing Qualifications Board(JSTQB) ▲

"Business Communication" Program Testing Test methods for online system Practical software engineering #### #### Test skill standard

(1st issue) (Shibuya,Fujiwara) ASTA WACATE (Test.SSF(β))

� ■ ■ ■ (Asia Software Testing Alliance)

"bit"(1st issue) Road to software engineering Software testing Software testing techniques

<Kyoritsu Shuppan> (Miyamoto) (Kishida) (Tamai) �

� � "Software Test PRESS"(1st issue)

Software engineering - Current and prospects Software testing techniques

(Miyamoto) (Tamai)

#### ● ● ●["Software Works" founded(Hitachi)] Hitachi Review Hitachi Review Hitachi Review[Current topics on software engineering]

[Software development technology] [Software engineering]

● �

FUJITSU magazine Fujitsu's software quality assurance in practice(Kubo)

[Reliability] ● ●Toshiba Review NEC Technical Journal

[Software engineering] [Software engineering]

� � (Japanese translation)

Japan's Software Factories (Cusumano)

� � � �

Program Test Methods(Hetzel) The Art of Software Testing(Myers) Software Testing Techniques 2nd Ed.(Beizer) Black-Box Testing(Beizer)

� Program Style,・・・, Debugging, and Testing(Tassel) �

� Software Reliability(Myers) Testing Computer Software 2nd ED.(Kaner)

▲ ▲ ▲ ▲

▲ AGENT Orthogonal Array Testing Case Flow Diagram HAYST method

("needle probe") (*CEG test tool) <Fujitsu> <NEC> (*Orthogonal Array)

<Hitachi> <Hitachi> Function Diagram <Fuji Xerox>

<Hitachi>

(*1) "Kako no jyouhou seisaku to jyouhou sangyou ni kansuru chousa bunseki ni tsuite"(in Japanese), IPA, March 2004(*2) The Future Engineering of Software: A Management Perspective (Basili, Musa), 1991 © K.Tatsumi, 2012(*3) A View of 20th and 21st Century Software Engineering (Boehm), 2006(*4) The Growth of Software Testing (Gelperin & Hetzel), 1988

199519951995199519651965196519651950195019501950 1955195519551955 1960196019601960

Top-down Programming

Computer Programming Program Testing & Validating

1970197019701970 20102010201020102000200020002000 20052005200520051975197519751975 1980198019801980 1985198519851985 1990199019901990

Hardware

Software

The History of Software Engineering and Software Testing

The opening of computer era

The Era of "Computer" Paradigm

Promotion of "Madein Japan computers"

development

Spreading thedistributed

processing network

Exploration of computermarkets (mainly by IBM)

A growth phase ofmini-computers and

software markets

Birth andpopularization ofPC/Workstations

Transition to OpenSystem

The Era of "Information Processing" Paradigm

Rapid growth ofinternet

IT as a socialinfrastructure

The Era of "Network" Paradigm

Software

Hardware

World

((((USA))))

Japan

Systems,

Projects,

Services

Systems,

Projects,

Services

Evolution of IT

Paradigm (*1)

Computer System

sSoftware Engineering, Software Testing

Conferences, Symposium

The Era of CloudComputing Paradigm ?

Management Perspective (*2)

Evolution of Software Engineering (*3)

The Quality EraThe Functional Era The Schedule Era The Cost Era

Antithesis:Concurrent vs. Sequential Processes

Antithesis:Software Crafting

Synthesis and Antithesis:Formality and Waterfall Processes

Synthesis:Productivity and Scalability

Thesis:Software Engineering is Like Hardware

Engineering

Antithesis and Partial Synthesis:Agility and Value

The Prevention-Oriented PeriodThe Demonstration-Oriented PeriodThe Destruction-Oriented Period

The Evaluation-Oriented Period

The Debugging-OrientedPeriod

Communities and

publications

Special issues of

periodicals from

computer makers

Japanese translations

of test publications

Testing techniques

deviced in Japan

Information ProcessingSociety of Japan (IPSJ)

Japan Electronic IndustryDevelopment Association

(JEIDA)

Union of Japanese Scientistsand Engineers (JUSE)

Japanese Society forQuality Control (JSQC)

Software EngineersAssociation (SEA)

Japan Standards Association (JSA)

Testing Engineer's Forum (TEF)

Nippon Telegraph and TelephonePublic Corporation

Other publishers

Japan

Symposium

Testing Techniques

V&V, Test Process

Books, Papers

The Growth of Software Testing

World

(USA)Development

Methodologies

Management, Process

Quality Model,

Measurement

Testing, Analysis

Association of SoftwareTest EngineeRing (ASTER)

(*4)

Information-technologyPromotion Agency (IPA)

World and Japan