软件测试综述

软件测试综述

1. 软件测试目标、任务与策略

软件测试目标:

发现程序中的错误,是为了证明程序有错,而不是证明程序无措。
测试的任务:
软件测试一般分为计划阶段,设计阶段,开发阶段,实现阶段和评估阶段。其中设计阶段和评估阶段是关键。根据各个阶段目标不同,软件测试的主要任务有:
(1) 设计阶段:通过对系统的整体分析,提出针对性的策略和规范,对系统输入空间进行合理的划分,据此来写出足够的、具体的测试用例。
(2) 开发阶段:由于系统的规模庞大,测试用例的多样化,在执行时要考虑效率的问题,所以需要开发必要的工具在测试用例的选择,修订和完善上尽可能采用自动化的手段。
(3) 实现阶段:代码完成后产品达到可靠性和稳定性阶段,也是产品的beta版阶段。产品的质量将由该阶段测试实现程度来决定。
(4) 评估阶段:根据设计阶段提出的准则对测试用例的覆盖度进行评判,对测试的有效性及结果的可信性提供只量化的依据。

软件测试的策略:

静态测试方法:人工测试方法,计算机辅助静态分析方法
基本特征:基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件. 静态测试约可找出 30 ~ 70%的逻辑设计错误. .
对 需求规格说明书 、 软件设计说明书 、 源程序 做结构分析、流程图分析、符号执行来找错.

动态测试方法:白盒测试方法,黑盒测试方法,穷举测试方法
基本特征:通过运行软件来检验软件的动态行为和运行结果的正确性.
动态测试的两个基本要素:
被测试程序
测试数据(测试用例)

2. 白盒、黑盒测试方法的测试用例设计策略与方法

白盒测试:

逻辑覆盖法:一系列测试方法总称,特点是逐渐进行越来越完整的通路测试。
准则:
(1) 语句覆盖
使程序中每个语句至少执行一次,语句覆盖是最弱的逻辑覆盖
(2) 判定覆盖
使每个判定的真假分支都至少执行一次,判定覆盖仍是弱的逻辑覆盖
(3) 条件覆盖
使每个判定的每个条件的可能取值至少执行一次。条件覆盖不一定包含判定覆盖,
判定覆盖也不一定包含条件覆盖
(4) 判定/条件覆盖
选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同
时每个判断本身的所有可能判断结果至少执行一次. 能同时满足判定、条件两种覆盖标准。取值。
(5) 条件组合覆盖
所有可能的条件取值组合至少执行一次
(6) 路径覆盖
覆盖每一个可能的路径
路径测试法:
借助程序控制流图设计测试
用例的白盒测试法.
点覆盖:
测试路径至少经过程序控制流图中每个节点一次
边覆盖
测试路径至少经过程序控制流图中每条边一次。

黑盒测试:

等价类划分法:
把所有可能的输入数据(有效 有效的和无效的 的和无效的)划分成若干个等价的 划分成若干个等价的子集 子集 ( 称为等价类), , 使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同
可从每个子集中选取一组数据 可从每个子集中选取一组数据来测试程序即可。
分为有效等价类,无效等价类

划分规则:
(1) 如果规定了输入值的范围时,可定义一个有效等价类和两个无效等价类。
(2) 当规定了输入的规则时,则可以划分出一个有效的等价类(符合规则)和
若干无效的等价类(从不同角度违反规则)。
(3) 如规定了输入数据的一组值 , 且程序对不同输入值做不同处理 , 则每个允许
的输入值是一个有效等价类 , 并有一个无效等价类 ( 所有不允许的输入值的集合 )
(4 ) 如规定了输入数据是整型 , 则可划分出正整数 、 零、 负整数三个有效等价类 。
(5 ) 当处理表格时:有效类可分为空表 、 含一项的表 、含多项的表等 。
设计测试步骤:
(1) 形成等价类表 , 每一等价类规定一个唯一的编号;
(2) 设计一测试用例 , 使其尽可能多地覆盖尚未覆盖的有效等价类 , 重复这一步骤 , 直到所有有效等价类均被测试用例所覆盖;
(3) 设计一新测试用例 , 使其只覆盖一个无效等价类 , 重复这一步骤直到所有无效等价类均被覆盖 ( 通常程序执行一个错误后不继续检测其它错误 , 故每次只测一个无效类 )

边界值分析法:
是与等价类划分有区别
测试用例原则:
(1) 如输入条件代表以a 和b为边界的范 为边界的范围,测试用例应包含 围,测试用例应包含a 、b、 、略大于 略大于a和略小于 和略小于b 的值。
(2) 如输入条件代表一组值,测试用例应当执行其中的最大值和最小值,还应测试略大于最大值和略小于最小值的值。 大于最大值和略小于最小值的值。
(3)如规格说明中提出输入输出的有序集 如规格说明中提出输入输出的有序集(顺序文件、有序表等 (顺序文件、有序表等),取有序集的第 ,取有序集的第一个和最后一个元素做测试用例
(4)如程序数据结构有预定的边界,应测试,如程序数据结构有预定的边界,应测试
其边界的数据项。
(5)如输出条件规定了取值范围,取边界上下如输出条件规定了取值范围,取边界上下
浮动值做测试用例。

错误推测法:
思路:
列出可能有的错误;
列出容易发生错误的特殊情况。
以此为基础设计测试方案。

3. 软件测试步骤与方法

软件测试方法和步骤可以多种多样的,但是不管是什么样的步骤的方法,都遵循一个基本的方法,这样才能使测试结果更加准确,更加能够发现软件的功能不足之处,一般软件的测试分为以下几步,也分为好几个模块,其中每个模块所占的分量在测试中是必须的,以下说明了软件测试的步骤:
测试的步骤:

软件测试综述
集成测试:
通常采用黑盒测试技术。实施策略:
非渐增式测试,渐增式测试(策略:自顶向下结合,自底向上结合)

确定测试:
任务:验收软件的有效性(功能和性能达标)。
手段:黑盒测试;用户参与;主要用实际数据进行测试。
内容:按合同规定审查软件配置; 内容:按合同规定审查软件配置;设计测试计划,使通过测试保证软件能满足所有功能、性能要求; 能满足所有功能、性能要求;文档与程序一致,具有维护阶段所必须的细节; 须的细节;严格按用户手册操作,以检查手册的完整性和正确性。
结果:
(1)测试与预期相符, 可接受。
(2)不相符,列出软件缺陷表,与用户协商解决。

来源:晒太阳的猫儿

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月22日
下一篇 2019年6月22日

相关推荐