Java基础、中级、高级、架构面试资料

自动化测试的原则和如何做好敏捷测试

敏捷开发 herman 3012浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

说到敏捷测试就不得不提自动化测试,敏捷开发由于团队成员的特殊性,非常迫切的需要自动化测试。每当开发人员快速的响应需求时,我们测试人员都需要把真个系统快速的测试一遍,已达到高质量的交互。那么如何把敏捷开发规范应用到测试自动化中?如何满足敏捷团队的测试需求?

自动化测试的原则

说到测试自动化,就离不开系统化,和效率问题。而自动化原则就是从系统化和效率等方面进行规范的。它需要涉及到以下几个规范:

测试自动化不能复制手工测试人员

手工测试人员,即使是那些没有特殊技术和培训的人,也能够去做和发现自动化测试能做或发现的想得到的事情。即使有其局限性,也要承认自动化有很大的价值。但是,通常认为自动化作为手工测试的延伸更有效率,而不是取代手工测试。有效率的自动化努力因此从有效率的思考测试开始。缺席的好的测试策略,自动化自然成为很多极少发现缺陷的重复性活动。

测试自动化不只是测试执行

大多数人听到测试自动化立即会有一种想法"测试在我们睡觉的时候进行"。换句话说,他们想让计算机来跑测试用例。这的确是一种有用的测试自动化。但是,还是更多的东西。举例来说,下面的清单中的每个都可以在某种程度上自动化,即使其他项目保持手工流程。测试产生(数据和脚本产生器)。工具可能会创建特定的数据例如随机的邮件信息,或者构成数据库,或者产生我们想要去覆盖测试的参数组合。

· 系统配置

  工具可能保留或者复制系统参数,将系统设置为一个特定状态,或者创建或者还原"复原的"硬盘驱动。
· 模拟器

  工具可能模拟次级系统或还不能用来测试的环境条件,或者手头上去提供真实的环境比较贵的情形。
· 测试执行(道具和测试脚本)

  工具可能自行运行软件,或者是通过GUI模拟用户工作,或者通过绕过GUI使用替换的可测试的接口。
· 侦探器

  工具可能能使对人类来说不可见的东西变成为可见。他们可能统计性地分析一个产品,从语法上分析一个日志文件或者监控系统参数。
· 神谕

  一个神谕或者看到的东西是任何一种我们发现失败或成功的机制。工具可能自动探测到某种产品中的故障情形。
· 活动录制和覆盖分析

  工具可能监视测试活动当他发生且回顾性报道什么在测,什么没有在测。他们可能记录下动作为以后其他测试做回放。
· 测试管理

  工具可能跟测试结果打交道,组织测试思想,或者呈现度量方式。

测试自动化易于即时作废

软件项目围绕生产代码做解析。测试代码并不是生产代码。因此一个典型的软件项目的优先级允许生产代码来改变及时当这种行为会破坏测试代码。这是正常的现象,而通常来说是合理且经济实惠的做法。
设想产品会变化,你基本上有两个选项:投资测试代码让他更坚固地面对这种变化,或者让测试代码不那么昂贵和不易修复如果你不在意产品变化会破坏测试代码的话。

如何做好敏捷测试

做好测试除了开发人员和测试人员外,我们需要更多的用户参与。比如腾讯每次更新QQ,微信等都会邀请部分用户先进行体验,其实就是一种测试。这里我总结下做好敏捷测试的几个反面:

物色测试者
1、可邀请已有的特约用户参加。
2、如果是企业级产品,同类产品的展销会是寻找目标用户的好去处。
3、在分类信息网站上发布广告,征集测试者。
4、如果是大众产品,可以邀请自己的亲朋好友参加测试,当然不能只局限于亲友。
5、从用户的电子邮件列表中筛选测试者,营销团队可以帮你缩小名单范围。
6、通过公司的网站征选志愿者,需要筛选,避免参加测试的都是产品尝鲜者。
7、较大公司开展原型测试活动,每次邀请10~20位测试者参加。
8、离开公司,到街头巷尾去,到用户聚集的地方去。
9、如果邀请测试者上门参加测试,尤其是出于商业目的,应该补偿测试者为此损失的时间。
10、即使和测试者约定了测试时间,还是有人会忘记时间,爽约的几率大概是30%。

