`

关于自动化测试的一点感悟

阅读更多

最近的一年主要精力都放在自动化测试上了。前半年是手机客户端的自动化测试,主要是冒烟测试,一个平台大概200条用例的量,平均一个平台3个人力,在完成日常的系统测试之余,花了半年时间做起来的。接下来的半年是维护,比较大的问题是测试平台的支持不够及时,以及真机的损耗很大。而且客户端测试的一个短板在于测试覆盖度很小,冒烟测试,简单说就是最基本的功能测试,一般都是正常的用例,很少涉及异常的用例。对于一个仍然不断增加新功能的APP应用而言,大部分的工作还是要依靠测试人员手工完成。如果是一个很稳定的APP,类似QQ这种的,大量的客户端测试还是有相当客观的收益的。

 

后半年在研究后台自动化测试。几年前也做过一个Web项目的CGI接口测试,用Jmeter做的,http协议的,门槛是要学习Jmeter的使用,不算复杂,应用效果也是不错的,不仅可以用于日常测试,也可以用于线上监控。现在的这个APP是一款直播类应用,后台分为接入层和逻辑层,接入层是TCP协议,负责鉴权和转发,逻辑层是自定义的UDP协议,负责大部分的逻辑处理,且内容是二进制的。因此并不适合用Jmeter来做。这里选择自己写基于Python的测试脚本。Python有丰富的第三方库,对于收发包,组包和解包都能实现。而且还能自由得根据自己业务特点进行个性化定制。缺点是有一定的编程门槛,自研的框架没有成熟的框架那么简单好用。

 

说了这么多,本文并不是介绍自动化测试经验的。而是要给那些认为实施了自动化测试就能解决问题的测试人员提一个醒:

 

1、自动化测试非常的劳民伤财(本人的经验,基本需要半年以上时间才能看到成效),是否要做自动化测试要考虑很多因素:产品的发展阶段,团队能力,ROI等。最最重要的是能否解决痛点问题。自动化测试本质上还是工具辅助测试,部分或全部得替代一种手工测试,其目的是让测试人员可以有更多时间去解决工具解决不了的问题。

建议:明确自动化测试的目标,增量得推进自动化测试。

 

2、后台测试一般会分为接入层的测试和逻辑层的测试。自动化测试实施在接入层,还是逻辑层,或者都需要,是测试人员需要考虑的问题。后台架构比较简单,且很少依赖第三方的产品,做接入层的自动化测试比较常见;对于后台架构比较复杂,有较多第三方依赖的产品,做逻辑层的自动化要更容易一些。原因和单元测试能够带给我们更多好处类似:

a、速度更快:使用一小部分代码就能运行起来的测试,比要调用多个组件甚至整个应用程序要快得多

b、有良好的可伸缩性:逻辑层的测试比较独立,能随着应用的规模线性伸缩,接入层的测试中,多个组件之间会有依赖关系,会遇到伸缩问题,导致测试用例的维护成本非线性增加。

c、逻辑层的测试用例,跟具体的代码块相关,可以让只针对变更代码进行测试变得很容易,更能为开发提供快速反馈

(ps: 单元测试的好处参考来源http://www.infoq.com/cn/articles/design-for-testability)

 

3、不要为了自动化而自动化。自动化测试有时候并不是最优的解决方案。

举个最近几天发生的例子:有一个线上运营的产品,商家会不定期进行一些更新(平均每月不到1次),由于更新时没有遵循规范,导致页面打开出问题。针对这个问题,PM提出这里应该增加监控措施,开发和运维讨论后觉得只能采用基于UI的自动化测试方案(因为需要登录态)。该产品的测试人员首先考虑的是这个解决方案自己有没有技术能力实现,以及有没有时间去做这件事。事情发展到这里,有问题么? 有!想想UNPHAT原则(我的另一篇博客里有解释http://sharley.iteye.com/admin/blogs/2382789):在彻底了解你的问题之前,不要急着去寻找解决方案。我提醒该测试人员进一步挖掘问题的根源,从而把思考问题的解决方案从监控结果转移到监控变更,因此有了候选方案,监控配置变更+人工检测页面,在频率极低的情况下,这不失为一个低成本的解决方案,更进一步的,可以增加智能化的自动检测,后者也要看ROI。前者虽然需要部分人工介入,但是人工成本基本可以忽略,最好让非测试人员去验证(只是看页面是否正常显示,没有任何逻辑,非测试人员也可以做得很好)。

 

 

 

 

分享到:
评论

相关推荐

    自动化测试学习历程感悟--.pdf

    在自动化测试的学习过程中,我们可以汲取许多宝贵的经验和教训。首先,自动化测试是软件开发不可或缺的一部分,它能够提高测试效率,确保产品质量。对于初学者来说,通常是从手工测试开始,逐步过渡到自动化测试。 ...

    初学测试自动化工具的一点感悟及教你认识自动化测试工具QTP

    QTP感悟初学测试自动化工具的一点感悟及教你认识自动化测试工具QTP初学自动化测试工具,总结了几点应该注意的重点问题:1、首先必须进行完善的用例设计和测试过程设计使用测试工具进行测试工作的第一步并不是录制...

    狠狠地聊一下UI自动化测试

    我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化测试,后面加入腾讯,写过pc的...

    软件测试中的自动化与持续集成.pptx

    3. **自动化测试:**构建完成后,自动运行测试脚本来验证新代码的功能和兼容性。 4. **快速反馈:**如果测试失败或构建出现问题,系统会立即通知相关人员进行修正。 **持续集成工具:** - **Jenkins:**作为最流行...

    跳出程序员的视野 感悟软件测试

    - **自动化测试的普及**:虽然自动化测试是大势所趋,但在实践中仍面临诸多挑战,比如如何选择合适的自动化框架、如何处理测试数据等问题。 - **测试人员的能力培养**:为了适应快速变化的技术环境,测试人员需要...

    初涉金融行业软件测试感悟

    初涉金融行业软件测试感悟我是刚刚从学校毕业出来的,加上实习到现在正式工作快一年了。从事的是银行信用卡收单业务这块的测试。经过这一年多入门接触,发现金融测试这个行业的确不同于一般的测试。本文主要涉及功能...

    让我们来聊一下UI自动化测试

    我发现了,大家极度关心自动化测试,尤其是UI自动化测试,虽然现在作为专项测试,离开这些越来越远了,但总能遥想以前,我总能想起自己做nokia的WindowsLive的ui自动化,做web的自动化  我发现了,大家极度关心自动...

    六年软件测试感悟

    - **技能多元化:** 积极学习自动化测试、性能测试等高级技能,拓展职业发展方向。 - **角色转变:** 考虑向测试管理或咨询顾问等更高层次的职位发展,增加职业生涯的多样性。 - **终身学习:** 持续关注行业动态和...

    济钢实习报告 北科大 自动化系

    【标题】:“济钢实习报告 北科大 自动化系”揭示了这是一份来自北京科技大学自动化系学生在济南钢铁集团(济钢)进行实习后的总结报告。实习报告是高等教育的重要组成部分,它让学生将理论知识与实际工作相结合,...

    电气自动化实习报告范文

    1. **实习报告的目的**:电气自动化实习报告旨在记录学生在实习期间的学习经历、工作内容及收获,帮助学生将理论知识与实际操作相结合,加深对专业知识的理解,并为未来的职业生涯打下坚实的基础。 2. **报告的基本...

    软件测试小白三年感悟.docx

    对于初级测试工程师来说,从执行预定义的测试用例开始,逐渐学习编写测试脚本和使用自动化测试工具。随着经验积累,可以提升为高级测试工程师,负责更复杂的测试设计和问题调试。进一步,可以转型为测试经理或测试...

    做软件测试工作的感悟

    下面是我对软件测试一点感悟。相对于开发,软件测试通常给人的印象是:技术含量低,枯燥乏味,大量的重复工作,将来的职业发展局限性大的确软件测试工  不知不觉间做软件测试已经将近两年了,这两年间在QA这个工作...

    关于上好汉语口语课的一点感悟.pdf

    关于上好汉语口语课的一点感悟.pdf

    搜狗测试期刊

    在自动化测试篇中,提到了设计一套自己的自动化体系的重要性,强调了在工作中积极搭建和优化自动化测试体系的重要性。这不仅涉及到测试工具和框架的选择,还涉及到测试流程和测试用例的管理。自动化测试能够减少重复...

    对软件测试感悟

    对软件测试感悟软件测试我非常热爱软件测试,包括软件测试工具,方法,理论,技术。因为我在3年的测试工作中,深刻体会到软件测试的重要性和趣味性。此时,我已经跳出了“小程序员”的圈子,以软件系统工程的更大...

    自动化专业实习报告.doc

    实习心得体会是自动化专业学生在实习期间的主要收获和体会,通常包括对实习期间的经验和感悟、对未来的职业发展的规划和目标等。该部分的内容对学生的职业发展有着重要的影响,可以帮助学生更好地理解自动化专业的...

    新建高星级酒店投资成本控制、设计的一点感悟.doc

    新建高星级酒店的投资成本控制与设计是一项复杂而精细的工作,它涉及到多方面的专业知识,包括建筑设计、工程...只有深入理解并灵活运用这些知识点,才能在保证酒店品质的同时,有效地控制成本,实现投资回报的最大化。

    参考范文:自动化专业实践报告心得.doc

    标题中的“自动化专业实践报告心得”表明这是一篇关于作者在自动化专业实习过程中的体验和感悟,描述中并未提供具体信息,但标签“互联网”暗示可能涉及到自动化技术在互联网行业中的应用。根据部分内容,我们可以...

Global site tag (gtag.js) - Google Analytics