news 2026/6/5 21:33:26

嵌入式软件测试标准GJB/Z 141解读(三)测试工具的选择

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式软件测试标准GJB/Z 141解读(三)测试工具的选择

《GJB/Z 141-2004 军用软件测试指南》是软件实验室在申请嵌入式软件测试领域的相关资质所需要依据的一步国家标准。在该标准中,介绍了嵌入式软件测试的全流程,单元测试、部件测试、配置项测试、系统测试的测试过程以及测试内容做了介绍。本文我们主要介绍测试工具的选择部分。

在《GJB/Z 141-2004 军用软件测试指南》标准中,把嵌入式软件测试过程中可能会用到的工具分为了三类:静态测试工具、动态测试工具和支持测试活动的其他工具。要了解静态测试工具和动态测试工具,首先我们需要先对静态测试和动态测试的概念做一个初步的了解。

静态测试:

静态测试方法包括检查单和静态分析方法,对文档的静态测试方法主要是以检查单的形式进行,而对代码的静态测试方法一般采用代码审查、代码走查和静态分析,静态分析一般包括控制流分析、数据流分析、接口分析和表达式分析。

应对软件代码进行审查、走查或静态分析;对于规模较小、安全性要求很高的代码也可进行形式化证明。

动态测试:

动态测试方法一般采用白盒测试方法和黑盒测试方法。黑盒测试方法一般包括功能分解、边界值分析、判定表、因果图、随机测试、猜错法和正交试验法等;白盒测试方法一般包括控制流测试(语句覆盖测试、分支覆盖测试、条件覆盖测试、条件组合覆盖测试、路径覆盖测试)、数据流测试、程序变异、程序插桩、域测试和符号求值等。

在软件动态测试过程中,应采用适当的测试方法,实现测试要求。配置项测试和系统测试一般采用黑盒测试方法;部件测试一般主要采用黑盒测试方法,辅助以白盒测试方法;单元测试一般采用白盒测试方法,辅助以黑盒测试方法。

静态测试工具指的是对软件需求、结构设计、详细设计和代码进行评审、走查和审查的工具。

如复杂度分析、数据流分析、控制流分析、接口分析、句法和语义分析等工具。针对软件需求、结构设计、详细设计的静态分析工具很少。

在通用软件测试领域我们常用的静态代码测试工具像Coverity、Klocwork对嵌入式软件的适配程度相较于Fortify SCA要更好一些。

动态测试工具需要支持执行测试用例和评估测试结果的工具,包括支持选择测试用例、设置环境、运行所选择测试、记录执行活动、故障分析和测试工作有效性评估等。如覆盖分析、捕获和回放、存储器测试、变异测试、仿真器及性能分析、测试用例管理等工具。测试捕获和回放及数据生成器可用于测试设计。

动态测试需配合交叉编译工具链(如IAR、Keil)和调试探针(J-Link、ULINKpro)使用。军工项目更建议选择VectorCAST或LDRA确保工具链符合GJB标准要求。

支持测试过程活动的其它工具指的是,在嵌入式代码测试的过程中,还需要一些支持测试计划、测试设计和整个测试过程的工具。如测试计划生成、测试进度和人员安排评估、基于需求的测试设计、测试数据生成问题管理和测试配置管理等工具。复杂度分析可用于测试计划的制定,捕获和回放覆盖分析可用于测试设计与实现。

《GJB/Z 141-2004 军用软件测试指南》要求,在进行嵌入式软件测试的过程中,要尽量采用测试工具,避免或减少人工工作。为让工具在测试工作中发挥应有的作用,应确定工具的详细需求,并制定统一的工具评估、采购(开发)、培训、实施和维护计划。

选择软件测试工具应考虑如下因素:

a) 软件测试工具的需求及确认。

1) 应明确对测试工具的功能、性能、安全性等需求,并据此进行验证或确认。

2) 可通过在实际运行环境下的演示来确认工具是否满足需求,演示应依据工具的功能和技术特征、用户使用信息(安装和使用手册等)以及工具的操作环境描述等进行。

b) 成本和收益分析。

1) 估计工具的总成本,除了最基本的产品价格,总成本还包括附加成本,如工具的挑选、安装、运行、培训、维护和支持等成本,以及为使用工具而改变测试过程或流程的成本等。

2) 分析工具的总体收益,如工具的首次使用范围和长期使用前景、工具应用效果、与其它工具协同工作所提高的生产力程度等。

c) 测试工具的整体质量因素。

1) 易用性;

2) 互操作性;

3) 稳定性;

4) 经济实用性

5) 维护性。

以上就是在《GJB/Z 141-2004 军用软件测试指南》标准中针对测试工具部分的介绍,后面会针对测试内容部分展开介绍敬请继续关注,如需嵌入式软件测试工具部署方案,可私信我获取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 21:33:19

小鹏机器人元老施晓鑫离职,正值IRON量产关键期

施晓鑫:小鹏机器人从0到1的元老离场职场Bonus独家消息,小鹏机器人产品规划高级总监施晓鑫于6月初正式离职。他在小鹏机器人履职1675天,见证了鹏行智能整合、团队并入小鹏集团以及IRON人形机器人从原型到量产筹备的全过程,是小鹏人…

作者头像 李华
网站建设 2026/6/5 21:30:22

青椒科研:为医学工作者量身打造的专业资源索引平台

推荐一个很实用的医学导航网站:青椒科研做医学科研的朋友应该都有体会:查文献、找数据库、看指南、用统计软件……每个环节都要翻一堆网址,收藏夹越攒越乱。最近发现一个专门给医学工作者用的导航网站——青椒科研(https://qingji…

作者头像 李华
网站建设 2026/6/5 21:30:07

科技云报到:人工智能不会取代你,但你的工作方式将被Agentic AI改变

科技云报到原创。 2026年,AI行业正在发生一场无声的底层革命。 过去三年,大模型的普及解决了AI的“内容生成能力”,实现了文本、图像、代码、音频的高质量输出,但始终未能突破一个核心桎梏:AI缺乏主体性。 所有生成式A…

作者头像 李华
网站建设 2026/6/5 21:29:05

基于 Python + MySQL 的公交线路查询与管理系统(附源码)

一、项目简介本文介绍一个基于 Python 和 MySQL 实现的公交线路查询与管理系统。系统采用 Tkinter 构建图形化界面,使用 MySQL 存储公交线路数据,可以完成公交线路信息的录入、查询、修改、删除、保存、读取以及可视化展示等功能。二、开发环境本系统主要…

作者头像 李华
网站建设 2026/6/5 21:20:00

LabVIEW顺序结构选平铺还是层叠?看完这篇对比和实战案例再决定

LabVIEW顺序结构选型指南:平铺式与层叠式的深度对比与实战决策在LabVIEW图形化编程环境中,顺序结构是实现代码顺序执行的核心工具。对于已经掌握基础操作的开发者而言,如何在平铺式和层叠式顺序结构之间做出合理选择,往往成为项目…

作者头像 李华