论文部分内容阅读
随着互联网时代的来临与互联网技术的发展,Web应用逐渐取代了传统的PC软件成为互联网使用者最常见的入网方式。在这种背景下,Web应用产品的开发测试在软件测试领域的重要性不断提高。由于Web应用系统相较传统软件系统具有诸多特性,对Web应用系统进行测试不能够完全使用针对传统软件系统测试的方法,因而面临着更大的挑战。而在Web应用测试的多种场景与不同的分类中,单元测试作为最重要的测试方式之一,也面临着需要改良来适应Web场景的迫切须要。单元测试是在软件开发的不同阶段,根据程序内部的逻辑结构编写对象来对被测试系统单元模块进行功能检测,通过关注于对于特定的输入,被测对象的返回是否正常来判断程序对象是否具有可用性与稳定性的测试方法。然而,在一些复杂场景中,已有的单元测试框架无法满足系统的逻辑验证需要。在此背景下,Mock技术于2001年被提出并且逐渐在单元测试中起着越来越重要的作用。Mock是指在单元测试中,测试系统通过构造一系列符合预定义规则的模拟对象(MockObject)来与被测试单元进行交互,从而判断被试单元在正常逻辑,异常逻辑或压力情况下能够正常工作,返回预期的输出结果。然而在Web软件系统刚刚兴起不久的情况下,没有可靠的Mock测试工具可用于Web应用场景下的Mock自动化测试。本论文首先介绍了 Web应用系统与软件测试技术的发展情况,接着分析了 Web应用系统的特性及测试手段。在Web软件系统的特性的基础上,设计并开发了基于nodeJS、mockJS、React等一系列主流Web框架的Mock测试系统——Mock测试平台。该平台创造性的设计了一系列语法来描述模拟对象所遵循的数据规则,根据接口文档动态构建虚拟路由,并返回符合描述规则的模拟数据。Mock平台实现了 Web应用场景下的Mock自动化单元测试,填补了 Web应用测试领域内Mock工具的空白。