对于测试人员来说,不管进行功能测试还是自动化测试,还是性能测试,都是需要编写测试用例,所以我们必须先要了解清楚手工测试用例与自动化测试用例的一些特点,才能更好的开展自动化测试工作。
1.1手工测试用例和自动化测试用例
手工测试用例是针对功能测试人员的,而自动化测试用例是针对自动化测试用例框架或工具的。
手工测试用例特点
(1)较好的异常处理能力,能通过人为的逻辑判断校验当前步骤是否正确实现;
(2)人工执行用例具有一定步骤跳跃性;
(3)人工测试步步跟踪,能够细致定位问题;
(4)主要用来发现功能缺陷;
自动化测试用例特点
(1)执行对象是脚本,任何一个盘算都需要编码定义;
(2)用例步骤之间关联性强;
(3)主要用来保证产品主体功能正确和完整,让测试人员从繁琐重复的工作中解脱出来;
(4)目前自动化测试阶段定位在冒烟测试和回归测试。
(注意:通过对比发现,自动化测试不能完全替代手工测试,自动化测试的目的仅仅在于让测试人员从繁琐重复的测试流程中解脱出来,把更多的时间和精力放在更有价值的测试中,例如探索性测试。)
自动化测试用例注意事项
1、不是所有手工测试用例都要转为自动化测试用例。
2、考虑到脚本开发成本,不要选择流程太复杂的用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本。
3、选择的用例最好可以构建场景。例如,一个功能模块,分成多个用例,多个用例使用同一个场景,这样的好处在于方便构建关键字测试模型。
4、选择用例可以带有目的性。例如,这部分用例作冒烟测试等,当然,会存在重叠关系,如果当前用例不满足需求,那么唯有修改用例来适应脚本和需求。
5、选取的用例可以是主体流程,这部分用于冒烟测试。
6、选取的测试用例可以是你认为重复执行,很猥琐的部分。例如字段验证、提示信息验证之类,这部分适用于回归测试。
7、自动化测试也可以用来做配置检查、数据库检查。这些可能超过了手工用例,但也算用例拓展的一部分,项目负责人可以有选择的增加。
8、平时在手工测试时,如果需要构造一些复杂的数据或重复一些简单的机械式动作,则告诉脚本,让它来帮你,或许你的效率会因此提高。
1.2自动化测试类型
测试静态内容
静态内容测试是最简单的测试,用于验证静态的、不变的ui元素的存在性,例如:
(1)每个页面都有预期的页面标题,这可以用来验证链接指向一个预期页面;
(2)应用程序的主页包含一个应该在页面顶部的图片;
(3)网站的每个页面是否包含一个页脚区域来显示公司的联系方式、隐私政策以及商标信息等;
(4)每一页的标题文本都使用
标签吗?每个页面是否都有正确的头部文本?你可能需要(也可能不需要)对页面内容进行自动化测试。如果你的网页是不易受到影响的,则手工对内容进行测试就足够了。假设你的应用文件的位置移动了,则内容测是就非常有价值。
测试链接
web站点的一个常见错误为失效的链接或链接指向无效页。链接测试涉及各个链接和验证预期的页面是否存在。如果静态链接不经常更改,则手动测试就足够了。但是,如果你的网页设计师经常修改链接或者文件不时被重定向,则链接测试应该实现自动化。
功能测试
在你的应用程序中,需要测试应用的特定功能,需要一些类型的用户输入,并返回某种类型的结果,通常一个功能测试涉及多个页面,一个基于表单的输入页面,其中包含若干输入字段,提交和取消操作,以及一个或多个响应页面。用户输入可以通过文本输入域、复选框、下拉列表,或任何其他浏览器所支持输入。
功能测试通常是需要自动化测试的最复杂的测试类型,但通常也是最重要的。典型的测试是登陆,注册网站账户用户账户操作、账户设置变化、复杂的数据检索操作等等。功能测试通常对应着你的应用程序的描述应用特性或设计的使用场景。
测试动态元素
通常网页元素都有唯一的标识符,用于唯一的定位该网页的元素。通常情况下,唯一标识符用html标记的id属性或name属性来实现。
Ajax的测试
Ajax是一种支持以及动态改变用户界面元素的技术。页面元素可以动态更改,但不需要浏览器重新载入页面,如动画,RSS源、其他实时数据更新等。
Ajax有无数更新网页上元素的放大,最简单的方式是在Ajax驱动的应用程序中,数据可以从应用服务器检索,然后显示在页面上,而不需要重新加载整个页面,只有一小部分的页面,或者只有元素本身重新被加载。
1.3自动化测试用例编
1.3自动化测试用例编写原则
最后跟大家分享一下自动化测试用例编写原则:
1、一个用例为一个完整的场景,从用户登录系统到最终退出并关闭浏览器;
2、一个用例只验证一个功能点,不要试图在用户登录系统后把所有功能都验证一遍;
3、尽可能少的编写逆向逻辑用例。一方面因为逆向逻辑的用力很多(例如,手机号输错有几十种情况),另一个方面自动化脚本本身比较脆弱,复杂的逆向逻辑用例实现起来比较麻烦且容易出错;
4、用例与用例之间尽量避免产生依赖;
5、一条用例完成测试之后需要对测试场景进行还原,以免影响其他用例的执行。
这里给大家整了一套涵盖软件测试面试资料和自动化测试工程师进阶路线的快速学习方法和资源。
学习方向
学习可不是拼多多,这里学一点哪里学一点、到头来竹篮打水一场空,所以得有个自动化测试所有方向技术点做一份整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
一、Python编程从入门到精通专题
Python编程从入门到精通专题
二、接口自动化测试项目实战专题
接口1图
接口自动化入门
三、WEB自动化测试项目实战专题
四、App自动化测试项目实战专题
根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。
作为一位过来人也是希望你们少走一些弯路,在这里我给大家分享一些自动化测试的相关资料,希望帮你们更好的突破自己,提高自己!需要的可以来一手三连支持笔者,我把这些资料的都放在这个群953306497了,需要的自行领取哦。
精品软件测试学习书籍
1.技术沉淀(学习+积累)
对于三年多快四年的测试人员来说,无论是在大厂小厂,还是在外包公司,基本上都是做得功能界面测试,对接口、性能、自动化测试只是有点接触。很多人认为,重复简单的工作对自己的技术是没有提升的,但实际上也有人能从中杀出一条血路,所以关键是你自己是否花了心思,付出了努力。
当然,我个人也有自己的一套学习方式和习惯,平时喜欢利用碎片时间来看点什么东西,比如一些技术性的书籍或文档,还有一些视频讲解等,经常会让我有一种恍然大悟的感觉,对我的工作也起到了很大的帮助。
阅读书籍文档
之前有些做手工测试的同事想转自动化测试,让我推荐几本自动化测试入门的书籍, 我都会建议他们根据自己所在项目的产品来选用对应的自动化测试工具来实践,再结合自身的喜好来选书, 下面推荐几本实用性强的书籍。
1)《Selenium 3自动化测试实战:基于Python语言》
selenium 3自动化测试实战这本书是大佬虫师的作品,虫师可以说是我的启蒙人了,早期看了他很多的文章。这本书系统的讲解最新的selenium 3的应用,涉及到持续集成、两大python单元测试框架unittest和pytest的应用,还有数据驱动、PO模型、selenium的分布式运行等等,非常全面,值得入手。
2)《QTP自动化测试最佳实践》
详细介绍了基于QTP的自动化测试技术,适合自动化测试初学者阅读。因为QTP是付费软件,如果所在公司或项目组能使用正版,那真是个深入学习的好机会。
3)《自动化测试最佳实践》
这本书在自动化测试领域影响深远,它为很多公司指明了测试成功的方向。本书讲述了一些公司应用自动化的经历,其中涉及了很多项目,从复杂的政府部门系统到医疗设备,从SAP业务过程开发到Android移动应用和云计算。
4)《App自动化测试与框架实战》
从App测试基础、实战技术,再到自动化测试框架的搭建,全面地讲解App测试所需要的知识,主要内容为:App测试及其类型、Java编程环境构建、Java语言基础、Android自动化环境精讲、Android自动化测试基础精讲、Android Appium自动化框架、Appium数据驱动测试框架封装实战、Appium关键字驱动测试框架封装实战、持续集成的自动化、Appium常见问题处理方式。
5)《postman接口自动化测试持续集成》
如果你正好需要利用postman完成接口自动化测试的工作,那么这本书很适合你。如果你想看看 postman 是如何完成自动化测试,并与自己的框架比对比对,这本书也适合阅读。这本书,详细讲解了接口测试基础、postman 如何来完成自动化设计和用例编写、newman+git+jenkins+ 钉钉来完成持续集成工作。
实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
电商项目实战
web测试项目
web+App+h5+小程序 测试项目
接口自动化测试实战项目
Linux实战项目
面试资料
我们进阶学习自动化测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
以上资料,对于想要测试进阶的朋友们来说应该会很有帮助,需要的小伙伴可以后台私信找我免费领取。
总结
我见过很多leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了好几年,更夸张的是7、8年工作内容的重复性比较高,没有什么技术含量的工作。
凡事要趁早,特别是技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!!