嵌入式软件测试笔记10 | 嵌入式软件测试中如何进行安全性分析?

简介: 嵌入式软件测试笔记10 | 嵌入式软件测试中如何进行安全性分析?

1 简介

  • 这里的安全指在一定条件下,系统不会危及到人的生命的期望;
  • 某些系统的故障可能导致严重的后果,如人员死亡、严重伤害、或环境环境收到严重破坏
  • 书中说到了两种方法:FMEA(故障模型及后果分析)FTA(故障树分析)
  • 故障原因:

① 硬件或软件故障;
② 硬件磨损;
③ 电磁干扰,机械、化学干扰;

  • 故障模式:描述产品或过程无法执行所期望的功能的一种方法;
  • 故障:系统或部件不能实现其运行需求;
  • 后果:由故障模式导致的不利结果。

2 故障模型及后果分析(FMEA)

2.1 三个步骤

  • 标识潜在的故障模式;
  • 确定这些潜在的故障模式对系统功能的影响;
  • 制定行动来减少影响/故障模式。

2.2 带来的结果优势

  • 大幅度提高系统的安全性;
  • 在这整个开发生命周期过程中能够跟踪风险;
  • 及早确定潜在的安全风险;
  • 将风险及为减少风险而采取的行动文档化;
  • 将后期系统的改动和相关费用减到最少;
  • 测试策略有高度可靠的输入。

2.3 FMEA分析过程

2.3.1 描述系统及其功能

  • 描述系统及其功能;
  • 包括设计及其需求文档;
  • 描述系统不同部分之间关系的文档。

    2.3.2 识别潜在的故障模式

    两种类型的软件故障模式:
  • 数据故障模式:

① 数据丢失;
② 数据不正确;
③ 数据有时限;
④ 额外数据。

  • 事件故障模式:

① 停机或异常终止;
② 忽略事件;
③ 错误逻辑;
④ 时间/顺序。

2.3.3 故障模式对功能的影响

  • 多每一个功能,需描述潜在的故障模式对其产生的影响;
  • 先描述对功能的影响,再描述对系统的影响,最后根据风险将后果进行分类。

2.3.4 风险导致后果的原因

  • 对原因需要描述措施。

2.3.5 风险监控

  • 开发过程中,对所识别的风险进行监控。

3 故障树分析(FTA)

3.1 简介

  • FTA被用来确定故障的原因;
  • 系统的故障放在故障树的顶端,其次是考虑系统的哪些不必要的行为是造成故障的原因;
  • 这里的故障是指错误事件,错误数据,意外数据或行为。

3.2 常用建立故障树的符号

在这里插入图片描述

3.3 FTA实例

  • 以下为起搏器故障分析的子集:
    在这里插入图片描述

4 安全性分析生命周期

4.1 基于MOD-00-56的安全性生命周期

在这里插入图片描述

  • 安全需求:

① 是用于安全验证的测试基础的一部分;
② 是安全过程的第一个活动。

  • 安全项目程序:对时间、费用和资源进行预算的项目方案;
  • 灾害识别:

① 目标是确定系统哪些部分出现故障,将会导致系统工作出现严重后果;
② 常用技术FMEA和FTA。

  • 风险评估:对已识别的灾害,分析他们对系统的影响是什么,其后果是什么;
  • 安全性评估:目标是确定是否采取了所有必要的措施;
  • 安全验证:根据安全要求,测试系统是否正常运行。

4.2 测试基础

  • 以下为最终设计的实现以及与测试和安全过程的关系:
    在这里插入图片描述

    4.3 测试活动

  • 以下为集中进行影响分析并采取矫正措施:
    在这里插入图片描述
目录
相关文章
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
611 11
|
10月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
804 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
存储 数据可视化 测试技术
一个测试工程师的实战笔记:我是如何在Postman和Apipost之间做出选择的?
优秀的API测试工具应该具备: 分层设计:既有可视化操作,也开放代码层深度定制 场景感知:自动识别加密需求推荐处理方案 协议包容:不强迫开发者为了不同协议切换工具 数据主权:允许自主选择数据存储位置
520 7
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
573 4
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1627 23
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
2191 24
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
1246 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
1061 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