软件测试DAY02

来源:互联网 发布:宜家值得买 知乎 编辑:程序博客网 时间:2024/06/06 02:07

黑盒测试定义

黑盒测试相对于白盒测试而言,并不关心被测对象的内部实现,而是针对被测对象提供的外部功能与规格来设计测试用例进行的测试。

 

黑盒测试分类

功能测试

性能测试

可用性测试

可靠性测试

安全性测试

客服务性测试

组网解决方案测试

常见黑盒测试方法

> 功能测试方法

 》等价类划分

 》边界值分析

 》错误推测

 》因果图

 》判定表

 》正交分析

 》功能图

>性能测试方法

>可用性测试方法

 

1      等价类划分

定义:

       将全部输入数据合理划分为若干等价类,在每一个等价类中选取一个数据走位测试的输入条件,这样所取得的测试效果与选择等价类内所有数据作为测试的输入所取得测试效果是一样的。

特点:

       典型、常用

       有效提高测试效率

等价类划分方法应用步骤:

       <1> 划分等价类

分两种情况:

有效等价类——指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类——指对于程序的规格说明来说是不合理的,没有意义的输入数据构成的集合。

<2> 边界值分析(可选步骤)

       <3> 多个输入间关系分析(可选步骤)

       <4> 生成测试用例

2      边界值分析

定义:

       经验告诉我们,大量的错误是发生在输入或输出范围的边界上,边界值分析就是在划分的等价类区域的边界及其附近进行测试数据的选取。

特点:

       典型、常用测试方法

       经常和等价类法配合使用

边界值分析方法应用步骤:

       <1> 确定输入的范围

<2> 确定范围的边界值

<3> 多个输入关系分析(可选步骤)

<4> 生成测试用例

输入满足以下条件时可以运用边界值分析方法进行分析:

       输入条件规定了一个值的范围

       输入条件规定了值的个数

       输入条件规定了值的先后顺序

边界的定义:

       上点:域边界上的点

       离点:离上点最近的点

       内点:域内的任意点

3      因果图分析方法

定义:

       等价类和边界值发着重考虑了对于一个输入条件的分析,但是没有考虑到多个输入条件之间的组合与联系。因果图方法运用图的方法对多个输入之间的组合以及输入、输出之间的因果关系进行了分析。

特点:

       通过分析输入输出之间的因果组合,高效的从众多组合中选出有效用例。

优点:

       综合考虑了输入、输出条件的组合,使测试设计更加全面。

缺点:

       方法过程比较复杂,方法本身比较难以掌握;

       输入与输出之间的因果关系比较难以从规格描述中得到,需要一个分析过程;

       如果被测试对象本身比较复杂,那么分析过程以及最后得到的因果图可能会非常复杂,得到的测试用例数量很庞大,需要耗费比较多的工作量。

基于以上原因,这种方法实际得到的应用并不多。

4      判定表方法

定义:

       采用表格的形式,列出所有条件和所有结果的组合,做到无遗漏的覆盖。

特点:

       判定表适合条件项各自独立,互不影响的情况。判定表使用的技巧在于,把条件项划分清晰,对条件进行合理的组合,是得到的规则数最小。

条件桩(Condition Stub):列出了问题的所有条件(输入),通常为列出的条件的次序无关紧要。

动作桩(Action Stub):列出了问题规定可能采取的操作(输出),这些操作的排列顺序没有约束。

条件项(Condition Entry):列出针对它左列条件的取值,在所有可能情况下的真假值。

动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

规则:任何一个条件组合的特定取值及其相应要执行的操作。在判定中贯穿条件项和动作项的一列就是一条规则。显然,判定表中列出多少组条件取值,也就有多少条规则,即条件项和动作项有多少列。

判定表分析步骤

       <1> 确定规则个数,加入有n个条件,每个条件有两个取值,就有2的n次方个规则

<2> 列出所有的条件桩和动作桩

<3> 填入条件项

<4> 填入动作项,得到初始判定表

<5> 简化,合并相似规则和动作

5      正交实验设计方法

定义:

       正交实验设计法,是从大量的试验点中选取适量的有代表性的点,使用统计学中推导出的正交表,合理地安排实验的一种科学的实验设计方法。利用这种方法,可使所有的因子和因子的状态在试验中均匀地分配与搭配,均匀地有规律地变化。

特点:

       采用正交实验设计方法进行测试用例的设计能够有效地、合理地减少测试的工时与费用。

       兼顾测试成本与测试充分性的均衡,提高测试效率。

正交试验设计方法应用步骤:

       <1> 提取功能说明,构造因子——状态表影响实验指标的条件称为因子,而影响实验因子的条件叫因子的状态;

<2> 加权筛选,生成因素分析表,对因子与状态的选择可按其重要程度分别加权。可根据各个因子及状态的作用大小、出现频率的大小以及测试的需要,确定权值的大小;

<3> 利用正交表构造测试数据集,正交表的推导依据 Galois 理论。

6      功能图方法

定义:

       功能图方法就是根据对被测功能的状态迁移图以及逻辑功能图的覆盖进行测试用例设计的方法;

特点:

       功能图方法借鉴了白盒测试方法的思想

