0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

轨交软件测试技术

上海控安 来源:上海控安 作者:上海控安 2023-08-08 14:56 次阅读

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

版块 |鉴源论坛· 观通

引语:第一篇对轨交信号系统从铁路系统分类和组成、城市轨交系统分类和组成、城市轨交系统功能、城市轨交系统发展方面做了介绍;第二篇从信号基础的讲述了信号机、转辙机、轨道电路等设置原则和含义;第三篇从轨交系统的安全性设计的必要性、控制设计、需求分析以及实现等方面进行分析;第四篇重点从联锁系统的原理方面进行阐述;第五篇从轨交软件测试过程管理分析;本文将从轨交软件的测试技术入手进行讲解。

01

软件开发过程简介

基本活动:为了保证开发能够实现任务的要求而必须完成的工作活动。

支持活动:为了保证开发过程按照既定的体系要求而开展的管理活动。

其他管理活动:为了确保软件开发过程的风险、保密、安全,与利益相关方、体系持续改进等工作而需要实施的管理活动。

wKgaomTR5yuARROSAAFvsprRajU322.png

图 1

项目策划:

承办方接收到交办方的软件研制任务书时为软件立项,应为实施本规范所要求的活动和软件研制任务书中其他有关软件需求所要求的各项活动制定软件开发计划。该计划应与系统级策划一致,计划应以软件项目估计为基础。计划包括估计工作产品和任务的属性,确定需要的资源,协商承诺,产生进度表,以及标识和分析项目风险,制定测量、数据管理、评审、和利益相关方的协调计划等。

为了制定软件开发计划可能有必要反复进行这些活动。根据软件开发计划提供实施和控制软件项目活动的基础,而软件项目活动处理对项目交办方的承诺。项目进行中,软件开发计划常因下列情况而需修订:需求和承诺更改、不准确的估计、纠正措施和过程更改。

其结果为承办方负责完成的软件开发计划,开发计划中应包括估计报告。软件质量保证计划和软件配置管理计划一般合并在软件开发计划中,必要时,可以分别编制,但应在软件开发计划中说明理由。

支持活动:

a) 软件配置管理;

b) 软件产品评价;

c) 软件质量保证;

d) 纠正措施;

e) 评审;

f) 测量与分析。

其他管理活动:

a) 风险管理;

b) 保密有关活动;

c) 分承办方管理(即分承制方管理);

d) 与独立验证和确认机构的联系;

e) 与相关开发方的协调;

f) 项目过程的改进。

这些活动可以重叠或迭代应用,不必按上面列出的次序执行。针对具体软件,可对这些活动进行裁剪,软件开发过程及对这些活动进行的裁剪,各单位组织级应制定裁剪指南,项目级应在软件开发计划中描述。

02

软件内部测试

2.1 如何做软件内部测试

Why:

软件测试的目的是为了节省后期修改软件问题资金和进度。

第一,是为了确认软件的质量是否满足设计要求,一方面是为了确认软件做了期望做的事情;另一方面是确认软件是否以正确的方式来做了事情;(做了三级中规定的验证和确认的测试部分的工作);

第二,提供质量信息,为开发组提供质量相关信息;

第三,对软件和开发进行评价。

When:

软件测试一般是在完成软件实现后进行测试,但根据具体实施,最佳实践是在软件实现过程中完成了产品模块的编码后,及时进行测试工作能有效提高软件测试效率,集成测试工作可结合软件代码。

What:

软件测试就是为了验证和确认软件是否按照设计要求完成了既定的要求。

Who:

单元测试和集成测试工作一般由软件开发人员进行验证工作,配置项合格性测试和系统合格性测试一般由专业的测试队伍进行软件测试,配置项合格性测试由项目开发团队的测试组织进行,系统合格性测试一般由软件任务下达方组织实施。

How:

单元测试一般要开展代码审查、静态分析、逻辑测试、功能测试、边界测试;

集成测试一般要开展功能测试、接口测试和逻辑测试;

配置项合格性测试一般要开展文档审查、代码审查、静态分析、功能测试、性能测试、接口测试和余量测试、边界测试、人机界面测试、安全性测试、恢复性测试和安装性测试等;系统合格性测试要求和配置项合格性测试的类型基本一致。

wKgZomTR5yuAP9DHAAPdPPMtbcE310.png

图 2

2.2 测试的工作流程

确定测试的对象和测试目的 →明确测试依据 →确定进入时机 →确定测试类型和测试策略 →规范测试步骤 →明确测试的技术要求 →建立结束准则 →确定测试工作产品。

03

单元测试技术的要求

3.1 总体要求

