2020-09-16


软件测试基础

1、软件测试基本概念

1.1IEEE给出的软件测试标准定义
软件测试是使用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验被测试软件系统是否符合满足规定的需要,即保证被测软件符合用户需求是软件测试的最终目的。

1.2测试的步骤
计划测试
设计测试
实施测试(最重要的环节)
执行测试
评估测试

1.3软件缺陷的定义
(1)软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好
(2)软件未达到需求规格说明书中指明不会出现的功能
(3)软件出现了需求说明书中指明不会出现的错误
(4)软件功能超出需求规格说明书中指明的范围
(5)软件未达到需求说明书中虽未提及但是应当达到的目标。

1.4测试的原则
追溯到用户需求
尽早地测试
独立的机构完成
pareto原则(二八原则)
测试用例完全
描述缺陷性报告
制定严格的测试用例
注意回归测试关联性
妥善保管文档

1.5测试用例的定义
测试用例是一组测试输入、执行条件和预期结果,目的是满足一个特定的目标,如执行一条特定的程序路径或检验是否符合一个特定的需求的用例
测试用例=输入+输出+测试环境

2、软件测试的准备工作

2.1测试流程
需求分析
编写测试用例
评审测试用例
搭建测试环境
等待提交测试包
部署测试包
冒烟测试
执行测试用例
跟踪BUG进行回归测试
执行多次
测试结束

2.2测试计划
测试项
被测特性
测试任务
时间进度
测试者
风险控制

2.3测试方案
测试特性
测试方法
测试环境规划
测试工具设计和选择
测试用例设计方法
测试代码设计方案

2.4 测试用例编写要素
用例编号
用例标题
测试项目
用例级别
预置条件
测试输入
执行测试
预期结果
实际结果

3、黑盒测试

3.1 原理
黑盒测试仅需要知道被测对象的输入和预期输出,不需要了解其实现的细节

3.1.1 黑盒测试的质量评价
(1)测试用例对被测对象的的覆盖率
(2)测试用例的冗余
(3)测试用例的数量
(4)测试用例对缺陷的定位能力
(5)测试用例的复杂度

3.2 边界值测试
1)原理
人们通过经验总结发现,大量的缺陷发生在被测对象的输入域和输出域的边界(极值)上,由此,如果对边界附近重点加以检验,常常可能会取得良好的测试效果,故边界值测试的原理为在被测对象的边界附近设计测试用例2)测试用例的设计
(1)输入域的确定
由于各个输入条件之间存在的复杂的约束关系,因此可以将整体输入域拆分成由各个输入条件分别构成的单个输入域的集合(个体输入域)
(2)边界的确定
a.若输入条件规定了取值范围,则以该繁为作为边界
b.若输入条件规定了值的个数,则以值的个数为边界
(3)测试用例的设计
a.穷举法+全边界法
b.穷举法+强边界法
c.典型值法+强边界法
d.典型值法+弱边界法(√)

3.3等价类测试
-----软件测试的原则之一是不可能做到穷尽测试,但是为了捉到每一个BUG,每一种测试方法都希望能达到两个目标,即测试的完备性和测试的无冗余性。
-----等价类的测试方法的基本原理就是通过等价划分的方式来将数据分片,从每个分片中抽取典型数据展开测试。
-----具体方法可以按照如下思路:
(1)进行区域划分,使得每个区域内的数据具有等效性(保证覆盖)
(2)保证每个划分出来的区域子集互不相交(保证无冗余)
(3)所有子集的并集是整个输出域(保证完备)
在这样进行的子集区域中,只需要每个区域选择一个测试用例就可以既满足覆盖又满足无冗余
1)输入域的确定
可分为有效等价类和无效等价类
a.有效等价类:对于需求文档而言合理、有意义的输入数据构成的集合,即被测对象能接受的数据,考察软件的正常工作能力。
b.无效等价类:对于需求文档而言不合理无意义的输入数据构成的集合,即被测对象不能接受的数据,用户考察软件的容错能力。

