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

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

3天内不再提示

用于验证错误优化的静态测试用例和测试过程分析工具

星星科技指导员 来源:嵌入式计算设计 作者:Sayali Salape 2022-06-21 10:13 次阅读

效率和质量在任何领域都很重要,软件验证也不例外。“静态测试用例和测试过程分析工具”提高了验证项目中工件的质量,并有助于纠正其中引入的人为错误。

介绍:

客观的:

在航空电子领域,安全关键软件必须通过 DO-178B/C 合规方式遵守联邦航空法规。航空无线电技术委员会 (RTCA) 和欧洲民用航空设备组织 (EUROCAE) 联合开发了DO-178 机载系统和设备认证中的软件注意事项。DO-178B/C 是处理机载系统中使用的安全关键软件的安全性的指南,旨在满足适航系统的需求。机载系统中使用的软件必须满足标准和相关认证目标。

DO-178B/C 的目标之一是“对软件产品进行符合性审查”。同行评审的目的是确保完成软件生命周期,并交付优质产品进行认证。在同行评审过程中,评审者必须评审在评审过程中添加的所有工件,并确保这些工件没有缺陷。如果发现任何缺陷,审核者需要将其作为发现来捕获。

在下一步中,实施者必须针对这些缺陷提供适当的解决方案。在进行航空电子软件验证时,我们的团队遇到了许多与拼写错误、同一测试(或同一单元)内重复要求、冗余空格(前导、尾随、单词之间等)、HLR-to -LLR 可追溯性,以及缺少特定要求的测试用例。

审查者和实施者都需要花费大量时间来捕捉和解决这些发现。如果工件数量增加,识别和解决此类错误所需的时间也会增加。因此,为了避免此类发现,我们的团队提出了“静态测试用例和测试过程分析工具”。该工具是用 Python 开发的,可以捕获上述错误。它有助于实施者在初始阶段修复此类错误,并有助于减少审查过程的时间。

概述:

开发静态测试用例和测试过程分析工具的主要目标是尽量减少用户在搜索拼写错误的单词、空格、需求可追溯性问题(在 HLR 和 LLR 之间)和丢失的测试用例(未测试的需求)方面的工作量。

在这里,测试用例在 excel 或文本文件中开发并添加到工具中。测试用例包含测试用例 ID、低级和高级需求的跟踪、测试用例的目标以及包含输入/输出的测试步骤以及每个步骤的目的。

手动生成的文档必然存在容易被忽略的错误。但是,该工具会扫描整个文档并识别文本中的拼写错误、文本中存在的额外空格以及连续的重复单词。它还检查测试用例文件名和测试用例 ID 的命名约定,并将其记录在要显示的文本文件中。

虽然,excel提供了检查文本拼写的功能。它遍历每个单词并需要更多时间,而该工具可以直接显示错误及其位置。

分析需求可追溯性和定位缺失的测试用例是该工具的另一个特点。在验证中,需求覆盖率是一个非常重要的方面,也是 DO-178B/C 标准的核心目标之一。DO-178B/C 第 A-7.4 节和 A-4.6 节的目标分别是“实现低级需求的测试覆盖”和“低级需求可追溯至高级需求”。

工程师必须检查需求是否经过测试,以及每个低级需求 (LLR) 是否都有相应的高级需求 (HLR) 可追溯。静态测试用例和测试过程分析工具从测试用例文件中收集数据并维护 LLR 和 HLR 列表,以便用户可以轻松查看并交叉检查 LLR 到 HLR 的可追溯性。

该工具检查每个 LLR 是否有与之关联的测试,并记录同一单元格中 LLR 和 HLR 的重复项,帮助用户最大限度地减少检查整个测试文件的工作量。

设计细节:

静态测试用例和测试过程分析工具主要分为两部分:1)需求追溯分析,2)发现拼写错误、空行、多余的空格和错误的测试用例ID(静态分析和清理)。

在需求追溯分析部分,.xlsx 中的测试用例和 .csv 中被测模块的需求列表作为该工具的输入提供。它会生成包含 LLR 和相关测试 ID 的 CSV 文件、包含测试 ID、HLR、LLR 的解析数据的 excel 文件,以及带有 LLR 和 HLR 的任何重复项的文本文件。

poYBAGKxKVOAZNTlAAC3ZBDjRXc313.png

图 2.1:工具的需求追溯分析功能

该工具的需求可追溯性分析部分执行以下功能:

HLR 和 LLR 之间的可追溯性 —— CSV 格式的测试用例文件和被测模块的需求列表作为输入提供给为检查需求可追溯性而开发的功能。它根据测试用例 ID、LLR 和 HLR 解析测试用例文件,并将其放入新创建的 xlsx 文件中。输入 CSV 文件包含特定模块的要求列表。

需求测试可追溯性 ——该函数从 CSV 文件中读取需求并将它们搜索到已解析的 HLR 和 LLR xlsx 中。如果 LLR 存在于已解析的工作表、LLR 和 HLR 中,它会捕获相应的测试用例 ID。该工具创建一个新的 CSV 并在其中写入 LLR 及其各自的测试用例 ID。如果 LLR 不存在,则会导致字符串显示“需求未测试”。

