软件测试:实践者方法

软件测试:实践者方法

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

探究分析软件测试技术研究和实践。

内容简介

本书基于软件测试过程模型,构建软件测试价值模型、能力模型及基于能力战略的软件测试策略框架,讨论软件测试终止、测试预言、测试生成问题。基于图结构、图元素及软件失效行为,介绍逻辑驱动、数据驱动、剖面驱动的基础理论、基础技术及实践者方法。

基于技术创新及软件测试发展需求,构建面向服务、大数据及应用、软硬件一体化测试的技术框架,讨论基于服务模型的形式化描述及求解、服务实体及基于时间波动的服务实时性测试、大数据算法及应用性能测试、基于环境剖面及多域任务场景综合的一体化测试技术的最新研究成果及实践者方法。

基于能力战略的软件测试策略,构建基于质量、效率驱动的软件测试框架,结合实际案例,讨论文档类、代码类、数据类、功能类、性能类、接口类和专项类软件测试的技术要求、测试策略、环境构建及实践者方法。本书可供软件测试人员、软件质量管理人员、软件工程管理人员、软件开发人员及软件工程专业本科高年级学生、研究生使用和参考。

作者简介

编著者孙志安,中国船舶工业软件测试中心研究员,装备软件工程标准化技术委员会委员,主要从事软件测试、软件可靠性工程研究。

章节目录

版权信息

内容简介

前言

第1章 软件测试进展

1.1 软件赋能、赋值与赋智

1.2 软件质量现状

1.3 软件测试发展历程

1.4 软件测试发展展望

1.4.1 软件测试面临的挑战

1.4.2 软件测试发展趋势

第2章 软件测试基础

2.1 软件质量

2.1.1 软件质量架构

2.1.2 软件质量模型

2.1.3 质量模型的GDQA应用框架

2.2 软件测试

2.2.1 测试的充分性

2.2.2 测试的追溯性

2.2.3 测试的时机

2.2.4 测试的针对性

2.2.5 测试与调试

2.3 软件可测试性

2.3.1 可测试性生命周期过程模型

2.3.2 可测试性特征

2.3.3 不同级别的可测试性问题

2.4 软件可靠性

2.5 软件错误、缺陷、故障及失效

2.5.1 软件错误、缺陷及故障

2.5.2 软件失效

2.6 时间问题

2.6.1 基于时间的可靠性度量

2.6.2 Musa执行时间

2.6.3 时间问题再思考

2.7 运行剖面

第3章 软件测试模型

3.1 软件测试过程模型

3.1.1 软件测试过程

3.1.2 软件测试过程活动

3.1.3 基于流程的测试过程模型

3.1.4 基于RUP的测试过程模型

3.2 软件测试成熟度模型

3.2.1 模型框架

3.2.2 能力成熟度等级

3.2.3 测试能力评价体系

3.2.4 评价模型

3.3 测试过程模型选择

第4章 软件测试策略

4.1 软件测试价值模型及测试体系

4.1.1 软件测试价值模型

4.1.2 软件测试目标体系

4.1.3 软件测试体系

4.2 基于风险、能力的测试策略

4.2.1 基于风险的测试策略

4.2.2 基于能力的测试策略

4.3 基于架构的测试策略

4.3.1 分层架构

4.3.2 事件驱动架构

4.3.3 微服务架构

4.3.4 云架构

4.4 基于对象及环境的测试策略

4.4.1 测试对象模型

4.4.2 测试环境分析

4.5 基于流程及组织的测试策略

4.5.1 测试策略螺旋结构模型

4.5.2 测试流程

4.5.3 测试组织

4.6 软件测试思维

4.6.1 系统思维

4.6.2 分析思维

4.6.3 结构化思维

4.7 不确定性及控制

4.8 测试策划的实践者方法

第5章 逻辑驱动测试

5.1 静态分析

5.1.1 静态分析技术架构

5.1.2 技术评审

5.1.3 代码走查

5.1.4 代码审查

5.1.5 动态测试

5.1.6 静态分析方法比较

5.2 逻辑覆盖

5.2.1 语句覆盖

5.2.2 判定覆盖

5.2.3 条件覆盖

5.2.4 判定−条件覆盖

5.2.5 条件组合覆盖

5.2.6 修正条件判定覆盖

5.3 路径覆盖

5.3.1 图结构

5.3.2 控制流

5.3.3 独立路径

5.3.4 图形矩阵

5.3.5 基本路径覆盖用例设计

5.4 循环结构覆盖

5.4.1 循环结构

5.4.2 循环结构测试

5.4.3 Z路径覆盖下的循环测试

5.4.4 最少测试用例数估算

5.5 符号执行

5.5.1 符号执行原理

5.5.2 符号执行技术

5.5.3 符号表达式简化

5.5.4 约束条件求解

5.6 流敏感指针分析

5.6.1 流敏感分析背景

5.6.2 静态单赋值问题

5.6.3 LLVM的内部表示

5.6.4 稀疏流敏感指针分析

5.6.5 访问等效性

5.6.6 算法

5.7 面向对象软件的逻辑驱动测试

5.7.1 类在UML中的描述

5.7.2 错误表征

5.7.3 类测试设计

5.7.4 类测试数据

5.7.5 类测试延伸

5.7.6 测试流程及方法

5.8 逻辑驱动测试的边界值

5.8.1 数据类型的边界值

5.8.2 数组的边界值

5.8.3 分支判断语句的边界值

5.9 同源检测

5.9.1 代码克隆类型

5.9.2 同源检测技术原理

5.9.3 代码克隆检测原理及流程

5.9.4 代码大数据库构建

5.9.5 分析元模型

5.9.6 基于代码大数据库的克隆检测

5.10 静态分析融合

5.10.1 静态分析融合框架

5.10.2 基于语义的跨语言文本聚类

5.10.3 基于语义的检测结果与规则集聚类

第6章 数据驱动测试

6.1 软件可用性问题

6.2 等价类划分

6.2.1 测试输入问题

6.2.2 等价类划分规则

6.2.3 等价类划分流程

6.2.4 等价类划分方法

6.2.5 基于等价类划分的加法器测试

6.3 边界值分析

6.3.1 基于不同视角的边界

6.3.2 单缺陷假设及多缺陷假设

6.3.3 汽车转速控制边界值分析

6.4 决策表驱动

6.4.1 决策表表示

6.4.2 决策表结构

6.4.3 决策表建立步骤

6.4.4 基于决策表驱动的三角形类型判断测试

6.5 因果图分析

6.5.1 因果图符号及关系

6.5.2 基于因果图分析的测试设计流程

6.5.3 基于因果图分析的自动售货软件测试设计

6.6 功能图分析

6.6.1 功能图模型

6.6.2 基于功能图分析的测试设计流程

6.6.3 基于功能图分析的播放器测试设计

6.7 场景驱动

6.7.1 基于事件触发的场景

6.7.2 基于场景驱动的测试设计流程

6.7.3 基于场景驱动的在线购物系统测试设计

6.8 正交试验设计

6.8.1 正交试验设计原理

6.8.2 正交试验设计流程

6.8.3 基于正交试验的某网络系统登录测试

6.8.4 基于正交试验的某超短波跳频分组无线网传输时延测试

6.9 均匀试验设计

6.9.1 均匀试验设计原理

6.9.2 均匀试验设计的特点

6.9.3 均匀试验设计与正交试验设计比较

6.9.4 基于UDE的信息录入与信息查询测试

6.10 组合测试

6.10.1 输入及组合覆盖问题

6.10.2 组合测试分类及覆盖类型

6.10.3 成对组合覆盖

6.10.4 可变力度组合模型

6.10.5 成对组合测试方法比较

6.11 被动测试

6.11.1 有限状态机测试

6.11.2 EFSM测试

6.11.3 基于不变性的被动测试

第7章 面向服务软件测试

7.1 面向服务架构

7.1.1 架构

7.1.2 服务

7.1.3 环境

7.1.4 实现

7.2 面向服务测试的主要问题和框架

7.2.1 面向服务测试的主要问题

7.2.2 面向服务测试框架

7.2.3 面向服务测试对象

7.3 服务模型的形式化描述及求解

7.3.1 服务模型的形式化描述

7.3.2 形式化树模型

7.3.3 领域数据约束

7.3.4 领域数据语义描述

7.3.5 数据约束模型

