首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 47 毫秒
1.
极限编程是适应于中小型团队在需求不明确或迅速变化的情况下进行软件开发的轻量级方法学。测试驱动开发作为极限编程思想的一种主要实践,可以有效地让程序开发人员开发出更高品质的、经过完整测试的程序。文中介绍了测试驱动开发思想,对测试驱动开发过程给出了清晰的流程,总结了测试驱动开发的多种模式。最后介绍了如何用JUnit进行测试驱动开发。  相似文献   

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

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

4.
路静  谢忠  马常杰 《现代计算机》2005,(3):33-35,43
本文主要通过一个实例介绍了测试驱动在软件开发中的应用.首先对极限编程的概念进行了说明,接着阐述了极限编程的某些重要特点以及测试驱动开发的流程,并且把测试驱动开发的思想应用到一个实例当中,最后对测试驱动开发的介绍做了几点补充.  相似文献   

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

6.
极限编程是一种新型软件开发方法,而测试驱动开发是极限编程思想的一种主要实践。本文通过极限编程、测试驱动的理论阐述和用NUnit进行单元测试的实践来阐明测试驱动开发的实施过程。  相似文献   

7.
陈希  徐明昆 《软件》2012,33(12)
在软件工程领域,软件开发过程刻画了一个工程从起始到结束,如何进行计划、控制以及监控的过程.目前在大多数的软件开发中,各大公司采用的仍是传统的瀑布模型.而随着软件变得更大更复杂,传统瀑布模型的开发过程中的开发周期长,各个开发阶段之间的反馈少,不适应用户需求的变化等一系列缺点也被明显地暴露出来.本文在传统软件开发过程的基础上详细介绍测试驱动开发(TDD)模式的理念和其优势,并阐述如何将TDD应用到实际的项目中.  相似文献   

8.
对测试驱动开发中测试用例的自动生成和管理问题进行了研究,并时现有方法进行了分析和比较.给出了一种基于形式化方法的测试用例生成和管理方案.该方案通过形式化语言描述软件规约,并通过相应工具生成和管理测试用例,从而提高了测试驱动开发的效率.最后给出了该方案在极限编程各个开发阶段的应用.  相似文献   

9.
徐锋 《程序员》2003,(12):41-44
软件开发方法学的泰斗Kent Beck先生最为推崇“模式、极限编程和测试驱动开发”。在他所创造的极限编程(XP)方法论中,就向大家推荐“测试先行”这一最佳实践,并且还专门撰写了《测试驱动开发》一书,详细说明如何实现。测试驱动开发是极限编程的重要特点,它以不断的测试推动代码的开发,从而实现既简化代码,又保证质量的目标。一看到“测试先行”、“测试驱动”这样的名字,就深深地激起了我强烈的好奇心,开始了自己的探索之旅……  相似文献   

10.
基于测试驱动技术的档案管理系统的开发   总被引:1,自引:0,他引:1       下载免费PDF全文
刘晶 《计算机工程》2008,34(6):279-280
传统的系统分析设计方法难以保证档案管理系统开发的效率和质量,将测试驱动开发的方法应用于档案管理系统开发,可以明确档案管理系统的开发需求,减少过度设计,加速开发进程,改进软件的质量。该文介绍和分析了测试驱动技术在档案管理系统开发过程中的相关应用。  相似文献   

11.
We conducted a quasi-experiment to compare the characteristics of experts’ and novices’ test-driven development processes. Our novices were 11 computers science students who participated in an Extreme Programming lab course, the expert group consisted of seven professionals who had industrial experience in test-driven development. The novices as well as two of the experts worked in a laboratory environment whereas the remaining five experts worked in their office. The experts complied more to the rules of test-driven development and had shorter test-cycles than the novices. The tests written by the experts were of higher quality in terms of statement and block coverage as well. All reported results are statistically significant on the 5% level. We conclude that the results of studies which evaluate performance of test-driven development using subjects inexperienced in TDD are not easily generalisable.  相似文献   

12.
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.  相似文献   

13.
Test-driven development (TDD) is a software development practice, where test cases are incrementally written before implementing the production code. This paper presents the results of a multi-case study investigating the effectiveness of TDD within an industrial environment. Three comparable medium-sized projects were observed during their development cycle. Two projects were driven without TDD practice, while the third one introduced TDD into the development process. The effectiveness of TDD was expressed in terms of external code quality, productivity, and maintainability. Our results indicate that the TDD developers produced higher quality code that is easier to maintain, although we did observe a reduction in productivity.  相似文献   

