2016-01-24 22:44:24 yzsind 阅读数 8993
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10426 人正在学习 去看看 CSDN讲师
敏捷开发中测试角色的窘境


先说说敏捷开发中码农哥哥与测试妹妹的一段恩怨情仇:


------------------------------------------------------------------------------------------------------------------------------

测试妹妹:需求文档在哪里?
码农哥哥:这个...,没有需求文档,产品经理发了我一句话,后来直接和我说了要求,很简单,我和你再讲一下吧。
测试妹妹:好吧,懂了,那我开始测了。

测试妹妹:测试完了,有5个bug,我都提交了,你看看吧。

码农哥哥:好的,还有一个新需求,再和你讲一下。

测试妹妹:终于测完了,全部测试通过了,恭喜啊
码农哥哥:sorry,刚我改动了一个小点,你再重新回归测试一次吧,这次应该OK了。
测试妹妹:终于回归完了,又发现一个问题...

产品经理:客户反馈了一个bug,你赶紧看看
码农哥哥:不可能啊,这个功能我都测过的,我看看
码农哥哥:真晕,线下测试是好,线上有问题,有个配置错了,另外这个客户的数据比较奇怪,测试也没有验证过这种场景
产品经理:XXXXXX,客户已经提故障了!
码农哥哥:下次线上发布一定要叫上测试妹妹仔细回归

码农哥哥:今天晚上12点产品更新,到时要你来回归验证啊
测试妹妹:好吧
测试妹妹:你们发布完了吗?都凌晨2点了,我什么时间可以回归验证啊?
码农哥哥:再等等,还有一个小问题在搞。
测试妹妹:现在好了吗?
码农哥哥:sorry,没搞定,发布要回滚了,今天不需要回归验证了,你先回去吧
测试妹妹:你妹啊!!!

------------------------------------------------------------------------------------------------------------------------------

故事讲完了,以上就是一些项目敏捷开发中很常见的问题。

敏捷开发强调的是快速迭代,通过快速迭代发布并验证产品是否满足用户需求来减少产品风险,而不是像传统软件一个花一年甚至几年才发布。敏捷开发在互联网行业里非常流行,大型网站基本每周都会有发布,甚至一周发布几次,超大型网站的应用都是分布式的,一天都可以发布上百个feature。
互联网的需求变化很快,有些产品也是实验性的,所以更需要快速迭代,这也会导致许多产品在一些小的需求都没有需求说明书或者设计文档,全是靠产品经理与研发同学沟通需求,然后就快速发布上线了。这种模式在传统软件里是不可能,传统软件都会有很强的产品版本概念,并且会对每次升级都要制定详细的设计、开发、删除与发布计划。 

面对互联网这种快速迭代,并且还有时缺少需求与设计文档的背景下,我们测试同学如何跟上节奏。如果按传统模式,测试与研发是不同的人员负责,那么必需要有清晰的需求设计文档,否则测试基本靠感觉。并且产品经理与研发同学还要与测试同学沟通需求,沟通项目计划与资源协同。第二,今天互联网的研发同学普遍比测试同学多很多,有些产品甚至是10:1以上或者是没有测试角色,这样的团队测试同学根本来不及了解需求细节,只能做一些核心主功能验证,对于边界测试没法顾上。总体看起来独立测试角色在敏捷开发里有点力不从心。

经过几十年的发展,测试类型也细分成很多种,有白盒测试、黑盒测试、灰盒测试、单元测试、功能测试、集成测度、性能测试、压力测试、自动化测试、回归测试、灰度测试、安全测试、恢复测试等等概念。 当前业界的测试工具眼花缭乱,有QTP/UTF、LoadRunner、JMeter、Selenium、TestDirector、QACenter、Rational系列等知名产品,也有很多JUnit、TestNG、RobotFramework、gtest等测试框架,还有更多如网络、数据库、硬件等专业领域的测试工具。

这些产品,除了JUnit、JMeter这类程序员可以轻松掌握的轻量级产品框架外,其它产品在敏捷开发中都感觉力不从心,主要原因是大部份产品为测试角色开发的,研发角色有学习成本,并且研发同学更喜欢白盒测试。

如果测试的工作由研发来完成,这会更符合敏捷开发思想,大大减少沟通成本。但是问题来了,研发同学并不擅长使用各种测试工具,研发同学更多只会完成单元测试。如果能有一个专门面向研发同学的测试工具,岂不是很爽,那一个面向研发同学的测试工具应该是什么样的呢?我先说说程序员自测的一些现状:
1.单元测试:目前JUnit、TestNG加各种Mock基本还能应付,就是测试代码写起来很多
2.功能测试:这个很头疼,如果软件有界面,可以通过软件操作来完成核心功能测试,如果没有界面,就自己模拟软件对外API接口规约来模拟测试
3.性能测试:这个要么使用JMeter这样专业工具来完成,实在不行,要不就自己再单独写一个程序或脚本来压测
4.回归测试:不好搞,面对各种运行环境,人工回归太不靠谱了,真心需要一个全自动化的工具
5.安全测试:太专业了,估计搞不定
6.边界测试:写各种边界值来搞死自己,想到的就试试,没想到的就当不存在了
7.bug管理:都自己测试了,还提个毛bug啊,自己老老实实把屁股擦干净

