首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
介绍了在LINUX环境下采用测试驱动开发(Test-Driven Development,TDD),对大规模C++软件系统进行增量开发的方法。通过采用Google单元测试框架优化单元测试用例结构,提高单元测试的效率,采用新一代版本构建工具Scons优化复杂的代码依赖关系,采用分布式编译工具Distcc、编译器缓存工具C Cache优化版本构建时间,极大减少了软件开发人员在开发过程中进行TDD所必需的频繁本地构建的成本,为在大规模C++历史遗留系统上,采用TDD进行增量开发,以及进行由此带来的小规模重构提供了有效保证。  相似文献   

2.
介绍测试驱动开发(TDD),以某通讯系统中测试驱动开发实现为例,从理论与实践上论证了在复杂系统中测试驱动开发可提高测试的效率,在整体上确保系统的安全可靠性。  相似文献   

3.
赖勇浩 《程序员》2007,(10):20-22
一、测试驱动开述 极限编程(eXtreme Programming,XP)无疑是敏捷开发(Agile Development)中最受推崇的开发方法论,而测试驱动开发(Test DriVeil Development,TDD)则是极限编程最为重要的组成部分。  相似文献   

4.
崔凯 《程序员》2003,(11):118-121
Kent Beck在其创造的极限编程(XP)方法论中,推荐了“测试先行”这一最佳实践,并撰写《Test—Driven Development》一书。测试驱动开发(TDD)以不断的测试推动代码的开发,既简化了代码,又保证了软件质量,但是如何正确地进行测试,以及如何对代码中难以测试的地方进行测试,却是困扰开发团队的问题。该书跟踪介绍了两个TDD项目,描述了程序员容易上手又能大大提高工作质量的技术。  相似文献   

5.
针对TDD环境下GUI开发这一难点,在研究当前解决方案的基础上提出了新的解决思路,通过实现一个GUI自动化测试系统作为解决方案的重要组成部分。  相似文献   

6.
走出TDD丛林     
王晓毅 《软件世界》2008,(1):124-124
测试驱动开发(Test Driven Development,TDD),是敏捷开发中的一项核心实践和技术,但其思想和技术并不是专用于敏捷开发,而广泛适用于其他开发过程。  相似文献   

7.
刘云赟 《计算机应用》2004,24(Z2):191-193
探讨了测试驱动的软件开发方法在PHP项目中的应用.通过对TDD方法的简要介绍,分析了在PHP中应用TDD同其他语言环境的区别.以具体例子说明PHP中实施TDD的过程方法,体会TDD的思想精髓以及PHP的语言特性.总结出在PHP中应用TDD具有半对象/半过程的混合型特点.还使用了PHP自动化单元测试框架PHPUnit,并涉及到一些常用的测试模式.  相似文献   

8.
轻量级Java EE框架下软件测试的应用研究   总被引:1,自引:0,他引:1  
软件开发中,软件测试的作用越来越重要.目前,轻量级Java EE框架得到了广泛流行,如何在该框架下进行高效、方便的单元测试和集成测试,具有重要意义.从轻量级Java EE框架的特点出发,结合测试驱动开发(TDD)的理念,分析了采用Mtxk、EasyMock进行仿真单元测试的方法;利用依赖注入(DI)与事务管理进行集成测试;对Spring与Hibemate结合的一个集成测试问题,给出了运用面向切面编程的环绕通知的解决办法.文中总结的测试方法与经验,对于轻量级框架下的管理信息系统的测试准备、部署以及实施,能够显著提高效率,同时也有助于TDD团队的组织与合作.  相似文献   

9.
敏捷开发模式的盛行掀起了自动化测试的一轮热潮,测试和开发合作越来越密切。本文研究的自动化测试框 架,将BDD 的敏捷开发理念与软件测试相融合,通过统一的Gherkin 语言定义验收测试标准,帮助业务人员、测试人员和开发 人员形成对需求明确统一的认识,然后通过web driver 测试代码实现可执行的验收测试,以TDD 的方式实现产品代码。该框 架使用Specflow、Selenium 和MsTest 等测试工具,真正实现了自动化测试,大大减少了手工测试的压力,促进开发测试过程中 软件开发涉众之间的沟通,及时得到用户反馈,满足快速发布产品的需求,提升产品质量。  相似文献   

10.
针对处理器的数据通路中的通路时延故障,提出一种基于指令集的处理器时延测试产生方法.对于每条指令提取出状态矩阵,并基于状态矩阵将通路分为功能不可测(FUPs)和潜在功能可测的(PFTPs).对PFTPs记录潜在测试指令(序列)组合,提取控制和数据约束,在门级进行有约束的非强健时延测试产生.最后的测试指令由控制指令(序列)+潜在测试指令(序列)+观测指令(序列)构成.  相似文献   

11.
测试驱动开发及开发实践   总被引:2,自引:0,他引:2  
张扬  黄厚宽 《微机发展》2006,16(5):74-76
极限编程是适应于中小型团队在需求不明确或迅速变化的情况下进行软件开发的轻量级方法学。测试驱动开发作为极限编程思想的一种主要实践,可以有效地让程序开发人员开发出更高品质的、经过完整测试的程序。文中介绍了测试驱动开发思想,对测试驱动开发过程给出了清晰的流程,总结了测试驱动开发的多种模式。最后介绍了如何用JUnit进行测试驱动开发。  相似文献   

12.
Support for test-driven development [TDD] is growing in many development contexts beyond its common association with extreme programming. By focusing on how TDD influences design characteristics, we hope to raise awareness of TDD as a design approach and assist others in decisions on whether and how to adopt TDD. Our results indicate that test-first programmers are more likely to write software in more and smaller units that are less complex and more highly tested. We weren't able to confirm claims that TDD improves cohesion while lowering coupling, but we anticipate ways to clarify the questions these design characteristics raised. In particular, we're working to eliminate the confounding factor of accessor usage in the cohesion metrics.  相似文献   

