通过灵活配置实现在线软件定制是多租户(Multi-Tenancy Architecture,MTA)软件即服务(Software-asa-Service,SaaS)系统的一个重要特征.由于参数和行为配置的复杂多样,配置错误是系统质量所面临的主要风险之一.对各种配置的组合测试,是MTA SaaS系统测试的一个重要内容.该文针对配置之间的约束依赖关系,提出建立约束依赖图,利用图搜索算法获取具有依赖关联的配置项集合,采用组合测试算法,生成不同的配置测试场景,满足多配置组合覆盖率要求.实验以多租户游戏系统为例,对比多种测试生成算法,实验显示该方法在检测由约束违反引起的系统缺陷方面有显著改善效果.
Customizability is critical to MTA (Multi-Tenancy Architecture) SaaS (Software-as- a-Service) systems so that they can support flexible runtime configuration to address diversified customers needs. Configuration faults are risky as a system's behavior depends heavily on its configurations. However, configuration faults are hard to detect due to the large number of configurable parameters and their possible combinations, and the complexity of parameter dependencies and constraints. In counter to this challenge, the paper applied combinatorial testing techniques in test case design to achieve confident coverage of parameter constraints. It proposed a heterogeneous graph model, Constraint Dependency Graph (CDG), to abstract the dependency relationships among parameters. The search algorithm is designed to find all the possible sets of related constraints along CDG paths. Various combinatorial strategies are exercised to examine the effectiveness of test case generation with coverage objectives. Experiments are carried on a multi-tenancy game system, which show the effectiveness of the proposed approach in achieving test coverage and detecting defects caused by constraints violations.