精华内容
下载资源
问答
  • 02 敏捷开发测试流程

    2020-09-24 23:03:34
    一个典型的敏捷开发测试流程 为了详细讲解不同阶段或职位(Title)的测试开发所做的工作有哪些不同,我以当前流行的敏捷模式下的软件开发测试生命周期为例来讲解。 如上图所示,你可以看到,一个软件产品的立项是从...

    一个典型的敏捷开发测试流程

    为了详细讲解不同阶段或职位(Title)的测试开发所做的工作有哪些不同,我以当前流行的敏捷模式下的软件开发测试生命周期为例来讲解。
    开发测试流程图

    如上图所示,你可以看到,一个软件产品的立项是从软件产品规划(图片顶部)开始的,一般我们根据业务目标把规划的软件产品需求项,基于实际情况(业务目标、公司战略等)拆分为多个 Backlog 进行进一步细化,即 Backlog Grooming

    细化之后的需求按照优先级和发布规划,会分为多个 Sprint 进行开发、测试、上线。在每一个 Sprint 内,需求会被拆分为一个个的开发和测试任务,开发人员完成 Task 开发后,就进行自测。

    自测没问题,通过提交 Pull Request 的方式,请求提交代码到 Master 分支(这个动作对应于提交测试),请求提交后,代码托管平台比如 GitHub、GitLab 等会触发由 Pull Request 引起的自动构建。之后,自动构建会引导持续集成平台,把开发提交的最新代码打包成可用的测试版本。

    同时,开发通过更改 Jira Task 状态的方式(或者平台自动更改 Jira 状态、开发邮件/口头通知等方式),提醒测试人员进行测试验证。

    软件测试版本生成后,有两个测试内容会同时进行:

    持续集成平台会触发预设的测试脚本进行自动化测试验证(一般是整个产品的主流程冒烟测试);

    测试人员根据获取到的软件测试版本,针对开发提交的 Task 进行测试(主要针对新功能,手工执行的方式居多)。

    测试人员在进行人工验证时, 先根据测试计划和之前准备的测试脚本进行冒烟测试(主要关注点在于本测试组负责的业务模块)。

    冒烟测试通过后,再进行功能、性能、安全等方面的测试验证(也就是图中 Sprint 这个模块内的蓝色的测试验证部分,这是测试人员花费最多时间的地方)。测试人员进行测试验证的依据来自测试计划的制定和细化, 这部分工作通常由项目立项开始,至 Sprint Grooming 后,开发提测之前结束。

    如果测试验证不通过,测试失败的结果会被反馈给开发,Pull Request 不会被 Approve,开发人员会修复问题,再次提交 Pull Request 流程;反之,如果测试验证通过,会通知开发人员测试已经通过(这相当于 Approve 之前开发提交的 Pull Request),然后开发就会合并代码到 Master 分支。合并会再次触发新一轮的持续集成流程,如此循环往复。

    合并进入 Master 分支的代码,通过自动测试验证后,就会被发布到指定测试环境,测试人员会将自动化脚本在此环境进行新一轮的测试验证,直至没问题后,会依次经历几个测试环境的验证,最终被持续部署平台采用蓝绿部署、灰度发布、滚动发布等方式部署上线。

    OK,了解了一个典型的敏捷开发测试流程后,接下来,我们看一下不同阶段的测试人员在这一流程中分别担任怎样的作用。

    测试开发、资深测试开发、测试专家的不同工作职责

    为了方便你理解,我按照测试开发的不同阶段在上面的流程图中标记了不同的颜色。

    1. 蓝色——初级测试开发

    从功能测试转为测试开发,你的工作内容会包括帮助功能测试人员编写测试工具及测试框架,进而来提升功能测试的效率,也就是通过开发手段让功能测试变得更简单、快捷。

    这一阶段的目的纯粹是助力功能测试,减少人工重复劳动,缩短测试周期。该阶段的测试开发仅仅聚焦在开发这个纯粹的事情上。

    举例来说,你通过编写自动化工具/框架,把本应该是手工执行的工作转换为机器自动运行;通过编写造数平台(Data Platform),让构造测试数据变得比以往更为简单。

    所以,判断一个测试开发是否合格的标准,是看他能否让功能测试更省力。
    2. 橙色和绿色——资深测试开发

    资深测试开发不再局限于开发本身,而是从流程出发,检测公司整个软件开发周期中,哪个部分耗时最长,哪个部分最复杂,哪个部分最容易出错;然后资深测试开发就要改造现有流程,通过详尽分析、仔细论证,把最复杂、最容易出错的部分流程自动化掉,纳入当前的持续集成流水线中去。

    这一阶段的测试开发,已经不满足于完成功能测试提出的开发需求,而是通过自己的开发技能,把测试各个阶段的任务有机地结合起来,经过消化后重新组织输出。

    比如,以前公司没有持续集成、持续部署平台,代码打包都是开发或者测试人工去操作的,那么资深测试开发就要和整个开发团队合作,建立并完善这些流程。再比如,以前测试流水线没有建立,自动化测试脚本需要人工触发执行,那么,资深测试开发就需要把这些流程整合。

    因此,判断一个资深测试开发是否合格的标准,是要看他的技术产出是否能融入公司的技术体系中去。换言之,就是要看功能测试的工作是否严重依赖他的产出:如果测试开发停工,那么功能测试就会很痛苦,甚至也被迫停工。

    需要注意的是,这一阶段资深测试开发的产出,肯定非常贴切公司的情况,但未必符合其他公司的情况,或者未必跟业界的主流情况一致。

    3. 红色——测试架构师或者测试专家

    可以看到,这一部分的测试开发重点已经不是测试本身了,而在于整个软件开发全流程的梳理。从项目立项开始,测试架构师就要规划当前的测试框架需要何种裁剪才能保证本项目顺利发布,并且在项目最开始阶段,通过测试左移的手段,对需求、开发技术方案进行分析,在保证可测试性的前提下,把公司现有的测试手段完美嵌入整个开发生命周期中。

    在项目发布后,通过测试右移的手段,对生产系统进行监控,对系统本身或业务本身的各种线上情况进行分析,找出薄弱点,反查整个开发测试流程中的短板,然后补齐,从而保证产品的高质量和业务的高可用性。

    判断一个测试架构师或者测试专家是否合格的标准,是看他能否在某个领域全部或者部分重新定义测试活动、测试顺序。换言之,这一阶段的工作产出,不仅仅适用于本公司,放到其他公司也可以,从方法论上来说,应该是普适的。

    围绕以上三个测试角色,我们简要总结下:

    测试开发,即提升测试活动的效率,通过技术手段帮助功能测试工程师提升测试效率;

    资深测试开发,即重构测试活动,技术产出完全融入公司的技术体系;

    测试专家/测试架构师,即重新定义测试活动,输出普适的测试方法论。

    展开全文
  • 敏捷开发测试流程

    千次阅读 2019-05-06 16:04:00
    敏捷开发的迭代流程: 什么是敏捷开发 将一个项目的模块分为多个相互联系但是可以独立运行的小项目,然后并行完成。 (比如淘宝的开发,分为商品的浏览,添加购物车购买商品,支付,个人中心等等模块,都可以...

    1、敏捷开发:包含各个工程师并发进行

    传统交付的流程:

          低效率

          客户不可以提前使用

          无法相应需求变化

          敏捷开发的迭代流程:

     

    什么是敏捷开发

           将一个项目的模块分为多个相互联系但是可以独立运行的小项目,然后并行完成。

          (比如淘宝的开发,分为商品的浏览,添加购物车购买商品,支付,个人中心等等模块,都可以          分别对一个模块同时进行开发,测试使得一个模块能够正常使用)

     

    传统和敏捷开发比较

          瀑布开发模型

          设计,开发,测试

     

    2、测试流程:只有测试工程师

     

    需求分析:分析测试点,明确在各个场景下软件的表现

    编写测试计划(测试经理)

    编写测试方案

    编写测试用例:场景和结果

    用例评审:开发,产品,测试,测试经理;评审执行场景是否完全

    用例执行:据测试用例来执行,查看是否表现与预期是否一致

    提交BUG:

    回归bug

    编写测试报告

    测试回溯

    环境

    开发环境:用于开发代码,调试代码

    测试环境:用于测试执行,回归

    ftp:类比文档存储(上传到服务器

    svn:类比代码存储

    github

    mysql

    tomcat

    ngnix

    正式环境:最终用户的使用

    测试流程的应用

    需求一:

    迭代一是在什么环境下进行测试的呢?

     

     

     

     

     

     

    第二节课课后习题:

     

    什么是敏捷开发?

         将一个软件的开发分为多个模块迭代完成,每个模块都能够独立的进行需求分析,开发,测试(可画图讲解),能够将每个迭代交付给客户的软件都是可以使用的。

     

    敏捷开发和传统型开发的优势?

         高效率,能够及时相应需求变更,提前使用。

     

    你们一个迭代周期是多久?

          天数?4??

     

    敏捷迭代为什么能够提高效率?

          可以使得多个工作任务并发进行,也就是所有的需求出来之后,我们将需求分为多个模块,比如1,2,3,4,先进行模块1的完成(开发到测试人员利用l率是比较高的)

     

    敏捷迭代为什么能够响应用户变化?

           迭代开发,同时每个迭代都会提供给用户使用,在用户使用的过程中,根据用户的需要来调整需求迭代开发也就是后面未进行开发的需求就可随时响应需求变更

     

    你们每个迭代的测试流程是怎么样的?

        需求评审和分析,测试用例编写,用例评审,用例执行,提交bug,回归bug,测试报告;在单个模块测试完成之后,将此版本的需求和原来版本的需求一起进行一个全量的测试,不断回归,修复所有的bug,关闭bug,软件发布。

     

    转载于:https://www.cnblogs.com/uestc2007/p/10820191.html

    展开全文
  • 敏捷测试开发流程

    千次阅读 2012-07-25 22:57:20
     根据可行性分析,特别是技术可行性及需求调研的成果,结合本次软件设计的时间约束等实际情况,设计采用敏捷测试开发模式进行本次软件的开发开发模式的流程图如下所示。      该模式以软件需求为导向,...

     

          【记录一下前期工作的开发流程】

           运用此敏捷测试的开发流程模式,可以较好的在实践中进行快速迭代。以下是当时的设计原文:

          根据可行性分析,特别是技术可行性及需求调研的成果,结合本次软件设计的时间约束等实际情况,设计采用敏捷测试的开发模式进行本次软件的开发,开发模式的流程图如下所示。

     

     

          该模式以软件需求为导向,重视在需求捕获阶段的需求调研与论证,力求尽可能全面的掌握系统在功能方面的基本需求和期望需求;在设计阶段的工作重点是数据库系统的设计,除了完成对相应的总体设计、概要设计及详细设计外,还需完成开发过程的工作分解结构(WBS)设计,以便明确项目全貌、设定里程碑事件,进而帮助改进时间估计的准确度,避免后期遗漏可交付成果,这也有利于对迭代部分的设计;开发阶段需依照工作分解结构逐步完成功能模块的开发,其过程中要注意项目的整体把握,特别是对软件需求和时间的掌控;以功能模块为单位的迭代,按照“重新对照需求、必要性判断、更新设计、执行修改”的步骤进行,在此过程中需要对存在的缺陷进行记录,并依次修改,对关键需求要设置为重点测试项,对需求调研中获取的兴奋型需求给予判断,并在发布版本中作好说明。

     

          利用小粒度测试为基础的开发策略,深化在开发过程中对需求的认知,提高功能单元的开发速度,从而缩短发布周期,尽早和尽快的发现缺陷并加以修正,从而保证整个开发过程得以在实际约束条件下保质保量的完成。

    展开全文
  • 敏捷开发下的测试(一)敏捷测试核心 传统测试和敏捷测试的区别 传统测试: 独立的测试部门 测试工作主要由测试人员承担 详尽的测试用例文档 集中的回归测试 发现更多的 bug 敏捷测试: 伴随着敏捷开发过程的所有...

    敏捷开发下的测试(一)敏捷测试核心

    本文是参考ThoughtWork冰玉老师(https://blog.csdn.net/bingyulin)讲的敏捷课程加上自己的理解写的,想听原版可以关注ThonghtWork公众号,里面有课程回顾

    传统测试和敏捷测试的区别

    传统测试:

    • 独立的测试部门
    • 测试工作主要由测试人员承担
    • 详尽的测试用例文档
    • 集中的回归测试
    • 发现更多的 bug

    敏捷测试:

    在敏捷开发过程的所有进行质量把控的一种活动

    • 敏捷测试不能独立存在,不是一种测试类型或方法
    • 敏捷测试不仅是测试人员的工作,是团队的活动
    • 抛开敏捷开发谈敏捷测试没有意义

    敏捷测试的目标:

    更快速的交付高质量软件

    如何实现敏捷测试的目标

    敏捷测试的核心是质量内建
    测试左移
    持续测试
    测试驱动开发
    • 质量内建的核心就是预防缺陷大于发现缺陷
    • 缺陷发现的越晚,修复的成本就越高,所以尽可能的开发初期就尽可能的发现缺陷

    测试左移

    我们先看下敏捷开发的生命周期及每轮迭代生命周期

    敏捷开发生命周期
    初期迭代开发与持续发布生产迭代0->>迭代1>迭代2>迭代3···->>迭代N>初期迭代开发与持续发布生产
    迭代生命周期
    需求开发测试需求开发测试

    那么,由流程图可以看出,测试左移,最完美的进入方式是从初期介入,但是实际上只有很少的公司会做到测试角色参与,大多数情况下,测试角色都是从需求阶段参与

    为什么测试人员要参与那么早?因为测试角色对程序/系统的了解是多维度去熟悉的,而不像开发那样是单一而深入去了解
    至此

    • 项目初期,测试角色越早参与并且给出测试角色的意见,从而可以达到预防缺陷及风险的作用
    • 需求阶段,测试角色则需要从用户、业务流程、业务风险的角度给出建议,从而达到预防缺陷和风险的

    需求阶段测试角色职责

    业务价值-从测试角色给出业务价值的反馈
    终端用户
    从终端用户维度去考虑,程序/系统软件的真实使用场景
    业务流程
    从业务流程的维度去考虑,程序/系统软件是否真的是用户所需要的,如电商添加购物车,有很多种方式
    业务风险
    从业务价值的维度去考虑,我们做的特性是否需要做,业务的优先级计划又是什么
    用户故事拆分-从测试角色给出业务需求拆分的用户故事是否遵循原则
    独立的
    用户故事是独立的
    可协商的
    用户故事可以响应变化,是可协商的
    有价值的
    用户故事是有价值的,为用户所需要的
    可估算的
    用户故事可以估算的
    足够小的
    用户故事是足够小的
    可测试的
    用户故事是可以测试的

    持续测试

    敏捷开发生命周期
    故事分析故事启动故事开发故事验收故事测试故事演示故事分析故事启动故事开发故事验收故事测试故事演示
    • 测试活动贯穿用户故事生命周期,如静态测试,和动态测试
    • 通过持续集成的方式构建线上的持续自动化测试
    • 持续测试本质是在用户故事生命周期里进行的一个持续收集、快速反馈的过程
    通过自动化测试方式还可以进行以下持续测试:
    持续安全测试
    识别安全需求-安全工具集成在CI/CD中-安全测试用力-工具辅助安全测试等
    持续性能测试
    确定性能需求-制造性能数据-性能测试执行-持续测试,手机性能趋势数据-持续监控,掌握性能状态
    持续生产环境测试
    生产环境CI/CD自动化测试
    生产环境问题反馈
    ## 测试驱动开发
    单元测试驱动开发()UTDD)
    设计及编码的完整性,一般由开发完成
    验收测试驱动开发(ATDD)
    需求实现的正确性,参与的角色有测试、开发一起完成
    行为驱动开发(BDD)
    促进团队协作一直理解和需求,一般由产品、开发、测试一起完成

    敏捷测试宣言

    敏捷测试宣言
    全程的测试介入
    胜于
    孤立的测试阶段
    团队整体对质量负责
    胜于
    测试人员独力把关质量
    持续性的精准自动化测试
    胜于
    回归式的全量自动化测试
    质量内建
    胜于
    质量把关
    展开全文
  • 敏捷开发的迭代流程: 什么是敏捷开发将一个项目的模块分为多个相互联系但是可以独立运行的小项目,然后并行完成。  (比如淘宝的开发,分为商品的浏览,添加购物车购买商品,支付,个人中心等等模块,都可以分别...
  • 简述敏捷开发中的测试流程

    千次阅读 2018-08-14 15:57:51
    敏捷sprint进程中测试任务的简要描述:   需求讨论:这个阶段测试人员要把自己带入到用户角色中,列举用户角度的场景需求,协助开发和产品制定技术实现方案; 确认验收标准:为了避免sprint进行中产生的扯皮...
  • 敏捷开发实战流程

    2021-01-27 12:49:21
    敏捷开发(Agile Development)中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内...
  • 敏捷测试流程

    2018-04-02 10:15:30
    下面是我理解中的敏捷测试流程图:第一阶段:通过上面的流程图,对于一个月的需求分析,在敏捷中,可能三五天就确定下来。这个需求定得会很模糊,但整体框架确定。产品对其中某一模块功能确认,开发人员开始对确认的...
  • 敏捷开发管理流程

    2019-03-12 09:25:34
    敏捷开发经常遇到的问题 流程难固化 范围不清晰 计划不合理 进度不准确 风险不透明 质量难保证 团队进步慢 解决上述问题的关键 梳理研发管理流程,明确关键活动的目的及操作方法 通过信息化手段,减少工作量,...
  • 敏捷开发实施流程

    2018-01-27 15:05:00
    敏捷开发实施流程 迭代周期: 2 ~ 3周 一、需求过程(1 - 2天) 与产品经理,产品使用人员沟通产品功能与新需求 程序经理完成需求整理与确认 程序经理、开发经理、测试经理完成需求沟通 要求: ...
  • 敏捷开发之敏捷测试

    2019-09-26 23:31:57
    敏捷开发测试集成到了整个开发流程中而不再把它当成一个独立的阶段。敏捷测试主要的核心内涵有三个: 1.遵从敏捷开发的原则(强调遵守) 2.测试被包含在整体开发流程中(强调融合) 3.跨职能团队 二.敏捷...
  • 敏捷测试-测试流程调整

    千次阅读 2018-10-31 16:44:42
    前段时间接手一个使用敏捷开发的项目,从产品设计到第一版上线的时间只有2个月的时间。这让原有的测试流程饱受打击。如何快速的面对敏捷制定符合自己的测试流程,更好的服务于项目成为团队的首要任务。  通过思考...
  • 质量不是测试出来的 什么是质量? 系统功能、性能、用户体验 代码质量 产品质量 维护成本 … 软件质量 外部质量 用户可以感知 终端用户使用 内部质量 内部代码逻辑 代码质量 内建质量 软件开中内建的流程是否...
  • 敏捷开发流程中,测试不再是瀑布试开发流程的一个环节,而是全程参与整个开发流程。通过各种方式来保证产品的质量,无论是原则中的“频繁交付”,还是对“可工作的软件”的度量,或是敏捷开发实践中的“测试驱动...
  • 敏捷开发流程

    2016-10-27 14:08:00
    敏捷开发总的流程如下: 1.需求规划和分期 2. 需求评审 3. 需求讲解 4. 方案评审 5. 每日晨会 6. 性能测试 7. CodeReview 8. Demo 9. 测试阶段 10.线上Bug修改流程 如何进行...
  • 敏捷开发流程中,自动化测试涉及到下面重要四种类型的测试。 1、单元测试(Unit Test, UT) 关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自动化测试。 可以使用对应的测试驱动...
  • 敏捷测试流程和活动

    千次阅读 2017-07-17 15:29:09
    敏捷开发】详解敏捷测试 ... 其中,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。   第一部分:敏捷软件开发简介 敏捷软件开发(Agile Software
  • 软件测试干货——敏捷测试流程

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

    2014-05-09 22:16:33
    敏捷开发测试单元测试refactoring工作cmm Agile——敏捷开发,作为CMM神话崩溃后被引入的一套新的软件开发模式,这几年来被广泛引起关注,并被寄予厚望。敏捷开发在其他业界的应用是否理想不得而知,但以下总结了...
  •  不同与传统的软件开发模式,敏捷开发模式有着自己鲜明的价值和方法。  其中,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。 第一部分:敏捷软件开发简介 敏捷...
  • 同时,因产品规划期间已经设定了具体的实现目标,大部分软件公司不再要求测试工程师编写测试计划与方案,或者编写的计划与方案相对简要,因此,敏捷测试流程中,通常只具有以下几个节点,如图1- 7所示。 图1- 7...
  • 敏捷测试开发之我见 by:授客 QQ:1033553122 下文本着实用性原则,谈谈敏捷测试开发相关的一些想法,如有不同意见或想法,欢迎提出~~ 1、 团队优先 个人觉得,不管做啥,应该把“团队合作”放在第一...
  • 设计敏捷开发流程

    2017-05-15 15:01:08
    如何在一个新的软件企业设计敏捷开发流程? 首先我认为敏捷是有刚需的,持续集成+自动测试是刚需。必须先具备这样的基础建设才能继续往下走。 如何设计敏捷开发流程,看看敏捷的要数,特别是5个活动: 首先定义...
  • 其中,敏捷测试部分也同以往的软件测试流程有所不同。这对测试人员提出了新的要求,带来了新的挑战。 第一部分:敏捷软件开发简介 敏捷软件开发(Agile Software Development)初起于九十年代中期。...
  • 名词解释 agile: 敏捷的;灵活;敏捷开发。 scrum: 扭打,混打;并列争球;参加并列争球。...Taven的博客: 敏捷开发之Scrum扫盲篇 ...alvanchen的博客: 敏捷开发流程总结 lanceyan 关于小公司敏捷开发的具...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,181
精华内容 472
关键字:

敏捷开发测试流程