为什么选择自动化测试和怎么学习,充实自己的自动化知识。根据具体的自动化测试岗位来说,不要觉得自动化测试是机构炒起来的,确实有它存在的必要。
软件测试自动化测试是手工测试的一部分是对手工测试的一种补充。自动化测试是相对手工测试而存在的,主要是通过所开发的软件测试工具,脚本等来实现,具有良好的可操作性,可重复性和高效率等特点。
手工测试局限性
1,基本的功能性测试由于工作量往往比较大,属于重复性,非智力性的和非智力的和非创造性,并要求准确细致,使用机器比人类更有优势。手工测试运行
2,许多死锁,资源冲突,多线程等有关的不正确,通过手工测试很难捕捉到。
3,系统压力,性能测试,须要模拟大数据或大并发用户等各种测试场景,很难通过手工测试执行
4,系统可靠性测试,须要模拟系统长时间运行,已验证系统能否稳定运行,难以通过手工测试执行。
5,如果有大量(几千)的测试用例,需要在短期时间内(1天0)完成,手工测试几乎不可能做到。
自动化测试主要有哪些?
自动化测试一般分三种:单元自动化测试,接口自动化测试,UI自动化测试。
其中单元自动化测试一般由研发人员自己进行测试,测试人员主要进行接口以及UI的自 动化测试,但是由于UI的需求变化比较频繁,所以接口测试是测试人员做的最多的。
关于自动化测试,按语言目前主要可以分为两种:一种是基于Python的自动化,一种是基于Java的自动化,具体用哪种语言,可以根据自己的实际情况而定,归根结底都是为了解决问题而存在的。下面以Python为例:
为什么进行自动化测试?
1,避免重复工作,对于功能已经完整和成熟的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相同,这部分功能特别适用于Python自动化测试,从而可以让测试达到测试每个特征的目的。
2,提高耗时间和繁琐,会使测试效率降低。测试效率:比如一个项目的开发周期只有短短几个月,而在测试期间是每2天都需要发布一个版本供测试人员测试,一个系统的功能点有几千个上万个,人工测试是非常的低
3,保证每次测试的一致性和可重复性,由于每次自动化测试运行的脚本是相同的,所以每次执行的测试具有一致性,人是很难做到的
4,更好的利用资源,理想的自动化测试能够按计划完全自动的运行,在开发人员和测试人员不可能实行三班倒的情况下,Python自动化测试可以胜任这个任务,完全可以在周末和晚上执行测试,充分的利用了公司的资源,也避免了开发和测试之间的等待。
5,解决测试与开发之间的矛盾,一般在开发的末期,进入集成测试阶段,由于每发布一个版本的初期,测试系统的错误比较少,这时开发人员有等待测试人员测试出错误的时间。事实在叠代周期很短的开发模式中,存在更多的矛盾,但是Python自动化测试可以解决其中的主要矛盾。
测试行业的现状
现在测试行业的的趋势,你去面试任何级别的测试工程师都会问你是否会自动化测试,所以自动化测试已经是必备技能,而不是加分项。
换句话说,会用开源的测试工具不足以在公司涨薪或者跳槽至一线互联网大厂。因为真正企业自动化测试落地肯定是一个团队在做。
当你熟悉使用这些开源框架之后,你会发现有些框架之间是相通的,所以基于这些开源框架,我们打造一个属于自己的测试框架。
可以根据公司实际测试需求自主封装适合项目的测试框架,落地实用。建立自己的技术体系,得到一套落地有效的自动化测试方案,从青铜变身王者。
这样让我们自动化团队将更多的精力放在测试用例设计本身上面,达到提高产品质量,提升效率的目的。
这就是为什么现在软件测试的招聘要求上都有自动化测试的要求,以及面试时面试官更加注重自动化技能。
怎么来学习自动化测试
大概介绍一下自己,有着8年工作经验,3年功能、5年自动化,曾就职于某大型国企,公司研究院成员,也就职过字节担任高级测试开发工程师,有丰富的高并发大型项目经验。 后端高并发、高性能、高可用性开发,自动化测试框架开发以及软件自动化部署,践行Devops理念,对docker k8s容器编排技术有深入研究。
我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友特意花了一段时间整理编写了下面的 《自动化测试工程师学习路线》 ,也整理了不少 【教程资源】,有需要的朋友可以关注公众号:程序员一凡 获取下载方式,希望会给你带来帮助和方向。
一、先学习一门编程语言,建议python
二、Python自动化测试框架应用
三、自动化测试篇 - Web UI 自动化
四、自动化测试篇 - 移动端UI 自动化
五、自动化测试篇 - 接口自动化测试
六、自动化测试篇 - 持续集成Git、jenkins、Docker
七、自动化测试篇 - 性能测试LoadRunner、jmeter、app性能
八、自动化测试篇 - WEB安全测试、渗透测试、漏洞扫描
九、自动化测试篇 - RobotFramework、AirTest
10、测试开发篇-自动化测试平台开发
11、互联网高薪测试拓展知识、Redis、MongoDB、Nginx集群实战
上面就是我为大家整理出来的一套自动化测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
如果你不想一个人野蛮生长,找不到完整的资源,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们技术分享群:769146372 ,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
总结
综上所述进阶自动化测试真的不难,只要肯学!当前大环境下手工测试只会是越来越难,祝目前在找工作的朋友早日上岸…