首页>参考读物>计算机科学与技术>软件工程及软件方法学

嵌入式软件系统测试:基于形式化方法的自动化测试解决方案
作者 : 殷永峰 姜博 编著
出版日期 : 2021-01-26
ISBN : 978-7-111-67242-5
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 250
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书总结了作者多年的嵌入式软件系统测试的工程实践经验,基于形式化方法,提出了完整的自动化测试解决方案。全书从嵌入式系统的构成、分类和特点入手,介绍嵌入式软件工程及管理方法,讨论嵌入式软件系统测试理论及测试环境构建等技术,并结合航电系统嵌入式软件测试实例,为实现自动化测试提供有效的解决方案。本书既适合从事军用/民用领域嵌入式系统开发、验证及维护的专业技术人员阅读,也适合高等院校计算机、软件工程、嵌入式系统等专业的学生参考。

图书特色

结合理论与实践构建完整的自动化测试解决方案。
从形式化测试理论,到自动化测试描述方法,再到自动化仿真测试环境构建,全面跨越入门级技术,为一线从业人员提供实用的方法和工具。

图书前言

随着计算机技术的不断发展,人类已经进入了数字化时代,嵌入式软件在高科技研究与应用领域,特别是航空、航天、医疗、交通和现代武器装备研制等关键领域已得到广泛应用。鉴于嵌入式软件的重要性和特殊性,它的故障往往会导致严重的后果,因此,嵌入式软件的质量和可靠性问题越来越受到重视,而有效的嵌入式软件系统测试是保证软件质量的重要手段。
本书试图跨越传统的入门级、基础级系统测试技术,为从事嵌入式软件系统测试的一线从业人员提供从形式化测试理论,到自动化测试描述方法,再到自动化仿真测试环境构建的系统化解决方案,最后通过对典型的复杂嵌入式软件系统测试工程实例的讲解,进一步验证本书所涉及的理论、技术和方法的有效性。
本书的主要内容包括:第1章介绍嵌入式系统及软件的基本概念;第2章介绍嵌入式软件工程及质量与可靠性的相关知识;第3章系统地介绍基于形式化方法的嵌入式软件系统测试理论框架及技术;第4章讨论实时嵌入式软件自动化测试描述方法,主要从实时嵌入式软件测试描述语言的设计及运行机制等方面进行阐述;第5章着重讨论智能终端应用(嵌入式)软件系统测试技术,从Android系统基础开始,对测试用例生成、回归测试及压力测试等方面做了重点讲解;第6章重点讨论嵌入式软件系统测试环境构建技术,提出实时嵌入式软件仿真测试虚拟机规范的设计思路,同时对实时嵌入式软件仿真测试环境的体系结构设计以及测试执行引擎的设计、实现及效率等进行了探讨;第7章给出典型航电系统嵌入式软件测试实例。
本书既可为从事军用/民用领域嵌入式系统开发、验证及维护的专业技术人员提供参考,也可作为高等院校计算机、软件工程、嵌入式系统及相关专业本科生和研究生的参考读物。
本书主要由殷永峰编写并负责统稿,殷永峰编写了第2、3、4、6、7章,姜博编写了第1、5章。此外,北京航空航天大学的研究生宿庆冉、王雪峰和刘家康在文字整理及附录准备等方面做了大量工作,在此谨表示诚挚的感谢。
特别感谢北航可靠性与系统工程学院刘斌教授、军事科学院王峰研究员、国家互联网应急中心李政研究员在百忙之中审阅了本书,并提出了大量宝贵的意见和建议。感谢中国航空工业集团公司计算机软件北航可靠性管理与测评中心的同事,得益于诸多同人多年来在工程技术方面的积累和帮助,本书才能与读者见面。
从方法学的角度来看,面向嵌入式软件系统测试的理论与技术正处于不断发展的过程中,本书也难免存在不当及谬误之处,恳请读者批评指正,以帮助我们不断改进和完善。