准备测试

确定可用性测试的内容,并拟出问题,就产品的价值向测试者提问。
1、事先拟好测试内容。
2、你只有一次机会了解测试者未接触产品原型之前如何解决产品要解决的产品。
3、测试原型前还有一件事要做,即观察测试者能否从原型首页看出产品要解决什么问题,哪些地方最能吸引他们。
4、待测试者完成测试任务,了解产品用途后,通过聊天进一步收集信息。
5、为每个问题的答案来打分,或者干脆让测试者用数字来回答问题,以此记录每个阶段产品原型的表现。
6、不必等到完整原型完成后再测试,可以先测试主要项目,即使某些功能空着也没关系。

测试环境(如何准备测试环境)
1、正规的测试实验室通常会配备单向透明镜和闭路监视器,并配有多个摄影机同时拍摄用户和电脑显示屏幕。
2、用户的办公室也是上佳的测试场所。
3、测试越多越好,但面对面的测试是不可替代的。
4、产品经理应该亲自参加每次原型测试,不能委托他人,尽可能多与用户接触。
5、获取用户反馈信息是完善产品设计的最佳途径。产品经理亲自参与测试的益处远远大于可能无法客观测试带来的风险。
6、理想情况下,应该安排一个人主持测试,另一个人记录。
7、还可以邀请开发人员、交互设计师、视觉设计师,甚至公司高管帮忙。参加原型测试会让他们受益匪浅。

测试原型(实际测试的技巧和窍门)
1、测试前不宜与测试者交谈过多。事先谈得越多,透露的产品线索就越多,测试者就越不可能说出他们对产品的第一印象。
2、寒暄之后务必告诉测试者:这只是产品原型,是初步的产品创意不是正式的产品。被测试的对象是原型,不是测试者,测试者不必担心测试失败,只有原型会通不过测试。
3、尽量让测试者保持平和的情绪,千万不要让他们陷入吹毛求疵的状态。测试的重点是看测试者能否轻松完成测试任务,以及他们是否喜欢产品的功能。多观察用户的操作,少听他们的抱怨。
4、测试时尽量保持安静,不要给测试者提示。
5、通常有三种测试结果:测试者在没有提示的情况下,顺利完成测试项目;测试者遇到麻烦,但通过反复尝试,最终完成了测试项目;测试者受挫,最终放弃。
6、一般来说要尽量避免提示测试者,更不能引导他。
7、测试主持人向鹦鹉学习,使用自言自语技巧。可以避免引导用户,帮助记录人员记下测试要点。
8、测试的作用是理解目标用户如何看待产品要解决的问题,发现原型与用户期望不一致或不相容的地方,也就是原型不符合用户直觉习惯的地方。
9、从测试者的肢体语言和语气里可以发现许多有用的信息。

更新原型

测试原型的目的是找出原型中需要修改的部分,提高原型的可用性和价值(吸引力)。因此,应尽快纠正发现的缺陷。
1、只要两三个用户反映了同一个情况,就动手解决吧。相对于判断设计缺陷来说,判断原型测试何时结束更难一些。如果有连续六位测试者理解和欣赏产品的价值,而且能完成关键的测试项目,就算完成了原型测试任务。
2、如果你发现没法让测试者对原型产生兴趣,或是无法让原型变得足够简单易用,让测试者理解其价值,应该立马收手。放弃这个产品创意。

向大家推荐两个获取测试灵感的资源
1、是史蒂夫•克鲁格(Steve Krug)的《点石成金:访客至上的网页设计秘籍》。
2、一家产品测试公司Creative Good。他们擅长开展一种称作倾听实验室的测试方法,通过间接测试的方式找出产品功能和设计方面的缺陷,改善公司业绩。

版权声明:本文为博主原创文章,未经博主允许不得转载。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » 自动化测试的原则和如何做好敏捷测试