预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于黑盒测试的参数校验测试系统iParamTester的设计与实现的开题报告 一、选题背景 随着互联网技术的不断发展,大量的应用程序被开发出来,并应用于各个领域,这些应用程序往往需要从用户端接收大量的参数输入。在参数输入方面,不同的应用程序要求的输入值范围不同,对于应用程序的正确执行来说,正确的参数输入是非常重要的。因此,参数校验是应用程序开发过程中不可或缺的一块。 基于黑盒测试的方法是常用的软件测试方法之一,在软件测试中具有广泛的应用。参数校验测试作为黑盒测试的一种形式,在测试中扮演重要的角色。针对这种情况,我们设计和实现了一个基于黑盒测试的参数校验测试系统——iParamTester,旨在针对应用程序的参数校验进行自动化测试,提高测试效率和测试质量。 二、系统设计 本系统主要由以下两个部分组成: 1.参数输入界面 2.参数校验测试模块 2.1参数输入界面 参数输入界面是系统提供的一个操作界面,用来接收待测试的应用程序以及待测试参数的输入。该界面是一个直观、易用、易扩展的界面,可以与各种不同的应用程序进行交互。 参数输入界面主要由以下几个部分组成: 1.待测试应用程序路径:在该部分中,用户需要输入待测试的应用程序文件路径。 2.待测试参数文件路径:在该部分中,用户需要输入一个待测试参数文件路径。 3.测试按钮:该按钮用户可以启动系统的测试操作。 4.结果显示:当系统测试完成后,本部分将会显示测试结果。 2.2参数校验测试模块 该模块的主要作用是对输入参数进行自动化测试。若参数无误,则测试结果应该为通过;若参数不合法,则测试结果应该是不通过。 该模块主要由以下几个部分组成: 1.参数解析器:将用户输入的参数文件解析为一个值对集合。 2.一个或多个检验函数:对于每个参数值对,检验函数将根据应用程序的参数校验规则,判断该参数是否为合法值。根据测试结果,将会记录相应的测试日志。 3.测试结果处理器:结果处理器将根据测试结果,将测试结果输出到参数输入界面。 4.日志处理器:日志处理器将负责对测试日志进行处理、存储。 三、系统实现 我们的系统设计基于面向对象的编程思想,采用C++语言进行编程。系统内部采用了一些常用的算法,如模式匹配、字符串处理等,以及一些系统级别的API,如Windows窗口操作API等。 下面,我们将分别介绍参数解析器、测试函数和测试结果处理器的实现。 3.1参数解析器 参数解析器是系统中比较重要的一部分。它负责将用户输入的参数文件解析为一个值对集合。对于参数文件的解析,我们使用了C++STL中的map来进行实现。 对于参数文件的输入,我们使用了WindowsAPI中的文件操作函数。首先,打开待测试参数文件。其次,读取该文件的每一行。最后,将该行按照逗号、空格或制表符进行分割,将参数的名称、类型和值分别存入map中。 3.2测试函数 测试函数是系统中用来测试一个单个参数值的函数。对于每个测试函数,它接收一个输入值和规则作为输入,判断该输入值是否符合规则,并返回判断结果。对于第一个版本系统,我们将给出以下几种测试函数: 1.正则表达式匹配测试函数:该函数接收一个正则表达式和一个输入值作为输入,通过正则表达式来判断输入是否符合规则。 2.逻辑关系测试函数:该函数利用数学上的逻辑运算,通过对输入值进行逻辑判断来检测输入值是否合法。 3.区间判断测试函数:该函数接收一个最大值和一个最小值作为输入,判断输入值是否在给定的区间内。 对于每个测试函数,系统将会调用该函数对单个参数进行测试,并记录相关的测试日志。如果该参数值符合校验规则,则测试结果为通过,否则测试结果为不通过。 3.3测试结果处理器 测试结果处理器是系统中负责将测试结果显示在参数输入界面上的部分。系统将会根据测试结果对参数输入界面进行更新,在界面上显示测试结果。 如果测试结果是通过,系统将会在参数输入界面上以绿色字体显示通过结果。如果测试结果是不通过,系统将会在界面上以红色字体显示不通过结果。 同样的,对于测试日志,系统也会根据测试结果进行分类存储处理。 四、系统优化和计划 在未来的系统开发中,我们将对参数校验测试模块进行改进和优化。我们将引入更多的测试函数,以适应不同应用程序的需求。另外,我们还计划采用更加智能化的校验技术,如机器学习、模型验证等。通过这些优化,我们期望能够提高系统的测试效率和测试质量。 我们已经进行了初步的系统开发并进行了测试,测试结果表明,系统能够对各种不同的应用程序进行参数校验自动化测试,测试过程简单、高效,能够有效提升测试质量和测试效率。我们相信,随着未来的开发和优化,系统将会有更广泛的应用前景。