从上面看起来,要是交给程序员自测也不靠谱啊,完全是靠感觉,凭经验测试了。

如果有一款面向程序员自测的专业测试工具,它会是什么样的呢,我列了几点:
1.学习成本低
上手很容易,如果是框架,不要超过JUnit这样的难度吧,如果是产品,那应该有一套简单易用的界面,并且不要冒出很多测试概念,不要动不动就来1GB的安装文件,最好能免安装了。
2.功能测试用例编写简单
编写功能测试用例,不要只是简单的像bug管理那样写一堆文字描述,测试用例应该是可以运行的,编写完后就能直接运行、验证
用例编写的语言应该非常简单易学,或者是直接用程序同样的语言(如JAVA、C、Python等),不要让我去学习一套新的语言或规范
测试用例的代码应该很短,不要是我的业务程序写了100行代码,结果测试用例写了300行代码,这会很奔溃,可能会导致我花了大量的时间在调试测试用例脚本是否正确,如果测试代码小于程序代码的1/5就挺好。
3.功能测试用例能同样显示测试代码覆盖率等信息
单元测试可以比较简单的看到测试代码覆盖率,查看未测试到的代码。这个很有用,功能自动化测试希望也能看到这个,这样可以确认哪些地方没有测试到位。
4.可重用,可扩展
    有些组件是已经写好的,测试用例应该能直接复用,比如java中一些标准jar包函数,或者是自己产品里封装的组件。这样对于编写测试就更高效了。
扩展性要好,自己也可以封装一些测试组件,供别人使用或者模块公用。
5.可以自动化回归测试
面对各种环境:开发环境、测试环境、预发环境、生产环境A、生产环境B,自动化回归测试太重要了,最好是功能测试用例编写完后可以直接用在回归测试里,不要又单独写一套回测试用例。
6.能自动造测试数据
造测试数据很花时间,有时还需要造各种随机数据,另外各种边界数据也能自动化最好了,靠人想有时不靠谱的
7.能支持UI自动化测试
现在UI测试基本靠人工,Selenium之类的产品IDE比较简陋,语法也需要重新学习,学习成果不低,而且有点地方写起来很难受。需要能有更高效的UI自动化测试支持。
8.调试方便
  编写测试用例脚本要有方便的调试功能,用例运行过程希望能显示详细的输出日志,特别是在用例运行失败的情况下,不然找问题很花时间。
9.免费、开源
你懂的

最近自己团队也在做这方面的探索,希望能设计出一个适合程序员自测的专业测试工具与方案。 
好了,写了这么多点,可能我孤陋寡闻,也不知道是否已经有这样专业的产品,谢谢推荐。
2016-11-16 17:54:06 wildnesswolf 阅读数 1209
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10426 人正在学习 去看看 CSDN讲师


http://bbs.51testing.com/thread-1100977-1-1.html

综述

在敏捷开发模式,往往传统以功能测试为主的测试难以适应新的角色,而敏捷团队也面临着产品质量和快速市场的压力,需要通过快速的迭代抢占市场,但另外一方面质量的问题,又可能导致市场丢弃,这时,测试应尝试调整测试的重心和方法,目标是做到敏捷测试,测试与开发并行,测试的重心更应移到后台的业务逻辑测试,并建立起新的测试模型,特别后端接口的自动化测试,有了自动化测试,我们所说的持续交付才有可能真正实现,在开展敏捷测试时,可以在各敏捷小组之上增加量个角色以保证产品质量和迭代的效率,一个测试开发角色,负责团队基础测试技术如性能测试,安全测试,负责测试工具、测试平台开发,测试实验室的建立;而另一个过程管理角色,则负责提升整个敏捷流程效率,梳理各环节的问题,对产品、开发、测试、运维的工作成果进行审计,促进设计、开发、测试、运维等角色密切协作,倡导3C【Card、Conversation、Confirmation】。
总的来说,敏捷测试的终极目的是为了持续交付,快速向市场交付可靠的产品;在敏捷开发模式下,迭代使得代码量逐步累加,越靠后的迭代我们所面临的整合测试压力、测试任务就越大;敏捷测试需要测试人员能够随时启动自动化回归测试对发布的迭代代码进行快速验证,以确保开发人员在进行新功能开发同时,未对已有的功能进行破坏
2019-08-07 20:59:52 spfLinux 阅读数 42
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10426 人正在学习 去看看 CSDN讲师

接触敏捷开发一年了,打算写点什么。

    敏捷开发 — 是什么

1. 敏捷开发 — 角色

2. 敏捷开发 — 道具(story/defect/task...)

3. 敏捷开发 — 游戏(自己做一个?或找些玩法过来?)

4. 敏捷开发 — 需求

5. 敏捷开发 — 开发

6. 敏捷开发 — 测试

7. 敏捷开发 — 会议

