自动化测试,我们需要的是让一个海量的测试用例,能够自动化的来执行,并且能够查看测试结果,对测试执行的结果分析和提交缺陷。对于执行异常的测试用例,可以重复执行。
自动化测试工具的功能是:录制和编辑测试脚本、增加检查点和进行脚本参数化。
我们马上就可以发现,自动化测试工具,没有达到我们对自动化测试的要求:1,海量执行测试用例;2,提供复杂的、集群的测试环境并发执行;3,生成方便、可以查询的测试日志;4,重跑执行失败的测试用例;5,能够提交缺陷;6,能够出具测试报告。
自动化测试工具,就好像是bios,提供了非常基础的工作,但是我们还需要通过操作系统(OS)来使用整个系统,而不是原始的bios。
所欠缺的这些功能,就是自动化测试框架所需要的功能。
我们再强调一下,我们需要的是自动化测试整个的脚本开发、管理、执行、测试环境管理、测试执行日志、管理测试执行结果、提交缺陷和测试报告等,整个的测试,而不只是单一的自动化工具。
从上面我们就可以看出,自动化测试框架需要做什么,具体如下:
1、 管理测试脚本。提供一个可以自定义的目录结构,来管理复杂的、不同测试工具的测试脚本。比如,管理selenium的测试脚本、postman的测试脚本、Autorunner的测试脚本等等。
2、 管理自动化测试用例。测试脚本参数化之后,需要提供给测试脚本不同的参数,来形成不同的测试用例。我们需要让自动化测试框架来管理测试用例。
3、 批量执行测试用例。要组织批量的测试用例,比如几百个、上千个、上万个来一次执行完成,而不是一次执行一个或者几十个。一次执行海量的测试用例,才能够体现自动化测试的价值。
4、 给批量的测试用例执行准备数据环境。每个测试用例执行,都需要预先定义好的网络、数据,最主要就是执行数据。我们发起执行海量执行用例之前,就需要准备好它。例如,我们要执行一个股票买入的自动化测试用例,那么你的测试环境,就应该包括了一个有足够余额、状态正确的股票账户,保证能够购买成功。
5、 并发执行管理。当我们需要一次执行海量的测试用例,我们知道,每个测试用例的执行都需要时间,比如接口自动化可能需要一秒,界面自动化测试用例执行需要20秒,当我们有一万个测试用例,如果我们是线性的执行,我们就需要大量的时间。因此,需要一个能够并发的机制,让自动化测试用例能够同时在不同的测试环境来执行。
6、 管理测试执行日志。执行完成,我们就需要根据执行的具体过程,生成执行日志。测试执行日志,需要被组织、查看,以及搜索、分类,便于进行分析处理。
7、 其他部分,管理执行失败的自动化测试用例和执行用例、测试分析报告等,不再赘述。
推荐阅读: