测试工作中,日常需要用到很多工具。
从工具的来源上看,有接入和自研两种:
一种是利用现有的一些开源或者开发环境自带的一些工具。比如 Jmeter、android sdk 中的 monitor,还有 Findbugs 等等。另一种是结合项目特性和测试内容自研的一些工具。比如之前做 Office,Office 的核心在于文档的排版,Excel 函数的计算,以及与微软 Office 的兼容,因此工具主要基本上是为Office 定制的。将doc文档打开排版完成后,通过图片输出与基线比较、与微软 Office比较的方式,判断排版的准确性。另外将 Excel 文档打开计算完后,提取各单元格的值,与基线数值比较、与微软 Office 比较的方式,来判断函数计算的准确性。
从工具的作用来看,大致可分为三部分,分别是做平台支撑、效率提升以及专项测试。
一部分属于测试日常工作支撑用的平台。比如缺陷管理、用例管理、持续构建的平台。另一部分属于为减轻项目测试的重复体力劳动。将一些固化的流程和固化的案例,用工具自动化处理,提高测试和工作效率。比如上述所讲的 Office 测试定制工具,即是为了提高测试效率,减轻重复劳动所做。现在的项目主要是金融业务,金融理财产品的种类无非就是定、活期,基金、投资型保险等等,规则和流程类似,但是不同产品的配置信息差别深大,比如募集期、开售时间、计息规则等等,因此做了一个平台来一键触发检查信息的配置准确性。自动获取配置后台接口返回的金融产品的各个配置项信息,与产品提供的标准需求对比,输出结果。这样大大减少了肉眼检查的工作量。
还有一部分,是辅助专项测试的。比如测试性能、兼容、电量等等。
从工具运行时机来讲,可以在项目中的各个环节去使用。
比如daily run,Monkey run,每次集成后自动触发运行,或者用做准入测试来检验开发的提测质量。
从工具的投入成本来讲,从投入成本小到投入成本大,依次是工具接入、工具维护、工具研发、工具聚合。
如下是各项事务的拆解和理解。
工具维护
主要是工具的持续优化,修复问题,使用一些插件,二次定制等等。另外还有工具故障恢复能力。
工具研发
工具聚合
工具聚合的目的,主要是将工具按照项目实施的流程集合到一起,配合项目实施,最大的突显工具的价值,工具的使用更为容易快捷。