敏捷开发中的软件测试_敏捷开发软件测试 - CSDN
  • 敏捷开发流程,自动化测试涉及到下面重要四种类型的测试。 1、单元测试(Unit Test, UT) 关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自动化测试。 可以使用对应的测试驱动...

    在敏捷开发流程中,自动化测试涉及到下面重要四种类型的测试。

    1单元测试(Unit TestUT

    关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自动化测试。

    可以使用对应的测试驱动开发(TDD)框架,如:JavaJUnitTestNG等,相应的python语言中有unittestnose等测试工具。

    2集成测试(Integration TestIT

    集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。

    这个阶段,可以尝试接口的自动化测试,同样可以利用单元测试的框架编写针对API调用的测试代码。 另外也可以利用seleniumappiumTestWriter等测试工具来进行UI相关的测试。

    3用户验收测试(User Acceptance TestUAT

    用户验收测试,也叫用户可接受测试,一般在项目流程的最后阶段,这时相关的产品经理、业务人员、用户或测试人员根据测试计划和结果对系统进行 测试和验收,来决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。

    本阶段主要是UI相关的测试,编写自动化测试脚本的难度比较大。 同样是利用seleniumappium等测试工具来编写测试脚本

    4回归测试(Regression Test

    回归测试是软件测试的一种,旨在检验软件原有功能在修改后是否保持完整。回归测试主要是以检查退化为目的的测试。 退化主要指由于系统的版本更新,在之前的版本中正常运行的功能变得无法正常运行,或者紧急修正了某个问题,但引发了其他的问题的现象。

    从开发人员视角出发的单元测试是需要进行回归的, 还有从用户视角出发的集成测试和用户验收测试的测试用例集也是回归测试的相关内容。

     

    >>戳戳,免费下载自动化测试工具TestWriter~UI测试、回归测试、兼容性测试必备)

     

    展开全文
  • 敏捷开发中软件测试 陈能技 2007-9-5 参考:Bret Pettichord 的《Agile Testing - What is it? Can it work?》和《Agile Testing Challenges》 敏捷宣言:个体和交互比过程和工具更有价值;能工作的软件比...

    敏捷开发中的软件测试

    陈能技

    2007-9-5

    参考:Bret Pettichord 的《Agile Testing - What is it? Can it work?》和《Agile Testing Challenges

    敏捷宣言:个体和交互比过程和工具更有价值;能工作的软件比全面的文档更有价值;顾客的协作比合同谈判更有价值;及时响应变更比遵循计划更有价值。- www.agilemanifesto.org

    什么是敏捷测试?

    测试遵循敏捷宣言进行,把开发作为顾客看待。项目的测试采用敏捷方法论。

    敏捷测试的原则与上下文驱动测试(Context-Driven Testingwww.context-driven-testing.com)的原则有交集,例如,上下文驱动测试的七大原则中的第三条:工作在一起的项目组成员是项目的上下文的最重要的组成部分。就与敏捷宣言中的“个体和交互比过程和工具更有价值”一样强调人的作用。

    敏捷测试中测试人员扮演的角色

    1、 测试是项目的“车头灯”,它告诉大家现在到哪了,正在往哪个方向走。

    2、 测试为项目组提供信息,使得项目组基于可靠的信息作出正确的决定。

    3、 BUG”是让用户感觉烦恼的东西,测试人员不作出发布的决定。

    4、 测试员不保证质量,整个项目组对质量负责。

    5、 测试不是抓虫子的游戏,它的目的不是纠缠在错误中,而是帮助找到目标。

    单元测试和可接受性测试

    测试驱动开发,开发人员在写代码之前要先写单元测试,用于激发代码的编写、改进设计(降低耦合度,增加内聚)、支持重构。很多开源的测试工具支持单元测试(xUnit)。

    用户故事是需要编码实现的功能特性的简短的描述。可接受性测试验证用户故事的完整性。理想的情况下,用户故事是在代码编写前就写完。

    测试人员是否应该拥抱敏捷开发?

    有些人说XP会导致差的质量并且是偷懒的借口。我认为XP是令人激动的,并将在行业中改进测试的实践。

    参见《Testers Should Embrace Agile Programming

    http://www.io.com/~wazmo/papers/embrace_agile_programming.html

    敏捷测试实践

    通过对话产生测试,谁来测试?客户往往太忙了,不可能参与测试。定义测试是很关键的活动,应该把开发人员和顾客代表包括进来,不要只是测试员自己做。

    把用户故事转换成测试。测试提供的是目标和指南、及时的反馈、进度度量。测试应该用指定的格式出现,以便让用户或顾客能清楚明白,还要足够的明确,以便能被执行。

    开发人员负责提供支持自动化测试的特性。大部分情况下,为产品添加测试接口,而尽量不用外部测试工具。

    计划在每个迭代中探索产品,寻找bug、遗漏的特性和改进的机会。

    进一步学习

    Lessons Learned in Software Testing - www.testinglessons.com

    Ward Cunningham’s acceptance testing framework - fit.c2.com

    Agile Testing Papers - www.testing.com/agile www.pettichord.com

    展开全文
  •  以前听过一个据说非常成功的案例,说在敏捷开发过程测试是使用一张纸的测试文档的,这张纸写清楚需要测试的点,然后开始测试。  2、关于需求,敏捷开发过程,是否需求方只需要提供一个用户故事,比如“我...

    问题描述:

      1、敏捷开发过程中,相关的系统分析文档,设计文档。对应的测试分析文档,测试用例,是否需要按质量完成。

      以前听过一个据说非常成功的案例,说在敏捷开发过程中,测试是使用一张纸的测试文档的,这张纸写清楚需要测试的点,然后开始测试。

      2、关于需求,敏捷开发过程中,是否需求方只需要提供一个用户故事,比如“我作为PD(代表用户的意思),在某些场景中期望达到什么目的,所以希望产品如何如何。”而具体的详细设计在开发过程中边设计边讨论。

      3、敏捷开发过程,是否可以等价于迭代式开发,比如,将某个产品分成几个部分,先完成某个部分,再完成其他部分,或者先做出一个基本原型。此原型能够实现基本功能,再次基础上继续完善其他功能。

      这样的说法,本人基本赞同,但是会演变成另外一种情况,就是需求人员自己都没想好整体产品的细节,先把想好的实现掉,再实现的过程中,再慢慢想其他功能。

      精彩回答:

      周金根:

      1、这些文档视情况而写,对于框架平台的,设计文档可能会要求严一点;业务开发,可能

      会只需要画几个类图而已。但是不管如何,测试用例我们是要求写的。对于测试用例质量的要求与传统敏捷开发一样

      2、用户故事往往在实际开发中不够,因为价值的东西都是相对高层的东西,实现的时候还需要细化,可以使用用例、业务规则等形式细化,检验的标准就是开发人员能够理解需要做什么,知道有哪些流程。详细设计肯定是在开发过程中去做的,但是在估时时会进行简单的设计,这个准确度是随着团队经验以及能力提高而提高的。

      3、迭代开发并不是敏捷开发,它只是敏捷开发的一个方面。就但说迭代,有没有固定周期、有没有价值目标就是敏捷开发中的一些要素。

      旗芃:

      1、文档要全,而且要保证质量,不过测试用例例外,看情况而来。

      敏捷团队有建议的人数规模,测试人员应该着眼于关键点,一个全面的测试用例也常常被证明40%以上的用例是徒劳的。测试人员应该具备出色的test sense,根据经验能够判断出哪里是潜在bug、缺陷和主要数据流关键点,针对这些地方写测试用例,方便管理也能够判断数据流阶段性的正确。还有就是TDD在开发过程中的保证,前期的需求讨论,测试人员参与程度应比开发人员更高,而系统架构确定、软件架构确定,都是由开发和测试共同决定,并在开发过程中出现需求变动,也保持软件架构的相对稳定,因为软件架构的改动对于测试人员来讲不单单是改动,很可能是重新来过。

      2、这个不管是不是敏捷的,前期都尽量挖掘客户的需求,不留下任何潜在的需求。开发过程中的需求变动,根据经验来说,还没有遇上过需求不变的。这个其实是很无奈的,这是由客户方不够专业引起的,这也确实没有办法,只能是期望变动不是翻天覆地的。

      3、开发过程差不多,或者说一样也可以,但敏捷方法对人员上的控制有一些建议,来使人员工作效率更高,交流成本更低。在这方面来讲,敏捷对于人的性格也有要求,不是每个人都适合参加敏捷开发,在搞人这方面上,敏捷只是提出了一些建议,最佳实践还是得根据公司人员和公司内部结构的实际情况来定了。

      欧阳清:

      个人觉得在敏捷团队中,测试的难度和挑战比瀑布模式大的多。不断变更的需求,技术重构,从story到迭代版本的基本验证,测试...

      因此测试的主要职责可以包括以下的几点:

      1、需求的把握。测试要对不断变化的需求都能把握住,以PO(product ower)的标准来要求自己,敏捷的要旨是小步快跑,保证每一步都是对的,这样在团队中就需要有人来保证我们做出来的东西是没有偏离需求的,这个角色只有测试胜任;

      2、团队节奏的控制。不知道大家有没有做过敏捷项目,迭代不断的出现延迟,问题单越来越多,大家疲于根据计划加班。这个时候我们可不可以把下个迭代要做的事情暂时先停下来,留一个迭代或者半个迭代来解决问题,重新读下代码,找出那些异味的代码(smelly code)重写一下。找找我们流程中的问题并改进。这个事情也是由测试人员来提出比较合适;

      3、质量控制。

      这当然是测试的传统的工作,找出问题,让开发人员来解决。对于一个tester来说,质量控制Quality Control比质量保证Quality Assurence更重要。在敏捷阶段,不是说发现的所有问题都需要马上让开发人员去改,因为或许这个bug对应的需求还不明确,或许下轮的重构就能自动解决问题,或许当前这个迭代使用的技术解决这个问题代价太大... 总之,这里是比较灵活的,也是比较考验测试人员的经验的,什么问题应该马上解决,什么问题可以讨论。

      另外,关于质量控制比较重要的一点是分清楚测试阶段,这点在国内的公司很明显,单元测试,集成测试覆盖率低,或者干脆不做,或者做了没啥作用,每当大家回去做问题回塑,会发现很多问题应该在ut或者st阶段发现。那么这里的测试人员要不要去做这些测试,如果要做怎么做,这个对于不同形态的产品或许答案完全不一样。自己参与过的大型产品中测试人员都是做集成测试的,只是这个过程对测试来说比较痛苦,需要了解代码,有一定的编码能力。

      另外,测试的产出这个有点不好界定,产出这个东东感觉是和流程比较强相关的,我在流程的哪个阶段必须产出什么东西。文档,测试分析,问题单,测试需求分析等等......这个也是和产品的形态有关,如果是轻量级的产品完全不需要做很多事情,或者很多事情可以合并来做,产出一份文档或者结果就可以。

      Rincolor:

      前面的回答已经很完善了,我来补充下第二、第三个问题的看法:

      第二个问题:“是否需求方只需要提供一个用户故事”,这样的说法有点问题,用户故事的产生需要PO和用户一起商议决定,其来源始于用户(需求方),但其产生过程实际是PO对原始需求的分析和拆解过程,倾注了其对需求的理解和判断,故对于团队来说,用户故事是由PO提供的,且PO和用户的讨论交流过程中,用户不一定需要提出完备的用户故事(当然用户能够且愿意和PO一起分析需求更好)。后半句的回答:详细设计是在迭代中细化的,但迭代计划会议时,团队成员就应该对用户故事实现的概要设计达成一致(主要的设计思路和难点风险点,UI草图等)。

      第三个问题:敏捷不等于迭代开发。相对于迭代开发,敏捷从形式上看更强调一种节奏感(即长期的稳定的团队生产力的输出、稳定的交付节奏、预期可见的交付物等)。“需求人员自己都没想好整体产品的细节, 先把想好的实现掉, 再实现的过程中, 再慢慢想其他功能”,整体产品的细节作为需求人员来说不一定需要都清楚,需求人员只要对产品的整体结构以及长远的规划有个大体的把握就可以开始迭代了,而且其实现实情况往往是这样的,需求是在发展变化中的,需求的不断实现过程中往往会催生出新的需求,甚至会推翻之前的一些需求。刚开始做一个大而全的规划反而不好,这也正是敏捷灵活机动的所在。

    转载于:https://www.cnblogs.com/midsummer/archive/2012/04/11/2441641.html

    展开全文
  • 敏捷开发中测试

    千次阅读 2013-09-15 10:11:43
    关于敏捷开发过程测试相关的文章整理如下: 一、Scrum敏捷开发中测试 http://www.ituring.com.cn/article/details/1003 1. 起点——作为软件开发人员 2. 转变——作为专职测试人员 3. 同期——加入测试自动...
    展开全文
  •  不同与传统的软件开发模式,敏捷开发模式有着自己鲜明的价值和方法。  其中,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。 第一部分:敏捷软件开发简介 敏捷...
  • 简述敏捷开发中测试流程

    千次阅读 2019-01-21 18:11:10
    敏捷sprint进程中测试任务的简要描述:   需求讨论:这个阶段测试人员要把自己带入到用户角色,列举用户角度的场景需求,协助开发和产品制定技术实现方案; 确认验收标准:为了避免sprint进行产生的扯皮...
  • 敏捷开发:包含各个工程师并发进行 传统交付的流程: 低效率 客户不可以提前使用 无法相应需求变化 敏捷开发的迭代流程: 什么是敏捷开发将一个项目的模块分为多个相互联系但是可以独立运行的小项目,然后并行...
  • 敏捷开发模式下测试策略

    千次阅读 2016-11-16 17:59:27
    敏捷开发模式,往往传统以功能测试为主的测试难以适应新的角色,而敏捷团队也面临着产品质量和快速市场的压力,需要通过快速的迭代抢占市场,但另外一方面质量的问题,又可能导致市场丢弃,这时,测试应尝试调整...
  • <br /> 今天浏览51testing,有个讨论是“敏捷开发中测试人员的工作成绩如何体现”,想想我们公司的项目不就是敏捷开发吗?需求不确定,经常改,做的差不多了,产品就交付,用户再提意见,再修改。看到有个人...
  • 软件开发模式之敏捷开发(scrum)

    万次阅读 多人点赞 2018-08-08 19:25:59
    这几年关于敏捷开发在互联网企业越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢? 目录 什么是敏捷开发? 传统的开发模式和敏捷开发模式的...
  • 一、敏捷开发/测试的特征  1. 敏捷开发提倡迭代式和增量式的开发模式,并强调测试在其中的重要性。  敏捷开发模式的三个特点:依赖客户的参与、测试驱动以及紧凑的迭代开发周期。  2. 敏捷测试是协同测试的一...
  • 敏捷开发模式把测试集成到了整个开发流程而不再把它当成一个独立的阶段。因此测试变成了整个软件开发过程非常重要的环节。敏捷测试包含了具备专业技能测试人员在内的跨职能团队,这使得这种组合式的团队能更好的...
  • 文章目录敏捷scrumscrum里面的角色迭代开发敏捷中的测试软件测试的V模型软件测试W模型 敏捷敏捷”是新的过程家族的名称 《敏捷宣言》:我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,...
  • 什么是敏捷软件测试

    2014-01-31 23:58:45
    【编者按】敏捷的理念已经深入人心,开发过程已经渐入佳境,测试的处境却稍显尴尬。测试从业者应该何去何从,怎样才能拥抱敏捷,体现出自己新的价值呢?InfoQ特地邀请了来自Google的敏捷测试专家段念,为读者答疑...
  • 软件测试干货——敏捷测试流程

    万次阅读 2017-08-29 16:42:47
    千锋教育软件测试敏捷测试流程 千锋教育的王晓军老师在对敏捷测试做出介绍的时候与现行的瀑布式测试流程做出过对比: 对于一个三个月的项目说,产品把需求分析完了给开发,然后产品就没事儿了;开发开发完成之后...
  • 敏捷开发测试流程

    千次阅读 2019-07-08 16:12:47
    1、敏捷开发:包含各个工程师并发进行 传统交付的流程: 低效率 客户不可以提前使用 无法相应需求变化 敏捷开发的迭代流程: 什么是敏捷开发 将一个项目的模块分为多个相互联系但是可以独立运行的小...
  • 敏捷开发方法中测试人员的价值

    千次阅读 2010-08-02 18:13:00
    敏捷方法在软件开发中受到青睐,特别是在互联网应用服务系统的开发中,越来越多的公司采用敏捷方法,包括XP、Scrum、Lean、Crystal、FDD等。具体的敏捷方法在操作时有一些区别,但基本思想是一致的,如客户...
  • 敏捷开发中测试角色的窘境

    千次阅读 2016-01-29 11:29:03
    敏捷开发中测试角色的窘境 先说说敏捷开发中码农哥哥与测试妹妹的一段恩怨情仇: 测试妹妹:需求文档在哪里? 码农哥哥:这个...,没有需求文档,产品经理发了我一句话,后来直接和我说了要求,很简单,我和你再讲...
  • 敏捷开发流程总结

    万次阅读 多人点赞 2010-07-20 15:36:00
    Agile——敏捷开发,作为CMM神话崩溃后被引入的一套新的软件开发模式,这几年来被广泛引起关注,并被寄予厚望。敏捷开发在其他业界的应用是否理想不得而知,但以下总结了我所在公司的敏捷开发试验,希望可以...
  • 敏捷软件测试常见的七个误区

    千次阅读 2016-06-21 10:00:33
    转自 ThoughtWorks ...敏捷软件测试指的是在敏捷软件开发过程中跟质量相关的一系列活动,和传统意义上的软件测试有很多区别,因为敏捷软件测试的概念一直比较模糊,所以经常会有人走入误区,我曾经在
1 2 3 4 5 ... 20
收藏数 59,070
精华内容 23,628
关键字:

敏捷开发中的软件测试