鉴源论坛·观通丨轨交软件测试技术详述

news2024/11/16 17:55:52

作者 | 刘艳青 上海控安安全测评部测试经理

版块 | 鉴源论坛 · 观通

社群 | 添加微信号“TICPShanghai”加入“上海控安51fusa安全社区”

01

集成测试技术要求

1.1 总体要求

· 对软件集成测试进行静态测试应先于动态测试;

· 集成过程是动态进行的,在测试计划中须明确集成策略;

· 建立集成测试环境并通过测试组确认;

· 应逐项测试技术文档中明确的软件组件的功能、接口等特征;

· 软件组件功能特征应需要被正常和异常的测试用例覆盖;

· 应测试软件单元和软件部件之间的所有调用,达到要求的测试覆盖率;

· 应测试软件部件的输出数据及格式、部件之间及部件与硬件之间的接口;

· 对安全性关键的软件部件,应对其进行安全性分析,明确每一个危险状态和导致危险的可能原因,并对此进行针对性的测试。

1.2 集成测试-功能测试

· 部件(或单元)间接口数据传递和返回结果的正确性;

· 部件组装后,部件功能的正确性;

· 全局数据结构的正确性。

1.3 集成测试-接口测试

· 软件(或单元)间接口数据流的正确性;

· 数据通过接口是否丢失;

· 软件(或单元)间是否相互存在影响;

· 全局数据结构是否存在问题。

1.4 集成测试-逻辑测试

单元调用关系上的覆盖测试,要求调用覆盖率和功能覆盖率都应达到全覆盖。即测试应覆盖到每个单元均被调用过(主函数除外),且功能实现均完全覆盖。

1.5 集成测试-结束准则

· 软件代码满足软件需求规格说明、设计说明中各部件的功能、性能要求;

· 软件单元(或部件)无错误连接,集成为配置项;

· 接口正确;

· 质量保证完成对内部测试的文档、程序是否符合规范的要求等符合性检查;

· 集成测试文档、记录、代码等配置项进入受控库。

02

配置项合格性测试的要求

2.1 总体要求

· 在控制流图中作结构覆盖测试;

· 应逐项测试需求规格说明书中列出的配置项,以及配置参数所实现的功能、性能等特性;

· 配置项的每个功能特性应至少用一个正常的测试用例和一个异常的测试用例验证并覆盖;

· 配置项的每个性能特性应多次进行测试,取测试结果的最大值、最小值和平均值进行评估;

· 测试用例设计时,应考虑输入有效等价类值、输入无效等价类值以及上下边界值;

· 应测试配置项的输出及其格式;

2.2 文档审查

· 文档的完整性:主要审查文档是否符合软件任务书以及软件工程化要求中规定的软件文档。

· 文档的一致性:主要审查文档内容、文档之间内容的一致性和覆盖完整性。

· 文档的准确性:主要审查文档内容的描述是否符合任务要求、文档对功能、性能、接口以及安全性等方面的描述的正确性。

· 文档符合标准:主要审查文档与规范要求的格式的一致性、与规范中要求内容的一致性和正确性等。

2.3 配置项合格性测试-静态分析

静态分析宜借助静态分析工具开展。根据软件编程语言的具体特点制定度量元。

03

动态测试的要求

3.1 功能测试

功能测试是对软件需求规格说明书中的功能项进行遍历的测试,以验证软件是否满足需求。功能测试一般可以分为如下情况:

· 用正常值等价类进行输入的正常测试;

· 用非正常等价类进行输入的异常测试;

· 对每个参数的边界值测试,可以分为正常边界值、异常边界值,上边界、下边界等;

· 用正确的数据类型不断加压运行,测试阈值;

· 在配置项测试时对配置项的逻辑等进行验证。

3.2 性能测试

性能测试一般包括:

· 测试在获得定量结果时程序计算的精确度(处理运算的精度);

· 测试其时间特性和完成运行所需的时间(响应时间);

· 测试为完成功能所处理的数据量(容量);

