图书信息
图书目录
数字化资源

软件测试技术与实践——面向分布式系统OpenHarmony




本书为示范性软件学院联盟建设的首批软件工程系列教材之一。本书基于OpenHarmony、面向全场景的分布式应用来讨论如何进行软件测试,以适应“软件定义世界”新时代的教学需求,树立大学生的民族自豪感和文化自信,使其承担起发展国产基础软件的责任和使命。本书强调基于案例、问题驱动的教学模式,以实战为主、案例为辅,通过精心设计的13个实验,启发学生思考,促进学生动手实践,切实培养学生分析问题和解决问题的能力,使学生能够掌握软件测试的实践技能。本书在内容上力求系统全面、层次清楚、循序渐进,从单元测试、接口测试到系统测试,从功能测试扩展到专项测试,全面覆盖各种专项测试,包括性能测试、安全性测试、兼容性测试、可靠性测试和用户体验测试等。读者通过本书的学习,能够全面了解软件测试的基本方法和技术,并通过实验更好地巩固所学的内容,真正践行“做中学”,以提升实践能力。

本书可作为高等学校软件工程及计算机类相关专业的教学用书,也可作为业界人员和自学人员的参考书。



作者:
朱少民

定价:
54.00 元

出版时间:
2024-07-02

ISBN:
978-7-04-062117-4

物料号:
62117-00

读者对象:
高等教育

一级分类:
计算机/教育技术类

二级分类:
计算机科学与技术专业课程

重点项目:
暂无

版面字数:
520千字

开本:
16开

装帧形式:
平装

页数:
404

