您好,欢迎访问三七文档
软件测试计划书1.测试范围:本软件为智能红绿灯控制系统,是针对城市交通管理员设计的,城市交通管理员是这个软件的使用者,他通过此软件为各个路口设置参数,使系统能够根据输入的参数通过控制交通灯实时地对各路口的交通进行调度;能够随时掌握现在交通的具体情况。由于各种活动的相互影响和制约,我们不可能把这个软件设计的完美无缺,可能有许多错误,这些错误甚至会对软件产品以至整个系统产生致命的危害,因此就需要对我们的软件进行测试,主要是对制作的软件产品进行检查,及时的发现程序中逻辑错误,以保证软件产品的正确性和可靠性。具体结合到我们这个软件,是要做到一下几点。1,通过测试来检验软件是否可以正常运行。2,如果无法正常运行,需要检测出错误处在哪里,并加以纠正3,本软件是否可以一一满足用户的所有要求。4,当用户出现违规操作(例如设定最大绿灯时间大于所给范围等),系统能否发现并提醒用户改正。在测试阶段我们首先必须明确信息的流向,下图给出了测试阶段信息流向的模型,我们也将根据这个图来指导我们完成测试阶段的工作。软件配置纠错纠正错误测试结果错误率测试配置预期结果可靠性预测我们计划将测试分为3个阶段:首先,将整个程序按功能划分成3个子模块,分别对每个模块进行单元测试,在该阶段我们在每个单独的程序块中,消除块内的逻辑、功能上的缺陷和错误,保证每个块作为一个单元能正确执行,并为上一级测试做准备;第二步,进行联合测试,将3个模块进行集中和装配,形成一个完整的软件后就可以进行联合测试,联合测试除了进一步检测和排除子系统(或系统)结构或相应程序结构上的错误之外,还应该验证所有的系统单元配合是否合适、整体性能和功能是否完整;测试评价纠错可靠性模型最后,在对整个程序进行有效性测试,在模块测试、联合测试之后,就可以对组装起来的软件进行有效性测试,有效性测试就是根据需求分析规格说明书中规定的有效性标准,通过功能测试验证软件系统是否与用户的要求一致。2.测试计划:2.1:静态测试静态测试是指不执行程序而找出程序存在的错误。这种方法以人工的、非形式化的方法对程序进行分析和测试,不依赖计算机的测试。在静态测试中,主要是找出程序中的语法错误,我们将通过下面检验清单来完成,可以提高检查程序的一般性错误的评审效果。1.数据引用错误(1)引用未赋值的变量;(2)数组元素下标越界或非整数值;(3)指针变量访问的内存空间非法;(4)对具有多个名字的同一内存区中的数据,由于属性(或数据类型)说明不一致而引起的错误;(5)使用了非法的变量类型和属性说明;(6)访问了不存在的存储空间;(7)指针或索引所访问的数据属性不属于编译系统处理的范围;(8)多个过程或程序引用的数据结构不一致;(9)变址引用越界;(10)变址或数组下标运算“差1”;(11)汇编累加器、位移量、程序定位及空留位值越限;2.数据说明错误(1)对某些变量没有说明,缺省属性使用不正确;(2)数组或字符串初始化不正确;(3)变量的长度,类型,存储类别规定不对;(4)变量初始值与其存储类别说明不一致;(5)误用相似的变量名,系统保留字、未加说明和前后矛盾的变量名;(6)定义了未被引用或仅引用了一次的变量;3.计算错误(1)不同类型的变量混合计算,或用零作除数;(2)赋值长度大于被赋值变量长度;(3)表达式中间结果或最后结果出现上溢或下溢;(4)二进制数的运算精度不够或变量值超出有效范围;(5)非法运算符和运算符优先顺序不对;(6)整形变量使用错误或有非法算式;3.比较错误(1)不同类型的变量进行比较,如布尔量和整形的比较;(2)比较运算符的五接和不正确的布尔表达式;(3)逻辑操作数和比较数混合在一起;(4)二进制浮点数进行比较由舍入造成错误;(5)编译程序不能正确处理的布尔表达式;4.控制流程错误(1)多路分支表示变量值大于可能的分支数;(2)循环不终止或出现死循环;(3)入口条件不正确出想多循环一次或少循环一次;(4)复合语句不配对,或迭代次数不对(过多或过少);5.接口错误(1)调用模块预备调用模块间的参数个数、顺序、类型、范围和单位不匹配;(2)模块间传送的变量的类型、范围、单位定义不一致;(3)函数、过程和子程序调用中的实参和形参的个数、类型、范围、单位、顺序不匹配;(4)子程序调用前后定义的属性不一致;6.输入/输出(1)文件显示说明、属性是否正确;(2)I/O语句与格式语句失配,I/O缓冲区与纪录大小失配,没有必要的出错处理;(3)使用未打开的文件;(4)同时打开的文件数超过系统允许的文件数;(5)忘记检查输入的有效性;7.其他错误(1)定义未被引用或仅引用了一次的变量;(2)程序的功能被遗漏;(3)忘记检查输入的有效性;经过和以上错误清单的逐一比照,我们会改正源程序中的语法和逻辑错误,逐步完善程序。直到完全消除程序的语法和逻辑错误,可以正常运行为止,在这一阶段,我们还将规范程序的格式,添加必要的注释,使程序的结构清晰,层次分明,以便于阅读和以后的维护和修改。2.2:单元测试单元测试是指被测试程序是单个子程序、过程的逻辑测试。我们的任务试验整体功能和接口说明是否有不符合规定的情况,以及编码是否有错误。经过静态测试之后,应集中注意力逐一测试程序中的每一个单元,而不是把程序作为一个整体来测试。因此,为实现这一阶段的测试我们将核心程序按照功能划分成三个模块:HUANG是计算每个路口的GN的,MA是计算一个每个相位的紧迫度的,DONG则将他们联合起来,相当于是一个总的模块,是用来决策现在的通行相位,和通行相位需要调度的时间。测试的时候,则分模块进行。具体过程见后面的设计步骤。2.3联合测试单元测试完毕后,就要考虑用什么方法把单元连接起来的问题。就在单元测试的基础上,把每个单元按照设计要求逐步连接起来进行联合测试,主要目的是发现于接口有关的错误。由于先已经完成单元测试,所以我们采用非增试测试,就是先分别测试每个单元,再把所有单元按设计要求连接起来成为完整的程序。具体过程见后面的测试步骤。2.4有效性测试有效性测试的目的是为了向用户证明系统功能能够满足用户的合理要求,由用户来验收整个软件产品。采取黑盒测试法来进行,具体过程见后面的测试步骤。2.5测试环境本软件运行环境要求:CPU:166HZ以上内存:32M显卡:至少支持256色硬盘:1G操作系统:Win9X/2000/Me/XP车流检测仪(至少32台)3.测试步骤3.1静态测试静态测试,主要是找出程序中的语法错误,我们将通过上面检验清单来完成,可以提高检查程序的一般性错误的评审效果。要求程序结构清晰,层次分明,注释详尽,为以后的修改和维护打好基础。3.2单元测试单元测试,高质量的程序单元是组成可靠系统的基础,对单元性能的评价又以下几点:1.单元接口2.局部数据结构3.重要的执行路径测试4.出错处理路径5.影响上述几点的边界条件测试我们将核心程序分三个模块:HUANG是计算每个路口的GN的,MA是计算一个每个相位的紧迫度的,DONG则将他们联合起来,相当于是一个总的模块,是用来决策现在的通行相位,和通行相位需要调度的时间。测试的时候,则分模块进行。3.2.1模块1:HUANG3.2.1.1.模块功能:HUANG的主要功能是计算控制路口的gn值(如果是通行路口该值为nc)和该路口的下游路口的nc值。3.2.1.2.测试数据和文件访问:HUANG的输入值是80个数,分成5组,即是5个路口的相位参数,每组16个。16个数分别是8个相位的两个检测器返回8个方向上的车辆排队长度的值,每个方向上有ta和tb的值,前面是ta后面是tb。对于非通行相位第二次的gn的值要比第一次大;就是说对于该方向的第二次的tb-ta要比第一次的tb-ta要大,因为对于非通行相位,在这段时间类,两个检测仪之间的gn即等待的车辆数只会增加(或者相等)。对于通行相位就可以随意了,后一次比前一次大或者小都是可以的。非通行相位GN=Tb-Ta,通行方向的ov等于你第二次输入的ta减去第一次的ta的结果再除以15(即(ta.present-ta.history)/15)。这一部分的接口:输入部分接口采用的是voidintersection::sendnumber()函数;输出部分:通过调用voidgetGN();voidgetNC();两个函数从而通过一系列的计算,得到两个数组的值doubleGN[8];doubleOV[8];这两个数组将作为后面程序的数据接口;3.2.1.3测试步骤:1.测试voidintersection::sendnumber();函数是否能够正常工作采用下列函数对其进行测试:voidmain(){ifstreamhello;hello.open(otry.txt);intersectionH;H.otry=&hello;H.sendnumber();}ifstreamhello;为一个输入流对象,通过该对象打开一个我们要读入的文件,这里我们的文件名为:otry.txt文件中的数据如下:12345423142214354242536433254435654325632165658543267975764367357512345423142214354242536433254435654325632165658543267975764367357512345423142214354242536433254435620120105508020401006112518075620902012010550802040100611251807562090201201055080204010061125180756209020120105508020401006112518075620902012010550802040100611251807562090...期待的输出结果为:123454231422143542425364332544356实际的输出结果为:123454231422143542425364332544356对于voidsendnumber()函数能够满足相应的功能,能够将外部的数据无误的输入内部的数组,对其测试完毕;2.要求所输入的80个数16个一组,Double型,每输入一组数据就要换一行。测试要求主要是看HUANG的gn和nc是不是计算准确。首先输入一组80个数,对系统进行初始化:初始化数组:121001730152020603906801054850121001730152020603906801054850121001730152020603906801054850121001730152020603906801054850121001730152020603906801054850第一组数据:201202150183025804105820015801078201202150183025804105820015801078201202150183025804105820015801078201202150183025804105820015801078201202150183025804105820015801078结果:通行相位GN=38.58个方向上的GN为:0.2666761.5100.5110.566.533.5146.564.58个方向上的NC为:118.333120.667159.667190.333140.598.5211.667138.333第二组数据:211302356254030100511510300231001292211302356254030100511510300231001292211302356254030100511510300231001292211302356254030100511510300231001292211302356254030100511510300231001292结果:通行相位GN=468个方向上的GN为:6.575109.5161.578.542.5200718个方向上的NC为:134.333142.1671
本文标题:软件测试计划书1
链接地址:https://www.777doc.com/doc-740059 .html