基于敏捷模式下测试改进分析和质量研究
测试改进分析
测试改进的策略主要有三点:
首先是要改进新功能测试的策略。
一般来说,每次短期的迭代都有新的功能加入产品中,因此针对新功能的测试方法,在短期迭代周期中需要改进。不需要编写测试用例,直接基于对需求的理解梳理出测试场景,按照测试场景来验证新功能。
即使一定要写测试用例,可以不用太详细,只要保证用例能够覆盖各个功能点即可。
持续性验证包括单元测试和集成测试两个阶段,它们都是输入准备好的数据,验证输出结果,从而覆盖所有业务流程。易于察觉流程式的功能问题:逻辑混乱、输出不合理等。
测试人员和开发人员工作保持同步,可以参与代码审查,从而更好地理解系统的实现,也更容易发现问题。
同时可以实施组合交互性测试、探索性测试和用户场景测试,更高效地发现缺陷。
其次是改进回归测试的主要策略。
由于每次迭代基本都会增加新功能,回归测试覆盖范围在不断扩大,而每次迭代计划完成时间不变,这样使得留给验收测试的时间极其有限,所以回归测试必须采用自动化测试。
敏捷模式下执行回归测试时,可以让开发人员配合再做代码关联分析,明确本次回归测试需要关注的重点模块,从而缩小了测试范围;开发人员、业务人员、需求分析人员可以利用空闲时间参与到持续回归测试过程中来。
最后是改进自动化测试策略。
一般软件开发项目中,花在获取客户要求和沟通需求设计两方面的时间已经占据了一大部分,而对于敏捷开发而言,注重的是短周期迭代开发,这样就严重压缩了编写和调试自动化脚本的时间,尤其对新功能的测试很难用自动化测试完整地去实现。此时,需要使用正确的策略来加快自动化测试的速度。
质量研究
敏捷开发模式的特点是迭代与增量、快速响应变化。敏捷测试要求质量保证体系做到有成效、有效率、响应变化,敏捷测试要求测试人员 “尽早地和不断地测试软件”。
敏捷模式
敏捷模式注重的主要体现在以下五个方面:
对于增量的检验,需要经过验收阶段。
在理想的敏捷开发过程中,每个迭代开发完成后会产出一个可交付的版本。根据以往的测试经验,能够交付高质量的版本离不开测试人员的验收。倘若忽视了验收测试阶段,严重的缺陷就不可避免了。
此时,就需要专业的测试人员来进行功能验证,而且这些测试一般是敏捷开发团队由于考虑不周或者没时间完成或者受限于设施配置而无法实现的。测试人员会尽可能地模拟真实用户的操作习惯,九成的情况都是要手动测试完成。
所以,手动测试对增量部分的检验是不可或缺的。敏捷测试需要一位能够担任测试执行、业务验收、用户感受等多阶段的职责的手工测试人员,他在测试团队里起到举足轻重的作用。
尽量压缩验收测试的时长。
每个迭代版本的开发时间都不长,验收测试往往没有多少时间去执行,那就要想方设法去压缩验收测试时长。
要想缩短时间,可从以下两方面思考:
如果开发代码的质量本身就很高,这样可以节省大量用于修复缺陷的时间;
从测试角度来看,就要优化测试手段,提高测试效率。
对于传统的验收测试,测试人员会编写测试用例,模拟用户执行测试用例,查看输出结果,再与预期结果比较,得出测试结果。而且编写测试用例花费的时间长,一旦需求变更,维护文档的时间也相应地拉长。
以人为本:敏捷发展模式注重个体能动性。
测试工作也要尽量发挥测试工程师的灵感。如果仅仅按照设定的测试用例,按照测试步骤一步一步地执行,主观能动性就得不到发挥。在敏捷的过程中,没有精确的产品设计作为参考去写符合规范标准的测试用例。
提高敏捷测试效率。
要保证产品原有功能的质量,就要提高测试效率。最好在每天的产品开发过程中,都能参与进去进行测试,以免出现回退问题。因此,高效的自动化回归测试将为原始功能提供最好的质量保证。
及时收集用户反馈,响应变化。
要及时通知用户软件更新,与团队进有效的沟通,并能够建立机制及时跟踪用户反馈的问题,以免发生遗漏。
敏捷开发项目的团队结构
敏捷团队的工作会因为功能互相分隔的小组变得难以开展。敏捷开发注重的是人与人的交流,这需要团队成员紧密合作,不管他们是在虚拟环境中工作还是在同一个地方工作。
独立的质量保证团队。
许多组织,为了得到客观的产品质量评价,都设立了独立的质量保证团队。希望质量保证团队与开发团队独立开来,其原因有:
拥有独立的检查和审计角色很重要。
对于产品的质量,独立的质量保证团队能够给出客观的评审意见,不带有色眼镜。
测试人员不能和开发人员过分亲近,要不然会被开发人员的思维方式带偏,不能站在客户的角度评价。
测试人员和开发人员不能由同一个上级来管理,因为管理者一般会认为提交开发代码比提交测试代码优先级更高。
我们提议重组人员结构,即使还有一小部分人认为独立的测试团队是必要的。与其让测试人员在编码完成后开始测试,把测试团队分离开来,不如让整个团队都视作质量保证团队,提供学习培训来帮助测试人员职业发展和分享思路。
如果敏捷开发团队经理由测试质量保证经理来担任,大家可以培训测试人员除测试外的其它技能,从而推动测试人员往更高、更强、更能适应各种环境的方向发展。
敏捷项目团队。
我们常常认为敏捷项目组是跨职能的,因为每个团队里的成员都带有不相同的职业背景。传统的跨职能团队和敏捷团队之间的区别是以整体团队运作努力的方式,成员不止“代表”他们在团队中的职能,只要项目或永久团队存在,他们就是团队的真正成员。
因为项目的规模不同,项目团队的结构也可能不同。大的项目或许多项目的组织可能同时成功地使用了矩阵类型结构,来自以不同职能区域的人组合形成一个虚拟团队,他们仍然向每个人的组织汇报。
在大的组织中,一批测试人员可能从一个项目转移到另一个项目。一些专家,例如安全、性能或者质量保证测试人员,可能同时服务于几个团队。如果启动一个项目,那么请确认工作需要的所有资源,在开始前确定需要的测试人员数量和技能,测试人员在团队开始时加入,一直工作到项目结束,那时,他们将转移到下一个项目。
测试人员是团队的一部分,所以他们每天的工作与项目团队的其他成员的工作一起被管理,测试人员可以在更大的测试人员社区中发表想法,更大的测试人员社区包含大的组织中不同项目团队的测试人员,所有的测试人员可以分享知识和想法。
在执行业绩审核的组织中,质量保证经理可能推动审查并从项目团队获得意见。任何新团队都需要时间来构建,如果项目时间较短或者团队是不断变化的,组织需要意识到在每个项目的第一个或第二个迭代中,新的队成员将加入团队并适应互相合作的环境,应在需要的时候重构组织,还要记得把客户也纳入组织中,最好的团队是学会一起工作和建立起彼此间信任的团队。
质量工作角色。
在那些刚刚从传统模式转变为敏捷模式的团队中,人们依旧把敏捷QA(Quality Assurance)的职责等同于测试员的工作,觉得只要开发完项目代码后,QA只要负责执行测试,挖掘出缺陷就行。
事实上,敏捷QA不仅仅是测试软件,更重要的是确保软件的质量和过程的质量。在敏捷项目开发过程中,敏捷QA经常会在不同的开发阶段与敏捷团队中的不同职能担当协作,从需求分析阶段开始介入软件开发过程,这样可以对不同开发阶段进行质量评估并改进开发活动,帮助项目预防缺陷,提高整个团队的质量保证意识。
而现在团队中只设定了测试员这个角色,没有质量保证的职能,这样就会导致开发过程的各个环节的质量得不到保障。
资源分享
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】
基于敏捷模式下测试改进分析和质量研究相关推荐
- 敏捷模式下的研发产能度量
最近与一些 X-Developer 试用申请者.使用者交流,针对开发者的绩效评估,需求的分解与度量依然是难点.客户认为,如果在需求上无法做到均匀,那么针对需求个数的统计就是不公平的,但是要做到需求的均 ...
- linux中断处理模式,Linux在保护模式下的中断处理分析.pdf
Linux在保护模式下的中断处理分析.pdf Linux 在保护模式下的中断处理分析 刘万里 杨 斌 (西南交通大学计算机与通信工程学院,成都 610031) E-mail:awan@ 摘 要 该文以 ...
- 基于MVC模式下的二手车拍卖平台设计
课程名称:<软件体系结构与设计模式> 实验项目名称:基于MVC模式下的二手车拍卖平台设计 实验内容 按下列要求编写程序并上机调试运行: 拍卖系统要又三个显示界面,分别是车体图片,文字描述和 ...
- DevOps模式下测试左移和测试右移
一.什么是DevOps模式 可以参看我的上一篇文章:什么是DevOps模式,本文主要介绍DevOps模式下测试左移和测试右移可以做的事项有哪些~ 二.测试左移内容 2.1 PRD评审 这一点相信很多测 ...
- BIO、NIO、AIO 详解和基于BIO模式下即时通信
第一章 BIO.NIO.AIO课程介绍 身边同学写的,没发布出来,我算是转载 1.1 课程说明 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者 ...
- 敏捷模式下的团队测试能力构建
第一部分:敏捷软件开发简介 敏捷软件开发(Agile Software Development)初起于九十年代中期.最早是为了与传统的瀑布软件开发模式(waterfall model)相比较,所以当时 ...
- 基于dalvik模式下的Xposed Hook开发的某加固脱壳工具
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/77966109 这段时间好好的学习了一下Android加固相关的知识和流程也大致把A ...
- 工作组模式下Windows共享分析
工作组模式下 Windows局域网共享分析 一.工作组结构的网络 工作组网络也被称为"对等式"网络,因为每台计算机的地位是平等的,他的资源与管理分散在各个计算机上. ...
- LoRa模块E22-400T22S 四种模式下的电流分析和功耗评测
LoRa模块E22-400T22S 4种模式下的功耗评测 E22-400T22S是全新一代的LoRa无线模块,是由EBYTE(亿佰特)设计研发的,它基于SEMTECH公司SX1268射频芯片的无线串口 ...
最新文章
- NanoPi NEO Air使用十六:使用python做开发
- NFS挂载失败(Kernel Panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0))
- Redux之compose
- 前n个正整数相乘的时间复杂度为_初一数学必学必考的21个知识点,附第一章有理数测试卷...
- android onpreviewframe保存mp4_无需第三方工具!教你如何保存抖音完整版视频
- 算法复习——虚树(消耗战bzoj2286)
- Class的getName、getSimpleName与getCanonicalName的区别
- linux安装python库报错pywin32_Python3爬虫利器:Scrapy的安装
- 中国农业大学计算机学院博士,[北京]中国农业大学工学院农业机器人团队
- Reapp - 下一代的 Hybrid App 开发框架
- 工作中windows客户端常见问题
- php unset引用变量后不会删除值
- MyBatis框架、log4j、数据库的配置文件
- Android:GPS卫星定位
- 清理打印机连接数bat_通过批处理bat解决局域网打印机共享问题
- Software Architecture Patterns: Layered Architecture
- 囍囍囍~~~ 以后可能用的着
- 2001-2019年中国境内企业并购数据
- java计算机毕业设计小区物业管理系统录像展示.mp4源程序+mysql+系统+lw文档+远程调试
- Linux 之 开机自启动