7.4 服务实体测试

7.4.1 软件行为建模

7.4.2 测试框架

7.4.3 静态缺陷检测

7.4.4 测试设计模型

7.4.5 测试数据生成

7.4.6 单个操作基本测试用例生成

7.5 有状态服务实体测试

7.5.1 模型及定义

7.5.2 操作序列测试路径生成

7.5.3 服务操作序列测试

7.6 基于时间波动的服务实时性测试

7.6.1 基于时间波动的服务实时性测试框架

7.6.2 基于并发机制的单个服务访问频率预测

7.6.3 服务实体访问场景构建

7.6.4 服务响应时间波动分析

7.6.5 服务实时性测试

7.6.6 性能测试用例生成与执行

第8章 剖面驱动测试

8.1 软件可靠性测试的基本问题

8.1.1 基于运行周期的软件可靠性风险

8.1.2 与传统软件测试的差异

8.1.3 软件可靠性测试的必备条件

8.1.4 软件可靠性测试的空间覆盖

8.1.5 软件可靠性测试的不确定性

8.2 软件可靠性测试策略

8.2.1 基于风险的可靠性测试方案

8.2.2 一种理想化情况

8.2.3 完全随机的测试策略

8.2.4 混合测试策略

8.2.5 非均匀测试

8.2.6 最小测试集确定

8.3 软件可靠性建模

8.3.1 软件可靠性建模的基本问题

8.3.2 随机过程类模型

8.3.3 非随机过程类模型

8.3.4 基于构件的软件可靠性模型

8.3.5 模型评价、选择及合并

8.4 软件可靠性度量

8.4.1 度量模型视图

8.4.2 常用可靠性度量

8.4.3 复杂性度量

8.5 软件可靠性增长测试

8.5.1 软件可靠性增长预计

8.5.2 基于FTA的可靠性增长测试

8.5.3 充分性准则

8.6 软件可靠性验证测试

8.6.1 无失效执行时间验证测试

8.6.2 定时可靠性验证测试

8.6.3 序贯验证测试

8.6.4 验证测试方案

8.6.5 充分性准则

8.7 基于蒙特卡罗方法的软件可靠性测试

8.7.1 蒙特卡罗方法

8.7.2 测试过程模型

8.7.3 基于蒙特卡罗方法的测试应用

第9章 大数据及应用测试

9.1 大数据架构

9.1.1 大数据架构模型

9.1.2 大数据处理

9.2 大数据及应用测试体系

9.2.1 大数据质量

9.2.2 大数据及应用测试的基本问题

9.2.3 基于大数据应用架构的测试体系

9.3 大数据及算法测试

9.3.1 基准测试

9.3.2 聚类分析测试

9.3.3 分类算法测试

9.3.4 推荐算法测试

9.4 大数据应用性能测试

9.4.1 影响大数据应用性能的因素

9.4.2 大数据应用性能指标及监控

9.4.3 测试数据

9.4.4 负载模型及测试

9.5 大数据应用安全性测试

9.5.1 大数据应用安全要素

9.5.2 架构安全性测试

9.5.3 数据安全性测试

9.5.4 应用安全等级保护测试

第10章 软硬件一体化测试

10.1 一体化测试框架

10.1.1 基于MBSE的一体化测试

10.1.2 基于能力的一体化测试

10.1.3 多域任务场景下的一体化测试

10.2 一体化测试剖面构造

10.2.1 寿命剖面

10.2.2 任务剖面

10.2.3 环境剖面设计

10.2.4 面向任务的一体化测试剖面设计

10.2.5 一体化测试剖面设计

10.3 基于实测应力的综合环境应力剖面生成

10.3.1 应力测量

10.3.2 振动应力分析与归纳处理

10.3.3 温度应力分析与归纳处理

10.3.4 基于实测应力的综合环境剖面生成

10.3.5 基于实测应力的显控设备综合环境试验剖面生成

10.4 基于退化模型的一体化测试

10.4.1 在环系统失效机理

10.4.2 基于特征的功能性能退化模型

10.4.3 基于退化模型的系统可靠性评价

10.5 多域任务场景驱动的一体化测试

10.5.1 基于任务剖面的一体化测试用例生成

