|
1:静态测试和动态测试:
主要从是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。
2:黑盒测试和白盒测试:
黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,他是从用户的角度进行测试,用这种方法进行测试,被测程序被当作打不开的黑盒,因而无法了解其内部结构。在完全不考虑程序内部结构和内部特性的情况下,测试者只知道该程序输入和输出之间的关系,或是程序的功能,他必须能够根据输出判断测试结果的正确与否。在确认测试或系统测试中大都采用黑盒测试,常用的测试方法有:等价类划分、边值分析、因果图。
白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,采用这一测试方法,测试者可以看到被测的源程序,他可用以分析程序的内部结构,并且根据其内部构造设计测试用例。在单元测试当中主要采用白盒测试,常用的测试方法有:语句覆盖,判定覆盖,条件覆盖、判定/条件覆盖、路径覆盖、模块接口测试。
3.测试步骤:
软件测试工作可以从一螺旋曲线上来体现,在螺线的核心点针对每个单元的源代码,进行单元测试,在单元测试完成后,沿螺线向外前进,开始针对软件整体构造和设计的集成测试,然后是检验软件需求是否能得到满足的确认测试,最后,来到螺线的最外层,把软件和系统的其他部分协调起来,当作一个整体,完成系统测试。这样,沿着螺旋线,从内到外,逐步扩展了测试的范围。
上图表示了测试的流程图,开始分别完成每个单元的测试任务,以确保每个模块能正常工作。单元测试大量地采用白盒测试方法,尽可能发现模块内部的程序错误,然后,把已测试过的模块组装起来,完成集成测试,其目的在于检测与软件设计相关的程序结构问题。这是较多的采用黑盒测试方法来设计测试用例。完成集成测试以后,要对开发工作初期制定的确认准则进行检验,确认测试是检验所开发的软件是否能满足所有功能和性能需求的最后手段,通常采用黑盒测试方法,完成确认测试后,给出的应该是合格的软件产品,但为检验它是否能与系统的其他部分(如硬件、数据库及操作人员)协调工作,需要进行系统测试。
[[i] Last edited by johnliuzy on 2004-9-20 at 09:19 [/i]] |
|