顶部
收藏

软件测试——基于问题驱动学习模式(重排版)


作者:
朱少民
定价:
49.00元
ISBN:
978-7-04-047229-5
版面字数:
510.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2017-05-09
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
软件工程专业课程

本书以“建构主义”为指导,注重软件测试与应用背景相结合,遵循项目推进的时序过程,以问题驱动方式组织软件测试内容。全书共10章,覆盖软件测试的完整过程所需的知识和技能,包括单元测试、持续集成测试、系统功能测试、性能测试、安全性测试和测试管理等。为了适应当前软件技术的实际应用状态,用专门一章介绍移动App的测试方法、技术和工具;同时,为了进一步提高软件测试的核心技能,包括能够进行更彻底的自动化测试,特别编写了“基于模型的软件测试”这一章。

随书提供丰富的配套资源,包括重点知识的讲解视频、相关工具的说明文档、电子教案、示例源代码等。读者可扫描书中的二维码观看视频/阅读文档,也可从数字课程网站获取相关资源。

本书可作为高等学校计算机科学与技术专业、软件工程专业“软件测试”课程教材,也可供有关技术人员参考。

  • 前辅文
  • 第1章 软件测试入门
    • 1.1 什么是软件缺陷?
    • 1.2 什么是软件质量?
    • 1.3 什么是软件测试?
    • 1.4 软件测试的主要活动
    • 小结
    • 思考题1
    • 参考文献
  • 第2章 需求与设计评审
    • 2.1 为什么需求和设计评审如此重要?
    • 2.2 如何做好产品的需求 评审?
      • 2.2.1 如何理解软件需求?
      • 2.2.2 如何确定传统软件需求的评审标准?
      • 2.2.3 如何评审敏捷需求——用户故事?
      • 2.2.4 如何有效地完成需求评审?
    • 2.3 如何做好软件设计评审?
      • 2.3.1 软件设计的评审标准
      • 2.3.2 系统架构设计的评审
      • 2.3.3 组件设计的审查
      • 2.3.4 界面设计的评审
    • 小结
    • 思考题2
    • 参考文献
    • 实验1 需求评审
  • 第3章 单元测试
    • 3.1 如何开始单元测试?
      • 3.1.1 待测函数
      • 3.1.2 在研发环境下完成单元测试
      • 3.1.3 JUnit的关键组件
      • 3.1.4 JUnit的工作原理
      • 3.1.5 xUnit家族
    • 3.2 单元测试用例设计
      • 3.2.1 测试工作从代码行分析开始
      • 3.2.2 条件常常会出错
      • 3.2.3 更充分的测试
      • 3.2.4 更正式的充分性测试
      • 3.2.5 执行路径的覆盖测试
      • 3.2.6 从节点扩展到程序结构
      • 3.2.7 对循环结构的程序进行测试
    • 3.3 从函数走向软件包
      • 3.3.1 待测软件包
      • 3.3.2 如何测试一个完整的类?
      • 3.3.3 如何避免非测试对象的影响?
      • 3.3.4 Package的测试
      • 3.3.5 如何完成批量执行测试?
      • 3.3.6 如何衡量测试效果?
      • 3.3.7 最常用的覆盖率分析工具有哪些?
    • 3.4 以逸待劳的测试——代码静态分析
      • 3.4.1 通过代码评审发现哪类问题?
      • 3.4.2 常见的代码缺陷模式
      • 3.4.3 如何借助工具直接发现代码中的错误?
      • 3.4.4 如何比较好地保证代码的规范性?
    • 3.5 单元测试的最高境界
      • 3.5.1 TDD是最彻底的单元测试
      • 3.5.2 TDD与ATDD
      • 3.5.3 零缺陷质量管理思想应用于编程
    • 小结
    • 思考题3
    • 参考文献
    • 实验2 用逻辑覆盖法进行 JUnit单元测试实验
    • 实验3 Mock测试实验
    • 实验4 单元测试覆盖率分析实验
  • 第4章 持续集成测试
    • 4.1 如何开展集成测试?
    • 4.2 如何构建持续集成的环境?
      • 4.2.1 持续集成需求对环境的要求
      • 4.2.2 源代码管理工具
      • 4.2.3 版本构建工具
      • 4.2.4 持续集成管理工具
    • 4.3 如何完成自动部署和自动集成测试?
      • 4.3.1 如何在持续集成中实现自动部署?
      • 4.3.2 如何在构建前实现自动静态分析?
      • 4.3.3 如何在构建后实现自动验证?
    • 小结
    • 思考题4
    • 参考文献
    • 实验5 持续集成测试实验
  • 第5章 系统功能测试
    • 5.1 功能测试之前的准备
      • 5.1.1 系统功能测试究竟测什么?
      • 5.1.2 系统功能测试应该考虑哪些问题?
      • 5.1.3 系统功能测试的基本 思路
    • 5.2 Web应用功能的测试 需求分析
    • 5.3 Web应用功能的测试设计
      • 5.3.1 有哪些常用的系统功能测试方法?
      • 5.3.2 如何减少测试数据量?
      • 5.3.3 如何完成组合测试?
      • 5.3.4 组合爆炸如何测试?
    • 5.4 面向接口的Web测试
      • 5.4.1 基于SOAP接口的测试
      • 5.4.2 基于REST接口的测试
    • 5.5 基于场景的测试方法
    • 5.6 Web应用功能的测试执行
      • 5.6.1 如何避免单调重复的手工测试?
      • 5.6.2 没有测试用例也 可以吗?
    • 5.7 Web应用功能的回归测试
    • 5.8 功能相关的其他各种类型测试
    • 小结
    • 思考题5
    • 参考文献
    • 实验6 系统功能测试实验
    • 实验7 探索式测试实验
  • 第6章 系统性能测试
    • 6.1 什么是性能测试?
      • 6.1.1 有哪些常见的性能问题?
      • 6.1.2 如何区分性能测试中不同的目的?
    • 6.2 如何确定系统的性能需求?
      • 6.2.1 关键性能指标分析
      • 6.2.2 关键业务分析
    • 6.3 如何完成性能测试的 设计?
      • 6.3.1 如何模拟用户操作?
      • 6.3.2 如何有效地模拟加载过程?
      • 6.3.3 如何实时准确地控制加载?
    • 6.4 如何选择合适的性能测试工具?
      • 6.4.1 性能测试工具需要哪些关键特性?
      • 6.4.2 有哪些常见的性能测试工具?
    • 6.5 如何执行性能测试?
      • 6.5.1 脚本开发
      • 6.5.2 环境设置
      • 6.5.3 执行与过程监控
    • 6.6 如何分析和评估测试结果?
    • 6.7 客户端的性能测试有何不同?
    • 小结
    • 思考题6
    • 参考文献
    • 实验8 系统性能测试
  • 第7章 系统安全性测试
    • 7.1 什么是安全性测试?
      • 7.1.1 如何认识系统的安全性?
      • 7.1.2 系统存在哪些安全性漏洞?
      • 7.1.3 清楚安全性测试的目标与任务
    • 7.2 如何进行安全性测试?
      • 7.2.1 贯穿研发生命周期的安全性测试
      • 7.2.2 有哪些安全性测试方法?
    • 7.3 安全性静态测试
    • 7.4 渗透测试
    • 7.5 模糊测试方法
    • 7.6 Web安全性测试
    • 小结
    • 思考题7
    • 参考文献
    • 实验9 安全性测试实验
  • 第8章 移动App的测试
    • 8.1 移动应用测试有哪些特点?
    • 8.2 如何完成移动App功能的自动化测试?
      • 8.2.1 优先选择面向接口的自动化测试
      • 8.2.2 Android App用户界面自动化测试
      • 8.2.3 iOS App 用户界面自动化测试
      • 8.2.4 跨平台的App 用户界面自动化测试
    • 8.3 专项测试
      • 8.3.1 耗电量测试
      • 8.3.2 流量测试
    • 8.4 性能测试
      • 8.4.1 Android内存分析
      • 8.4.2 iOS内存分析
    • 8.5 移动App“闪退”的测试
    • 8.6 安全性测试
    • 8.7 用户体验测试
    • 小结
    • 思考题8
    • 参考文献
    • 实验10 移动App自动化 测试实验
  • 第9章 基于模型的软件测试
    • 9.1 究竟什么是MBT?
    • 9.2 目前有哪些有效的MBT 方法?
    • 9.3 基于业务建模的MBT 方法
      • 9.3.1 基于业务流程建模
      • 9.3.2 基于事件流、应用场景的建模
      • 9.3.3 因果图法
    • 9.4 基于UML的MBT方法
    • 9.5 有限状态机的测试方法
    • 9.6 定理证明
    • 9.7 符号执行
    • 9.8 模型检验
      • 9.8.1 建模方法
      • 9.8.2 检测算法
      • 9.8.3 检测工具
    • 9.9 模糊测试方法
    • 小结
    • 思考题9
    • 参考文献
  • 第10章 测试与缺陷管理
    • 10.1 测试计划
      • 10.1.1 测试计划内容
      • 10.1.2 测试计划过程
      • 10.1.3 测试目标
      • 10.1.4 测试策略
      • 10.1.5 制定有效的测试计划
    • 10.2 测试风险的控制
      • 10.2.1 风险的识别与分析
      • 10.2.2 控制风险的对策
      • 10.2.3 测试执行策略
    • 10.3 缺陷的管理
      • 10.3.1 软件缺陷生命周期
      • 10.3.2 如何描述软件缺陷?
      • 10.3.3 有效的缺陷描述可达 目标如何?
      • 10.3.4 如何跟踪和处理缺陷?
      • 10.3.5 如何进行缺陷分析?
      • 10.3.6 有哪些缺陷跟踪系统?
    • 10.4 软件测试的原则
    • 10.5 测试报告
      • 10.5.1 评估测试覆盖率
      • 10.5.2 基于软件缺陷的质量评估
      • 10.5.3 测试报告的书写
    • 10.6 测试管理工具
    • 小结
    • 思考题10
    • 参考文献

相关图书