10.5.2 测试用例加载

10.5.3 基于场景模式感知的测试用例加载

10.5.4 测试用例执行

第11章 质量、效率驱动的测试实践

11.1 测试过程治理

11.1.1 测试过程模型

11.1.2 测试过程控制

11.1.3 基于系统特征状态的充分性度量

11.1.4 测试评价及改进

11.2 测试范围及测试类型

11.2.1 测试范围

11.2.2 测试类型

11.3 文档类测试

11.3.1 基于审查单的文档审查

11.3.2 基于问题驱动的文档审查

11.3.3 文档审查问题

11.3.4 性能指标描述审查

11.4 代码类测试

11.4.1 代码审查

11.4.2 代码走查

11.4.3 静态分析

11.4.4 逻辑测试

11.4.5 内存使用缺陷测试

11.4.6 软件成分分析

11.5 数据类测试

11.5.1 数据审查

11.5.2 数据处理测试

11.6 功能类测试

11.6.1 功能测试

11.6.2 边界测试

11.6.3 安装性测试

11.6.4 恢复性测试

11.7 性能类测试

11.7.1 性能测试

11.7.2 余量测试

11.7.3 容量测试

11.7.4 强度测试

11.8 接口类测试

11.8.1 接口测试

11.8.2 人机交互界面测试

11.9 专项类测试

11.9.1 安全性测试

11.9.2 互操作性测试

11.9.3 兼容性测试

参考文献

软件测试:实践者方法是2024年由电子工业出版社出版,作者孙志安 等 编著。

得书感谢您对《软件测试:实践者方法》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
全栈软件测试实战(基础+方法+应用)(慕课版) 电子书
本书是全栈软件测试系列教程的入门教材,由浅入深地介绍软件测试的知识和技能。主要内容包括:初识软件测试、软件开发流程、软件测试计划、静态白盒测试、黑盒测试、动态白盒测试、软件缺陷与缺陷报告、评审、风险分析与测试总结、软件质量度量与评估、软件测试过程与改进、软件测试项目管理。
软件测试与维护基础 电子书
本书吸取了课程建设成果,总结多位教师教学经验,全面系统地介绍了软件测试的概念、过程、方法及相关工具。全书共9章,前4章以理论介绍为主,从理论角度讨论软件测试的概念和技术;后5章以实践练习为主,从实践角度介绍软件测试的应用和工具的使用。前一部分内容主要包含软件测试基础概念、软件测试流程、软件测试岗位能力要求、黑盒测试技术、白盒测试技术、测试的组织与管理、软件维护等。后一部分内容主要包括黑盒测试方法的
软件测试(第2版) 电子书
本书详细地介绍了软件测试的相关知识。本书共8章,第1章主要讲解软件测试的基础知识;第2~3章主要讲解黑盒测试方法与白盒测试方法;第4~7章主要讲解接口测试、性能测试、Web自动化测试和App测试的相关知识;第8章通过一个软件测试实战—黑马头条项目,完整呈现软件测试的全过程,帮助读者巩固前面所学的相关知识。本书配套教学视频、源代码、习题、教学课件等资源,同时为了帮助初学者更好地学习本书中的内容,作者
软件测试实用教程 电子书
软件测试是一门涉及广泛知识的学科,软件测试行业在国内方兴未艾,测试工程师们亟须掌握各种测试技术和工具,测试团队的管理也亟须完善和提高。本书在编写过程中考虑到测试人员的需求,尤其是测试新手对各种知识的需求,提供了丰富的测试知识:首先介绍了国内外先进的测试技术和测试理念,如微软的测试方法、RUP中的测试过程、敏捷测试的理念等;其次详细讲述了几个主要测试工具的使用,如LoadRunner、AppScan
软件测试(慕课版) 电子书
基础篇,第1-6章,第1章软件测试基础,第2章软件测试策略,第3章黑盒测试与测试用例设计,第4章白盒测试,第5章软件测试的过程管理,第6章软件测试的度量。实践篇,第7、8章,第7章系统测试技术,第8章软件测试工具及其应用。提高篇,第9-12章,第9章第三方测试,第10章公有云测试质量评估和可靠性指标,第11章java程序代码风格检测与修复,第12章软件测试的拓展与提高。