Tes5ng Culture on a Social Coding Site

20
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

Transcript of Tes5ng Culture on a Social Coding Site

Page 1: 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

Page 2: Tes5ng 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

Page 3: Tes5ng Culture on a Social Coding Site

•  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

Page 4: Tes5ng Culture on a Social Coding Site

GitHub  

4 Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF

Page 5: Tes5ng Culture on a Social Coding Site

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

Page 6: Tes5ng Culture on a Social Coding Site

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

Page 7: Tes5ng Culture on a Social Coding Site

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

Page 8: Tes5ng Culture on a Social Coding Site

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

Page 9: Tes5ng Culture on a Social Coding Site

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

Page 10: Tes5ng Culture on a Social Coding Site

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

Page 11: Tes5ng Culture on a Social Coding Site

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

Page 12: Tes5ng Culture on a Social Coding Site

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

Page 13: Tes5ng Culture on a Social Coding Site

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

Page 14: Tes5ng Culture on a Social Coding Site

Challenges  and  Risks  

14

project owner

Raphael Pham - Creating a Shared Understanding of Testing Culture on a Social Coding Site - ICSE 2013 in SF

Page 15: Tes5ng Culture on a Social Coding Site

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

Page 16: Tes5ng Culture on a Social Coding Site

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

Page 17: Tes5ng Culture on a Social Coding Site

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

Page 18: Tes5ng Culture on a Social Coding Site

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

Page 19: Tes5ng Culture on a Social Coding Site

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

Page 20: Tes5ng Culture on a Social Coding Site

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