· 测试程序运行所占用的空间;

· 测试其负荷潜力;

· 测试配置项各部分的协调性;

· 在系统测试时测试软件和硬件结合时,系统的运行性能;

· 在系统测试时测试系统对并发任务的处理能力。

注:性能测试过程中不能改变被测软件的运行逻辑、运行计算以及时序等,可通过外部信号进行监测,必要时可在程序中进行插桩,插桩代码不应影响程序的性能指标。

3.3 接口测试

对于接口的测试,应根据接口的具体情况分别对待,如硬件接口,应对硬件接口的每个指标进行测试,例如对RS422接口的测试,应对波特率、数据位、奇偶校验、停止位以及运行周期等进行测试,以检验是否满足设计的要求。如对软件内部数据接口的测试,应对软件的数据传递类型、数据范围等进行测试,以检验内部数据接口满足设计的情况。

3.4 边界测试

边界测试一般包括:

· 软件的输入和输出边界或端点的测试;

· 状态转换的边界或端点的测试;

· 功能界限的边界或端点的测试;

· 性能界限的边界或端点的测试;

· 容量界限的边界或端点的测试。

注:边界测试的数据选择主要针对测试过程中的输入数据,选择输入数据的要求一般选择在数据有效范围的边界和端点,如输入数据a的类型为整型,取值范围为(0,100),(300,500),则最少选择的边界数据为12个,即每个端点处至少选择3个边界数据;如输入数据b为状态参数,应选择b状态的几个边缘点进行测试;如测试的对象为性能测试,则测试处最大性能参数与最小的性能参数;如测试对象为容量界限,一般选择测试运行内存内容。对于性能测试和容量测试时,须对软件进行逻辑、功能、性能分析后进行边界测试用例的设计。

3.5 人机交互界面测试

人机交互界面测试用例设计应保证对设计中所有的正确的要求进行用例设计和测试,其次,应对未对保护的工作逻辑进行测试。人机交互界面中存在输入输出数据时,同时考虑对输入输出数据的功能性测试、边界测试等。

3.6 恢复性测试

恢复性测试的具体要求如下:

· 应对软件出现故障后通过容错措施恢复正常工作的能力进行测试;

· 应对软件失效后通过自复位或备机切换等措施等恢复继续工作的能力进行测试;

· 应对系统失效后重新运行时软件依据记录数据恢复续接式作业工作的能力进行测试;

· 恢复性测试可结合其它测试类型一起进行,如:安全性测试、功能测试、性能测试等。

注:恢复性测试一般仅仅针对软件或系统重新运行不会对整个系统造成影响的情况方才具备该测试类型,一般要求在运行过程中停止运行、条件触发复位等各项操作,测试复位并重新启动后,软件对系统的影响以及自身的运行情况的测试。

3.7数据处理测试

数据处理测试的具体要求如下:

· 应对数据文件的存取、数据库的存取、数据格式的转换等专门数据处理功能进行测试;

· 对数据库应用软件、数据采集软件、产生大量数据文件的软件等应进行数据处理测试;

· 数据处理测试可结合其它测试类型一起进行,如:功能测试、性能测试、接口测试等。

数据处理测试一般包括:数据采集功能的测试;数据融合功能的测试;数据转换功能的测试;剔除坏数据功能的测试;数据解释功能的测试。

数据处理测试一般关注数据计算过程的逻辑、计算的正确性,在具备标准数据的输入、输出时,可采用动态测试的方式实现,否则一般以代码审查的方式审查代码与模型的一致性。

3.8 安装性测试

安装性测试的具体要求如下:

· 应对应用软件安装到应用系统中的操作过程进行测试,验证安装过程的正确性;

· 应验证安装过程与产品规格说明或用户手册中所说明的安装步骤是否文实一致;

· 应对软件卸载过程进行测试,测试卸载后系统中的软件痕迹是否彻底清除干净;

· 对适用于多种操作系统或多种系统配置的软件,应进行各种环境下的安装测试。

