大公司做自动化测试一般都会有一个大的框架。就好比一般大公司规章制度比较全,你只要按照规章制度去做就可以了。自动化测试框架也是如此,一般测试人员只要在现有框架编写自动化测试脚本就可以了。
这样的好处,节省了时间和精力,便于复用,对测试人员的要求也就降低了。不好的地方,如果框架设计的不好,灵活性可能会差些。
自动化测试框架都包含什么内容呢?
主程序 首先要有一个主程序,一个脚本从最开始执行到最后生成报告执行完毕都离不开主程序。就好比C语言中有个main函数。设计主程序时可以采用面向对象的思想。
测试数据 数据包括哪些?一般测试脚本都是跟测试用例对应的,一个用例对应一个测试脚本。这些测试用例的总集就是一个数据,可以把这些测试用例集放入一个或多个文件。如果测试用例比较少,1个文件就OK了。如果测试用例功能模块比较多,可以把不同功能模块用例分别放在不同文件。另外,测试用例中使用的一些测试数据,也可以抽象成测试脚本中的变量。采用“数据驱动自动化”要求数据和测试脚本尽量分离。
库函数 把测试中常用的操作抽象出来,写成一些函数,然后把这些函数放在一个库中。写测试脚本时直接调用就可以了,不需要自己动手写了。这样的好处可以降低脚本的维护成本。同样一个功能A和B站在各自的角度分别写了一个函数,后面C也需要用这个功能函数,他可能就不太清楚用哪个好。
记录日志 测试脚本执行,不可能都是成功的,即便成功,也最好能把日志记录下来,以便后续对测试执行情况的分析、追踪。具体要记录哪些东西,跟被测对象关系很大。这个要研究、分析被测对象、被测功能后确定。能够把日志记录分等级就更好了,毕竟记录日志也是耗资源的,打印日志太多对被测对象的正常功能也会造成影响。
生成测试报告 手工测试完成后,要写一个测试记录,把测试执行情况(例如,哪些成功、哪些失败、失败原因等)记录下来。自动化测试执行完成后也要生成一个测试记录,只不过它是自动生成的。测试记录要做成什么格式?Word?Excel?txt?记录哪些内容?这就看测试管理者或项目管理者的要求了。一般生成一个Excel能够打开的表格比较好,便于统计分析。
大体过程 开始主程序要读取测试用例和测试数据。开始测试执行,记录测试日志,最后测试执行完毕生成测试报告。