a)应建立测试软件单元的环境,如桩模块和驱动模块;

b)对软件设计文档规定的软件单元的功能、性能、接口等逐项进行测试;

c)软件单元的每个特性应至少被一个正常测试用例和一个异常测试用例覆盖;

d)测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值;

e)满足语句覆盖率要达到100%的要求;

f)满足分支覆盖率要达到100%的要求;

g)满足输出数据及其格式的要求。

3.2 单元测试-代码审查的要求

a)代码审查应是人工阅读代码的结果,可以借助辅助工具予以辅助分析,但不应以工具扫描结果作为代码审查结果;

b)代码审查的内容包括:程序代码的控制流程、数据处理是否满足设计要求;程序代码的编程语言使用是否正确、规范、安全、可靠;程序代码是否满足软件可靠性安全性设计准则的相关要求;

c)代码审查应建立代码审查单,依据使用语言、软件特点,细化代码审查内容,检查的内容包括:命名规则检查、代码格式检查、内存使用检查、表达式判断逻辑检查、程序可读性检查、程序多余物检查、寄存器使用情况检查等内容。

wKgaomTR5yyAdFX7AAGtCEB-kKI449.png

表 1

3.3 单元测试-静态分析的要求

静态分析应明确分析工具的名称和版本。

静态分析的内容包括:程序结构分析;数据结构分析;控制流程分析;程序质量度量。

静态分析结果的使用:为代码审查提供必要的信息为单元测试提供必要的信息;提供程序代码质量度量信息。

质量度量指标要求:模块的平均圈复杂度不大于10模块圈复杂度大于20的比例不大于20%;模块最大圈复杂度不大于80;源程序的总注释率不小于20%模块的平均规模不大于200行。

根据软件编程语言的具体特点开展控制流分析、数据流分析、表达式分析。

wKgZomTR5y2AVn2pAAEueDMKpec870.png

表 2

3.4 单元测试—逻辑测试

a)语句覆盖率(SC)测试;

b)分支覆盖率(DC)测试;

逻辑测试主要通过动态运行测试用例,统计测试用例的运行路径,计算覆盖率。

语句覆盖率是指在运行完成所有设计的测试用例后,软件程序对每一条语句的覆盖百分比;

注:语句覆盖率 = (至少被执行一次的语句数量)/(可执行的语句总数)

分支覆盖率是指在运行完成所有设计的测试用例后,使得程序中每个判断至少取真分支和假分支一次,即判断的真假值均曾被满足的百分比。

注:分支覆盖率=(判定结果被评价的次数)/(判定结果的总数)

3.5 单元测试—结束准则

a)软件功能与设计说明一致;

b)控制流程正确;

c)语句覆盖率和分支覆盖率达到规定的覆盖率;

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

e)单元测试文档、代码等配置项进入受控库管理。

04

总 结

本文从为什么要做测试、什么时候是合适的介入测试的时机、如何做单元测试几个方面介绍了测试技术。测试不是一蹴而就,也不是可以跟着理论走一遍下了,就可以很好地做好测试这门技术。需要测试人员结合测试理论,系统全面地了解项目,多方面地挖掘测试本身的侧重点,结合项目的实际,挖掘项目自身的风险点。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件测试
    +关注

    关注

    2

    文章

    228

    浏览量

    18565
收藏 人收藏

    评论

    相关推荐

    软件测试过程管理

    本篇将从软件生命周期入手,重点从软件不同阶段、不同类型阐述各阶段的测试的重点。
    的头像 发表于 08-08 14:50 641次阅读
    <b class='flag-5'>轨</b><b class='flag-5'>交</b><b class='flag-5'>软件</b><b class='flag-5'>测试</b>过程管理

    寻求一份北醒与北共同发布的《雷达在交行业应用白皮书》

    寻求一份北醒与北共同发布的《雷达在交行业应用白皮书》
    发表于 04-20 08:48

    软件测试技术概论 下载

    软件测试技术概论软件测试的概念软件测试的发展和历史
    发表于 09-19 09:52 0次下载
    <b class='flag-5'>软件</b><b class='flag-5'>测试</b><b class='flag-5'>技术</b>概论 下载

    基于软件测试技术的FPGA测试研究

    基于对FPGA系统失效机理的深入分析, 提出了软件测试技术在FPGA测试中的应用, 并分析了其可行性; 通过对比FPGA与软件系统的异同,
    发表于 09-29 17:41 65次下载
    基于<b class='flag-5'>软件</b><b class='flag-5'>测试</b><b class='flag-5'>技术</b>的FPGA<b class='flag-5'>测试</b>研究

    ADC输入驱动电路与放大器的越失真的产生与消除方法

    2.1.2 反向配置与放大器的越失真
    的头像 发表于 04-12 06:00 3476次阅读
    ADC输入驱动电路与<b class='flag-5'>轨</b>对<b class='flag-5'>轨</b>放大器的<b class='flag-5'>交</b>越失真的产生与消除方法

    智慧建设 智能安防必不可少

    在本轮“新基建”大潮里,依然不落后。根据21数据新闻实验室统计,截至3月5日共有24个省份开出了总投资额48万亿的大单。其中轨道交通涉及40余个项目。以广东省为例,5.9万亿的“新基建”大盘里,有9千亿投在了
    的头像 发表于 03-17 14:10 2187次阅读

    “SenseMeteor睿知智慧平台”提供技术支持

    2020年1月,以商汤科技“SenseMeteor睿知智慧平台”为算法技术核心,西安地铁1、2、3、4号线、四条线路全线网开通。乘坐地铁出行的西安市民,进出站均可全程享受畅快、安全的一脸通行过闸体验。
    的头像 发表于 06-15 14:50 3418次阅读

    ADA4500-2: 10 MHz, 14.5 nV/√Hz, I/O、零输入越失真放大器

    ADA4500-2: 10 MHz, 14.5 nV/√Hz, I/O、零输入越失真放大器
    发表于 03-19 01:12 0次下载
    ADA4500-2: 10 MHz, 14.5 nV/√Hz, <b class='flag-5'>轨</b>到<b class='flag-5'>轨</b>I/O、零输入<b class='flag-5'>交</b>越失真放大器

    ADA4505-1/ADA4505-2/ADA4505-4: 10 μA、I/O、零输入越失真放大器

    ADA4505-1/ADA4505-2/ADA4505-4: 10 μA、I/O、零输入越失真放大器
    发表于 03-21 15:26 1次下载
    ADA4505-1/ADA4505-2/ADA4505-4: 10 μA、<b class='flag-5'>轨</b>到<b class='flag-5'>轨</b>I/O、零输入<b class='flag-5'>交</b>越失真放大器

    星载嵌入式处理器软件重配置技术研究

    星载嵌入式处理器软件重配置技术研究(嵌入式开发培训费用)-该文档为星载嵌入式处理器软件重配置技术
    发表于 07-30 17:07 11次下载
    星载嵌入式处理器<b class='flag-5'>软件</b>在<b class='flag-5'>轨</b>重配置<b class='flag-5'>技术</b>研究

    HarmonyOS 测试技术与实践-HarmonyOS 软件测试技术

    2021华为开发者大会HarmonyOS 测试技术与实践-HarmonyOS 软件测试技术
    的头像 发表于 10-23 14:19 1603次阅读
    HarmonyOS <b class='flag-5'>测试</b><b class='flag-5'>技术</b>与实践-HarmonyOS <b class='flag-5'>软件</b><b class='flag-5'>测试</b><b class='flag-5'>技术</b>栈

    系统安全性设计

    本文将从系统的安全性设计的必要性、控制设计、需求分析以及实现等方面进行阐述。 1. 安全性设计的必要性 2. 安全软件控制设计 3. 软件安全性需求分析 4
    的头像 发表于 01-16 16:55 780次阅读
    <b class='flag-5'>轨</b><b class='flag-5'>交</b>系统安全性设计

    信号系统基础简介

    随着城市轨道交通网的逐步扩大,信号系统在保证行车安全前提下,于提高运输效率、以及改善和行车有关的技术人员作业条件等方面起到至关重要的作用。为了让不了解信号系统的技术人员对本领域内专
    的头像 发表于 02-01 15:21 1278次阅读
    <b class='flag-5'>轨</b><b class='flag-5'>交</b>信号系统基础简介

    形式化方法的工业应用:领域

    文将聚焦于领域,从领域专用的需求撰写与分析工具Prema入手,介绍形式化方法在工业中的实际应用。
    的头像 发表于 08-08 15:20 595次阅读
    形式化方法的工业应用:<b class='flag-5'>轨</b><b class='flag-5'>交</b>领域

    鉴源论坛丨软件测试技术详述

    要求 ·对软件集成测试进行静态测试应先于动态测试; · 集成过程是动态进行的,在测试计划中须明确集成策略; ·建立集成
    的头像 发表于 05-14 16:38 312次阅读
    鉴源论坛丨<b class='flag-5'>轨</b><b class='flag-5'>交</b><b class='flag-5'>软件</b><b class='flag-5'>测试</b><b class='flag-5'>技术</b>详述