0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

需求验证测试中的100%置信度

北汇信息POLELINK 2023-02-13 16:40 次阅读

保证测试有效性的方法

除了提供嵌入式领域最好的测试工具之一外,我们还为汽车行业的客户测试软件产品(包括驾驶辅助功能、驱动组件、充电和电池系统的控制软件)。

随着时间的推移,我们也遇到了测试过程中的错误。为了避免过程错误,我们制定了各种策略和方法。始终以快速为客户的开发模型提供高质量的报告为目标。

下面,我们将详细解释其中一种方法。它是由我们的测试工程师开发的,并在日常实践中使用。

此方法的目的是确保测试用例在任何时候都实际测试链接到它的需求。

这里有一个简单的例子来说明为什么这件事如此重要。

在用于控制车辆外灯的软件中,当灯开关处于on位置时,外灯应始终打开。在最坏的情况下,这个需求只与从未包含条件“灯开关处于ON位置”的测试用例相关联。如果这些测试用例成功地测试了另一个方面(例如,灯开关关闭,外部灯保持关闭),那么可以认为链接的需求已经被充分测试了。

pYYBAGPp3EeALqTLAAB-tUq8qyE017.png

错误的链接会以不同的方式出现:

  1. 测试人员在测试用例和需求之间创建了一个错误的链接。
  2. 随着时间的推移,由于测试项的更改,现有链接将失去其意义

有一个简单且可快速实现的解决方案可以解决这个问题。

在我们的方法中,如果每个测试用例没有正确地测试链接的需求,那么它将被报告为“失败”。由于错误链接导致的失败在报告中有详细说明。我们的方法本质上是基于分别定义测试数据和期望值的可能性。

在TPT中,测试项的预期结果(在这里我们也说测试预言)可以在Assesslet的帮助下描述。Assesslets可以同时用于几个测试用例的评估。

该方法的实现分为5个步骤:

  1. 将需求导入TPT
  2. 根据单个需求创建1个Assesslet
  3. 创建检查脚本
  4. 创建测试用例
  5. 测试用例与导入需求的链接.

步骤1:将需求导入到TPT

导入可以通过几种方式完成。对于这种方法,只有需求在TPT中可用才是有意义的。

步骤2:为每个需求创建一个Assesslet

一个Assesslet的目的是在定义的条件下指定测试对象的预期行为。这个单一数据源的定义可以用于多个测试用例。

如何做到这一点?

在Assesslet文件夹中为每个需求创建一个新的脚本Assesslet,相应地命名并实现它。

一个Assesslet的实现包含以下元素:

  1. 定义条件或情况区别(通常来自需求)
  2. 定义每个条件的期望值(有些简单,有些复杂)
  3. 添加一个注释,说明哪个期望值涵盖了哪个需求

对于上面的灯控制示例,这里是一个评估Assesslet的参考实现,它使用ID 2018检查需求“如果灯开关是打开的,那么大灯应该立即打开”:

poYBAGPp3EeAL5qcAAA1h_Ly8Q8225.png

Assesslet检查需求2018:条件“当灯开关位于位置1(3号线)”。我们的期望值记录在第4行:TPT.CheckAlways()检查大灯是否== true。使用REQUIREMENTS.checked(),附加到需求2018的属性将被结果覆盖(从第4行开始)。

其他请求的过程是相同的。

步骤3:创建检查脚本

然后使用另一个Assesslet脚本检查链接到测试用例的所有需求是否具有定义好的属性。对于Assesslet,这是在第5行中使用REQUIREMENTS.checked()函数完成的。当调用这个函数时,默认值将被更改。

换句话说,对于每个测试用例,对于链接到该测试用例的每个需求,我们检查默认值的属性。如果存在默认值,则要么没有测试Assesslet,要么是需求的测试Assesslet不正确。

下面是一个参考实现:

poYBAGPp3EeASKGtAADTuUA3hOk109.png

您需要将该脚本移动到报告部分。然后它将在Assesslet之后运行以检查需求。

步骤4:创建测试用例

步骤5:将测试用例与导入的需求链接起来

需求与测试之间的链接或者测试与需求的链接,都可以通过拖拽来完成。选择一些测试用例并将它们拖到需求上即可。

优点是什么?

这个过程的优点是报告中不正确的链接可以立即和容易地看到。在报告中,每个错误链接的测试用例都被标识为失败的测试用例。

因此,该报告为用户提供了一个关于是否为所有需求创建了相关测试用例的快速概述。与此同时,这提高了生产率,因为可以省略对完成度的分析。

在应用这种方法时必须考虑什么?

应该检查Assesslet的正确性和与需求的一致性。只有当Assesslet是正确的,它们才有意义。这是测试过程中的实际工程工作。我们(目前)还不能从你们手中接过这个任务。

进一步的提示和建议:

在我们的一些项目中,我们没有将脚本Assesslet直接链接到需求。然而,映射是通过命名约定完成的:每个“需求-测试”脚本Assesslet都有以下结构“Ass_”& 。双向可追溯性的要求(例如来自ASPICE)在原则上得到了满足,因为配对可以在任何时候确定。

总结

我们确保测试重要性的方法符合ASPICE和ISO26262的要求。

在它的应用中,它需要使用测试自动化的基本功能,例如用于刺激的测试数据的分离和测试对象预期行为的单独定义。几年来,我们一直在安全关键型汽车项目中成功地使用这种方法。

