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
– 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 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 4Swiss Post and University of Bern | June 19, 2018 | V1.00 | public | Software Testing in Industry | Markus Eggimann
MOTIVATION
# Test Cases?
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
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
- 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 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 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
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
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
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
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
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
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
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
Top Related