combinatorial testing in japan

19
Combinatorial Testing in Japan - History, applications, techniques and tools - Keizo TATSUMI Fujitsu Ltd. / ASTER 1 July 16, 2013 1) The author is a member of Specified Nonprofit Corporation “Association of Software Test Engineering (ASTER)” in Japan 1 (c) K. Tatsumi 2013 “Workshop on Combinatorial Testing for Complex Computer Systems” In conjunction with ICECCS 2013 July 16, 2013, Singapore

Upload: keizo-tatsumi

Post on 10-May-2015

1.007 views

Category:

Technology


3 download

DESCRIPTION

2013年7月16日にシンガポールで開催された1st Asian Workshop on Combinatorial Testing for Complex Computer Systems (AWCTCCS) で発表した資料

TRANSCRIPT

Page 1: Combinatorial testing in Japan

Combinatorial Testing in Japan - History, applications, techniques and tools -

Keizo TATSUMI Fujitsu Ltd. / ASTER1

July 16, 2013

1)The author is a member of Specified Nonprofit Corporation “Association of Software Test Engineering (ASTER)” in Japan

1 (c) K. Tatsumi 2013

“Workshop on Combinatorial Testing for Complex Computer Systems” In conjunction with ICECCS 2013

July 16, 2013, Singapore

Page 2: Combinatorial testing in Japan

Outline

Prevailing view to the history of CT

The actual history

Prehistory The early history of Fujitsu's mainframe computers

Test case design process in Fujitsu

The birth of CT Application of Design of Experiments

Test case design support system

Transferred CT technique to US

Genealogy of combinatorial testing

Current status of CT in Japan HAYST method

PictMaster

Concluding remarks

2 (c) K. Tatsumi 2013

Page 3: Combinatorial testing in Japan

Prevailing view to the history of CT

3 (c) K. Tatsumi 2013

Mandl's paper is the first ??

Page 4: Combinatorial testing in Japan

The actual history

(1957: Decision table)

~1967: Equivalence partitioning, Boundary value analysis

1970: Cause Effect Graph [Elmendorf]

(1989~)1992: OATS [Brownlie, Prowse, Phadke]

(1990~)1994: CATS [Sherwood]

(1992~)1994: AETG [Cohen, et. al]

AT&T, Bellcore

1980 1990 2000 2010 1950 1960 1970 ‘85 ‘95 ‘05

Combinatorial techniques

1984: Orthogonal array / Combination table [Satoh, Shimokawa]

2000: CTE XL [Daimler Chrystler]

1987: Test Case Design Support System [Tatsumi]

1985: Orthogonal Latin Squares [R. Mandl]

1988: Category-partition method [Ostrand, Balcer]

(1976: Test Factor Analysis Method) [Fujitsu] Input modeling

techniques 1993: Classification-tree method

[Grochtmann, Grimm]

2007: FireEye 2009:ACTS (IPOG) [Lei, Kuhn]

(2000~)2004: PICT [Microsoft]

Fujitsu

<Testing techniques>

4 (c) K. Tatsumi 2013

(*1) S. Sato and H. Shimokawa, Methods for setting software test parameters using the design of experiments method (in Japanese), in Proceedings of 4th Symposium on Quality Control in Software, Union of Japanese Scientists and Engineers (JUSE), 1984, pp. 1–8.

(*1)

Page 5: Combinatorial testing in Japan

(c) K. Tatsumi 2013 5

Prehistory

The early history of Fujitsu's mainframe computers

M. A. Cusumano, "Japan's Software Factories: A Challenge to U.S. Management," Oxford University Press, 1991 K. Tatsumi, The History of Software Engineering and Software Testing - World and Japan - http://a-lifelong-tester.cocolog-nifty.com/Chronology/ChronologyEng.html

‘65 1970 1980 ‘85 ‘75 1990 ‘55 1960

FACOM 100

FACOM

128A

FACOM

222

FACOM

230series

FACOM 230-60

Amdahl 470V/6

FACOM M-190

FACOM M-200

FACOM M-380

FACOM M-780

FUJITSU M-1800

19

54

19

58

19

61

19

64

19

68

19

75

19

78

19

76

19

81

19

85

19

90

FACOM

128B

19

56

Relay Transistor Integrated

circuits

FACOM 230-75

19

70

19

73

FACOM 230-8series

LSI

ALGOL compiler

FORTRAN compiler

Data communications

MCP II (for 230-20/30)

19

60

19

63

19

65

MONITOR V (large-scale)

19

68

TSS

PL/I compiler

BOS (mid-scale)

19

71

19

69

COBOL compiler

DB/DC

BOS/VS OSII/VS

19

74

MONITOR VI/VII

19

75

OSIV/F4 (M-series OS)

19

77

19

82

OSIV/F4 MSP

19

81

OSIV/F2 ESP

19

83

OSIV/X8 FSP

OSIV/F2 OSIV/X8

RDB AIM

(Online DB)

Operating systems

Networking, DB/DC

Compilers

19

66

MONITOR II (for 230-50)

OSII

19

89

OSIV/MSP (MSP-EX)

19

90

OSIV/FSP

