软件测试规范(4)

发表于:2016-01-11来源:博客园作者:我思故我在点击数: 标签:软件测试规范
不可测试错误:有些功能的测试要求是不现实的。 ③ 设计错误 这是在设计阶段产生的错误,它使系统的设计与需求规格说明中的功能说明不相符。它们又

  不可测试错误:有些功能的测试要求是不现实的。

  ③ 设计错误

  这是在设计阶段产生的错误,它使系统的设计与需求规格说明中的功能说明不相符。它们又可以细分为:

  设计不完全错误:某些功能没有被设计,或设计得不完全。

  算法错误:算法选择不合适。主要表现为算法的基本功能不满足功能要求、算法不可行或者算法的效率不符合要求。

  模块接口错误:模块结构不合理;模块与外部数据库的接口不一致,模块之间的接口不一致。

  控制逻辑错误:控制流程与规格说明不一致;控制结构不合理。

  数据结构错误:数据设计不合理;与算法不匹配;数据结构不满足规格说明要求。

  ④ 编码错误

  编码过程中的错误是多种多样的,大体可归为以下几种:数据说明错、数据使用错、计算错、比较错、控制流错、接口错、输入/输出错,及其它的错误。

  在不同的开发阶段,错误的类型和表现形式是不同的,故应当采用不同的方法和策略来进行检测。

  3. 软件测试的过程与策略

  测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。图2.1显示出软件测试经历的4个步骤。单元测试集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。然后,进行集成测试,根据设计规定的软件体系结构,把已测试过的模块组装起来,在组装过程中,检查程序结构组装的正确性。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。最后是系统测试,把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。严格地说,系统测试已超出了软件工程的范围。

  3.1单元测试

  单元测试的对象是软件设计的最小单位——模块。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。

  单元测试任务:

  单元测试任务包括:

  1 模块接口测试;

  2 模块局部数据结构测试;

  3 模块边界条件测试;

  4 模块中所有独立执行通路测试;

  5 模块的各条错误处理通路测试。

  模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其它测试才有意义。

  测试接口正确与否应该考虑下列因素:

  输入的实际参数与形式参数的个数是否相同;

  输入的实际参数与形式参数的属性是否匹配;

  输入的实际参数与形式参数的量纲是否一致;

  调用其它模块时所给实际参数的个数是否与被调模块的形参个数相同;

  调用其它模块时所给实际参数的属性是否与被调模块的形参属性匹配;

  调用其它模块时所给实际参数的量纲是否与被调模块的形参量纲一致;

  调用预定义函数时所用参数的个数、属性和次序是否正确;

  是否存在与当前入口点无关的参数引用;

  是否修改了只读型参数;

  对全程变量的定义各模块是否一致;

  是否把某些约束作为参数传递。

  如果模块内包括外部输入输出,还应该考虑下列因素:

  文件属性是否正确;

  OPEN/CLOSE语句是否正确;

  格式说明与输入输出语句是否匹配;

  缓冲区大小与记录长度是否匹配;

  檔使用前是否已经打开;

  是否处理了档尾;

  是否处理了输入/输出错误;

  输出信息中是否有文字性错误;

  检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:

  不合适或不相容的类型说明;

  变数无初值;

  变数初始化或省缺值有错;

  不正确的变量名(拼错或不正确地截断);

  出现上溢、下溢和地址异常。

  除了局部数据结构外,如果可能,单元测试时还应该查清全局数据(例如FORTRAN的公用区)对模块的影响。

原文转自:http://www.uml.org.cn/Test/201511262.asp