13.
测试驱动开发是与传统程序开发方式相反的一种新型程序设计方法.它以测试编码来推动程序设计,大大缩减了设计和编码的冗余度.介绍了测试驱动开发基本思想、本质,并对测试驱动开发过程给出了清晰的流程,总结了测试驱动开发的优点.  相似文献   

14.
测试驱动开发是与传统程序开发方式相反的一种新型程序设计方法。它以测试编码来推动程序设计,大大缩减了设计和编码的冗余度。介绍了测试驱动开发基本思想、本质,并对测试驱动开发过程给出了清晰的流程,总结了测试驱动开发的优点。  相似文献   

15.
Guest Editors' Introduction: TDD--The Art of Fearless Programming   总被引:1,自引:0,他引:1  
Test-driven development is a discipline of design and programming where every line of new code is written in response to a test the programmer writes just before coding. This special issue of IEEE Software includes seven feature articles on various aspects of TDD and a Point/Counterpoint debate on the use of mock objects in applying it. The articles demonstrate the ways TDD is being used in nontrivial situations (database development, embedded software development, GUI development, performance tuning), signifying an adoption level for the practice beyond the visionary phase and into the early mainstream. In this introduction to the special issue on TDD, the guest editors also summarize selected TDD empirical studies from industry and academia.  相似文献   

16.
在软件需求增加和规模增大,却又要能做出及时交付给用户并且让用户满意的软件的时期,传统的软件工程方法显得有些力不从心,且已经遭到人们的质疑,而最近兴起的一种软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法,这就是敏捷软件开发方法。测试驱动开发TDD(Test-Driven Development)是极限编程过程(一种敏捷开发)的重要特征,其对控制软件开发进度和开发质量有非常重要的作用。它的基本思想就是在开发前根据对将要开发的程序的要求,先写好所有测试代码,并且在开发过程中不时地通过运行测试代码来获得所开发的代码与所要求的结果之间的差距。这些活动的进行很大程度上依赖着程序的断言代码。因此断言代码的全面性及完整性深深地影响着一个程序的开发进度和质量。  相似文献   

17.
On the effectiveness of the test-first approach to programming   总被引:2,自引:0,他引:2  
Test-driven development (TDD) is based on formalizing a piece of functionality as a test, implementing the functionality such that the test passes, and iterating the process. This paper describes a controlled experiment for evaluating an important aspect of TDD: in TDD, programmers write functional tests before the corresponding implementation code. The experiment was conducted with undergraduate students. While the experiment group applied a test-first strategy, the control group applied a more conventional development technique, writing tests after the implementation. Both groups followed an incremental process, adding new features one at a time and regression testing them. We found that test-first students on average wrote more tests and, in turn, students who wrote more tests tended to be more productive. We also observed that the minimum quality increased linearly with the number of programmer tests, independent of the development strategy employed.  相似文献   

18.
Existing empirical studies on test-driven development (TDD) report different conclusions about its effects on quality and productivity. Very few of those studies are experiments conducted with software professionals in industry. We aim to analyse the effects of TDD on the external quality of the work done and the productivity of developers in an industrial setting. We conducted an experiment with 24 professionals from three different sites of a software organization. We chose a repeated-measures design, and asked subjects to implement TDD and incremental test last development (ITLD) in two simple tasks and a realistic application close to real-life complexity. To analyse our findings, we applied a repeated-measures general linear model procedure and a linear mixed effects procedure. We did not observe a statistical difference between the quality of the work done by subjects in both treatments. We observed that the subjects are more productive when they implement TDD on a simple task compared to ITLD, but the productivity drops significantly when applying TDD to a complex brownfield task. So, the task complexity significantly obscured the effect of TDD. Further evidence is necessary to conclude whether TDD is better or worse than ITLD in terms of external quality and productivity in an industrial setting. We found that experimental factors such as selection of tasks could dominate the findings in TDD studies.  相似文献   

19.
Test-driven development (TDD) is a style of development named for its most visible characteristic: the design and implementation of test cases prior to the implementation of the code required to make them pass. Many claims have been made for TDD: that it can improve implementation as well as design quality, that it can improve productivity, that it results in 100% coverage, and so forth. However, research to validate these claims has yielded mixed and sometimes contradictory results. We believe that at least part of the reason for these results stems from differing interpretations of the TDD development style, along with an inability to determine whether programmers actually follow whatever definition of TDD is in use. Zorro is a system designed to automatically determine whether a developer is complying with an operational definition of Test-Driven Development (TDD) practices. Automated recognition of TDD can benefit the software development community in a variety of ways, from inquiry into the “true nature” of TDD, to pedagogical aids to support the practice of test-driven development, to support for more rigorous empirical studies on the effectiveness of TDD in both laboratory and real world settings.  相似文献   

20.
Test-Driven Development (TDD) is an extreme programming development method in which a software system is developed in short iterations. In this paper we present the Test-Driven Conceptual Modeling (TDCM) method, which is an application of TDD for conceptual modeling, and we show how to develop a conceptual schema using it. In TDCM, a system's conceptual schema is incrementally obtained by performing three kinds of tasks: (1) Write a test the system should pass; (2) Change the schema to pass the test; and (3) Refactor the schema to improve its qualities. We also describe an integration approach of TDCM into a broad set of software development methodologies, including the Unified Process development methodology, the MDD-based approaches, the storytest-driven agile methods and the goal and scenario-oriented requirements engineering methods. We deal with schemas written in UML/OCL, but the TDCM method could be adapted to the development of schemas in other languages.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号