前言
一个初入社会的测试小白,平时就有写markdown的习惯,写一个学习贴。因为这样能实现知识总结,记录学习过程,以后也能方便自己查阅。也希望能认识一些朋友,一起学习交流进步!
各位大佬,有说的不好地方,还请多多指教!
为什么要学习自动化测试?
首先需要明白,作为测试人员,不管是功能、性能以及自动化测试,都需要编写测试用例的,所以测试理论和测试工具也是很重要的。测试人员还是需要以产品为主,自动化测试是测试人员的辅助工具,能为测试人员提供极大的便利,但是不能替代人工。
- 提升工作效率
- 便于回归测试。在手工测试的时候,我们能明显感觉到工作流程的重复和琐碎,特别是进行回归测试。能通过自动化测试,执行已经设计好的测试用例,可以快速进行回归测试,保障产品的稳定性。
- 执行测试用例效率更高。自动化能在更短的时间执行更多的测试用例。
- 合理利用资源。解决大部分简单、不复杂的测试用例,让测试人员更加关注产品本身的业务需求方面,整体的质量。
当然,作为测试人员,是要有足够的耐心的!!
- 测试职业加分项
目前企业对于自动化测试的待遇是不错的,测试人员想要在测试道路上走得更远,那么非常有必要学习自动化测试,通过技术增加自己的竞争力。
自动化测试分类
按测试功能:
-
功能测试。产品的具体业务逻辑。
-
非功能。安全、性能等等
性能测试:Jemter、Loadrunner等性能测试工具。Loadrunner没有开源,Jemter开源,轻量,便于可持续集成
按测试对象:
-
Web自动化测试
web端主要是通过代码实现,代码有Python和Java选择,建议选择Python,对我这种小白来说很友好。python+selenium是比较常见的,需要学习一下编程语言。web端自动化测试,比较流行的是POM设计模式(page object modle),通过将每个页面抽象化一个对象,通过代码模拟人工对浏览器的操作,所以需要学习一些前端的知识以及selenium本身的操作,包括页面定位、输入等等。
-
移动端自动化测试
移动端和web端差不多,只不过selenium需要换成appnium。
-
接口自动化测试
接口测试有测试工具和代码实现。测试工具有postman、Jemter等,其实测试工具也可以进行自动化,之前用过postman,里面的断言脚本都是js代码,便于上手。但是存在一些功能不足,比如不能读取数据库,文件操作,参数变量需要通过代码存储在环境变量,不便于持续继承,优雅的测试报告输出等。
自动化测试用例编写
- 一个测试用例只验证一个功能点
- 用例与用例之间避免产生依赖
- 一条测试用例完成时需要对测试场景还原,避免对其他用例产生影响
测试学习步骤
- 测试基本理论,沟通能力。
- 测试工具。如postman,fiddler,缺陷管理禅道等。
- 数据库的学习。
- 掌握一门编程语言。python和java等。
- 代码托管Git、Linux测试环境的部署。Linux系统的学习
- 自动化测试Jekins继承。
- 测试平台。
一步一个脚印,我也正在记录学习的过程,与君共勉!!