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

2024-05-15 06: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.chinasem.cn/article/991111

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

嵌入式技术的核心技术有哪些?请详细列举并解释每项技术的主要功能和应用场景。

嵌入式技术的核心技术包括处理器技术、IC技术和设计/验证技术。 1. 处理器技术    通用处理器:这类处理器适用于不同类型的应用,其主要特征是存储程序和通用的数据路径,使其能够处理各种计算任务。例如,在智能家居中,通用处理器可以用于控制和管理家庭设备,如灯光、空调和安全系统。    单用途处理器:这些处理器执行特定程序,如JPEG编解码器,专门用于视频信息的压缩或解压。在数字相机中,单用途