1966 Programming Department established

1968 Program Testing Section established

1974 Software Development Division established

Page 6: Combinatorial testing in Japan

(c) K. Tatsumi 2013 6

Prehistory

Test case design process in Fujitsu

<Test factor table>

A B C D

1 a1 b1 c1 d12 a2 b2 c2 d23 a3 c3 d34 c4

States

Factors

Factors A B C D

Test case 1 a1 b1 c1 d1

Test case 2 a2 b2 c3 d2

Test case n a3 b1 c4 d3

<Test case table>

foo command [Functions]

[Syntax]

・・・・・

1. ・・・

2. ・・・

<External specifications> (From early 1970s)

Step1. Test Classification • Functions are divided into smaller units.

Step2. Test Factor Analysis • Input conditions and environmental

conditions (Factors) and their values (States) are identified from external specifications.

Step3. Test Case Generation • Test cases are generated by combining

the states of the factors.

Step4. Definition of Test Results • Expected results are defined for each

generated test cases.

Page 7: Combinatorial testing in Japan

(c) K. Tatsumi 2013 7

The birth of CT

Application of Design of Experiments

Constraints handling like Cause-Effect Graph - Exclusive - Inclusive - One and only one

From Tatsumi's COMPSAC'87 presentation slides

(1983-1984)

Page 8: Combinatorial testing in Japan

(c) K. Tatsumi 2013 8

The birth of CT

Test case design support system

(1986-1987)

From Tatsumi's COMPSAC'87 presentation slides

Whole process support

• From test classification to test case generation

• Test documentation and revision management

Refinement

• Generation algorithm

• Constraints handling

– Between state-state, factor-

state, factor-factor

» Exclusive combination

» No combination

» Required combination

» Grouping of states

Page 9: Combinatorial testing in Japan

(c) K. Tatsumi 2013 9

Transferred CT technique to US

Publications in English T. Yoshida, “Attaining Higher Quality in Software

Development - Evaluation in Practice”, FSTJ, 1985

K. Tatsumi, "Conceptual Support for Test Case Design", COMPSAC'87

K. Tatsumi, "Test Case Design Support System", ICQC'87

T. Yoshida, "Attaining Higher Quality in Software Development - Evaluation in Practice -", Fujitsu Scientific and Technical Journal, Vol.21, pp.305-316, 1985 T. Yoshida, “Technology transmission and transfer (in Japanese)", pp.113-114, JUSE press, 1994

