工程造价软件按地区、行业进行划分,每个地区和每个行业的计算规则、取费标准皆不相同。各类造价软件都是以模板为基础,根据标准报表设计页面,录入造价数据,实时计算汇总出工程造价。每个工程皆是以工程树的形式存在,一般分为工程总项目、单项工程和单位工程三级,单位工程由基础造价数据构成,并在单位工程的汇总页面实时计算;单项工程由单位工程构成,工程总项目由单项工程构成,并实时汇总所有单位工程的数据。
由于造价相关主管部门会根据实际情况发布各地区和各行业新的计价文件,则会根据最新标准发布工程造价软件的相应补丁。因此,造价软件的版本迭代非常频繁。这种情况下,工程造价软件一般会引入自动化测试用于历史工程数据的验证。在这里主要介绍"历史工程数据的验证"自动化脚本的实现逻辑。
为了方便维护,减少开发工程量,各地区和各行业的软件使用的exe文件都相同,因此开发自动化测试脚本只需把区分地区或行业的变量提取出来,测试时配置相应的变量即可。
首先需要准备大量的测试数据,即已发布的各版本的工程数据(包括实例工程和测试工程)和相应的参照数据(包括总工程的汇总和单位工程的汇总,一个工程对应一份参照数据)。由于造价软件采用实时多级汇总计算的方式,所以验证历史工程数据的内容主要从三个方面入手:打开工程时的工程总项目汇总表的各项数据、每个单位工程的汇总表的各项数据和打开每个单位工程后再打开工程汇总表的各项数据。脚本实现步骤如下:打开工程,将工程总项目汇总表的各项数据和参照数据对比;接着打开每个单位工程,打开单位工程的每个页面,然后再打开单位工程的汇总页面,将单位工程的汇总页面的各项数据和参照数据进行对比;最后再将工程总项目汇总表的各项数据和参照数据对比,生成测试结果报告,关闭当前工程,完成一个历史工程的完整测试。如果历史工程不止一个,则再打开下一个工程,重复以上步骤,直至测试完所有工程数据。
测试结果报告的格式可以EXCEL形式展示,命名时加上"版本+日期"后缀方便存档,sheet可设计为测试结果汇总表、测试结果明细表、错误工程列表三部分。测试结果汇总表列出各汇总表的数据对比结果,测试结果明细表列出每项数据的对比结果,错误工程列表列出对比结果不通过的工程,以便快速定位问题。
开发测试脚本时,需考虑数据量大的历史工程,增加脚本的健壮性。若工程造价软件版本迭代多且历史工程多,则可在下班后运行自动化脚本,一般情况下可在次日查看测试结果报告,这样既提高了工作效率,而且增加了测试的准确率。
作者:原上草
来源:51Testing软件测试网原创
作者简介:从事工程造价软件测试工程4年左右,负责该产品线的测试工程和开发自动化脚本。