最新
印次时间:
2024年01月
  • 目录
    • 前辅文
      • 第1章 软件测试面对的基本问题
        • 1.1 为什么要进行软件测试
          • 1.1.1 外在因素:用户和行业标准的要求
            • 1.1.2 内在因素:降低企业成本
            • 1.2 什么是软件测试
              • 1.2.1 软件测试基本认知——正反思维
                • 1.2.2 从狭义测试到广义测试
                  • 1.2.3 基于test oracle的认知
                    • 1.2.4 基于风险的认知
                      • 1.2.5 基于批判性思维的认知
                      • 1.3 测试内容
                        • 1.3.1 基于质量属性的测试内容
                          • 1.3.2 基于系统结构的测试内容
                            • 1.3.3 基于业务的测试内容
                            • 1.4 如何进行测试
                              • 1.4.1 静态测试和动态测试
                                • 1.4.2 主动测试和被动测试
                                  • 1.4.3 手工测试和自动化测试
                                  • 1.5 测试过程
                                    • 1.5.1 传统的工程过程
                                      • 1.5.2 敏捷测试过程
                                        • 1.5.3 测试自身工作过程
                                        • 1.6 软件测试应当遵守哪些基本原则
                                          • 1.7 OpenHarmony及其生态的介绍
                                            • 1.7.1 OpenHarmony架构及特性
                                              • 1.7.2 OpenHarmony生态
                                                • 1.7.3 OpenHarmony应用全流程活动
                                                  • 1.7.4 OpenHarmony测试工具能力
                                                  • 1.8 案例背景介绍
                                                    • 1.8.1 环境准备介绍
                                                      • 1.8.2 应用场景介绍
                                                      • 小结
                                                        • 思考题
                                                          • 延伸阅读
                                                          • 第2章 软件测试基本方法
                                                            • 2.1 软件测试方法论
                                                              • 2.2 基于输入域的方法
                                                                • 2.2.1 等价类划分法
                                                                  • 2.2.2 边界值分析法
                                                                  • 2.3 基于组合及其优化的方法
                                                                    • 2.3.1 判定表方法
                                                                      • 2.3.2 因果图法
                                                                        • 2.3.3 组合优化方法
                                                                        • 2.4 结构化测试方法
                                                                          • 2.4.1 判定覆盖
                                                                            • 2.4.2 条件覆盖
                                                                              • 2.4.3 判定-条件覆盖
                                                                                • 2.4.4 MC/DC
                                                                                  • 2.4.5 基本路径覆盖
                                                                                  • 2.5 基于场景的测试方法
                                                                                    • 2.6 模糊测试与变异测试
                                                                                      • 2.6.1 模糊测试方法
                                                                                        • 2.6.2 变异测试方法
                                                                                        • 2.7 蜕变测试
                                                                                          • 小结
                                                                                            • 任务/练习
                                                                                              • 延伸阅读
                                                                                              • 第3章 需求与设计评审
                                                                                                • 3.1 为什么需求和设计评审如此重要
                                                                                                  • 3.2 如何做好产品的需求评审
                                                                                                    • 3.2.1 如何理解软件需求
                                                                                                      • 3.2.2 如何确定传统软件需求的评审标准
                                                                                                        • 3.2.3 如何评审敏捷需求——用户故事
                                                                                                          • 3.2.4 如何有效地完成需求评审
                                                                                                          • 3.3 如何做好软件设计评审
                                                                                                            • 3.3.1 软件设计的评审标准
                                                                                                              • 3.3.2 系统架构设计的评审
                                                                                                                • 3.3.3 组件设计的审查
                                                                                                                  • 3.3.4 界面设计的评审
                                                                                                                  • 小结
                                                                                                                    • 思考题
                                                                                                                      • 延伸阅读
                                                                                                                        • 【实验1】面向不同开发模式的需求评审
                                                                                                                        • 第4章 软件测试分析与计划
                                                                                                                          • 4.1 测试需求分析和测试策略
                                                                                                                            • 4.1.1 收集信息与上下文分析
                                                                                                                              • 4.1.2 明确测试目标
                                                                                                                                • 4.1.3 测试需求的分析方法和技术
                                                                                                                                  • 4.1.4 测试范围分析:功能测试需求
                                                                                                                                    • 4.1.5 测试范围分析:非功能测试需求
                                                                                                                                      • 4.1.6 测试风险分析
                                                                                                                                        • 4.1.7 如何制定有效的测试策略
                                                                                                                                        • 4.2 测试计划
                                                                                                                                          • 4.2.1 测试计划的内容
                                                                                                                                            • 4.2.2 测试计划过程
                                                                                                                                              • 4.2.3 制定有效的测试计划
                                                                                                                                              • 小结
                                                                                                                                                • 任务/思考题
                                                                                                                                                  • 延伸阅读
                                                                                                                                                  • 第5章 单元测试
                                                                                                                                                    • 5.1 如何开始单元测试
                                                                                                                                                      • 5.1.1 完成一个带参数的函数测试
                                                                                                                                                        • 5.1.2 如何开展单元测试
                                                                                                                                                          • 5.1.3 如何隔离测试代码
                                                                                                                                                            • 5.1.4 如何集成第三方框架JUnit
                                                                                                                                                            • 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.4 单元测试的最高境界
                                                                                                                                                                                  • 5.4.1 TDD是最彻底的单元测试
                                                                                                                                                                                    • 5.4.2 TDD与ATDD
                                                                                                                                                                                    • 小结
                                                                                                                                                                                      • 任务/练习
                                                                                                                                                                                        • 延伸阅读
                                                                                                                                                                                          • 【实验2】基于OpenHarmony系统进行单元测试
                                                                                                                                                                                            • 【实验3】Mock测试
                                                                                                                                                                                              • 【实验4】单元测试覆盖率分析
                                                                                                                                                                                              • 第6章 持续集成测试
                                                                                                                                                                                                • 6.1 如何开展集成测试
                                                                                                                                                                                                  • 6.2 如何构建持续集成的环境
                                                                                                                                                                                                    • 6.2.1 持续集成需求对环境的要求
                                                                                                                                                                                                      • 6.2.2 源代码管理工具
                                                                                                                                                                                                        • 6.2.3 版本构建工具
                                                                                                                                                                                                          • 6.2.4 持续集成管理工具
                                                                                                                                                                                                          • 6.3 如何完成自动部署和自动集成测试
                                                                                                                                                                                                            • 6.3.1 如何在持续集成中实现自动部署
                                                                                                                                                                                                              • 6.3.2 如何在构建前实现自动静态分析
                                                                                                                                                                                                                • 6.3.3 如何在构建后实现自动验证
                                                                                                                                                                                                                  • 6.3.4 OpenHarmony社区的持续集成成熟实践
                                                                                                                                                                                                                  • 6.4 如何有效地报告和跟踪缺陷
                                                                                                                                                                                                                    • 6.4.1 软件缺陷生命周期
                                                                                                                                                                                                                      • 6.4.2 如何描述软件缺陷
                                                                                                                                                                                                                        • 6.4.3 如何有效地报告缺陷
                                                                                                                                                                                                                          • 6.4.4 如何跟踪和处理缺陷
                                                                                                                                                                                                                            • 6.4.5 如何进行缺陷分析
                                                                                                                                                                                                                            • 6.5 测试报告
                                                                                                                                                                                                                              • 6.5.1 评估测试覆盖率
                                                                                                                                                                                                                                • 6.5.2 基于软件缺陷的质量评估
                                                                                                                                                                                                                                  • 6.5.3 测试报告的书写
                                                                                                                                                                                                                                  • 小结
                                                                                                                                                                                                                                    • 思考题
                                                                                                                                                                                                                                      • 延伸阅读
                                                                                                                                                                                                                                        • 【实验5】持续集成测试
                                                                                                                                                                                                                                        • 第7章 系统功能测试
                                                                                                                                                                                                                                          • 7.1 功能测试之前的准备
                                                                                                                                                                                                                                            • 7.1.1 系统功能测试究竟测什么
                                                                                                                                                                                                                                              • 7.1.2 系统功能测试应该考虑哪些问题
                                                                                                                                                                                                                                                • 7.1.3 系统功能测试的基本思路
                                                                                                                                                                                                                                                • 7.2 面向接口的分布式测试
                                                                                                                                                                                                                                                  • 7.2.1 基于SOAP接口的测试
                                                                                                                                                                                                                                                    • 7.2.2 基于REST接口的测试
                                                                                                                                                                                                                                                      • 7.2.3 OpenHarmony异步接口测试
                                                                                                                                                                                                                                                      • 7.3 面向UI的功能测试
                                                                                                                                                                                                                                                        • 7.3.1 UI测试框架原理及使用
                                                                                                                                                                                                                                                          • 7.3.2 UI测试脚本录制回放功能
                                                                                                                                                                                                                                                          • 7.4 面向分布式场景的功能测试
                                                                                                                                                                                                                                                            • 7.4.1 分布式典型业务分析
                                                                                                                                                                                                                                                              • 7.4.2 分布式测试框架原理及使用
                                                                                                                                                                                                                                                              • 7.5 数据一致性验证
                                                                                                                                                                                                                                                                • 7.6 设备虚拟化测试
                                                                                                                                                                                                                                                                  • 7.7 回归测试
                                                                                                                                                                                                                                                                    • 7.8 功能的探索式测试方式
                                                                                                                                                                                                                                                                      • 小结
                                                                                                                                                                                                                                                                        • 任务/练习
                                                                                                                                                                                                                                                                          • 延伸阅读
                                                                                                                                                                                                                                                                            • 【实验6】基于OpenHarmony的系统功能测试
                                                                                                                                                                                                                                                                              • 【实验7】探索式测试
                                                                                                                                                                                                                                                                              • 第8章 系统兼容性测试
                                                                                                                                                                                                                                                                                • 8.1 通常意义的兼容性测试
                                                                                                                                                                                                                                                                                  • 8.1.1 软件兼容性测试
                                                                                                                                                                                                                                                                                    • 8.1.2 数据共享兼容性测试
                                                                                                                                                                                                                                                                                    • 8.2 OpenHarmony兼容性测试
                                                                                                                                                                                                                                                                                      • 8.3 如何确定操作系统的兼容性需求
                                                                                                                                                                                                                                                                                        • 8.4 如何进行兼容性测试
                                                                                                                                                                                                                                                                                          • 小结
                                                                                                                                                                                                                                                                                            • 思考题
                                                                                                                                                                                                                                                                                              • 【实验8】兼容性测试
                                                                                                                                                                                                                                                                                              • 第9章 系统性能测试
                                                                                                                                                                                                                                                                                                • 9.1 什么是性能测试
                                                                                                                                                                                                                                                                                                  • 9.1.1 有哪些常见的性能问题
                                                                                                                                                                                                                                                                                                    • 9.1.2 如何区分性能测试中不同的目的
                                                                                                                                                                                                                                                                                                    • 9.2 如何确定系统的性能需求
                                                                                                                                                                                                                                                                                                      • 9.2.1 关键性能指标分析
                                                                                                                                                                                                                                                                                                        • 9.2.2 关键业务分析
                                                                                                                                                                                                                                                                                                        • 9.3 如何完成性能测试的设计
                                                                                                                                                                                                                                                                                                          • 9.3.1 如何模拟用户操作
                                                                                                                                                                                                                                                                                                            • 9.3.2 如何有效地模拟加载过程
                                                                                                                                                                                                                                                                                                              • 9.3.3 如何实时准确地控制加载
                                                                                                                                                                                                                                                                                                              • 9.4 如何选择合适的性能测试工具
                                                                                                                                                                                                                                                                                                                • 9.4.1 性能测试工具需要哪些关键特性
                                                                                                                                                                                                                                                                                                                  • 9.4.2 有哪些常见的性能测试工具
                                                                                                                                                                                                                                                                                                                  • 9.5 如何执行性能测试
                                                                                                                                                                                                                                                                                                                    • 9.5.1 脚本开发
                                                                                                                                                                                                                                                                                                                      • 9.5.2 环境设置
                                                                                                                                                                                                                                                                                                                        • 9.5.3 执行与过程监控
                                                                                                                                                                                                                                                                                                                        • 9.6 如何分析和评估测试结果
                                                                                                                                                                                                                                                                                                                          • 9.7 系统性能分层看护
                                                                                                                                                                                                                                                                                                                            • 9.7.1 系统性能测试分层看护
                                                                                                                                                                                                                                                                                                                              • 9.7.2 系统性能看护典型场景与指标定义
                                                                                                                                                                                                                                                                                                                                • 9.7.3 系统分析关键技术
                                                                                                                                                                                                                                                                                                                                • 9.8 分布式端侧的性能测试
                                                                                                                                                                                                                                                                                                                                  • 9.8.1 分布式应用场景的性能分析
                                                                                                                                                                                                                                                                                                                                    • 9.8.2 分布式数据同步性能测试
                                                                                                                                                                                                                                                                                                                                      • 9.8.3 性能测试工具SmartPerf
                                                                                                                                                                                                                                                                                                                                      • 小结
                                                                                                                                                                                                                                                                                                                                        • 思考题
                                                                                                                                                                                                                                                                                                                                          • 延伸阅读
                                                                                                                                                                                                                                                                                                                                            • 【实验9】系统性能测试
                                                                                                                                                                                                                                                                                                                                              • 【实验10】基于SmartPerf的端侧性能测试
                                                                                                                                                                                                                                                                                                                                              • 第10章 系统安全性测试
                                                                                                                                                                                                                                                                                                                                                • 10.1 什么是安全性测试
                                                                                                                                                                                                                                                                                                                                                  • 10.1.1 如何认识系统的安全性
                                                                                                                                                                                                                                                                                                                                                    • 10.1.2 系统存在哪些安全性漏洞
                                                                                                                                                                                                                                                                                                                                                      • 10.1.3 清楚安全性测试的目标与任务
                                                                                                                                                                                                                                                                                                                                                      • 10.2 如何进行安全性测试
                                                                                                                                                                                                                                                                                                                                                        • 10.2.1 贯穿研发生命周期的安全性测试
                                                                                                                                                                                                                                                                                                                                                          • 10.2.2 有哪些安全性测试方法
                                                                                                                                                                                                                                                                                                                                                          • 10.3 安全性静态测试
                                                                                                                                                                                                                                                                                                                                                            • 10.4 渗透测试
                                                                                                                                                                                                                                                                                                                                                              • 10.5 模糊测试方法
                                                                                                                                                                                                                                                                                                                                                                • 10.6 Web安全性测试
                                                                                                                                                                                                                                                                                                                                                                  • 小结
                                                                                                                                                                                                                                                                                                                                                                    • 思考题
                                                                                                                                                                                                                                                                                                                                                                      • 延伸阅读
                                                                                                                                                                                                                                                                                                                                                                        • 【实验11】安全性测试
                                                                                                                                                                                                                                                                                                                                                                        • 第11章 系统可靠性测试
                                                                                                                                                                                                                                                                                                                                                                          • 11.1 什么是可靠性
                                                                                                                                                                                                                                                                                                                                                                            • 11.1.1 如何认识系统的可靠性
                                                                                                                                                                                                                                                                                                                                                                              • 11.1.2 分布式系统在可靠性测试上的挑战
                                                                                                                                                                                                                                                                                                                                                                              • 11.2 如何进行可靠性测试
                                                                                                                                                                                                                                                                                                                                                                                • 11.2.1 可靠性测试方法及手段
                                                                                                                                                                                                                                                                                                                                                                                  • 11.2.2 分布式系统可靠性测试场景分析
                                                                                                                                                                                                                                                                                                                                                                                    • 11.2.3 可靠性测试工具原理及使用介绍
                                                                                                                                                                                                                                                                                                                                                                                      • 11.2.4 分布式系统的混沌工程
                                                                                                                                                                                                                                                                                                                                                                                      • 11.3 基于可靠性指标的可靠性结果度量
                                                                                                                                                                                                                                                                                                                                                                                        • 小结
                                                                                                                                                                                                                                                                                                                                                                                          • 思考题
                                                                                                                                                                                                                                                                                                                                                                                            • 延伸阅读
                                                                                                                                                                                                                                                                                                                                                                                              • 【实验12】分布式系统可靠性测试
                                                                                                                                                                                                                                                                                                                                                                                              • 第12章 用户体验测试
                                                                                                                                                                                                                                                                                                                                                                                                • 12.1 什么是用户体验测试
                                                                                                                                                                                                                                                                                                                                                                                                  • 12.1.1 如何认识软件系统的体验
                                                                                                                                                                                                                                                                                                                                                                                                    • 12.1.2 分布式系统在体验上的优势
                                                                                                                                                                                                                                                                                                                                                                                                    • 12.2 如何开展分布式系统的体验测试
                                                                                                                                                                                                                                                                                                                                                                                                      • 12.2.1 体验测试方法及手段
                                                                                                                                                                                                                                                                                                                                                                                                        • 12.2.2 用户体验测试场景分析
                                                                                                                                                                                                                                                                                                                                                                                                          • 12.2.3 用户体验测试案例解析
                                                                                                                                                                                                                                                                                                                                                                                                          • 12.3 A/B测试
                                                                                                                                                                                                                                                                                                                                                                                                            • 小结
                                                                                                                                                                                                                                                                                                                                                                                                              • 思考题
                                                                                                                                                                                                                                                                                                                                                                                                                • 延伸阅读
                                                                                                                                                                                                                                                                                                                                                                                                                  • 【实验13】用户体验测试
                                                                                                                                                                                                                                                                                                                                                                                                                如无法打开或下载资源,请在电脑端(xuanshu.hep.com.cn)进行下载操作。
                                                                                                                                                                                                                                                                                                                                                                                                                1