我们的工程师被直观的程序所说服,不再想没有它,因为费时的手工检查链接正确性的工作可以省略。

编写脚本和检查Assesslets及需求的正确性的工作是可管理的,并且显著低于诸如审查和演练之类的替代指标。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    5167

    浏览量

    126478
  • 嵌入式
    +关注

    关注

    5069

    文章

    19021

    浏览量

    303393
收藏 人收藏

    评论

    相关推荐

    是德科技助力三星电子验证FiRa 2.0安全测距测试用例

    是德科技(Keysight Technologies,Inc.)成功助力三星电子,在其Exynos Connect U100芯片组上验证了FiRa 2.0安全测试用例。此次验证得益于是
    的头像 发表于 11-18 10:08 124次阅读

    AWR1843 DMM接口介绍和验证测试

    电子发烧友网站提供《AWR1843 DMM接口介绍和验证测试.pdf》资料免费下载
    发表于 09-27 10:26 0次下载
    AWR1843 DMM接口介绍和<b class='flag-5'>验证</b><b class='flag-5'>测试</b>

    教学验证丨BUCK电路仿真验证

    配置 基于EasyGo仿真设备的BUCK拓扑:通过Simulink建模,载入进仿真设备NetBox。 基于实物的功率电路版:BUCK拓扑原理图如下。 四、运行测试1、开环模式:直流电压为100
    发表于 09-05 10:47

    如何理解机器学习的训练集、验证集和测试

    理解机器学习的训练集、验证集和测试集,是掌握机器学习核心概念和流程的重要一步。这三者不仅构成了模型学习与评估的基础框架,还直接关系到模型性能的可靠性和泛化能力。以下是一篇深入探讨这三者概念、作用、选择方法及影响的文章。
    的头像 发表于 07-10 15:45 3241次阅读

    EMC与EMI测试整改:从问题识别到效果验证

    深圳比创达电子|EMC与EMI测试整改:从问题识别到效果验证
    的头像 发表于 06-27 10:37 444次阅读
    EMC与EMI<b class='flag-5'>测试</b>整改:从问题识别到效果<b class='flag-5'>验证</b>

    接口测试测试点有哪些类型

    的核心,主要验证接口是否按照设计文档和需求规格说明书实现了预期的功能。以下是功能性测试的一些关键测试点: 1.1 输入参数验证:检查接口是否
    的头像 发表于 05-30 15:04 1754次阅读

    功能测试主要做什么 功能测试包含哪些测试

    功能测试是软件测试的一个重要组成部分,主要目的是验证软件的功能是否满足需求规格说明书(SRS)定义的功能要求。功能
    的头像 发表于 05-29 16:05 4994次阅读

    功能测试和接口测试的区别

    的一个重要组成部分,它主要关注软件的功能需求是否得到满足。功能测试的目的是验证软件是否按照需求规格说明书(SRS)描述的功能正常工作。功能
    的头像 发表于 05-29 16:02 852次阅读

    康谋分享 | aiSim5仿真场景重建感知置信度评估(三)

    aiSim5能重建高精度的赛道、车库、高速公路等真实交通场景,用于测试和训练ADAS/AD系统。通过全局行动日志,能将驾驶数据转化为场景重建,车道线检测算法和多目标检测算法在仿真与现实世界的相关性测试误差极为相近。
    的头像 发表于 05-08 16:59 2399次阅读
    康谋分享 | aiSim5仿真场景重建感知<b class='flag-5'>置信度</b>评估(三)

    芯片测试和芯片验证的区别

    这是芯片在设计过程的一个环节,主要通过EDA(电子设计自动化)工具进行仿真检验。它的主要目的是在芯片生产之前,验证芯片设计是否符合预定的需求规格,是否已经消除了所有的风险,发现并更正了所有的缺陷。这是一种防范于未然的措施。
    的头像 发表于 05-08 16:52 1881次阅读

    fpga验证测试的区别

    FPGA验证测试在芯片设计和开发过程中都扮演着重要的角色,但它们各自有着不同的侧重点和应用场景。
    的头像 发表于 03-15 15:03 1102次阅读

    软件测试需求有哪些

    软件测试需求有哪些
    的头像 发表于 12-28 10:46 880次阅读

    深度解读高速ADC的转换误差率

    耗时测试负担,可以在一定“置信度”的确定性情况下估算误差率,而仍然保持结果的质量。 误码率(BER)与转换误差率与串行或并行数字数据传输BER的数字等效值类似,CER是转换错误数与样本总数之比。但是
    发表于 12-20 07:02

    SD NAND 可靠性验证测试

    SDNAND可靠性验证测试的重要性SDNAND可靠性验证测试至关重要。通过检验数据完整性、设备寿命、性能稳定性,确保产品符合标准,可提高产品的可信度
    的头像 发表于 12-14 14:29 655次阅读
    SD NAND 可靠性<b class='flag-5'>验证</b><b class='flag-5'>测试</b>

    Stimulus—需求形式化建模和验证工具

    Stimulus是法国达索公司产品,其目的是通过需求建模分析来验证需求的正确性。Stimulus的核心理念是运用“自然语言”对功能性需求进行建模,并通过仿真来查找
    的头像 发表于 12-12 16:00 542次阅读
    Stimulus—<b class='flag-5'>需求</b>形式化建模和<b class='flag-5'>验证</b>工具