殷永峰
2020年10月

上架指导

计算机/嵌入式

封底文字

当前,嵌入式软件在航空、航天、医疗、交通和现代武器装备研制等关键领域得到广泛应用。由于嵌入式软件的重要性和特殊性,其质量和可靠性备受关注,而有效的嵌入式软件系统测试正是保证软件质量的重要手段。
本书首先介绍嵌入式软件系统、嵌入式软件工程以及质量和可靠性的基本概念,然后系统讲解基于形式化方法的嵌入式软件系统测试理论及技术,给出了基于实时扩展UML与RT-EFSM的测试用例生成过程。接着深入讨论了实时嵌入式系统软件的测试描述方法(涵盖测试描述语言的设计及运行机制)和测试环境构建技术(涵盖RT-ESSTVMS、RT-ESTDEE和测试执行引擎的设计)。此外,还介绍了基于Android的智能终端应用软件系统测试,包括测试用例生成、回归测试和压力测试等内容。
本书特点
面向具备一定基础的读者,利用实用的方法和工具帮助研究人员和技术人员快速进阶。
包含丰富的代码示例,采用伪代码形式帮助读者理解关键算法。
以惯性/卫星组合导航系统软件为测试实例,了解从模型构建、测试用例生成到测试执行和结果分析的全过程。

图书目录

