On Testing Culture in GitHub Projects

综合编程 2012-09-17

Previous research suggests that the publicity on GitHub that is making developers’ actions and interactions more visible might have an effect on how software development practices are communicated and how they diffuse in projects.

My colleagues ( Raphael Pham
, Olga Liskin
, Fernando Figueira Filho
, Kurt Schneider
) and I wondered: which influence does this have on testing practices? Does this create new challenges, and if so, how do developers cope with them? Which strategies do members of GitHub use to create a beneficial testing culture in their projects? To investigate this, we conducted interviews and questionnaires with diverse users of GitHub.


Update:

our paper has been accepted for publication by ICSE 2013
!

Results

We found several interesting phenomena that may support or inhibit testing practices in GitHub projects. For example:

  1. The high social transparency of GitHub supports newcomers in learning the conventions of a project. They might not always read contribution guides; simply watching discussions on pull requests sometimes is enough. Just by watching how other, more senior project members behave, they learn what a good commit looks like.

  2. Infrastructure with low barriers seems to be very important in getting developers to test their contributions. For example, Travis CI
    is a very simple way to add continuous integration to a project. Combined with existing tests that new contributors can simply copy and modify for their own submissions, the barrier to providing tests can be lowered significantly.

  3. Because contribution has become so easy, project owners reported seeing what they called drive-by commits
    . Previous research reported that developers slowly progress from passive participation in the periphery of a project, over filing bugs, to fixing bugs, to at some point adding features as a core member. Drive-by commits
    , however, leave the contributor pretty much uninvolved with a project, let alone its culture.

  4. Some more senior participants reported seeing a change in how tests are written. Some communities now take for granted that new developers learn how to write tests, and they make that very easy by providing clear guidelines and simple frameworks for testing. However, they heavily promote BDD and may put less of a focus on testing edge cases. Especially those learning testing in this environment write tests to make sure that a program behaves a certain way
    , and forget that they might also need to test how it should not behave
    (e.g. on invalid input).

In future work, we plan to dig deeper into some of the issues we found. For example: how do different developer personalities in a project influence the strategies that promote “good” testing behavior? What are the circumstances that make them successful? When do they do more harm than good?

Read our Report!

We published our research as a technical report (PDF): “Creating a Shared Understanding of Testing Culture on a Social Coding Site”
.

On Hackernews: http://news.ycombinator.com/item?id=4532804

责编内容by:Leif Singer's Blog (源链)。感谢您的支持!

您可能感兴趣的

git一小时入门教程,上传到github 1.GIT是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制系统 ①Git可以方便的在本地进行版本管理,如同你本地有一个版本管理服务器...
Bank of Scotland testing out artificial intelligen... The Bank of Scotland is piloting a service that will enable customers to ha...
分支预测:为什么有序数组比无序数组快?... 近几天在搜集一些关于 JavaScript 函数式编程的性能测试用例,还有内存占用情况分析。 我在一年前(2017年1月) 曾写过一篇文章《 J...
如何在Github打造你的爆款开源项目 目前为止我已经有五个流行项目(登上Github的Trending页),所以想分享我的一些经验和方法。 如果你开源过代码,就会知道让别人对你的感兴趣是多么困难...
可能是github上第一款Vue全家桶+Typescript的完整项目... 基于Vue.js的2.5.13版本和TypeScript编写的模仿原生应用的WebApp. :point_right:项目演示地址欢迎star:sp...