automated unit test generation during software development · software development josé miguel...

75
AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled Experiment and Think-aloud Observations ISSTA 2015

Upload: others

Post on 13-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

AUTOMATED UNIT TEST GENERATION DURING

SOFTWARE DEVELOPMENT

José Miguel Rojas [email protected]

Joint work with Gordon Fraser and Andrea Arcuri

A Controlled Experiment and Think-aloud Observations

ISSTA 2015

Page 2: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

“Testing is a widespread validation approach in industry, but it is still largely ad hoc,

expensive, and unpredictably effective.”“Software Testing Research: Achievements, Challenges, Dreams,”

A. Bertolino. Future of Software Engineering. IEEE . 2007.

Page 3: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

“Testing is a widespread validation approach in industry, but it is still largely ad hoc,

expensive, and unpredictably effective.”

“Test case generation has a strong impact on the effectiveness and efficiency of testing.”

“…one of the most active research topics in software testing for several decades, resulting in many different approaches and tools.”

“Software Testing Research: Achievements, Challenges, Dreams,” A. Bertolino. Future of Software Engineering. IEEE . 2007.

”An orchestrated survey of methodologies for automated software test case generation,” S. Anand, E. K. Burke, T. Y. Chen, J. Clark, M.B. Cohen, W. Grieskamp, M.

Harman, M.J. Harrold, P. McMinn. J. Systems and Software. Elsevier. 2013.

Page 4: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled
Page 5: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

BACK IN ISSTA 2013…

“Does automated white-box test generation really help software testers?,” G. Fraser, M. Staats, P. McMinn, A. Arcuri and F. Padberg

Page 6: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

BACK IN ISSTA 2013…

“Does automated white-box test generation really help software testers?,” G. Fraser, M. Staats, P. McMinn, A. Arcuri and F. Padberg

ARE UNIT TEST GENERATION TOOLS HELPFUL TO DEVELOPERS WHILE THEY ARE CODING?

Page 7: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled
Page 8: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CODE COVERAGE

Page 9: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CODE COVERAGE

TIME SPENT ONTESTING

Page 10: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CODE COVERAGE

TIME SPENT ONTESTING

IMPLEMENTATION QUALITY

Page 11: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

Page 12: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

Golden Implementation and Test Suite

Page 13: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

Class TemplateGolden Implementation and Test Suite

Page 14: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

Class Template Implementation and Test Suite

Golden Implementation and Test Suite

Page 15: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

Class Template Implementation and Test Suite

Golden Implementation and Test Suite

Page 16: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

Class Template Implementation and Test Suite

Manual

Golden Implementation and Test Suite

Page 17: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

1 hourClass Template Implementation and Test Suite

Manual

Golden Implementation and Test Suite

Page 18: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

1 hourClass Template Implementation and Test Suite

41

Manual

Golden Implementation and Test Suite

Page 19: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

1 hourClass Template Implementation and Test Suite

41

Manual

Golden Implementation and Test Suite

Page 20: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

1 hourClass Template Implementation and Test Suite

41 2

Manual

Golden Implementation and Test Suite

Page 21: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CONTROLLED EXPERIMENT

1 hourClass Template Implementation and Test Suite

41 42

Manual

Golden Implementation and Test Suite

Page 22: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

DOES USING EVOSUITE DURING SOFTWARE DEVELOPMENT LEAD TO TEST SUITES WITH HIGHER CODE COVERAGE?

RQ 1

Page 23: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

Bran

ch C

over

age

0%

20%

40%

60%

80%

100%

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

50%

26%

57%

39% 41%

83%

38%

63%

Assisted Manual

CODE COVERAGEparticipants’ test suites run on their own implementations

Page 24: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

CODE COVERAGETi

mes

Cov

erag

e w

as c

heck

ed

0

2

4

6

8

10

Category AxisFilterIterator FixedOrderComparator ListPopulation PredicatedMap

6.4

4

9.6

65.3

5.9

1.9

9

Assisted Manual

Times coverage was checked

Page 25: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

ListPopulation

Bran

ch C

over

age

(%)

0%

25%

50%

75%

100%

Time (min)0 10 20 30 40 50 60

ManualEvoSuiteAssisted

CODE COVERAGEparticipant’s test suites run on their own implementations

Page 26: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

ListPopulation

Bran

ch C

over

age

(%)

0%

25%

50%

75%

100%

Time (min)0 10 20 30 40 50 60