Introducing to AT&T in 1989 (According to Yoshida's book)

Yoshida was requested for explanation about application of DoE from some AT&T engineer who had read his FSTJ paper.

He and colleagues had a meeting with AT&T engineers and explained the technique at Marriott hotel in Somerset, N. J. on 30th April in 1989. It was while his travelling as a member of the 1st Software Production Quality Control Study Team of JUSE.

Tatsumi’s ICQC paper was the one of documents for explanation.

Page 10: Combinatorial testing in Japan

Genealogy of combinatorial testing

10 (c) K. Tatsumi 2013

1920-1930 Design of Experiment (Fisher)

1940 Orthogonal Array (Rao)

Quality Engineering (Taguchi)u

<Industry> Quality Engineering Forum founded

Robust testing for software engineering (Phadke)

Application of QE to software testing (Taguchi)

Case studies for software testing(Epson, Minolta, Matsushita)

Orthogonal array HAYST method development startbased testing

Presented at Book published Tool releasedApplication of DoE the symposiumto software testing Test Case Design Support System (Tatsumi)

Reported on Fujitsu's English journal

PictMaster (Iwatsu)Case studies (NEC, IBM Japan)

<Academia> CIT-BACHCombinatorial design Genetic Algorithm

u u "Taguchi methods" namedIntroduction of QE(Xerox,Bell Lab) u

Fujitsu-AT&T meeting

OATS (Brownlie, Phadke et.al.)CATS (Sherwood)

AETG (Cohen et.al.)Application of DoE to compiler testing (Mandl)

PICT(Microsoft) ACTS(NIST)

1995 2000 2005 20101985 19901950 1960 1970 1980

Quality

Engineering

Community

Software

Engineering

Community

JAPAN

USA

[Fuji Xerox]

[Fujitsu]

[AT&T]

[Osaka univ.]

Computational Approaches

Algebraic Approaches (OA, CA)

[Bellcore]

Page 11: Combinatorial testing in Japan

Current status of CT in Japan

Software testing community

ASTER: Association of Software Test EngineeRing

• Non profit organization for promoting software testing

• Operated / Managed by volunteers of software testing experts

• Activities

– Conference - JaSST: Japan Symposium on Software Testing

– Certification - JSTQB: Japan Software Testing Qualifications Board, member of ISTQB

– International collaboration - ASTA (Asian Alliance) / ISO-IEC (International Std.)

– Education - Seminars / Open materials / Univ. Curriculum / Test.SSF (Skills Standard)

– Research - Research groups on Test Architecture and on Bug Analysis

(1/2)

11 (c) K. Tatsumi 2013

Page 12: Combinatorial testing in Japan

Current status of CT in Japan

Number of papers and presentations on CT

1984-’90: 9, ’91-’95: 0, ’96-’00: 6, ’01-’05: 9, ’06- : 31

Applications of CT (Questionnaire survey to the software testing experts of 5 major IT vendors)

CT has already been applied in all the vendors

Tools • PICT, PictMaster, ACTS, HAYST, In-house tools

Issues • Test design phase before combination is essential • Selection criteria for CT with other similar testing techniques

Popular tools

HAYST method PictMaster

(2/2)

12 (c) K. Tatsumi 2013

Page 13: Combinatorial testing in Japan

HAYST method

About

Orthogonal array based testing technique

Developed by Fuji Xerox in 2000

"Introduction to the HAYST method" in 2007

Test case design methodology

“Function Verification table” for test analysis

“Ralph's chart” for modeling the system under test

“Function Level table” for extracting factors and levels

13 (c) K. Tatsumi 2013

(1/4)

Input(Signal factor)M {M1, M2, M3,…}

Output(Response)R

Noise, Active noise(Noise factor)

z {z1, z2, z3 ・・・} , az {az1, az2, az3 ・・・}

Targ

et

read write

State(= Combination of internal variables)

(Signal factor)ms {ms1, ms2, ms3 ,…}

No. Objective function Verification contents Testing technique No. Factor Level 1 Level 2 … Level N

<FV table> <FL table> <Ralph’s chart>

Page 14: Combinatorial testing in Japan

HAYST method

HAYST method tool “MatrixTester”

Transform from OA (strength 2) templates L4 - L256

Constraints handling

Partial combination assurance (3, 4, 5 way)

Combinatorial coverage calculation

Applications

MatrixTester

• 560 licenses (in-house) and 23 companies (160 licenses) – Manufacturers (Automobile, Medical), Financials, Retailing, Consumer

Electronics, Communications Equipment, Chemicals

Introductory book

• 4000 copies

14 (c) K. Tatsumi 2013

(2/4)

K. Akiyama et al., "Development and Evaluation of HAYST Method Tool," in Proc. SoMeT, 2010, pp.398-414. http://www.hayst.com/Documents/HAYST-MethodTool.pdf (slides) http://www.hayst.com/Documents/20101001-SoMeT.pdf

Page 15: Combinatorial testing in Japan

HAYST method

MatrixTester : input (factors, levels, constraints)

15 (c) K. Tatsumi 2013

(3/4)

Input type Explanation

Factor (Parameter) Name of parameter to be combined

Level (Value) List of values existing in parameter

Importance of factor Factors are grouped and it is possible to specify strength for group

Importance of level Importance of level (Weighting)

Constraint information Constraint condition in combination between levels

Assignment method Normal assignment, Partial combination assurance, rating assurance,

Level consolidation, Room technique, Strength 3, PICT calling

Detection bug

information

Type of bug

Specific factor Value generation type, Fixed value, Sequence number

Form style Form style at the time of Excel output

Auto execution support

information

Windows Dialog GUI information for auto execution

[Constraints]

(Source: Koichi Akiyama, Fuji Xerox)

Page 16: Combinatorial testing in Japan

HAYST method

MatrixTester : output (Test matrix)

16 (c) K. Tatsumi 2013

(4/4)

Type of output Explanation

Test matrix Result of assignment to orthogonal array

Test script Orthogonal array is output to Excel in script format in each line

Appearance status Appearance frequency and combination that does not appear

Rating Rating of combination between 2 factors and 3 factors

Round Robin table Round Robin table indicating appearance status of level combination

between 2 factors and 3 factors

Constraint graph Graph indicating hierarchical status of constraint and that data table

Test analysis result Result of analysis of existence position of bug based on the test result

(Source: Koichi Akiyama, Fuji Xerox)

Page 17: Combinatorial testing in Japan

PictMaster

About

Pairwise testing tool with Excel based GUI

Calls PICT as a test case generation engine

Developed by Toshiro Tsurumaki of Iwatsu in 2008

Applications

20,000 downloads (total) from 2008

System testing for Business phone system in IWATSU

Automotive OS testing

Large scale package software testing

Download at http://en.sourceforge.jp/projects/pictmaster/releases/

17 (c) K. Tatsumi 2013

(1/2)

Mr. Tsurumaki can be contacted at LinkedIn "Combinatorial and Pairwise Testing" group. http://www.linkedin.com/groups/Combinatorial-Pairwise-Testing-4243185

Page 18: Combinatorial testing in Japan

PictMaster

Major Features

GUI support

Constraints table (for generating PICT constraints)

Expected results table

18 (c) K. Tatsumi 2013

(2/2)

(Source: Toshiro Tsurumaki, IWATSU SYSTEM & SOFTWARE)

Page 19: Combinatorial testing in Japan

Concluding remarks

Lessons learned from the history of CT

For evolution of software testing technology, it needs

Openness and collaboration

Tools and methodologies

Challenges in Japan

More focus on upper phase of test process

• Test architecture design, input modeling

Guidelines for choosing the right technique from among many testing techniques

• For what type of software should CT be applied?

19 (c) K. Tatsumi 2013