8. 敏捷开发 — 面板

9. 敏捷开发 — CI/CD

10. 敏捷开发 — 迭代

11. 敏捷开发 — release

12. 敏捷开发 — 常见问题及解决方案

   12.1 敏捷开发 — 新人进来怎么安排(新人story...)

...

先列个大纲吧,慢慢写,如果有写,会在每个item后面给出Link的。

搜罗一点做其他人写的做参考。

https://blog.csdn.net/zhaoenweiex/article/details/78108248

2018-08-14 15:57:51 qiming666 阅读数 2108
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10426 人正在学习 去看看 CSDN讲师

对敏捷sprint进程中测试任务的简要描述:

 

需求讨论:这个阶段测试人员要把自己带入到用户角色中,列举用户角度的场景需求,协助开发和产品制定技术实现方案;

确认验收标准:为了避免sprint进行中产生的扯皮推诿,应当在需求讨论会上就确定验收标准。

形成开发任务tag:形成测试tag,估算测试时间,形成概要测试计划。

开发过程中:1.针对开发任务顺序,提前预备环境,数据等。这个过程往往在需求讨论时就已经开展。

2.验收测试,反馈修改。这一阶段的重点词是“反馈”和 “现场验证”。及时而准确的反馈,是敏捷的灵魂,是开发和测试工作告诉运转的保证;“现场验证”是交付的终点,如果不做现场验证,即使在测试环境中通过也不能算作交付完成。

3.站立会议。传达测试任务进度,了解开发进度,以便预先配置环境;针对测试任务提出问题/给出建议/寻求帮助;预估风险

demo前一天:

不再接受测试任务提交;

对已通过功能现场回归测试一遍;

完成次日测试环境数据的准备;

总结会:

针对上一个sprint不足,改进测试方法流程;

发现团队不足,增强协作力。

 

2015-09-29 23:23:16 jnqqls 阅读数 3300
  • SCRUM敏捷开发视频教程

    SCRUM敏捷开发视频教程,该课程为你分享SCRUM敏捷开发,理解敏捷的本质,认识中国IT行业对敏捷的挑战,学会让敏捷落地的实用招数。 嘉宾介绍:张传波 1. 创新工场创业课程(敏捷课程)讲师 2.软件研发管理佳实践顾问(曾任华为某团队研发顾问) 3. 中国敏捷联盟《ADBOK》(敏捷开发知识体系)项目组成员 二十年软件开发、软件设计、需求分析、项目管理、部门管理、公司管理及过程改进等经验,亲历“无数”项目,涉猎建筑、通讯、互联网、电力、金融、制造业、政府等领域,熟悉软件生命周期的全部过程

    10426 人正在学习 去看看 CSDN讲师

        

      在敏捷开发中除了POSM之外,另外一个非常重要的角色就是TEAM,也就是我们的开发(有些包括测试)团队.

 

      因为在每个迭代进行的过程中,真正的将需求实现为用户需要的产品是在团队的同心合作下进行的,因此将一个新的团队磨合成敏捷开发所要求的自组织团队是一个比较难得过程,尤其是在实际的开发进度和需求等不定因素的影响下.

 

     因此提高Team的凝聚力是创建自组织团队一个 重要因素.

 

    团队的凝聚力来自于大家都在为一件事而努力,每天都在做,而且经常有提高。

      为了提高团队凝聚力,有很多途径可以实施,例如在每天的站立会议,Team成员除了介绍每天的工作,还可以做两个额外的事情:

 

        一个是快速形成某个团队级别的决议,例如将某个方法作为公共模块,临时调整资源等,解决阻碍团队的重大问题;

 

          另一件事情是代码分享或者代码复查,每个人都会拿出昨天最核心的功能代码,讲给大家听,只包括外部模块的耦合,业务逻辑,大家进行讨论,结果不是发现了漏洞,就是发现了某个人的代码更加规范,其他人都会和他保持一致。当然,因为涉及到具体代码此过程在站会的时候进行可能会耽误比较长的时间,项目团队可以根据实际情况,每天留下固定实际来进行此项操作,因为是良性的,所以会越来越好.

       

 

       Team成员每天进行集体沟通,每个人都有机会发言,每个人都不只是听客,每个人都可以感受到其他人对项目的贡献,每个人都有是整个项目和产品的主人翁的感觉.

 

       为了让整个Team的沟通有效率,因此每个敏捷团队人数不易太多,如果有很多人,首先站会就会浪费大家很多时间,也同时因为人数太多,大家的关注点就开始分散起来,不利于高效的去解决问题.

 

       所以在实践过程中,我们原先的20多人的团队分开成两个敏捷团队,每个团队都有各自的PO,SMTEAM.每天的站会分开两部分进行.如果需要两个团队共同来解决公共问题,则还有站会的站会,每个Team派代表来给项目经理说明问题,进度等.

 

       至此,整个敏捷项目的角色基本上全了,PO+SM+TEAM.


敏捷测试的特点

阅读数 1400

敏捷开发学习

阅读数 781

没有更多推荐了,返回首页