敏捷开发离不开自动化单元测试

 概述:敏捷项目预想测试计划,测试创建和测试执行在项目生命周期中贯穿始终。因此单元测试的需要,尤其是自动化单元测试不可忽略,而且应当作为整个团队的关键责任-而不仅仅是软件开发人员的责任。敏捷方法是建立在短期、可迭代并且可增长发布版本,可以对变更有持续反馈和灵活应对的基础上的管理软件开发的方法。起源于快速演变的商业环境,由于需要产品更快地完成改善和修改,敏捷方法推动了能够贯穿适用于整个应用程序管理流程的组织结构的速度质量,应对能力和适应性。这篇文章阐述了为什么敏捷开发没有单元测试不能有效地实施-尤其是没有自动化单元测试的时候。

  代码质量的重要性

  开发者早在数年前就知道越是到项目后期发现缺陷,修补缺陷的代价就越高。当开发人员发现一个缺陷的时候,有时候需要几分钟来解决。如果在测试中将缺陷漏掉,然后被顾客发现,图1说明弥补代价会以几何指数增长。

     ......

   查看全文请点击下载:http://www.51testing.com/html/15/n-860515.html

  客户知道对每个发现的缺陷,他将失去宝贵的业务时间。开发者知道每个返回的缺陷意味着要花大量时间修复而不是钻研新的功能特性。

  敏捷方法做能工作的软件,并将其与初期反馈结合到一起。例如,初期系统发布可以获取用户对软件运行情况的反馈。为了给开发者信心,他们写的代码可以工作,单元测试提供了最快的质量反馈。

  缺陷发现越早,修复他们的代价就越低。因为敏捷方法支持高质量代码,团队成员就应当多做单元测试。类似地,自动化测试让开发者能够在版本发布前重复多次地得到代码质量的反馈。

  单元测试是什么?

  单元测试是一种方法,这种方法将独立的软件单元,关联的数据和使用步骤进行测试,决定是否运行正确。单元通常是一小片代码,举个例子,一个单独的函数。单元测试就是一个简短的函数,测试该单元的行为,给出一个成功/失败的结果。这个通过用一个已知的单独的正确值来测试函数完成。单元测试经常使用模拟对象来预测式地模拟依赖行为。

      ......

   查看全文请点击下载:http://www.51testing.com/html/15/n-860515.html

  本文收录于《51测试天地》电子杂志第三十三期。

  版权声明:本文出自51Testing软件测试网电子杂志——《51测试天地》第三十三期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 00:05:12

敏捷开发离不开自动化单元测试的相关文章

前端开发自动化单元测试趋势

时至今日,Web 前端已经发生了巨大的演变,而单页应用程序也成为了标准.众多应用程序完成了从 PC 到移动端的华丽转身,而那些基于 JavaScript 的框架变得更受开发者们欢迎. TestProject 进行了一项调查,以便了解目前前端开发技术和自动化单元测试的趋势.调查的结果揭示了软件专业人士对热门框架,以及工具的偏好程度.我们从 957 个相关人士的调查问卷中,得出了这个让人印象深刻的结果! 调查方式 向 2,735 名相关者发出在线问卷调查,其中 957 人回答了问卷中的问题. 数据收

《测试驱动的嵌入式C语言开发》——2.3节CppUTest:一个用C++实现的自动化单元测试框架

2.3 CppUTest:一个用C++实现的自动化单元测试框架现在你已经见过了Unity,接下来我会快速介绍一下CppUTest,同时也是我更倾向于使用的对C和C++代码进行单元测试的自动化测试框架.事实上,不仅因为它是一个功能全面的测试框架,同时也因为我是CppUTest的作者之一.本书开始的几个例子会用Unity,在第8章之后会使用CppUTest.CppUTest是为了支持在多种操作系统上开发嵌入式软件而特别设计的.CppUTest的宏被设计成不需要了解C++也可以写测试用例.这使得C程序

《测试驱动的嵌入式C语言开发》——2.1节什么是自动化单元测试框架