14.
15.
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.  相似文献   

16.

Context

Test-driven development is an approach to software development, where automated tests are written before production code in highly iterative cycles. Test-driven development attracts attention as well as followers in professional environment; however empirical evidence of its superiority regarding its effect on productivity, code and tests compared to test-last development is still fairly limited. Moreover, it is not clear if the supposed benefits come from writing tests before code or maybe from high iterativity/short development cycles.

Objective

This paper describes a family of controlled experiments comparing test-driven development to micro iterative test-last development with emphasis on productivity, code properties (external quality and complexity) and tests (code coverage and fault-finding capabilities).

Method

Subjects were randomly assigned to test-driven and test-last groups. Controlled experiments were conducted for two years, in an academic environment and in different developer contexts (pair programming and individual programming contexts). Number of successfully implemented stories, percentage of successful acceptance tests, McCabe’s code complexity, code coverage and mutation score indicator were measured.

Results

Experimental results and their selective meta-analysis show no statistically significant differences between test-driven development and iterative test-last development regarding productivity (χ2(6) = 4.799, p = 1.0, r = .107, 95% CI (confidence interval): −.149 to .349), code complexity (χ2(6) = 8.094, p = .46, r = .048, 95% CI: −.254 to .341), branch coverage (χ2(6) = 13.996, p = .059, r = .182, 95% CI: −.081 to .421), percentage of acceptance tests passed (one experiment, Mann-Whitney = 125.0, p = .98, r = .066) and mutation score indicator (χ2(4) = 3.807, p = .87, r = .128, 95% CI: −.162 to .398).

Conclusion

According to our findings, the benefits of test-driven development compared to iterative test-last development are small and thus in practice relatively unimportant, although effects are positive. There is an indication of test-driven development endorsing better branch coverage, but effect size is considered small.  相似文献   

17.
18.
Background: Test-Driven Development (TDD) is claimed to have positive effects on external code quality and programmers’ productivity. The main driver for these possible improvements is the tests enforced by the test-first nature of TDD as previously investigated in a controlled experiment (i.e. the original study). Aim: Our goal is to examine the nature of the relationship between tests and external code quality as well as programmers’ productivity in order to verify/ refute the results of the original study. Method: We conducted a differentiated and partial replication of the original setting and the related analyses, with a focus on the role of tests. Specifically, while the original study compared test-first vs. test-last, our replication employed the test-first treatment only. The replication involved 30 students, working in pairs or as individuals, in the context of a graduate course, and resulted in 16 software artifacts developed. We performed linear regression to test the original study’s hypotheses, and analyses of covariance to test the additional hypotheses imposed by the changes in the replication settings. Results: We found significant correlation (Spearman coefficient = 0.66, with p-value = 0.004) between the number of tests and productivity, and a positive regression coefficient (p-value = 0.011). We found no significant correlation (Spearman coefficient = 0.41 with p-value = 0.11) between the number of tests and external code quality (regression coefficient p-value = 0.0513). For both cases we observed no statistically significant interaction caused by the subject units being individuals or pairs. Further, our results are consistent with the original study although there were changes in the timing constraints for finishing the task and the enforced development processes. Conclusions: This replication study confirms the results of the original study concerning the relationship between the number of tests vs. external code quality and programmer productivity. Moreover, this replication allows us to identify additional context variables, for which the original results still hold; namely the subject unit, timing constraint and isolation of test-first process. Based on our findings, we recommend practitioners to implement as many tests as possible in order to achieve higher baselines for quality and productivity.  相似文献   

19.
赵漫菲  王光辉 《计算机工程与设计》2005,26(10):2820-2822,2853
介绍了嵌入式操作系统VxWorks的界面开发组件WindML(Wind MediaLi brary)的二维图形库及其API函数主要的几个作用领域,主要阐述了界面开发中事件服务机制的建立,总结了多级界面开发的3种主要方法:设定不同的窗口ID值,擦除当前窗口以及二级窗口的重复被建立,并且给出了应用中主要的实现代码。  相似文献   

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

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