功能图方法是一种常用的且使用的黑盒测试方法

功能图方法应用步骤:

       <1> 画出状态迁移图

<2> 在每个状态中生成局部测试用例

<3> 利用规则生成测试路径

<4> 测试用例合成

7      性能测试方法

主要测试指标:

       根据RFC2544及业界相关标准,性能测试主要会测试以下四个指标:

       吞吐量——Throughput

       延迟——Latency

       丢包率——Frameless Loss Rate

       背对背缓冲——Back to Back Frames

性能指标的测试方法:

       指标测试的基本方法是给系统逐步增加压力,在压力达到一定程度并确认外围设备不构成性能瓶颈的情况下,满足下列条件之一者,可以认为达到了系统最大处理能力:

       <a> 被测试模块所在机器的CPU空闲低于30%

<b> 增加呼叫压力,呼叫成功率下降,如成功率由100%降低至99.9%以下。

<c> 增加呼叫压力,呼叫平均响应时间超出了可以接受的范围。

由于被测系统有一定的预热时间,因此基本性能指标测试的指标数据应该在测试稳定进行一段时间后获得比较准确,一般情况下对于一个性能指标测试用例至少执行30分钟后再去获取性能指标数为宜。

 

稳定性的测试方法:

       系统稳定性测试的目的是测试系统在一定的压力条件下短期和长期运行的稳定性。压力条件可以考虑一般压力,满负荷的压力,压力逐渐递增,压力逐渐递减等情况。

 

       由于稳定性测试需要根据系统运行的健康状况来得出结论,因此需要实时观察系统各进程内存使用,CPU占用,文件句柄使用,磁盘I/O使用,磁盘剩余空间,数据库剩余空间等资源以及是否有进程异常退出,进程死锁等异常,测试工具软件应能连续记录这些信息,便于测试结束进行稳定性分析。

 

       同时稳定性测试中还必须关注测试相应的成功率,成功率至少在99.9以上的稳定行测试才是有意思的。

 

       系统稳定性测试时间应该较长,一般一个用例的执行时间应该在24小时以上。

 

递增性能测试方法:

       递增性能测试的原理是通过改变性能测试压力条件(如递增访问用户数),记录系统响应时间变化,错误率变化,TPS变化曲线。并和理想系统模型的变化曲线进行对比分析,从而评估被测系统性能或者发现被测试系统性能缺陷的测试方法。

 

8      可用性测试方法

可用性测试概述

       可用性测试(Usability Testing),近来也有将其称为体验测试,其目的是通过用户对产品原型或交付件的使用来找出产品的可用性问题,其测试目标集中在:

       > 系统完成功能的正确性

       > 系统的易学性

> 使用系统的效率

> 系统处理的一致性

> 系统的容错性

> 客户使用系统的满意度

可用性测试基本步骤:

       > 用户分析(含用户特征、背景、行为等的分析)

> 场景任务分析设计

> 测试环境布置与测试引导

> 用户绩效数据搜集

> 访谈与问卷调查

> 结果分析,得出可用性基线及需改进问题

如何设计场景任务:

       场景是由体验组织者预先设定的若干典型情景,这些情景中会设计不同层次的用户在不同条件下使用产品的任务。通过对体验者完成任务绩效的度量和满意度调查就可得到产品的可用性评价。

 

结果分析方法:

       对体验测试结果的评估通常采用绩效度量、满意度调查、定性分析等方法。

       > 绩效度量,就是把体验人员在完成预设场景任务过程中的时间、出错次数、求助次数等等可度量的数据记录下来进行定量分析。

> 满意度调查,就是通过事先设计好的问卷对单任务满意度和总体满意度进行调查,对调查问卷进行算分得出对系统主观评价的综合得分。

> 定性分析主要是将体验过程中由体验人员记录的具体可用性问题进行分类整理并给出优化建议促进产品改进。

 

9      黑盒测试方法的实际应用

       等价类、边界值、错误推测这几种方法是最常使用的方法

       黑盒测试方法主要应用在差产品集成测试、系统测试阶段,也可应用在单元测试阶段。

       不同的黑盒测试方法具有不同的优点,注意根据实际情况选择不同的黑盒测试方法进行测试。

       黑盒测试方法在实际应用往往不是孤立的,大部分情况下这些方法是要结合起来使用。

10  黑盒测试经验谈

充分熟悉被测对象

       > 了解特性的由来

> 了解特性的应用场景

> 了解特性的相互关联

> 了解实际的组网方式

> 了解接口的消息交互

> 了解接口的协议内同

> 了解内部的状态变迁

对测试进行详细的分类:

       每次测试前先进行一下测试分类有助于避免遗漏。

       功能测试,一致性测试,安全性测试,性能测试,压力测试,配置测试,安装测试,恢复测试,易用性测试,备份测试,大容量测试,流控测试,兼容测试,互操作测试,Qos测试,长时间测试

 

测试点的确定:

       测试点是在对测试对象进行分析的基础上而出测试重点,可以将其看成而测试用例的标题。

       测试点能够清晰的反映用例设计者思路,便于进行评审。

       测试点能够清晰的反映对版本特性的覆盖,便于发现遗漏。

 

 

原创粉丝点击