16
Wenn Sie diesen Text lesen können, müssen Sie die Folie im Post-Menü mit der Funktion «Folie einfügen» erneut einfügen. Sonst kann die Fläche nicht eingefärbt werden! SOFTWARE TESTING IN INDUSTRY BACHELOR THESIS – MARKUS EGGIMANN 1 ST PRESENTATION

BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Wenn Sie diesen Text lesen können, müssen Sie die Folie im Post-Menü mit der Funktion «Folie einfügen» erneuteinfügen. Sonst kann die Fläche nicht eingefärbt werden!

SOFTWARE TESTING IN INDUSTRYBACHELOR THESIS – MARKUS EGGIMANN1ST PRESENTATION

Page 2: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

– Motivation– Research questions

– Research objects– Research methods– Intermediate results– Discussion

Page 2Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

CONTENT

Page 3: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Page 3Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

MOTIVATION

Testing?

Quality!

Fast Deployment!

Short Release Cycles!

Find Bugs!

Page 4: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Page 4Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

MOTIVATION

# Test Cases?

Page 5: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Relation between bugs and unit tests- Does the discovery of bugs push the writing of tests?

- How many files need to be changed to fix a bug?- Is it easy to write new tests?

Quality of unit tests- Do existing tests prevent the occurrence of bugs?- Are there bugs which occurred again after they were fixed?

Page 5Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

RESEARCH QUESTIONS

Page 6: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Project ePostOffice- Digital platform for receiving and sending physical and electronic mail

- Mixed technologies

- Ongoing for 6 years

Project PostApp- App of the Swiss Post (Opening hours, location services, parcel tracking, …)- Xamarin Mobile App

- New release few weeks ago

Page 6Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

RESEARCH OBJECTS

Page 7: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

- Confluence (Wiki, Requirements)

- Jira (Issue-Tracker, SCRUM)

- Git (Version control)

- Subversion (Version control)

Page 7Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

DEVELOPER TOOLS

Page 8: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Page 8Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

RESEARCH METHODS 1/2

Issues, Commits, File changes

Possibly duplicate

Bugs

Defective classes covered by Tests

Defective classes not covered by

Tests

Page 9: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Page 9Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

RESEARCH METHODS 2/2

Possibly duplicate Bugs- Which ones are really duplicate bugs? => Manual inspection- Why did they occur again? => Study history

Defective classes covered by Tests- How good are those tests? => Apply mutation testing to them

Defective classes not covered by Tests- Why are they not covered by tests? => Assess testability of code- How could we test them? => Suggest improvements

Page 10: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Method- Manual inspection of 200 issues/bugfixes

- Classification of Testability

Results- Testability is hard in most cases- Reasons:- GUI components involved

- Violation of Single Responsibility Principle

Page 10Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

INTERMEDIATE RESULTS 1/4TESTABILITY OF CODE AFFECTED BY BUGS

16

29

140

15

0

20

40

60

80

10 0

12 0

14 0

16 0

Ea sy Norm al Hard

Num

ber o

f iss

ues

Testability

Page 11: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Method- Same 200 issues as before

- Retrieve number of affected code files from Database

Results- In 35% of the cases only one file changed- In 54% more than one file changed

Page 11Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

INTERMEDIATE RESULTS 2/4NUMBER OF FILES CHANGED DURING BUGFIX

20

71

26

14

22 23

94 3

13

0 1 1 20

0

10

20

30

40

50

60

70

80

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14More

Num

ber o

f iss

ues

Number of changed code files

Page 12: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Method- Tool to compare diffs on method level

- List of commits which changed same method- Manual inspection of suggestions to find real duplicate bugs

Results- C# files: 20 possibly duplicate bugs, no similar bugs- Java files: 135 possibly duplicate bugs, 7 similar bugs

Page 12Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

INTERMEDIATE RESULTS 3/4DUPLICATE BUGS

Page 13: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Method- Apply mutation testing to bugs which are possibly covered by tests

- Use VisualMutator plugin from Warsaw university

Results- Tool very unstable and slow- No results yet

Page 13Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

INTERMEDIATE RESULTS 4/4MUTATION TESTING

Page 14: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Wenn Sie diesen Text lesen können, müssen Sie die Folie im Post-Menü mit der Funktion «Folie einfügen» erneuteinfügen. Sonst kann die Fläche nicht eingefärbt werden!

DISCUSSION

Page 15: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Literature– A. Derezińska, P. Trzpil, «Mutation Testing Process Combined with Test-Driven Development in .NET

Environment»

Tools- SQLite: https://sqlite.org/index.html (2018-06-10 20:18)

- Jira: https://www.atlassian.com/software/jira (2018-06-10 20:19)- Bitbucket: https://www.atlassian.com/software/bitbucket (2018-06-10 20:20)- VisualMutator: https://visualmutator.github.io/web/ (2018-06-10 20:17)

Page 15Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

REFERENCES 1/2

Page 16: BACHELOR THESIS –MARKUS EGGIMANN PRESENTATIONscg.unibe.ch/download/softwarecomposition/2018-06... · BACHELOR THESIS –MARKUS EGGIMANN 1ST PRESENTATION – Motivation – Research

Images– https://img.clipartxtras.com/b5fd04d8b609240d4a9a06a3c9cfcc6b_business-presentation-information-clip-art-vector-

business-meeting-clipart-transparent_2694-1293.png (2018-06-09 15:35)

– https://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Chain_link_icon.svg/200px-Chain_link_icon.svg.png(2018-06-09 17:03)

– http://www.publicdomainfiles.com/show_file.php?id=13921641621986 (2018-06-09 17:04)

– https://www.atlassian.com/company/news/press-kit (2018-06-09 17:05)

– https://commons.wikimedia.org/wiki/File:SQLite370.svg (2018-06-09 17:05)

– https://commons.wikimedia.org/wiki/File:Logo_Universit%C3%A4t_Bern.svg (2018-06-09 19:15)

– App Icons from the ePof and PostApp project taken from their code repositories

Page 16Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann

REFERENCES 2/2