在Google的DORA DevOps的研究中,测试数据管理被视为软件交付和组织绩效的重要能力之一[1],它被用于手动或者自动化测试当中,也可能用于生产环境的全链路压测,良好的测试数据可以快速验证不同逻辑分支的测试用例、重现缺陷或者模拟错误。 但伴随着业务的迅速迭代,数据库、表不断的增加,同时存量的表结构也频繁变更,测试数据的生成与管理也变得越发困难。传统的手动创建测试数据、接口造数方法低效且难以确保全面覆盖,数据的关联性、通用性和复用率也有所欠缺。虽然使用生产数据进行测试看似便捷,但却经常面临用户隐私安全事故的风险。同时,在使用脱敏或历史数据时,数据的有效性和关联性也容易丧失。 在这种情况下,怎样在保证维护测试数据的效率、质量和信息安全的同时,又能最大程度地降低测试数据生成的成本和管理的复杂性呢?
EasyModeling 是我在2021年圣诞假期期间开发的一个 Java 注解处理器,采用 Apache-2.0 开源协议。它可以帮助 Java 单元测试的编写者快速构造用于测试的数据模型实例,简化 Java 项目在单元测试中准备测试数据的工作,在提高编写效率的同时,使单元测试更加整洁易读。经过一年的维护,EasyModeling 已经在几个 Thoughtworks 内部的项目上得到了应用,并迭代发布了几个版本。
兼容性测试是一种软件测试,用于确保构建的系统/应用程序/网站与其他各种对象(如其他网络浏览器、硬件平台、用户、操作系统等)的兼容性。这种类型的测试有助于了解产品在特定环境中的表现。