Tes5ng Culture on a Social Coding Site
Transcript of Tes5ng Culture on a Social Coding Site
Tes$ng Culture on a Social Coding Site
Raphael Pham, Leif Singer, Olga Liskin, Fernando Figueira Filho, and Kurt Schneider
Original Paper Title: Creating a Shared Understanding of Testing Culture on a Social Coding Site
Tes$ng Culture?
2
Rules Training Guidelines
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
• unknown devs • voluntarism • different skills • …
Tes$ng Culture?
3
Social Transparency +
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
GitHub
4 Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
contributor
Collabora$on on GitHub
5
fork
? pull request
X
project owner
project
merge
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
How do developers collaborate on GitHub regarding tes$ng?
6 Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Research Approach
We used Grounded Theory. Initial interviews (10 random, 3 Coderwall)
– no lonely wolves
Focus interviews (20 Intw.)
Validation by questionnaire (569 assessments) – 569 users assessed findings
7 Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
What we found ...
8 Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF Octocat taken from: http://octodex.github.com
contributor
fork
pull request
merge
Contribu$on Process
9
project owner
project Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Contribu$on Process
10
project owner
project test branch
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
contributor
Assessment
11
project owner
project
merge Tests?
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Mo$va$on for Tes$ng Effort
12
project owner contributor
• feeling obliged to
• highlight value • confidence • feeling obliged to - seeing other tests
“[There were no guidelines set up], not so much formally, but it was pretty clear how it was supposed to be tested and there was already an existing spec file [...] with a pretty substantial list of tests”
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Challenges and Risks
13
project owner
“… a lot of people are contributing to [the project] and quality control is becoming more and more important to us. Automated
testing is the only way to get that… ”
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Challenges and Risks
14
project owner
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Coping Strategies and Impact
15
project owner contributor
“I can point them to one of the existing tests. «Check this one, it is really similar to what you need», and in most cases it’s enough.
Sometimes, [...] I do Skype conferences with screen sharing where I can explain, show.”
• test frameworks • educate
• conficende, eager to experiment • use exis$ng tests for own test cases
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Coping Strategies and Impact
16
project owner contributor
• make tes$ng visible • show explicit tes$ng signals
“if you see that image, it immediately rings the bell that there is continuous integration in this project, and as such, there is some
kind of automated testing.”
• set up guidelines Now I know!
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Final Ques$onnaire Results
17 Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF Octocat taken from: http://octodex.github.com
Final Ques$onnaire Results
18
project owner
I need automated tes$ng for this amount of pull requests.
Tests in my project help contributors in wri$ng tests.
200
0
100
200
0
100
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Final Ques$onnaire Results
19
contributor
When I see tests, I will write tests.
I heavily use exis$ng tests for my tests.
200
0
100
350
0
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF
Take Home
20
high employee churn ...
efficiently convey tes$ng culture ?
• make your tes$ng culture visible • guidelines
• exis$ng tests • educa$on sources, tutorials • frameworks, easy setup
• discussions, issues, good solu$on
Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF