首页 > 软件测试/ 正文
软件测试向敏捷要什么?
2012-11-02 14:01:59 ℃敏捷软件开发与其他软件开发方法学最大的区别,在于敏捷是承认并拥抱变化的。为了这样的变化,敏捷的不同方法,比如极限编程、Scrum引入不同的技术实践和流程,像持续集成、测试驱动开发以及短迭代周期等,来确保即使在需求的快速变化下,也能保证交付的软件总是满足用户的需求,是高质量的价值交付。
从敏捷软件开发宣言来看,并没有涉及测试的内容,更不用提为QA即测试人员提供指导性的建议。就是以极限编程的14个推荐实践来看,表面上对于测试的提及也只是验收测试,甚至没有敏捷测试这个概念。这样让很多人一度认为敏捷软件开发是不是之以程序开发为导向的,是不是我们测试人员能从敏捷获得的直接支持少之又少,我们是不是被遗忘的一个种群?
答案必然是否定的。还以极限编程为例,除了验收测试以外,极限编程提及的完整团队、用户故事、短交付周期、持续集成等实践,都在从不同的维度对于测试工作的流程和方式甚至对它思考的角度提出了变化的要求。
完整团队从文化氛围和组织结构上明显区别与过往的测试人员参与感,测试人员不再是对软件系统质量负责的唯一角色,对质量负责的是全体团队成员的职责。用户故事改变以前对于软件系统功能和模块的划分,而是从交付的独立价值出发,改变了测试人员对于测试案例准备和验收的方法。短交付周期,无论是两周还是四周,都给整个团队带来了巨大的变化,开发和测试不再是独立而又顺序的过程,开发和测试互相穿插,成为一个快速反馈的过程。持续集成是软件系统开发过程的晴雨表,其中价值相当大的自动化测试仍然和我们的测试工作脱不了干系。
可见,敏捷和它的方法,虽然没有显式地给测试工作以指导建议,但隐式地要求了我们测试人员仔细思考测试本身在敏捷项目中所需要发生的变化,我们测试人员的职责和工作范畴发生了哪些变化。
与敏捷开发一样,敏捷测试针对不同的项目上下文和不同的团队组成和背景,有不同的适配模式。跟敏捷软件开发的宣言类似,敏捷测试也有一系列可以恪守的原则。经过不断实践和经验,ThoughtWorks的同事同样提出了《敏捷测试宣言》:
1、Collaborative ownership over detached objectivity
2、Targeted automation over widespread anti-regression
3、Defect prevention over defect reporting
4、Exploratory testing over predetermined scripting
第一点与完整团队有关。虽然独立的测试团队可以从外部视角观察软件质量,但真正的软件质量来自测试人员属于一部分的完整团队,不再区分彼此的开发团队和测试团队,不再有彼此分离的目标。整个团队为软件质量和客户价值共同负责。
第二点针对性自动化测试胜过广泛的回归测试。随着软件系统开发的进展,后期引入的新功能和缺陷都会带来大量和重复的回归测试,自动化测试是代替人工繁琐而无聊的回归测试的唯一办法。
第三点提到的如何对待缺陷恐怕是时下各个测试团队最为纠结的内容了。预防缺陷胜过报告缺陷,预防缺陷才是测试工作最大的价值所在。敏捷测试会尽早介入软件系统的开发过程,和业务分析师、客户分析需求和价值所在,以用户故事和验收条件来驱动开发,以短周期迭代和持续集成为反馈,可以尽早发现存在的缺陷,从而极大降低后期才报告以及修复缺陷所带来的高额成本。在我的团队,测试人员甚至可以和开发人员结对,共同确认缺陷根源,修复缺陷,并添加自动化测试确保缺陷不会再次发生。
第四点的探索性测试的重要性没有人会怀疑,测试人员可以凭借自己的经验积极、自由地发现质量问题,而不仅仅是反复运行已经定义好的测试。这样可以证明软件不仅仅做了它该做的事情,还证明软件没有做它不该做的事情。
- 上一篇:如何有效的做Code Review
- 下一篇:软件测试流程
更多郑州北大青鸟学费是多少呢,河南郑州北大青鸟2018年招生简章,河南省it专业学校有哪些,郑州北大青鸟招生地址,郑州电脑学校哪家好,郑州网络硬件工程师培训机构相关文章
- Java线程关闭:代码实战总结
- Java连接DB2数据库开发应用程序的步骤
- 软件测试杂谈:关于自动化测试,关于Agile,关于团队
- 软件测试方法汇总
- 专家眼中的QA、敏捷测试、探索式测试及测试的开放性
- 敏捷测试的开发流程
- SwitchBoard测试系统经验谈
- 软件测试向敏捷要什么?
- 一个女孩从软件测试工程师到主管的成长
- 三年QA工作的感想与体会
- 这是谁的孩子?------软件质量的责任之争
- 解决“CMMI后遗症”
- 软件测试计划模板
- 过程改进漫漫谈之过程改进的五个原则
- 评审技术在高质量软件开发中的应用分析(下)
- 关于同行评审
- 将软件测试阶段按照生命周期的方法去分析
- SuperOneClick2.3.3使用教程,SuperOneClick2.3.3教程下载
- 什么是NTFS
- 固态硬盘是什么
- 超极本是一种笔记本电脑吗?有什么区别?
- 购买电脑的一些小技巧
- 电脑的寿命有多长?
- 64位技术是什么
- 郑州有没有软件工程师培训呢
- 给想学习软件测试的朋友的建议
- 最近一直想学计算机编程,怎么学呢
- 在开发dwr+struts的时候会报错误,不知道你遇到了吗
- 软件开发专业的学生就业方向与薪资是怎么样的呢?
- 搜索
-
- 热门标签
-
- android 游戏开发
- 郑州Java培训机构
- 周口适合不想上学的学生读的技术学校
- 信息系统管理工程师
- 郑州编程培训机构零基础如何学习呢?
- 郑州计算机学校哪个好
- 郑州北大青鸟学费一览表
- 郑州北大青鸟ACCP课程就是软件开发编程
- 郑州Python培训学校哪家比较正规靠谱
- 郑州技校排名技校都有什么专业
- 郑州程序员培训哪家机构好课程有哪些
- 软件开发培训
- 郑州初高中生零基础培训软件开发的学校
- 郑州软件培训机构哪家口碑好
- 河南技校都有哪些专业
- Linux中的典型系统树或文件系统层次结
- 河南北大青鸟电脑培训学校在哪里呢
- 郑州云技术培训学校哪家好呢
- 郑州学习电脑软件有哪些学校
- 郑州北大青鸟java培训课程全新改版升级