机器人和自主系统(RAS)涉及多个学科的丰富整合,如控制工程和机器人学、机械工程、电子和软件工程。RAS的确认和验证需要对传统的测试技术进行非简单的扩展,以处理其多学科的性质。特别是,对于软件测试界的研究人员和从业人员来说,将现有的软件测试技术扩展到RAS是一个挑战,这导致了大量关于提出和评估不同技术和过程的文献。这些丰富的文献需要进行二次研究,为这一领域提供一个结构,并确定现有结果的相对优势和劣势。本文通过对RAS测试进行结构化的文献调查来解决这一问题。
早期有许多关于相关主题的调查;在第2节对相关工作和调查进行了深入的比较。然而,简单地说,其中一些调查有不同的或更有限的范围,例如,考虑机器学习组件[79],形式化规范和验证技术[139]或驱动数据集[109],或不旨在提供该领域的结构概述,以回答特定受众的具体问题[20]。据我们所知,这是第一个系统的二次研究,涵盖了测试RAS的结果的广度(关于其他具有不同焦点的研究,见相关工作部分),此外,提供了对这些结果的分析,目的是描述技术的类型,过程和分析其适用性的证据(在工具和案例研究的类型方面)。
范围包括涉及测试机器人和自主系统的新成果(包括技术、过程、工具和其应用)。把这种新的结果称为 "干预",遵循二次研究的传统,以及最近测试领域的系统回顾[3]。在我们的术语中,干预是 "为使测试适应特定环境、解决测试问题、诊断测试或改进测试而实施的行为(如使用一种技术或流程改变)"[68]。我们的调查范围包括几种验证和核查技术,包括物理测试、基于模型的测试、运行时监控、形式化验证和模型检查。
受众是软件和系统工程的研究人员和从业人员。因此,我们从两个角度进行分析:
(1) 研究人员:确定测试RAS研究领域的优势和差距,特别是关于传统的软件测试分类法,是否存在软件测试分类法没有涵盖的新挑战
(2) 从业人员:鉴于环境和可用资源,确定具有适用性证据的干预措施。
我们在本文的其余部分提供了RAS的精确定义,以便推导出严格的纳入和排除标准。但简而言之,为了使我们的干预措施对目标受众有用,我们把范围限制在那些干预措施上,即
(1) 在其方法论中涉及测试集成在RAS中的计算机系统(而不是仅仅物理、机械或控制部分);这是因为我们的目标受众是软件和系统工程的研究人员和从业人员。
(2) 有一些关于RAS的适用性、效率或有效性的证据;这是由我们的范围(RAS的测试、验证和确认)以及我们为研究人员和从业人员提供优势(或劣势)证据的目标所决定的
(3) 考虑到系统级的确认和验证,不关注此类系统的特定单元或组件(例如,特定类型的学习或规划算法或此类系统的物理或机械部分的测试),这是由于RAS固有的多学科性和任何系统级测试RAS需要适应它。
接下来,定义了一些研究问题,这些问题有助于对两组受众的现有干预措施进行结构化和分析。
如上所述,我们想回顾和分析那些适用于RAS的测试、确认和验证的干预措施;特别是,我们强调那些考虑到RAS中的计算机系统及其与物理环境和人类用户的交互的干预措施。在本节的其余部分以及本文的其余部分,我们用测试这个词来指代各种测试、确认和验证技术。
一个结构化的测试、确认和验证方法通常由模型引导,描述被测试系统的结构或行为。模型的类型往往决定了可以应用的分析类型,因此,对技术的适用性和有效性有着深远的影响。然而,并不是所有包含的干预措施都是基于模型的(甚至与测试用例有关),因为我们也考虑其他形式的验证,如运行时监控。此外,用于评估被测系统和干预措施本身的有效性、效率和覆盖率的指标都是决定干预措施适用性的主要因素,因此,构成了我们研究问题的主要部分。最后,为评估该技术而进行的案例研究是适用性的一个主要证据来源。基于这些观察,我们的研究问题具体如下。
(1) 用于测试RAS的模型类型有哪些?
我们将 "模型 "一词宽泛地解释为任何信息源或领域抽象,用于结构或引导测试过程或评估测试结果。这有助于我们理解和决定在测试RAS时常用或需要的抽象类型。他们帮助研究人员和从业人员确定可以使用当前测试干预措施解决的RAS的类型/方面,以及为了使这些干预措施适用而需要提供的信息类型。它还指出了目前的干预措施所没有涵盖的RAS的各个方面。根据上述目标,我们分析了两种类型的模型:针对被测系统或其环境的模型,与描述其质量属性的模型。
(2) 哪些效率、效果和覆盖率措施被引入或用于评估RAS测试干预措施?
效率是指一项干预措施为实现其目标所需的时间和资源。有效性指的是测试干预所恢复的故障类型和数量,覆盖率指的是用于决定测试干预的充分性和停止标准的任何措施。回答这两个问题也为研究人员和从业人员提供了现有技术、流程和工具的强度和适用性的现有证据。
(3) 在这个领域,有哪些干预措施得到了(公开的)工具的支持?
工具支持是在实践中应用测试干预措施以及在研究背景下将其与其他干预措施整合的关键推动因素。我们通过提供每种干预措施可用和所需的工具信息来分析有关这个研究问题的文献;我们把第一类工具,即那些为支持特定干预措施而开发的工具称为效果工具,以及那些效果工具发挥作用所使用和需要的工具。第二类,称为背景工具,提供关于特定干预措施在其背景下自动化所需的进一步信息。我们还报告了有关许可证的信息,如果可以的话,以促进决策。
(4) 哪些干预措施有证据表明适用于大规模和工业系统?
我们从审查的干预措施中收集案例研究方面的证据,并将其分为小规模、基准和工业案例研究。
本文的其余部分结构如下。在第2节,回顾了相关的工作,重点是关于相关主题的二次研究(文献调查和评论)。在第3节中,定义了本文的范围,并解释了这个结构化回顾的背景。报告了核心成果集,作为搜索的种子,以形成这项研究。在第4节中,回顾了用于系统回顾的方法;这包括描述搜索和选择策略,开发用于编码结果的分类法,我们的数据提取和综合方法。在第5节,介绍了编码结果,并对其进行分析以回答我们的研究问题。在第6节中,对分析进行了反思,并为我们的目标受众,即研究人员和从业人员提供了具体的建议。在第7节中,总结了本文并提出了一些未来研究的方向。