3.4.3测试全流程的问题17
3.5小结.18
4软件自动化测试平台的实现18
4.1概述.18
4.2CppUnit框架的使用.19
4.2.1CppUnit框架介绍19
4.2.2测试框架核心组件类图结构20
4.2.3CppUnit源码组成21
4.2.4CppUnit的lib和dll.21
4.2.5CppUnit的使用方式22
4.3tornado框架的使用.23
4.3.1tornado的模块索引23
4.3.2tornado的请求处理程序和请求参数23
4.3.3重写RequestHandler的方法函数24
4.3.4tornado框架的性能分析24
4.4插桩技术.25
4.4.1插桩技术概述25
4.4.2插桩的设计26
4.5回归检测.26
4.5.1回归测试概述26
4.5.2回归测试的设计27
4.6冗余检查.28
4.6.1冗余检查概述28
4.6.2冗余测试的设计29
4.7小结.29
5软件自动化单元测试系统的示例29
5.1概述.29
5.1.1编码人员界面30
5.1.2测试人员界面31
5.1.3测试成果31
5.1.4集成测试的实现34
5.2生成执行的核心代码.34
5.2.1进行测试的类34
5.2.2运行的关键代码35
5.3小结.36
结论37
致谢38
参考文献39
1 引言1.1 课题背景随着软件行业的发展,对软件的质量和要求也越来越高,这将测试工作的重要性提到人们眼前。一款好软件的问世以及长期的升级维护和发展,离不开强大而全面的测试,且随着软件开发过程,测试需要作持续不断地调整。在软件工程和软件过程实践理论的推广的背景下,如何实现软件测试的专业化和自动化成为了一个很重要的课题。在许多现成的测试框架和测试体系下,我们将探讨测试方面最值得探究的部分:持续集成与测试自动化。软件测试自动化技术来可以用来提高软件测试的效率和速度、缩短软件开发周期、降低测试成本。这些优点使得软件自动化测试成为了软件测试发展的必然趋势。如何有效开发出可复用减少人工作业的自动化测试框架成为软件自动化测试的重要部分。由于对测试的重要性认识不到位的情况,手工写测试代码十分耗费精力极易出错,导致了后期维护代码难度加大,且测试执行在整个测试周期中占用的比重很大,测试人员进行了非常多的重复劳动,效率不高。现有的在线判题系统仅能根据整体的代码和输入输出的比对完成黑盒测试,功能不够完善。在此基础上实现的自动化测试平台提高测试执行的工作效率和对测试样例的管理。1.2 软件自动化测试的基本概念1.2.1 测试与测试自动化自动化测试就是通过自动化测试工具或自动化测试脚本,源]自=优尔-^论-文"网·www.youerw.com/ 按照预设的计划来进行的测试,以人为驱动中心改为以代码为驱动中心,来达到减轻手工测试的劳动量,从而提高软件质量的目的。自动化测试与测试技术的区别就在于:自动化测试的目的在于发现老缺陷,而测试技术的目的在于发现新缺陷。测试技术主要研究如何进行测试以检验软件是否符合需要,例如研究测试步骤、方法和策略。测试自动化涉多个方面,从测试流程,到测试体系,以及持续集成和单元测试。自动化测试的研究重点是如何最大可能地使测试自动化、在哪些方面可以自动化和自动测试工具的开发。对于测试用例的管理是十分重要的一个部分。从设计测试用例,到审核测试用例和管理测试用例,都是测试工作中重要的问题。用例管理的关键在于,如何有效的维护和优化用例,这需要前期明确的分类规划,然后根据分类的优先级完成,并且要随时把控测试的覆盖度。