第一章 引言 1
1.1 软件测试 1
1.1.1 回归测试 2
1.1.2 单元测试 4
1.1.3 分布式测试 5
1.2 云计算 6
1.2.1 云服务 8
1.2.2 云提供商 9
1.2.3 云的类型 11
1.3 系统迁移 12
1.3.1 遗留系统 13
1.3.2 迁移技术 13
1.3.3 SMART 14
1.4 测试执行时间冗长的问题 17
1.5 在云环境下的软件测试 18
第二章 SMART-T:将测试迁移至云 21
2.1 SMART-T 22
2.2 为什么将测试迁移至云 24
2.2.1 使测试更快 25
2.2.2 使测试更便宜 26
2.2.3 更好的测试 26
2.3 何时将测试迁移至云 28
2.3.1 应用程序的特点 30
2.3.2 测试类型 31
2.3.3 基于云的测试执行环境 33
2.4 如何将测试迁移至云 34
2.4.1 尝试迁移 36
2.4.2 实际迁移 37
2.5 小结 38
第三章 HadoopUnit:云环境下的测试执行 41
3.1 Hadoop 41
3.1.1 Hadoop分布式文件系统 43
3.1.2 MapReduce 45
3.1.3 Hadoop是如何工作的 48
3.2 HadoopUnit的设计 51
3.2.1 测试用例的提取 52
3.2.2 Map函数 53
3.2.3 Reduce函数 53
3.3 HadoopUnit的实现 53
3.4 使用HadoopUnit 57
3.4.1 在主节点上安装HadoopUnit 57
3.4.2 为测试的执行配置HadoopUnit 57
3.4.3 采用HadoopUnit执行测试用例 58
3.5 小结 61
第四章 案例研究 63
4.1 JUnit 64
4.1.1 生成的测试用例 64
4.1.2 Hadoop 67
4.1.3 Spring 71
4.2 GCC 73
4.2.1 业务驱动 73
4.2.2 技术因素 74
4.2.3 尝试迁移 74
4.2.4 实际迁移 78
4.2.5 结果 78
4.3 XYZ 80
4.3.1 业务驱动 80
4.3.2 技术因素 80
4.3.3 讨论 84
4.4 效度的威胁 84
4.4.1 被测应用程序 85
4.4.2 执行的测试类型 87
4.4.3 迁移中的变更 88
4.5 小结 89
第五章 结论 91
5.1 结果总结 91
5.1.1 迁移至云 92
5.1.2 云环境下的测试执行 92
5.2 经验教训 94
5.2.1 将测试迁移至云 94
5.2.2 云环境下的测试执行 96
5.3 结束语 98
附录 101
附录A SMART-T问卷 101
附录B 搭建Hadoop 107
附录C 转换GCC测试用例 115
参考文献 119