小组成员有吕晓芬,马涵韵,马钰言,苗萌,孙涛,田蜜
团队应该如何安排QA和测试工作
1. 团队应该如何安排QA
1.1敏捷QA流程
敏捷测试提倡尽早测试、频繁测试,QA要从需求分析阶段就开始介入,QA参与从需求到发布的整个生命周期中各个阶段。在整个QA的过程中,会依据敏捷测试象限,在不同阶段采取不同的测试;还会根据测试金字塔的分层指导,加强自动化测试,制定有利于项目质量保证的测试策略,同时也会做探索性测试,尽量去发现更多不易发现的缺陷。
随着敏捷开发和持续交付的出现,QA角色逐渐转变到需要分析软件产品在产品环境下的质量。这需要引入产品系统的监控, 制定检测紧急错误的警报条件,持续质量问题的确定以及找出在产品环境下使用的度量以保证这种方式可行。
1.2产品环境的特点
为了更好的实践产品环境下的QA,先来分析下产品环境有哪些特点:
(1)真实、不可破坏
(2)基础设施差异
(3)系统复杂度
(4)数据复杂度
(5)用户行为千奇百怪
(6)访问受限
(7) 真实的用户反馈
产品环境的这些特点决定了QA在产品环境不是想做什么就能做什么。
1.3产品环境下可以做什么
(1)监控预警
可以通过监控的方式去获得我们需要的信息,对异常情况进行预警。提到监控预警,不得不提大家都了解或者至少听说过的日志和网站分析工具,这两者都是做好产品环境下的QA非常有帮助的工具。
(2)日志
日志就像是飞机上的黑匣子,可以记录系统运行的各种信息,包括错误、异常和失败等。一旦程序出现问题,记录的这些信息就可以用来分析问题的原因;同时可以利用记录的日志设置好预警,提前预测系统可能出现的问题。
(3)网站分析工具
网站分析工具根据具体工具不同,所能记录信息也有差异,但基本都可以记录如下信息:
用户使用的操作系统、浏览器等信息;
用户行为习惯,包括使用的时间、关键路径、关键业务流程等;
用户所在地区、语言等区域信息;
用户访问量,请求的响应时间,网站性能等;
1.4用户反馈
介绍产品环境特点的时候提到一点就是产品环境能够收到真实的用户反馈,这是非常有价值的,要做好产品环境下的QA一定要利用这些反馈。用户反馈,可以总结为下面几类:
(1)缺陷
(2)抱怨
(3)建议
利用用户反馈,改进系统功能,可以优化业务价值,扩大产品的市场影响力,提高企业的竞争力。常被用来收集用户反馈的实践有:
Beta测试:很多有前瞻性的网站或应用会发布新功能给特定用户组(Beta用户),收集用户使用新功能的统计数据;
AB测试:同时发布两个不同版本的系统到产品环境,并将用户引导到两个版本,统计使用每个版本的用户数据;
Observed Requirement:发布一个简单的功能,或者发布一个MVP版本,观察用户使用情况,从而引出并收集到用户的真实需求。
1.5总结
监控预警、收集和分析用户反馈并不是QA能独立完成的,需要与不同角色协作,QA在整个过程中主要充当分析者和协调者的角色,对产品环境下的质量保证工作起到至关重要的作用:
(1)跟DEV一起讨论监控标准,把日志标准化的要求融入到软件开发流程中,确保日志能够记录到真正需要记录的信息。
(2)跟运维团队一起分析收集到的统计数据,指导和优化各个阶段的测试,以预防和减少系统在产品环境下的缺陷。
(3)跟业务分析人员一起分析和梳理从产品环境收集到的需求相关的反馈,提炼出合理的需求,优化业务价值。
2.团队应该如何安排测试工作
2.1各司其职,各尽其责。
通过激发测试队员的积极性充分发挥各自潜能,并培养团队协作氛围增加团队精神,工作上步调一致,来最大程度的发挥团队效能。不同测试阶段采取不同测试策略,例如测试过程中出现定位效应、审丑疲劳和同化现象可采取交叉测试来规避;鼓励创新,不断变化测试方法来提升测试效率;尽量让每个人做不同的事情减少重叠和内耗,在专长上面要有互补性,充分发挥各自特长。
2.2了解并熟悉需求
在需求文档出来之后一般会有个需求评审,测试人员在这个阶段就介入,站在测试的角度,提出一些需求文档的不足之处以及测试人员的建议,同时我们也可以很透彻的了解需求,就是所谓知己知彼,这样在后面的测试工作就可以由被动变为主动了。
2.3测试计划
需求熟悉之后,按照自己的以往的测试经验或者开发计划排出测试计划,测试时间为2:1或者3:1(按工作人日算),同时确认下测试方案,该项目除了功能测试是否还需要性能测试、安全测试,再者是确认测试资源包括人员、硬件、软件,
2.4根据需求文档编写测试用例
具体用什么工具管理TC,用例要一目了然,即使是不了解需求的人,一看就能知道大概的功能点,也便于后期维护,等项目介绍之后,直接把用例上传到svn管理平台,也有公司用QC管理,萝卜白菜各有所爱。
2.5用例评审
把开发和PD一起叫上,过一个测试点,防止测试过程中遗漏,大项目用例评审非常有必要,因为在项目前期,会有一些小功能点不明确,在用例评审的时候大多数都需要再确认一下。
2.6搭建测试环境
开发提测之前,需要把测试环境搭建好,提测之后就是用例执行了(有的项目是可以迭代开发的,这样我们也可以进行迭代测试,也就是一个模块一个模块分开提测,这样可以节省整个项目的时间),发现bug后提交给相应的开发。
2.7编写测试报告
项目完成之后,就是写测试报告了,把QC中该项目的bug导出来,放在excel表格中,再进行统计,看各个开发、模块以及bug严重等级的分布,再总结下该项目中需要改进的地方,为以后的项目提供借鉴。