3.4基于决策表的测试
1)使用原因:在等价类测试中由于引入了独立性假设(数据强行被分出区域),导致当实际的被测对象输入条件之间存在相互关联的时候,等价划分强行忽略这种关联性,最终使得涉及的测试用例存在较为严重的冗余,增加了测试的工作量。
2)原理:基于决策表的测试的基本思想就是通过对决策表进行化简,消除测试用例的冗余,缩减测试用例的规模,同时保持等价类测试的效果(等价类测试2.0版本)
3)设计测试用例:
(1)结构:输入区、输出区、输入取值区、输出取值区
(2)决策表的化简:
简化的前提条件:输出相同、输入相似
(3)测试用例设计步骤:
分析输入域(进行有效类划分)-分析输出域(对预期结果细化)-建立完整决策表-简化决策表直至无法化简-根据决策表设计测试用例。

3.5 基于正交表的测试
1)基本原理:从全面实验中挑选部分有代表性的试验点,并能求出最佳工艺参数和工艺条件,这些代表性的试验点的特性为:均匀分散、整齐可比。
2)测试用例的设计
(1)正交表的结构
a.等水平正交表
指构成正交表的各输入条件的取值个数相同但是每个输入条件取何值不做规定,边界值、等价类测试数据均可,通常用Ln(q^s)表示
n:表示测试用例的个数,对应正交表的行数
q:表示每个输入条件所取测试用例的个数,对应正交表中每个输入条件的取值个数(水平数)
s:理论上输入条件的个数,对应正交表的列数
q^s :表示理论上全组合方式的测试用例个数
基于正交表的测试效率等于n/q^s.
b.混合水平正交表
混合水平正交表表示构成正交表的各输入条件的取值个数不完全相同,通常用Ln(q1s1*q2s2).
(2)正交表的性质特点
a.正交表的性质
每个列中每个输入条件的各个测试数据出现次数相同。
任意两列所构成的各有序数对出现的次数相同。
b.正交表的特点
无需穷举所有情况
用正交表抽样出的组合数据分布均匀,有最佳覆盖性
能减少手工测试的测试遗漏
(3)测试用例的设计
a.将整体输入域拆分为个体输入域,确定所有的输入条件和最大的取值范围
b.确定每个输入条件的取值个数
c.选择合适的正交表
(4)适用情况
正交表并非任何情况下都可以使用,以下条件就不可以
a.输入条件太多
b.输入条件之间是互斥关系,即当一个输入条件存在时另一个输入条件不能存在。

3.6基于场景的测试
1)基本思想:
通过分析不同事件的触发顺序和处理结果,构建各个事件流,并基于这些事件的触发控制业务流程,形成多个不同场景,最终基于场景设计测试用例。(针对用户操作动态执行过程进行测试)
2)基本原理:
基本流(被测的典型功能或者主业务)贯穿整个状态,可能分出若干个分支即备选流,由基本流和备选流共同形成的从开始到结束的不同业务称为场景,每个场景至少对应一组输入和一个预期的输出结果,即测试用例。
3)场景设计的原则:
(1)最少的场景数等于事件流的总数,即基本流和备选流的总数
(2)有且唯一有一个场景仅包含基本流
(3)对应某个备选流,至少应该有一个场景覆盖该备选流,且在该场景中应当避免覆盖其他备选流。

3.7总结
1)业务流程清晰的系统先基于场景的思想分析基本流和备选流并构造典型场景和设计测试用例,然后针对每个测试用例使用其他测试方法设计测试数据。
2)任何情况下时都要先使用边界值测试,先基于单缺陷设计测试用例再使用正交表做边界测试的补充
3)任何情况下都要使用等价类测试,尽量保证无冗余
4)若被测对象输入条件间包含相互依赖关系则基于有效域的等价划分,使用决策表消除测试的冗余
5)若对被测对象不够了解,可以选用基于正交表的测试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值