对于嵌入式软件一般不进行安装性测试,安装性测试针对的主要是以安装包的形式提交产品库的要求时进行测试,主要测试的内容包括测试过程的符合性、安装过程的符合性以及卸载后是否存在遗留等。

3.9 结束准则

· 软件满足软件需求规格说明中所规定的功能、性能、接口、约束及限制等软件本身质量特性要求;

· 完成配置项合格性测试报告的编制并通过评审;

· 质量保证完成对配置项合格性测试的文档、程序是否符合规范的要求等符合性检查;

· 配置项合格性测试文档、记录、代码等配置项进入受控库。

04

总 结

本文从集成测试、配置项合格性测试、动态测试等方面介绍了测试的要求、各测试阶段应关注的测试内容、以及结束的准则。除以上所提及的测试活动之外,不同的产品或系统,也会对应增加或简化测试过程,如系统合格性测试、信息安全性等测试活动。从整个开发管理活动来说,还有软件使用准备、软件移交准备、软件验证等后续管理活动。

参考文献:

[1] GB-T 15532-2008 计算机软件测试规范

http://www.doc88.com/p-7394374075165.html

[2] GB T 33783-2017 可编程逻辑器件软件测试指南

https://wenku.so.com/d/7e5129fc816015b21f1d0f3c901d307b

某军工企业系统集成类项目管理系统的分析与设计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1677250.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件工程期末复习(7)需求过程

需求分析 需求过程 什么是需求过程? 需求过程是用来导出、确认和维护系统需求文档的一组结构化活动。通常,一个良好的需求过程应包括下列活动: 需求提取需求分析和协商需求确认 需求提取 需求提取是通过与客户、系统用户和其他与系统开发相…

谷歌I/O 2024大会全面硬刚OpenAI

🦉 AI新闻 🚀 谷歌发布升级版Gemini机器人 竞争OpenAI ChatGPT-4 摘要:谷歌展示了升级版的 Gemini 聊天机器人,其支持实时处理视频和语音输入,并准确回答问题。此次发布时机与 OpenAI 公布 ChatGPT-4o 新模型几乎同步…

C++多态实现原理详解

阅读引言: 我想象了一下, 假如人有突然问我什么是多态, 我该如何给别人说清楚呢?所以写下这篇文章, 希望大家看完有所收获。 目录 ①. 开胃小菜 ②. 多态常见的一个小小面试题 ③, 虚函数指针虚函数表 …

FPGA - Xilinx系列高速收发器---GTX

1,GTX是什么? GT :Gigabit Transceiver千兆比特收发器; GTX :Xilinx 7系列FPGA的高速串行收发器,硬核 xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH、GTZ四种串行高速收发器&am…

ARM机密计算组件

安全之安全(security)博客目录导读 目录 ​一、硬件架构 1、RME 二、软件和固件架构 1、RMM 2、其他固件标准(例如PSCI) 三、开源实现 1、TF-A 2、Veraison 3、工具链 四、动态TrustZone技术 Arm机密计算架构(Arm CCA)引入了一系列硬件和软件…

信息化总体架构方法_2.信息化工程建设方法

1.信息化架构模式 信息化架构一般有两种模式,一种是数据导向架构,一种是流程导向架构。对于数据导向架构重点是在数据中心,BI商业智能等建设中使用较多,关注数据模型和数据质量;对于流程导向架构,SOA本身就…

如何利用3D可视化大屏提升信息展示效果?

老子云3D可视化平台https://www.laozicloud.com/ 引言 在信息爆炸的时代,如何有效地传达和展示信息成为了各行各业的一大挑战。传统的平面展示方式已经无法满足人们对信息展示的需求,3D可视化大屏应运而生,成为了提升信息展示效果的利器。本…

二分法的时间复杂度是logN

对数函数: (a>0, a≠1, x>0) 当αe时,记为yln x 当α10时,记为ylg x 当α2时,记为ylog x 其中x是自变量,函数的定义域是(0,∞),…

