“软件工程”文章列表
英文原文:The Developer-Tester Divide 作者:Gil Zilberfeld 译者:蔡坚安 从此以后他们幸福地生活在一起 关于开发人员和测试人员的关系,人们阐述了很多,讨论了很多,争论了很多。而貌似一旦这两者坐在一起,对峙便开始了,两者间的争论多于相互认同。显然,这...
英文原文:Tips to Developers Starting on Large Applications 假如你是一名Java开发者,正在开发和维护包含2000个类并使用了很多框架的应用程序。你要如何理解这些代码呢?在典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文...
英文原文: How To: Live and Learn with Retrospectives 软件开发不是孤独的追击,它需要同其他开发者和其他部门协作。大多数组织建立的软件生命周期没有涉及到如何进行这些交互。现实是许多团队的过程并不符合他们的要求或没有得到一贯地遵循。当发生这种情况时,很容...
重构,是编写代码必须要面对的一项操作,同时也应该是程序员乐于实践的一项内容。不论是逻辑实现还是设计过程,乃至整个分层结构,我们都可能面临并且实施重构。这篇文章不会告诉您什么是重构,如何去优美的重构等等的理论,只想和大家分享一些感受,并且探讨一些问题。最近的两周,我一直对我们团队的一个子业务框架做...
英文原文:Implementing Automated Governance for Coding Standards 作者:Mark Figley 译者:罗小平 多数大型开发组织都有一套自己的编码和实践规范。但是对这些团队而言,光是将这些规范文档化,并保证实时更新,就是一个巨大的挑战。此外...
英文原文:How to write good requirements 编写需求文档,在嵌入式开发领域是非常普遍的。需求文档被用来定义开发任务,协调大规模的研发计划。对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以发挥巨大的作用。然而,如...
英文原文:Astonishments, ten, in the history of version control 引言:“如果你想要了解真正的历史,你需要回到在打孔卡上进行人工比对的年代。” —— Jim Rootham 在这个为鳕鱼编写传记都能够流行的年代,写一本记录程序员如何存储代码...
英文原文:Continuous Integration (作者:Martin Fowler,译者:滕云) 原文发布时间:2006年5月1日 翻译时间:2012年2月25日 持续集成是一种软件开发实践,在实践中项目成员频繁地进行集成,通常每个成员每天都会做集成工作,如此,每天整个项目将会有...
英文原文:http://www.nvie.com/posts/a-successful-git-branching-model/ 原文作者:Vincent Driessen 本文经Linux大棚博主总结精简而成。 1 GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理...
今天在微博上看到几位敏捷爱好者(本着讨论问题的态度故隐其名)探讨敏捷测试和质量保证问题,我忍不住也加入了讨论: Z先生原帖:我刚才看到一个大会演讲稿,谈到敏捷测试六大指导原则:1. 仅靠测试人员不可能获得高质量的软件,质量是整个研发团队的责任;2. 场景是不可穷举的,测试活动必须是风险驱动的,...
Thoughtworks 的 Sam Newman 在 Mythoughtworks 的 Software Development 小组中给出了 Evolutionary Architecture 的一些资源。其中一个是 Martin Fowler 与 Rebecca Parsons 在 QCo...
在前文《软件自我识别》中,我们讨论了如果使软件做到自我识别,以促进自动化部署和版本检测等工作。 随着互联网的飞速发展,以及基础设施的改进,越来越多的业务被放......
在前文《自动化部署》中,我们讨论了自动化部署。通过对部署操作脚本化、部署验证自动化、部署环境版本控制、生产部署全自动化等诸多实践,可以让部署完全处于受控状态......
尽管Thoughtworks的首席科学家Martion folwer为“持续集成”下了定义,但由于自身背景与经历的不同,每个人对其都有不同的理解。从狭义上讲,持续集成可......
最近CoolShell上的一篇《TDD并不是看上去的那么美》引起了敏捷社区的高度关注和激励辩论。今天,InfoQ甚至专门举行了一个虚拟座谈会《TDD有多美?》,几位国内敏捷社区......
英文原文:Testing is waste of time, I know that my code works
尽管关于测试驱动开发(TDD)的书和文章有成百上千之多,仍然有很多人从未感受过测试的强大力......
什么是 Scrum ?
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum在英语的意思是橄榄球里的争球。 虽然Scrum是为管理软件开发项目而开发的,......
英文原文:“That’s Not TDD”
几个月前,我去一个客户那里,他们在使用测试驱动开发上遇到了很多问题。
“我们的单元测试用例要半个......
在前文《依赖管理》中,我们讨论了如何在代码变得庞大,组件增多的情况下,做好外部库和内部组件依赖管理,从而提高构建效率。可以应用的实践包括:一次生成,多次复用;......
资深敏捷专家Lisa Crispin在最近的讲座和参与合著的《Agile Testing – A Practical Guide for Testers and Agile Teams》中分享了敏捷软件测试的七个关键......