重复需求识别 - 该工具识别解析的 HLR LLR xlsx 文件中的单元格是否包含重复的 HLR 或 LLR,并在文本文件中记录这些需求。

在工具的静态分析和清理部分,提供一个或多个不同格式的测试文件(例如 .xlsx 或 .txt)作为输入,这些错误的结果记录在一个文本文件中。

pYYBAGKxKVmAQnnDAABsykq0_Uk821.png

图 2.2:工具的静态分析和清理功能

静态分析和清理部分执行以下功能:

捕获静态错误(拼写错误、多余的空格、连续重复的单词等)——用户可以选择一个或多个测试用例文件并将它们作为输入提供给检查测试用例文件中的静态错误的函数。该工具检查测试用例文件名和测试 ID 名称是否符合指南,并在文本文件中记录所有错误。它还报告测试用例文件中未使用的行。

结果:

该工具生成四个结果文件:

静态错误报告 (.txt)

HLR 和 LLR 之间的可追溯性报告 (.xlsx)

需求和测试之间的可追溯性报告 (.csv)

重复要求 (.txt)

以下片段可帮助用户了解该工具如何工作并产生结果。

poYBAGKxKV-Add92AAB20EK30v0587.png

图 3.1:测试用例中的静态错误报告

poYBAGKxKWWAG1-wAACJi92274A922.png

图 3.2:HLR 和 LLR 之间的可追溯性报告

pYYBAGKxKWyASMy6AACIol64VWM804.png

图 3.3:需求和测试之间的可追溯性报告

pYYBAGKxKXOAWjhNAAA_zjBCilA897.png

图 3.4:显示重复需求的报告

静态测试用例和测试过程分析工具与 C# 开发的 GUI 的集成:

我们已经成功地将我们团队创建的静态测试用例和测试过程分析工具与另一个团队实现的 GUI 工具集成在一起。挑战在于 GUI 工具是用 C# 实现的,而静态测试用例和测试过程分析工具是用 Python 实现的。

集成两者的想法使用户能够保持他们一直在使用的相同 GUI,并具有用于检查他们正在处理的 TC 中的静态错误的附加功能。集成过程包括启用 python 脚本以提供与基于 C# 的 GUI 的接口(即,使函数以测试用例列表作为参数在命令行上执行),从 C# 调用 python 脚本,以及从 C# 执行文件操作生成日志文件。

以下是此集成的功能:

节省单独操作工具的开销

GUI工具本身提供了选择TC、执行工具、分析报告等所有界面,节省了工程师执行每个步骤的时间

执行活动与 GUI 工具中的时间戳(以活动日志的形式)一起监控,让用户知道执行是如何工作的

案例分析:

如引言中所述,如果在实施阶段没有发现和解决错误,则在审查过程中纠正错误的实施和审查工作会更大。本案例研究包括同行评审过程中确定的一项发现以及解决该问题所需时间的估计。下面提供的分析显示了在此工具的帮助下可以节省多少实施和审查时间。

同行评审结果描述:

清除单词“contrl”的所有拼写错误,即测试 1 中的目的陈述 - “Slider contrl”应该是“Slider control”。

工件需要重命名。根据指南重命名它。

描述大概时间

大约。是时候让审阅者发现错误并记录下来了。5分钟。

大约。是时候让实施者进行清理了。1分钟。

大约。实施者提交更改、重新生成日志和响应解决方案的时间。10 分钟。

总周转时间15 分钟。

现在,如果在实施时发现相同的错误,它可以在不到 5 分钟的时间内修复。

表 5.1:工具的有效性

优点:

该工具的有效性随着多个工件和多个 TC 的审查而增加

将修复错误的周转时间缩短 70%

减少与拼写、命名约定和 HLR-LLR 可追溯性问题相关的发现数量

未来范围:

它将 LLR 和相应的 HLR 作为需求管理工具的输入,并检查测试用例是否包含正确的 LLR 到 HLR 可追溯性。

基于解析的 LLR,它生成一个 TC 模板,该模板将根据需求准备好一些基本字段,如目标、目的、输入/输出。

支持以 .c、.py 或 .xml 格式手动创建的测试程序文件。

支持 pdf 标记。

结论:

该工具的目的是通过消除需求可追溯性问题和错误(例如空格、重复单词、拼写错误的单词和命名约定)来生成健壮或高质量的工件。它可以节省大约 10 分钟。对于每个工件。

当有多个工件时,该工具会更有效,并节省大约 70% 的周转时间。通过持续使用该工具,我们的团队消除了与上述所有错误相关的发现,显着提高了工件质量和工作效率。

