3。5。1 Reverse的描述 20
3。5。2 Reverse的有效性定义 20
4 测试用例的设计与实施 22
4。1 蜕变关系And\Or\Exclude 22
4。1。1 And\Or\Exclude 测试用例的设计 22
4。1。2 And\Or\Exclude 测试的实施 23
4。1。3 And\Or\Exclude 测试用例举例 23
4。2 蜕变关系Title 25
4。2。1 Title 测试用例的设计 25
4。2。2 Title 测试的实施 26
4。3。3 Title 测试用例的举例 26
4。3 蜕变关系Top5 27
4。3。1 Top5测试用例的设计 27
4。3。2 Top5测试的实施 28
4。3。3 Top5测试用例的举例 28
4。4 蜕变关系Swap 29
4。4。1 Swap测试用例的设计 29
4。4。2 Swap测试的实施 30
4。4。3 Swap测试用例的举例 30
4。5 蜕变关系Reverse 31
4。5。1 Reverse测试用例的设计 31
4。5。2 Reverse测试的实施 33
4。5。3 Reverse测试用例的举例 33
5 实验的数据处理与结果分析 34
5。1 测试环境及注意事项 34
5。1。1 测试环境 34
5。1。2 注意事项 34
5。2 结果处理与数据分析 34
5。3实验结论与研究意义 40
5。3。1 实验结论 40
5。3。2 研究意义 41
结论 42
致谢 43
参考文献 44
1 引言
在开发各种类型的应用系统过程中,软件测试被广泛运用于评估软件质量、检测软件缺陷、协助更好开发等活动中。而Oracle(断言)机制正是保证软件测试质量的重要技术支持,然而在一些情况下,存在着Oracle缺乏或不实用问题—— 即Oracle问题[1],这是一种对软件测试环境的技术性挑战。
在近十几年的研究中,一种被称为蜕变测试[2]的方法已被屡次拓展开发来缓解Oracle问题。不同于传统的测试方法那样专注于单个输出的验证,蜕变测试注重检查多重执行输出之间是否满足某些约束关系,而这些约束关系被称为“蜕变关系”[2]。蜕变测试正是通过蜕变测试用例的执行,来检测软件系统中潜在的缺陷。当下,蜕变测试已由最初的程序正确性检查[3],发展成对大型应用系统的功能性测试,具有较广的适用性和发展空间。与此同时,快速增长的大数据智能应用,也为蜕变测试的开发和应用提供了更大的运用前景。
新兴的大数据智能计算和服务能被应用于多种学科和技术开发,例如商业管理、图书馆信息学、能源和环境、教育、生物医学、医疗保健和生命科学、社交媒体网络、智能城市和旅游、交通运输等等[4]。由于生成数据的庞大和实时更新,使得对应用系统中数据处理功能的验证与确认成为新的测试热点。如我们所知,传统的大数据智能应用具有如下特征[4]: