现在的位置: 首页 > 综合 > 正文

软件工程 之 软件测试

2014年02月20日 ⁄ 综合 ⁄ 共 1191字 ⁄ 字号 评论关闭

所谓软件测试,是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期结果),并利用这些测试用例去运行程序,以发现程序错误的过程。软件测试在软件生存周期中横跨两阶段:通常在编写出每个模块之后对它做必要的测试(称为单元测试)。模块的编写者与测试者是同一个人。编码与单元测试属于软件生存周期中的同一个阶段。在这个阶段结束之后,软件系统还要进行各种综合测试,这是软件生存周期的另一个独立的阶段,即测试阶段,通常由专门的测试人员承担这项工作。


下面主要给大家介绍一下软件测试的方法


一、黑盒测试
  黑盒测试方法是把程序看成一个黑盒子,完全不考虑其内部结构和处理过程,只检查程序的功能是否符合它的需求规格说明。可见,黑盒测试是在软件的接口处进行的,一方面看其是否能对合法的数据得出正确的结果,另一方面看它是否能对非法的数据进行正确的处理。显然要列举出所有合法的或非法的数据是不可能的。

二、白盒测试

  白盒测试方法是把程序看成一个打开的盒子,测试人员对程序所有逻辑路径进行测试,在不同检查点输出结果,与预期的结果比较,确定程序是否有错。使用白盒测试法时,为了做到穷尽测试,程序中每条可能的通路至少都应该执行一次。即使测试很小的程序,通常也不能做到这一点。

  白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。


下面给大家介绍一下逻辑覆盖:

  逻辑覆盖属于白盒测试方法的最常用的一种测试用例技术。所谓逻辑覆盖,是对一系列测试过程的总称,这组测试过程按照越来越完全的程度进行路径的测试。逻辑覆盖是以程序内部的逻辑结构为基础,要求测试人员对程序的逻辑结构有清楚的了解。根据测试数据覆盖程序逻辑的程度不同,逻辑覆盖可分为语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖及路径覆盖。


1.语句覆盖

  语句覆盖是指选择足够的测试数据,使被测程序中每个语句至少执行一次。


2.判定覆盖

  判定覆盖是指设计若干测试数据,使得程序中每个判定表达式的每个分支都至少执行一次(真假分支均被满足一次)。判定覆盖又称为分支覆盖。


3.条件覆盖

  条件覆盖的含义是使得程序中每个判定表达式的每个条件的可能取值至少执行一次。


4.判定-条件覆盖

  判定-条件覆盖是指选取足够多的测试数据,使得判定表达式中的每个条件的所有可能取值至少执行一次,而且每个判定表达式的所有可能的判定结果至少执行一次。也就是说,要求各个判定表达式的所有可能的条件取值组合至少执行一次。


5.条件组合覆盖

  条件组合覆盖是指选取足够多的测试数据,使得每个判定表达式的所有可能的条件取值组合至少执行一次。


6.路径覆盖
  路径覆盖是指选取足够多的测试数据,覆盖程序中所有的路径。也就是要求覆盖每个判定可能取值的所有组合。

抱歉!评论已关闭.