审核编辑:郭婷

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

    关注

    3

    文章

    610

    浏览量

    38791
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
收藏 人收藏

    评论

    相关推荐

    DEKRA被CSA指定为Zigbee统一测试工具开发和优化新功能和测试用

    DEKRA德凯被CSA联盟(Connectivity Standards Alliance,CSA)指定负责为Zigbee统一测试工具(Zigbee Unified Test Harness,ZUTH)开发和优化新功能和测试用
    的头像 发表于 04-09 14:10 163次阅读

    磁盘eCryptfs加密测试用

    eCryptfs详解 本章节我们先用简单用例验证eCryptfs加密效果特点,使大家对方案有个整体感性认识,同时也会提供一个C版本用例作参考。其次对测试结果进行初步分析,接着详细分析e
    的头像 发表于 11-29 11:27 505次阅读
    磁盘eCryptfs加密<b class='flag-5'>测试用</b>例

    如何解决车载部品测试过程中峰值电流不足的问题?

    如何解决车载部品测试过程中峰值电流不足的问题? 随着汽车电子系统的不断发展和普及,车载部品的测试过程变得更加复杂和严峻。其中一个常见的问题是峰值电流不足。峰值电流不足可能导致测试结果不准确、设备损坏
    的头像 发表于 11-23 10:33 227次阅读

    一文了解导入测试数据自动化生成测试用例的方法

    作者|Poplar小编|吃不饱概述在模型开发过程中,测试是一个不可或缺的环节。在测试过程中,测试用例的编写是所有测试工程师关注的重点和难点。
    的头像 发表于 11-23 08:24 281次阅读
    一文了解导入<b class='flag-5'>测试</b>数据自动化生成<b class='flag-5'>测试用</b>例的方法

    是德科技成功验证3GPP Release 17 NTN标准测试用

    2023年11月14日,是德科技(Keysight Technologies,Inc.)成功验证了针对 3GPP Rel-17 标准的 NB-IoT NTN 一致性测试用例。该测试用例是在全球认证
    的头像 发表于 11-15 09:33 456次阅读

    是德科技验证首个协议一致性测试用

    (3GPP)第 17 版 (Rel-17) 标准验证了首个协议一致性测试用例。该经过验证测试用用于是德科技的 5G 网络仿真一致性
    的头像 发表于 11-14 16:01 332次阅读

    如何使用芯片测试工具测试芯片静态功耗?

    为什么需要芯片静态功耗测试?如何使用芯片测试工具测试芯片静态功耗? 芯片静态功耗
    的头像 发表于 11-10 15:36 1348次阅读

    GAT通用自动测试系统

    GAT通用自动测试系统平台适用于军用及民用电子产品生命周期的器件选型、研发测试、DVT(设计验证测试)、可靠性试验、生产
    发表于 09-26 10:09

    数字电路用什么仪器测试

    数字电路用什么仪器测试  数字电路测试是数字电路设计的重要环节。它是验证数字电路功能是否按照所期望的方式工作的过程。在数字电路测试过程中,要
    的头像 发表于 09-19 16:33 697次阅读

    英诺达发布DFT静态验证工具

    英诺达发布了自主研发的静态验证EDA工具EnAltius®昂屹® DFT Checker,该工具可以在设计的早期阶段发现与DFT相关的问题或设计缺陷。
    的头像 发表于 09-13 09:05 792次阅读

    ic验证是封装与测试么?

    ,每个环节都有其独特的测试方法和工具。 芯片设计验证主要涉及到系统级验证和芯片级验证两方面,系统级验证
    的头像 发表于 08-24 10:42 512次阅读

    嵌入软件单元测试/集成测试自动化工具

    HookCode 直接使用目标机代码进行单元测试 联合静态解析工具[CasePlayer2],提供C0(语句),C1(判定),MC/DC覆盖率报告,优化
    的头像 发表于 07-11 17:11 457次阅读
    嵌入软件单元<b class='flag-5'>测试</b>/集成<b class='flag-5'>测试</b>自动化<b class='flag-5'>工具</b>

    海翎光电工业交换机测试过程

    工业交换机在出厂前要经过哪些测试呢?测试过程又是怎么样的呢?主要是工业交换机性能检验和可靠性检验,又包括了电阻检验、电容耐压测试、电源功率测试、线材、模块、电缆、网卡数据流量性能
    的头像 发表于 07-07 11:03 307次阅读
    海翎光电工业交换机<b class='flag-5'>测试过程</b>

    可重用的验证组件中构建测试平台的步骤

    本文介绍了从一组可重用的验证组件中构建测试平台所需的步骤。UVM促进了重用,加速了测试平台构建的过程。 首先对 测试平台集成者(testbe
    的头像 发表于 06-13 09:14 351次阅读
    可重用的<b class='flag-5'>验证</b>组件中构建<b class='flag-5'>测试</b>平台的步骤

    基于UVM验证环境开发测试流程

    验证环境用户需要创建许多测试用例来验证一个DUT的功能是否正确,验证环境开发者应该通过以下方式提高测试用例的开发效率
    的头像 发表于 06-09 11:11 634次阅读
    基于UVM<b class='flag-5'>验证</b>环境开发<b class='flag-5'>测试</b>流程