开发者测试 - (EPUB全文下载)
文件大小:0.68 mb。
文件格式:epub 格式。
书籍内容:
开发者测试
第1章 开发者测试概述
1.1 开发者与软件测试
1.1.1 测试和调试
1.1.2 开发者测试
1.1.3 PIE模型
1.2 开发者测试方法与技术
1.2.1 静态测试与动态测试
1.2.2 黑盒测试与白盒测试
1.2.3 失效重现
1.3 开发者测试工具
1.3.2 测试覆盖分析工具
1.4 开发者测试趋势
1.4.2 DevOps介绍
1.4.3 DevOps中的开发者测试
1.5 慕测开发者测试
1.6 小结
习题1
第2章 程序静态分析
2.1.1 代码评审
2.1.2 结构分析
2.2 程序流程分析
2.2.1 控制流分析
2.2.2 数据流分析
2.3 符号执行
2.3.1 静态符号执行
2.3.2 动态符号执行
2.4 编程规范和规则
2.5 程序静态分析工具
2.5.1 工具简介
2.5.2 工具安装与评估
2.6 小结
习题2
第3章 白盒测试
3.1 逻辑覆盖测试
3.1.1 语句覆盖
3.1.2 分支覆盖
3.1.3 条件覆盖
3.1.4 条件/判定覆盖
3.1.5 修正条件/判定覆盖
3.1.6 条件组合覆盖
3.2 路径覆盖测试
3.2.2 基本路径覆盖
3.2.3 主路径覆盖
3.2.4 循环结构测试
3.3 小结
习题3
第4章 程序插桩与变异测试
4.1 程序插桩
4.1.2 程序插桩示例
4.1.3 程序插桩工具JaCoCo
4.2 变异测试
4.2.2 变异测试方法
4.2.3 变异测试工具PITest
4.3 小结
习题4
第5章 单元测试
5.2 单元测试框架
5.3 单元测试内容
5.3.1 算法逻辑
5.3.2 模块接口
5.3.3 数据结构
5.3.4 边界条件
5.3.5 独立路径
5.3.6 错误处理
5.3.7 输入数据
5.3.8 表达式与SQL语句
5.4 慕测单元测试实例
5.5 小结
习题5
第6章 集成测试
6.1.1 集成测试过程
6.1.2 集成测试缺陷类型
6.2 集成测试分析
6.3 集成测试策略
6.3.1 一次性集成与增量式集成
6.3.2 自顶向下与自底向上集成
6.3.3 基于调用图的集成
6.3.4 其他集成测试策略
6.4 小结
习题6
第7章 JUnit基础
7.1 一个JUnit实例
7.2 注解
7.3 测试类与测试方法
7.3.1 Assert
7.3.2 TestCase
7.3.3 TestResult
7.3.4 TestSuite
7.4 错误与异常处理
7.4.2 异常处理
7.5 批量测试
7.5.2 打包测试
7.6 小结
练习7
第8章 JUnit深入应用
8.2 JUnit测试进阶
8.2.2 Stup测试
8.2.3 Mock测试
8.2.4 Private测试
8.3 JUnit集成
8.3.1 JUnit-Ant集成
8.3.2 JUnit-Maven集成
8.4 小结
练习8
附录 慕测科技——开发者测试平台
参考文献
第1章 开发者测试概述
早期软件规模小且复杂程度低,软件测试常常包含于调试工作中,由软件开发人员完成。在当今规模化和工程化的软件研发中,为了提高生产效率和专业化程度,相关工作逐步细分,出现了专门的软件测试岗位。
为了获得更高的用户忠诚度,扩大产品市场份额,在当前移动互联网迅速普及的背景下,众多软件公司纷纷采用了微小改进、快速迭代、反馈收集、及时响应等手段来迅速改进软件产品,满足用户需求。软件的持续快速迭代需求大大压缩了软件开发的发布流程,使得一部分测试任务开始迁移,由软件开发人员担任的这部分与代码相关的软件测试工作,我们统称为开发者测试。开发者测试包括传统的单元测试、集成测试、接口测试,甚至部分与系统测试相关的任务。
1.1 开发者与软件测试
开发者需要对自己开发的程序代码承担质量责任。在软件质量管理机制下,一般要求开发者首先自行对自己编写的代码进行审查和测试,并保证提交的代码已达到一定的质量标准。开发者测试中的单元测试和集成测试主要采用白盒测试方法,要求测试人员对软件代码非常熟悉。这样的测试任务由软件开发人员来做效率会更高。
1.1.1 测试和调试
在软件开发过程中,开发者需要对程序进行测试和调试。测试和调试极其相关但含义完全不同。简单来说,测试是为了发现缺陷,调试是为了修复缺陷。调试往往需要依赖已有的测试信息或者补充更多测试信息,需要先找出缺陷根源和缺陷的具体位置,再进行修复以消除缺陷。而从职责上说,测试只需要发现缺陷,并不需要修复缺陷。在软件开发过程中,开发者需要同时肩负这两种职责,对自己开发的程序进行测试,发现缺陷并对其进行调试以修复缺陷。调试的过程如图1-1所示。
图1-1 调试的过程
调试时如果已经识别或者找到测试中所发现缺陷的产生原因,就可以直接修复,然后进行回归测试。如果没有找到缺陷的产生原因,可以先假设一个最有可能的原因,并通过附加测试来验证这样的假设是否成立,直到找出原因为止。
调试工作是程序员能力和水平的一个重要体现。软件开发调试有时难度很大,原因如下:1)失效症状和缺陷原因可能相隔很远,高度耦合的程序结构加重了这种情况;2)失效症状可能在另一缺陷修复后消失或暂时性消失;3)失效症状由不太容易跟踪的人为错误引发;4)失效症状可能是由不同原因耦合引发的。因此,程序员有时会因为在调试程序时找不到问题所在,而使软件开发工作陷入困境。
程序调试方法多种多样,更多时候是依赖程序员的经验及其对程序本身的理解。调试方法的具体实施可以借助调试工具来完成,如带调试功能的编译器、动态调试辅助工具“跟踪器”、内存映像工具等。
回溯法是指从程序出现不正确结果的地方开始,沿着程序的运行路径向上游寻找错误的源头,直到找出程序错误的实际位置。例如,程序有5000行,测试发现最后输出的结果是错误的,采用回溯法,可以先在第4500行插桩,检查中间结果是否正确。若正确,则错误很可能发生在第4500~5000行之间。若不正确,则在第4000行插桩,以此类推,直到找出程序错误的具 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 开发者测试 - (EPUB全文下载)