前言
缩略词汇表
第1章 嵌入式系统及软件 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统与实时系统 1
1.1.2 嵌入式系统的特点 5
1.1.3 嵌入式系统的组成 6
1.1.4 嵌入式系统的应用领域 10
1.2 嵌入式软件概述 12
1.2.1 嵌入式软件分类 12
1.2.2 嵌入式操作系统 14
1.3 本章小结 26
第2章 嵌入式软件工程与质量特性 27
2.1 嵌入式软件工程 27
2.1.1 嵌入式软件开发模型 28
2.1.2 系统分析与软件定义阶段 30
2.1.3 软件需求分析阶段 30
2.1.4 软件设计阶段 33
2.1.5 软件实现阶段 33
2.1.6 软件测试阶段 33
2.1.7 软件验收与交付阶段 36
2.1.8 软件使用与维护阶段 38
2.2 嵌入式软件工程化管理 40
2.2.1 软件工程化管理 40
2.2.2 软件开发方法学 41
2.3 嵌入式软件的质量特性 42
2.4 本章小结 43
第3章 基于形式化方法的嵌入式软件系统测试技术 45
3.1 软件形式化测试技术概述 45
3.1.1 软件形式化测试概述 45
3.1.2 基于形式规约语言 46
3.1.3 基于有限状态机和时间自动机模型 49
3.1.4 基于统一建模语言 50
3.1.5 基于Petri网模型 51
3.1.6 基于马尔可夫链模型 52
3.1.7 基于自定义形式化测试描述语言 52
3.2 嵌入式软件形式化测试技术 53
3.2.1 基本概念 53
3.2.2 基于FSM的软件测试技术 57
3.2.3 基于EFSM的软件测试技术 58
3.2.4 实时扩展有限状态机模型 61
3.3 基于实时扩展UML与RT-EFSM的测试用例生成 72
3.3.1 UML与OCL基本概念及技术 72
3.3.2 UML与软件测试 77
3.3.3 UML实时扩展 79
3.3.4 基于实时扩展UML与RT-EFSM的测试用例生成过程 91
3.4 本章小结 111
第4章 实时嵌入式软件自动化测试描述技术 113
4.1 测试描述的概念及分类 113
4.1.1 测试描述的概念 113
4.1.2 测试描述的分类 114
4.2 实时嵌入式软件测试描述的特性 115
4.2.1 实时嵌入式软件测试的特点 115
4.2.2 RT-ESTDL的设计原则 116
4.2.3 RT-ESTDL的地位和作用 117
4.3 实时嵌入式软件测试描述语言的设计 118
4.3.1 RT-ESTDL的词法 118
4.3.2 RT-ESTDL的语法 120
4.4 RT-ESTDL对实时嵌入式软件测试的支持机制 122
4.4.1 对实时嵌入式设备建模的支持 122
4.4.2 对实时嵌入式软件测试时间约束及并发处理的支持 126
4.4.3 对实时嵌入式设备模型实时通信的支持 126
4.4.4 对重用已有设备模型及测试描述的支持 127
4.5 本章小结 127
第5章 智能终端应用软件系统测试技术 129
5.1 智能终端应用软件基础 129
5.1.1 Android操作系统 129
5.1.2 Android开发环境 131
5.1.3 Android应用程序组件 131
5.1.4 Android模拟器和ADB工具 132
5.1.5 Android UI 133
5.1.6 Android Log系统 134
5.1.7 Android应用代码覆盖 135
5.1.8 Android GUI测试框架 136
5.2 智能终端应用软件系统的测试生成技术 137
5.2.1 Android测试用例生成技术 137
5.2.2 基于GUI的测试用例生成通用框架 141
5.3 智能终端应用软件系统的回归测试技术 152
5.3.1 安全回归测试选择技术的相关研究 152
5.3.2 Android应用回归测试场景 153
5.3.3 控制流图构建算法 155
5.3.4 影响分析算法 166
5.3.5 安全选择算法 172
5.4 智能终端应用软件系统的压力测试技术 173
5.4.1 WiseMonkey占用资源的实现 173
5.4.2 压力测试代理程序的设计 173
5.4.3 占用内存进行压力测试 175
5.4.4 占用CPU进行压力测试 176
5.4.5 占用网络进行压力测试 178
5.5 本章小结 178
第6章 实时嵌入式软件系统测试环境构建技术 179
6.1 现有的实时嵌入式软件系统测试环境分析 179
6.2 虚拟机技术与实时嵌入式软件测试 181
6.3 实时嵌入式软件仿真测试虚拟机规范的设计 182
6.3.1 数据类型 183
6.3.2 内存管理 183
6.3.3 测试任务管理 184
6.3.4 指令系统 186
6.3.5 测试描述文件 187
6.4 基于RT-ESSTVMS的实时嵌入式软件仿真测试环境设计 187
6.4.1 RT-ESSTE体系结构设计 187
6.4.2 测试开发系统设计 188
6.4.3 测试执行系统设计 188
6.5 实时嵌入式软件测试描述执行引擎的设计与实现 191
6.5.1 RT-ESTDEE的总体设计 192
6.5.2 测试描述预处理过程 192
6.5.3 测试调度过程 202
6.5.4 测试描述执行过程 202
6.5.5 在线测试描述的执行 203
6.5.6 测试执行引擎效率分析 204
6.6 本章小结 206
第7章 实时嵌入式软件系统测试实例 207
7.1 被测系统简介 207
7.1.1 I/GNS概述 207
7.1.2 I/GNS的主要功能和性能 208
7.2 I/GNS静态建模 209
7.2.1 交联设备模型构建 209
7.2.2 静态模型的测试描述 209
7.3 I/GNS动态建模 211
7.3.1 基于UML状态图的动态建模 211
7.3.2 I/GNS的RT-EFSM模型及时间约束迁移等价类分析 214
7.4 测试序列、测试用例及测试描述生成 215
7.5 测试执行及结果分析 220
7.6 本章小结 222
附录1 数学符号索引 223
附录2 RT-ESTDL语义及用法 225
附录3 I/GNS软件接口数据定义 233
附录4 I/GNS软件(展平)测试场景树列表 235
参考文献 237

教学资源推荐
作者: Leszek A.Maciaszek Bruc Lee Liong
作者: Ian Sommerville
作者: [美]罗杰 S. 普莱斯曼(Roger S. Pressman),布鲁斯 R. 马克西姆(Bruce R. Maxim)著
参考读物推荐
作者: Geri Schneider Jason P.Winters
作者: Steve McConnell