ManualEvoSuiteAssisted

CODE COVERAGEparticipant’s test suites run on their own implementations

Page 27: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

ListPopulation

Bran

ch C

over

age

(%)

0%

25%

50%

75%

100%

Time (min)0 10 20 30 40 50 60

ManualEvoSuiteAssisted

CODE COVERAGEparticipant’s test suites run on their own implementations

Page 28: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

ListPopulation

Bran

ch C

over

age

(%)

0%

25%

50%

75%

100%

Time (min)0 10 20 30 40 50 60

ManualEvoSuiteAssisted

CODE COVERAGEparticipant’s test suites run on their own implementations

Page 29: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

Bran

ch C

over

age

0%

20%

40%

60%

80%

100%

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

50%

28%21%

30%

42%37%35%

41%

Assisted Manual

CODE COVERAGEparticipants’ test suites run on golden implementations

Page 30: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

FilterIterator

Bran

ch C

over

age

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

Assisted Manual EvoSuite-generated

CODE COVERAGEparticipant’s test suites run on golden implementations, over time

ListPopulation

Bran

ch C

over

age

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

FixedOrderComparator

Bran

ch C

over

age

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

PredicatedMapBr

anch

Cov

erag

e

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

Page 31: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

FilterIterator

Bran

ch C

over

age

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

Assisted Manual EvoSuite-generated

CODE COVERAGEparticipant’s test suites run on golden implementations, over time

ListPopulation

Bran

ch C

over

age

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

FixedOrderComparator

Bran

ch C

over

age

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

PredicatedMapBr

anch

Cov

erag

e

0%25%50%75%

100%

Time (min)0 10 20 30 40 50 60

Coverage can be higher when using EvoSuite, depending on how the generated tests are used.

Page 32: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

DOES USING EVOSUITE DURING SOFTWARE DEVELOPMENT LEAD TO

DEVELOPERS SPENDING MORE OR LESS TIME ON TESTING?

RQ 2

Page 33: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

TESTING EFFORT

0

3

6

8

11

14

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

5.6

11

12.913.7

4.4

8.27.27.8

Assisted Manual

Number of test runs

Page 34: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

TESTING EFFORT

0

5

10

16

21

26

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

14.3

25

15.8

20

7.7

12.6

9.3

18.5

Assisted Manual

Minutes spent on testing

Page 35: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

TESTING EFFORT

0

5

10

16

21

26

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

14.3

25

15.8

20

7.7

12.6

9.3

18.5

Assisted Manual

Minutes spent on testing

Using EvoSuite reduces the time spent on testing.

Page 36: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

DOES USING EVOSUITE DURING SOFTWARE DEVELOPMENT LEAD TO

SOFTWARE WITH FEWER BUGS?

RQ 3

Page 37: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

IMPLEMENTATION QUALITYGolden test suites run on participants’ implementations

Num

ber o

f Fail

ures

+Err

ors

0

3

6

10

13

16

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

14.3

5.34.3

6.3

15.6

6.4

4.26.1

Assisted Manual

Page 38: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

IMPLEMENTATION QUALITYGolden test suites run on participants’ implementations

Num

ber o

f Fail

ures

+Err

ors

0

3

6

10

13

16

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

14.3

5.34.3

6.3

15.6

6.4

4.26.1

Assisted Manual

Using EvoSuite during development did not lead to to better implementations.

Page 39: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

DOES SPENDING MORE TIME WITH EVOSUITE AND ITS TESTS LEAD TO

BETTER IMPLEMENTATIONS?

RQ 4

Page 40: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

PRODUCTIVITYTime spent with EvoSuite

Corr

elatio

n w

ith

num

ber o

f fail

ures

plus

err

ors

-0.50

-0.40

-0.30

-0.20

-0.10

0.00

0.10

0.20

0.30

0.40

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

-0.490.02

-0.22-0.29

0.350.32

-0.03

0.35

Number of runsTime spent on tests

Page 41: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

PRODUCTIVITYTime spent with EvoSuite

Corr

elatio

n w

ith

num

ber o

f fail

ures

plus

err

ors

-0.50

-0.40

-0.30

-0.20

-0.10

0.00

0.10

0.20

0.30

0.40

FilterIterator FixedOrderComparator ListPopulation PredicatedMap

-0.490.02

-0.22-0.29

0.350.32

-0.03

0.35

Number of runsTime spent on tests

Implementation quality improves the more timedevelopers spend with EvoSuite-generated tests.

