郑州plc开发讲解软件测试的过程
郑州软件公司认为根据前面的讨论,软件测试应该是分步骤进行的。大型软件通常由多个子系统构成,每个子系统又包括多个模块,因而,软件的测试可以按4个步骤进行,即单元测试、集成测试、确认测试和系统测试。
单元测试集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。系统测试把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试。
1.单元测试
单元测试又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。
单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
郑州苹果软件开发认为在单元测试时,测试者需要依据详细设计说明书和源程序清单,了解该模块的I/O条件和模块的逻辑结构,主要采用白盒测试的测试用例,辅之以黑盒测试的测试用例,使之对任何合理的输人和不合理的输入,都能鉴别和响应。具体内容如下。
1)模块接口测试
在单元测试的开始,应对通过被测模块的数据流进行测试。测试项目包括:调用本模块的输人参数是否正确、本模块调用子模块时输人给子模块的参数是否正确、全局量的定义在各模块中是否一致。
2)局部数据结构测试
测试项目包括:不正确或不一致的数据类型说明、使用尚未赋值或尚未初始化的变量、错误的初始值或错误的默认值、变量名拼写错误或书写错误、不一致的数据类型、全局数据对模块的影响。
3)路径测试
郑州android开发认为选择适当的测试用例,对模块中重要的执行路径进行测试。应当设计测试用例查找由于错误的计算、不正确的比较或不正常的控制流而导致的错误。
4)错误处理测试
测试项目包括:出错的描述是否难以理解、出错的描述是否能够对错误定位、显示的错误与实际的错误是否相符、对错误条件的处理正确与否、在对错误进行处理之前错误条件是否已经引起系统的干预等。
5)边界测试
注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。
模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系。用一些辅助模块去模拟与被测模块相联系的其他模块。常见的辅助模块如下。
(1)驱动模块(driver)。
(2)桩模块(Stub)——存根模块。
郑州plc开发认为如果一个模块要完成多种功能,可以将这个模块看成由几个小程序组成。必须对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。
2.集成测试
通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题如下。
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失。
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响。
(3)各个子功能组合起来,能否达到预期要求的父功能。
(4)全局数据结构是否有问题。
(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
在单元测试的同时可进行集成测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。
通常,把模块集成成为系统的方式有两种:一次性集成方式和渐增式集成方式。
郑州ios开发认为一次性集成方式是一种非渐增式组装方式,也称为整体拼装。使用这种方式,首先对每个模块分别进行模块测试,然后把所有模块组装在一起进行测试,最终得到要求的软件系统。
渐增式集成方式首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统。在集成的过程中边连接边测试,以发现连接过程中产生的问题。通过增加逐步组装成为要求的软件系统。
渐增式集成方式又包括两种方法:自顶向下的渐增方式和自底向上的渐增方式。
自顶向下的渐增方式将模块按系统程序结构,沿控制层次自顶向下进行组装。自顶向下的渐增方式在测试过程中较早地验证了主要的控制和判断点。选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。
自底向上的渐增方式是从程序模块结构的最底层的模块开始集成和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。
自顶向下渐增的方式和自底向上渐增的方式各有优缺点。一般来讲,一种方式的优点是另一种方式的缺点。这就引人了第三类渐增方式,即混合渐增式测试。这类混合测试技术包括以下两个方面。
(1)首先对输人输出模块和引人新算法模块进行测试;然后自底向上组装成为功能相当完整且相对独立的子系统;最后由主模块开始自顶向下进行渐增测试。
(2)首先对含读操作的子系统自底向上直至根结点模块进行组装和测试;然后对含写操作的子系统做自顶向下的组装与测试。
3.确认测试
郑州android开发认为确认测试又称有效性测试。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。
有效性测试是在模拟的环境(可能就是开发的环境)下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。
首先制订测试计划,规定要做测试的种类。还需要制订一组测试步骤,描述具体的测试用例。通过实施预定的测试计划和测试步骤,确定以下几方面的内容。
(1)软件的特性是否与需求相符。
(2)所有的文档都是正确的且便于使用。
(3)同时,对其他软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都要进行测试。
在全部软件测试的测试用例运行完后,所有的测试结果可以分为以下两类。
(1)测试结果与预期的结果相符。这说明软件的这部分功能或性能特征与需求规格说明书相符合,从而这部分程序被接受。
(2)测试结果与预期的结果不符。这说明软件的这部分功能或性能特征与需求规格说明不一致,因此要为它提交一份问题报告。
郑州苹果软件开发认为确认测试阶段还要对软件配置进行复查,复查的目的是保证:软件配置的所有成分都齐全、各方面的质量都符合要求、具有维护阶段所必需的细节而且已经编排好分类的目录。
应当严格遵守用户手册和操作手册中规定的使用步骤,以便检查这些文档资料的完整性和正确性。
在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。
验收测试是以用户为主的测试。软件开发人员和 QA(质量保证)人员也应参加。由用户参加设计测试用例,使用生产中的实际数据进行测试。
在测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功能等进行确认。
确认测试应交付的文档如下。
(1)确认测试分析报告。
(2)最终的用户手册和操作手册。
(3)项目开发总结报告。
4.系统测试
郑州apple软件开发认为系统测试,是在确认测试之后进行的,将软件系统作为整个基于计算机系统的一个组成部分,与其他运行软件的环境结合在一起,进行的一系列对计算机系统的组装测试和确认测试。
通过系统测试,可以与系统的需求定义作对比,发现二者不一致或存在矛盾的地方。
软件各测试阶段与系统开发阶段存在对应关系,这种关系如图10.3所示。
从图10.3可以看出,各类测试计划在软件测试和软件开发之间起到了纽带的作用。通常这些测试计划都应该在与其有箭头连接的相应阶段来制订。
转载请注明出处:郑州知网软件 http://www.nwisdom.com
联系我们
软件开发: 15838307519(司经理)
网络营销: 13676968269(王经理)
网络建设: 13073737771(郭经理)
24小时服务电话: 0371-56683330