自动化测试的成本高效果差?首先这个结论就太过武断了一些。
任何技术都需要放到适合的地方去使用,否则一定是达不到理想的效果的。举例大炮打蚊子,同样是成本高效果差,难道大炮就没有存在的意义了吗?
当然不是,只是咱们把大炮用错了地方而已。
为了将这个问题阐述清楚,所以本文行文结构如下:
1、自动化测试提升测试效率的应用场景
2、自动化测试于公,对于工作的更大意义
3、自动化测试于私,对个人的意义
4、自动化测试学习资料分享
一、先说自动化测试提升测试效率的应用场景
做自动化测试的前提,首先要分析当前项目和当前产品是否适合做自动化,适合做哪种自动化?
1、下面这2类项目,不适合做自动化,手工点是最高效的方法,坚持自动化倒会“成本高效果差”。
类1:如果项目周期很短,开发完就交付,后续也没有什么升级迭代的需求。
类2:项目目前非常不稳定,客户的需求经常性的发生变化。
2、下面这2类项目,就适合做自动化。
类3:项目周期比较长,需要进行长时间的迭代,项目的主体业务流程也比较稳定了,但是界面上经常根据用户的喜好要求来变化,可以先做接口自动化测试;
类4:主功能已经基本稳定,业务和界面都不再有大调整,就可以同时做接口自动化和UI自动化。当然,若有新增需求,则可以在手工测试稳定后,再逐渐进行自动化实现。
接口自动化流程
3、以上类3和类4,完成了接口自动化和UI自动化的脚本编写后,后续迭代开发过程中,想大大提升了测试执行的效率。可采用下面的方法:
新功能,对应的用例采用手工执行,老功能,对应的测试用例使用自动化脚本来执行。
小项目可能很难体会到这种便利。但项目大的话,比如我之前一个项目常规用例就有1万条左右,因为有自动化脚本帮忙保证这些常规功能的可用,这就非常方便了。
但,自动化测试的意义,不仅仅是编写自动化测试脚本来执行用例。
二、自动测试对测试人员更大意义在这里
自动化测试更大的意义是要想办法提升测试效率和版本发布质量。从广义上来说,自动化测试,是包括持续集成探索、测试工具平台的开发、智能自动化等。
1、什么是持续集成,自动化测试扮演什么角色?
在敏捷开发时代,持续集成的作用越来越突出。
1)持续集成解释:
持续集成目的,就是让软件产品可以快速的更新迭代的同时,还能保持高质量。持续集成就是说研发团队成员,要经常集成他们的工作。通常每个成员每次都需要集成一次或多次。每次集成,都可以通过自动化构建,包括编译发布、自动化测试验证,从而可以尽快的发现集成中的一些错误。
2)持续集成对于测试工作的的好处:
1)易于定位错误。也就是当你的持续集成失败了,说明你新加的代码或者修改的代码引起了错误,这样你很容易的就可以知道到底是谁犯了错误,可以找谁来讨论。
2)会提升测试效率。持续测试会与测试工具或者框架结合,如与xUnit,SilkTest, LoadRunner等等。
3)便于开发流程的管理。比如说,要把一个开发的build提交给测试组做测试,测完满意了,再提交到发布组去发布。
3)持续集成如何做呢,这其中离不开自动化测试这个关键步骤。
首先我们可以通过git(或其他类似工具)拉取软件代码。
然后我们要去做自动化构建,自动化编译、自动化测试、自动化步数、自动化发布等一系列步骤.
最后我们可以通过邮件自动化,实现通知团队中的相关工作人员去完成对应的工作内容。
持续集成是目前相对比较成熟的技术方案,在掌握了这一套持续集成的技术之后,可以在此基础上进一步开发测试工具和测试平台(测试开发的工作),如测试环境管理、配置管理、项目(需求/缺陷)管理、线上问题监控、打点统计等工具平台。
最后通过工具打通CI(持续集成)和CD(持续部署)的所有环节,使用持续集成的框架串联起来,可以大大的提高开发团队工作效率和产品的质量。
自动化持续集成平台示意图
2、什么是智能自动化测试
智能自动化测试是通过机器学习、大数据等技术,智能化生成自动化测试的用例和脚本,提高用例编写和维护的工作量。
通过智能自动化测试概念的介绍,自动化测试也是重要一环。
虽然这部分是测试行业内一直在探索的技术领域,目前并没有非常成熟的方案或者体系。但如果能够找出有效的、成熟的解决方案,那就一定是是自动化领域“牛逼”的测试人员。
三、对个人而言的意义,自动化测试是求职必备技能
企业对测试人员的技能要求越来越高,这不仅是经济形式叠加,更是软件测试行业的发展。
当前,企业对测试新人的要求,已拔高到自动化测试这水平了,如果测试技术还停留在手工阶段,那就很难找到工作。
所以,自动化测试,是测试人员必备的技能。将来无论换工作,还是比发展,自动化测试工程师肯定比纯手工好很多。
如果技能还是手工阶段,真诚希望你赶紧升级到自动化测试。不然未来,你靠什么建立职业护城河?你靠什么避免失业风险?
总之,自动化测试也是项目组在产品研发中非常重要的一个助力,可以帮助我们大大的提高测试效率,提升质量。不过前提是你能在适当的项目中选择适当的自动化技术来解决项目中的问题,否则就会给人感觉“成本高效果差”了。
四、自动化测试学习资料分享
第一部分我们提到了自动化测试的应用场景,提到了接口自动化和UI自动化。而从事自动化,还有个前提,那就是必须学习一门语言(对于零基础而言,我们学习python语言就可以)。
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
文档获取方式:
加入我的软件测试交流群:632880530免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取