- 关于对自动化测试的理解:目的与本FB体育 FB体育平台质(点工必看)
- FB体育 FB体育平台什么是自动化测试?如何做自动化测试?
- FB体育 FB体育平台是德科技推出AI驱动的自动化测试
- FB体育 FB体育平台自动化专业就业前景及就业方向
联系人: 张生
手机: 13800000000
电话: 400-123-4567
邮箱:
地址: 广东省广州市天河区88号
FB体育 FB体育平台什么是自动化测试?如何做自动化测试?
FB体育 FB体育平台FB体育 FB体育平台前面介绍了功能测试和接口测试(什么是接口测试,如何做接口测试?),在介绍接口测试时提到了实现API自动化。那具体什么是自动化,为什么要做自动化,这里我们集中总结。
顾名思义,自动化测试是相对人工测试而言的,它是指把人工对软件的测试行为转化为由机器执行的一种实践。
需要说明的是,单元测试属于白盒测试,很多公司的单元测试都是由开发人员负责,本文不作讨论。本文讨论的重点是API测试和GUI测试。
手工API测试的做法是,使用接口测试工具(例如Postman),然后操作以下步骤:
手工GUI测试的做法是,打开待测系统,参考根据需求写好的测试用例,逐个手动点击,验证结果是否符合预期。
自动化测试听起来很美好,可以将测试人员从简单重复的劳动中释放出来。但自动化测试的的本质是用一段代码(自动化用例)测试另一段代码(开发实现的业务逻辑),所以自动化用例本身属于开发工作,并且要随着被测对象的更新而更新,因此也有一定的维护成本。
自动化测试可以替代大量的手工重复性操作,测试工程师可以把更多的时间花在更全面的用例设计和新功能的测试上。
自动化测试可以更好地利用无人值守的时间频繁地执行测试,适合需要7*24小时持续运行的系统稳定性测试的关键业务
自动化测试可以保证每次测试执行的操作以及验证的一致性和可重复性,避免人为的遗漏和疏忽
例如上面说的需要7*24小时保证稳定性的关键业务,用自动化测试技术可以不间断地操作。
实现上没问题,问题是一则测试同学并不清楚一项业务修改了哪些数据库表,其次就算知道了手动插入也麻烦,而且直接修改DB的数据,一个不小心误删了或误改了,想想手都要抖。
其实还有一种比较好的方法,调用API或通过数据库操作,做成自动化工具。例如,正常的注册需要输入用户名、密码,甚至还有邮箱手机号啥的,最后生成了账号。而如果你要测试用户登录功能,用户名、密码、邮箱、手机号都不是要关注的重点,换句话说,这些值是什么都无所谓,你只是要一个可以登录的用户名/密码即可。由此我们可以在了解了API调用序列之后,做成自动化工具(需要有前端知识),有默认的用户名(例如test+时间戳)和密码(例如 test123),一键注册。如此则大大提高了效率,降低了手动操作的错误的可能性。
平时测试人员的操作都是在测试环境上进行的。需要专门为自动化测试搭建并维护一套测试环境吗?很显然,是有一定的物质成本和维护成本的。如果并用一套测试环境,会相互干扰。尤其是很多流程比较长的业务,你要验证一个环节,可能刚好这个数据被别人用了,就会导致用例的失败,由此又要去分析,最后发现是数据的问题。这里说下我曾经接触过的几个解决方案:
当然,可以有其他办法来解决数据的干扰,譬如命名规范,自动化用例相关的用户等固定有个前缀(例如auto),大家手工测试时不使用这类的数据。
使用哪种方案,要依据当前要解决的问题来决策。如果自动化处于起步阶段,大可先共用环境,等自动化建起来再说;如果比较成熟了且数据干扰严重,可以考虑维护两套环境等。
而无论是请求参数还是响应参数,都是K-V的键值对,验证结果只需要解析这些键值对即可。因此常用的类和方法也就那么几种。
GUI自动化测试的核心思想是,基于页面元素识别技术,对页面元素进行自动化操作,以模拟实际终端用户的行为并验证软件功能的正确性。
作为TE的你肯定知道,selenium1.0和2.0的技术是截然不同的。前者的核心是Selenium RC,而后者的核心是webDriver。鉴于目前的2.0和3.0(和2.0本质是一样的)是主流,这里只介绍selenium 2.0的工作原理。
了解原理之后,剩下的工作就只剩下用代码实现测试用例了。当然这里面的关键就是,如何识别页面元素(有人需要的话,专门开一篇来介绍)。
正确识别了页面元素,代码就是验证业务流程。这部分本身属于开发工作,和开发写代码一样,需要有代码规范、分层设计、封装(模块的封装、页面对象的封装等)。
本文介绍了自动化的概念及为什么要做自动化,做自动化测试需要做的准备工作:测试数据及测试环境,最后简单介绍了代码级别的自动化测试技术。
从广义上说,自动化技术不仅仅包含代码实现的测试用例,还应包含代码实现的自动化工具。