2.1 什么是自动化单元测试框架自动化单元测试框架就是一个软件包,它能让程序员表达产品代码应该有什么样的行为.自动化单元测试框架的工作就是要提供以下能力: 用于表述测试用例的通用语言: 用于表述期望结果的通用语言: 能够使用产品代码所用编程语言的功能: 能把所有的工程.系统或子系统中的单元测试用例收集到一起: 一个能运行全部或者部分测试用例的机制: 对于测试套件的成功和失败给出明确的报告: 对于失败的测试给出详细的报告.本书中用到的两个单元测试框架在测试嵌入式C代码以及开源代码中都很流行,并且它

自动化单元测试的实践之路

自动化单元测试并不是什么新鲜事物,它应该是团队持之以恒的事情,可能有很多团队知道如何去做,但是还做得不够好:还有不少团队不知道如何去做,甚至有一些旧系统还不敢去重构,还在坚持着Java中的main方法调用的方式来执行,在漫长等待构建结果. 本文主要讲基于Java项目如何做自动化单元测试的实践. 1 是否值得 关于单元测试的意义,详细参考stackoverflow这篇文章: http://stackoverflow.com/questions/67299/is-unit-testing-worth

敏捷开发中高质量Java代码开发实践

概述 Java 项目开发过程中,由于开发人员的经验.代码风格各不相同,以及缺乏 统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较 大的测试投入和周期等问题.这些问题在一个项目组初建.需求和设计均具有不 完全可预期性和完备性的全新项目中将尤为突出.本文将结合敏捷开发周期短, 变化快等特点,介绍如何通过在开发过程中采取一系列步骤来保证和提高整个开 发团队的代码质量,并阐述了每一步可以利用的工具和最佳实践,从而使开发过 程更加规范化,成就高质量的代码,减少测试的投入,并促进整个团

自动化单元测试实践之路

自动化单元测试并不是什么新鲜事物,它应该是团队持之以恒的事情,可能有很多团队知道如何去做,但是还做得不够好:还有不少团队不知道如何去做,甚至有一些旧系统还不敢去重构,还在坚持着Java中的main方法调用的方式来执行,在漫长等待构建结果. 本文主要讲基于Java项目如何做自动化单元测试的实践. 1 是否值得 关于单元测试的意义,详细参考stackoverflow这篇文章: http://stackoverflow.com/questions/67299/is-unit-testing-worth

敏捷开发(XP, SCRUM)

敏捷方法的核心思想 敏捷方法是适应型(Adaptive),而非可预测型(Predictive).与传统方法不同,敏捷方法拥抱变化,利用变化来发展,甚至改变自己,最后完善自己.也就是要用重构(Refactoring)  敏捷方法是以人为本(people-oriented),而非过程为本(process-oriented).传统方法把开发者看作一个生产要素(分析员,测试员,程序员),拥有大量的中间产品(需求规约,设计模型等),而忽视了作为决定因素的人的特殊性.敏捷开发它只写有必要的文档,或尽量少写文

敏捷开发和测试中重现缺陷和验证缺陷的解决方案(1)

第1部分:部署重现缺陷的环境 简介:本文为系列的第一篇文章,首先简述了系列的主旨和每部分的内容.然后针对敏捷开发和测试中开发人员重现测试人员开出的缺陷这一问题,具体描述了如何用IBM工具Rational Automation Framework以及IBM Workload Deployer快速记录和部署重现缺陷所需的测试环境,从而让开发人员可以更快速准确地获得重现缺陷的环境. 系列背景简介 在敏捷开发的大环境下,产品需要根据用户的需求不断进行变化,产品版本的研发周期越来越短,产品的交付速度越来越

为什么敏捷开发难于成功?

我大概是在2003年接触敏捷软件开发这个概念,之前无论是在学校的小打小闹项目,还是工作后的项目都是典型的瀑布式开发模式, 设计上自顶向下逐层分解, 设计.实现.测试.上线有条不紊.这不是一篇介绍敏捷开发的入门文章, 而是我学习.实施敏捷的一些感想, 如果你没有实践过敏捷软件开发, 不妨到文末看看书籍推荐. 我大概是在2003年接触敏捷软件开发这个概念,之前无论是在学校的小打小闹项目,还是工作后的项目都是典型的瀑布式开发模式, 设计上自顶向下逐层分解, 设计.实现.测试.上线有条不紊. 除了大学时