Page 42: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

Using automated unit test generation does impact developers’ productivity,

Page 43: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

Using automated unit test generation does impact developers’ productivity,

but…

Page 44: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

…how to make the most outof unit test generation tools?

Using automated unit test generation does impact developers’ productivity,

but…

Page 45: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

J. Hughes and S. Parkes, “Trends in the use of verbal protocol analysis in software engineering research,” Behaviour and Information Technology, vol. 22, no. 2, pp. 127–140, 2003.

K. A. Ericsson and H. A. Simon, Protocol Analysis: Verbal Reports as Data (revised edition). MIT Press, 1993.

Page 46: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

J. Hughes and S. Parkes, “Trends in the use of verbal protocol analysis in software engineering research,” Behaviour and Information Technology, vol. 22, no. 2, pp. 127–140, 2003.

K. A. Ericsson and H. A. Simon, Protocol Analysis: Verbal Reports as Data (revised edition). MIT Press, 1993.

Subject

Page 47: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

J. Hughes and S. Parkes, “Trends in the use of verbal protocol analysis in software engineering research,” Behaviour and Information Technology, vol. 22, no. 2, pp. 127–140, 2003.

K. A. Ericsson and H. A. Simon, Protocol Analysis: Verbal Reports as Data (revised edition). MIT Press, 1993.

Observer

Subject

Page 48: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 49: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 50: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 51: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 52: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 53: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 54: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 55: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 56: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 57: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

THINK ALOUD OBSERVATIONS

2 hoursClass Template Implementation and Test Suite

Golden Implementation and Test Suite

5 41

Page 58: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

RESULTS

Images: http://jozef89.deviantart.com/

3 6 2 2 5

15 20 23 7 10

94% | 92% 97% | 72% 94% | 95% 100% | 94% 100% | 83%

FixedOrderComparator ListPopulationFilterIterator PredicatedMap PredicatedMap

Page 59: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

RESULTS

Images: http://jozef89.deviantart.com/

3 6 2 2 5

15 20 23 7 10

94% 97% 94% | 95% 100% 100%

FixedOrderComparator ListPopulationFilterIterator PredicatedMap PredicatedMap

Page 60: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

RESULTS

Images: http://jozef89.deviantart.com/

3 6 2 2 5

15 20 23 7 10

94% 97% | 72% 94% 100% 100%

FixedOrderComparator ListPopulationFilterIterator PredicatedMap PredicatedMap

Page 61: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

LESSONS LEARNED

Page 62: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

LESSONS LEARNED• There are different approaches to testing and test generation tools

should be adaptable to them

Page 63: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

LESSONS LEARNED• There are different approaches to testing and test generation tools

should be adaptable to them

• Developers’ behaviour is often not driven by code coverage

Page 64: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

LESSONS LEARNED• There are different approaches to testing and test generation tools

should be adaptable to them

• Developers’ behaviour is often not driven by code coverage

• Readability of generated unit tests is paramount

Page 65: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

LESSONS LEARNED• There are different approaches to testing and test generation tools

should be adaptable to them

• Developers’ behaviour is often not driven by code coverage

• Readability of generated unit tests is paramount

• Integration into development environments must be improved

Page 66: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

LESSONS LEARNED• There are different approaches to testing and test generation tools

should be adaptable to them

• Developers’ behaviour is often not driven by code coverage

• Readability of generated unit tests is paramount

• Integration into development environments must be improved

• Education/Best practices: Developers do not know how tobest use automated test generation tools!

Page 67: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled
Page 68: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled
Page 69: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled
Page 70: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled
Page 71: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

“Coverage is easy to assess because it isa number, while readability is a very non-

tangible property…

Page 72: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

“Coverage is easy to assess because it isa number, while readability is a very non-

tangible property…

… What is readable to me may not bereadable to you. It is readable to me justbecause I spent the last hour and a half

doing this.”

Page 73: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

“Coverage is easy to assess because it isa number, while readability is a very non-

tangible property…

… What is readable to me may not bereadable to you. It is readable to me justbecause I spent the last hour and a half

doing this.”—Participant 5

Page 75: AUTOMATED UNIT TEST GENERATION DURING SOFTWARE DEVELOPMENT · SOFTWARE DEVELOPMENT José Miguel Rojas j.rojas@sheffield.ac.uk Joint work with Gordon Fraser and Andrea Arcuri A Controlled

www.evosuite.org/study-2014/

[email protected]