16、软件产品线中产品生成的测试:基于成对特征覆盖的策略

软件产品线中产品生成的测试:基于成对特征覆盖的策略

1. 引言

软件产品线(Software Product Line,SPL)是一组共享通用、可管理特征集的软件密集型系统,这些特征满足特定市场细分或任务的特定需求,并按照规定方式从一组通用核心资产开发而来。SPL 中的产品具有共性和变异性,软件构建涉及领域工程和产品工程两个层面。

在 SPL 开发中,可追溯性和重用是关键,因此测试至关重要。一个未被检测到的共性部分错误可能影响产品线中的所有产品,变异点的错误也会传播到包含该变异的所有产品。此前虽有针对 SPL 模型驱动测试的框架,但仍需对集成到单个产品中的特征进行测试。

从测试角度看,测试 SPL 中所有可能的特征组合是不可行的。例如,一个仅有 5 个特征和 4 个变体的 SPL,可生成的产品数量高达 1024 个,对每个可能的产品进行测试既昂贵又不现实。因此,我们提出一种基于成对覆盖准则的测试策略,即所有特征对必须至少在一个产品中被包含和测试。同时,使用正交变异模型(Orthogonal Variability Model,OVM)来表示变异点及其变体。

1.1 相关测试算法

在众多获取成对覆盖的策略中,AETG 算法因其多项式时间复杂度而被广泛使用。但在 SPL 环境中,需要对其进行修改以处理特征之间的“需要”和“排除”关系。例如在一个基于互联网的棋盘游戏系统 SPL 中,存在游戏、骰子、对手和玩家数量四个变异点及其多个变体。像“Ludo 或 Trivial 游戏搭配无骰子”以及“国际象棋或跳棋搭配骰子或超过两个玩家”这样的组合是不合理的,而原始的 AETG 算法并未考虑这些限制,因此我们对其进行了改进。

2.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值