数智转型 聚创未来 | 2024达索系统企业转型智造论坛汽车零部件专场

报名链接: 数智转型 聚创未来https://3ds.tbh5.com/3ds/ureg.aspx?fwbestway

Adaboost集成学习 | Matlab实现基于CNN-BiLSTM-Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习 | Matlab实现基于CNN-BiLSTM-Adaboost集成学习时间序列预测(股票价格预测) 模型设计 融合Adaboost的CNN-BiLSTM模型的时间序列预测,下面是一个基本的框架。 数据准备: 收集并整理用于时…

环境光遮蔽技术在AI去衣应用中的创新探索

引言: 随着计算机视觉和人工智能技术的飞速发展,AI去衣技术逐渐走进公众视野。这一技术以其独特的应用前景和技术挑战引起了广泛的关注。在实现衣物去除的同时保持图像质量的关键技术之一,便是环境光遮蔽技术。本文将深入探讨环境光遮蔽技术在…

“Linux”的vi / vim目录编辑器

在前面中我们了解到Linux中的基础命令,20多个命令每个记住格式是:命令 选项 参数或者文件名,下面在了解一下最后两个命令:tree命令和find命令 一、补充的命令 (1)tree 作用:以竖状显示文件…

什么是BI看板?选择BI看板制作工具时一定要考虑这些方面

BI看板也称为商业智能仪表板,是一种直观的数据可视化工具,它将关键业务指标(KPIs)和数据以图表、图形和表格的形式集中展示,使用户能够快速获取企业运营的实时概览。 这种数据可视化方式不仅使得复杂的数据信息易于理…

【环境安装】nodejs 国内源下载与安装以及 npm 国内源配置

前言 Node.js 是一个基于 Chrome V8 引擎构建的 JavaScript 运行时环境,它能够使 JavaScript 在服务器端运行。它拥有强大的包管理器 npm,使开发者能够轻松管理和共享 JavaScript 代码包。 在中国,由于众所周知的原因,我们可能会…

Salesforce AI研究: 从奖励建模到在线RLHF工作流

摘要 该研究在本技术报告中介绍了在线迭代基于人类反馈的强化学习(Online Iterative Reinforcement Learning from Human Feedback, RLHF)的工作流程,在最近的大语言模型(Large Language Model, LLM)文献中,这被广泛报道为大幅优于其离线对应方法。然而,现有的开源RLHF项目仍然…

【微信小程序开发(从零到一)【婚礼邀请函】制作】——任务分析和效果实现的前期准备(1)

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

第188题|幂级数的展开的常规方法(一)|武忠祥老师每日一题

解题思路:求幂级数有两种方法,一种是直接法,这里显然不太好求,还有一种是利用现有展开式展开,我们看到分母 可以分解因式成(x6)(x-1),进而拆解成一次式。拆解成一次式的目的是为了使用一下两个展开式。 第一步&#xf…

51单片机小车制造过程记录

首先感谢B站up主好家伙vcc的资料。 这次小车做出来虽然资料挺全的,但中间还是犯了很多不该犯的错误。 第一个,物料这次我们搞错了挺多,最离谱的应该是最小系统板都错了。 资料里用的stm32f103c8t6,我们开始买成了stm32f103c8t6。…

深度学习:光流估计新范式

0.概述 在这篇文章中,我们将讨论两种基于深度学习的光流运动估计方法。FlowNet是第一个用于计算光流的CNN方法,RAFT是当前最先进的估计光流的方法。我们还将看到如何使用作者提供的经过训练的模型来使用PyTorch对新数据进行推断。 1. FlowNet FlowNet…

银行核心业务详解

银行的核心业务是其运营和盈利的基础,下面我将详细介绍这些核心业务: 存款业务:存款业务是银行最基本的资金来源之一。银行通过吸收公众的存款,为贷款和投资活动提供资金。存款业务分为活期存款、定期存款、储蓄存款等多种形式。…