嵌入式软件测试笔记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 测试活动

  • 以下为集中进行影响分析并采取矫正措施:
    在这里插入图片描述
目录
相关文章
|
9天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
12天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
10天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
10天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
35 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
237 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
247 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0
|
2月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
48 5

热门文章

最新文章