技术开发 频道

软件测试方法与技术

【IT168 技术文章】

  软件测试的方法和技术是多种多样的。

  对于软件测试技术,可以从不同的角度加以分类:

  从是否需要执行被测软件的角度,可分为静态测试和动态测试。

  从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试;

  1、黑盒测试

  黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

  2、白盒测试

  白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

  “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

  3.ALAC(Act-like-a-customer)测试

    

  ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。

  单元测试的基本方法

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

    单元测试任务

  单元测试任务包括:1 模块接口测试;2 模块局部数据结构测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块的各条错误处理通路测试。

  模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素:
   1 输入的实际参数与形式参数的个数是否相同;
   2 输入的实际参数与形式参数的属性是否匹配;
   3 输入的实际参数与形式参数的量纲是否一致;
   4 调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;
   5 调用其他模块时所给实际参数的属性是否与被调模块的形参属性匹配;
   6调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;
   7 调用预定义函数时所用参数的个数、属性和次序是否正确;
   8 是否存在与当前入口点无关的参数引用;
   9 是否修改了只读型参数;
   10 对全程变量的定义各模块是否一致;
   11是否把某些约束作为参数传递。

  如果模块内包括外部输入输出,还应该考虑下列因素:
   1 文件属性是否正确;
   2 OPEN/CLOSE语句是否正确;
   3 格式说明与输入输出语句是否匹配;
   4缓冲区大小与记录长度是否匹配;
   5文件使用前是否已经打开;
   6是否处理了文件尾;
   7是否处理了输入/输出错误;
   8输出信息中是否有文字性错误;

0
相关文章