1.数据驱动测试,基于规格说明的测试。
2.从用户观点和需求出发进行测试。
3.不考虑程序内部逻辑结构和内部特性。
1.检查是否有不确定或者遗漏的功能。
2.界面是否有错误。
3.在接口上,输入能否正确的接受,能否输出正确的结果。
4.是否有数据结构错误。
5.性能上是否满足要求。
6.初始化或终止性错误。
7.数据库的访进访出是否正常。
1.不用了解程序内部的代码以及实现。
2.与软件的内部实现无关。
3.从用户角度出发,很容易知道用户会用到哪些功能和问题。
4.基于软件开发文档。
1.代码覆盖率低。
2.自动化测试复用性低。
1.在任何情况下都必须采用边界值分析法,这种方法设计出来的测试用例对发现程序的错误非常有用的。
2.必要时采用等价类划分法补充测试用例。
3.对照程序逻辑,检查已经设计的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,则应当补充更多的测试用例。
4.如果程序功能说明中含有输入条件的组合情况,则应该一开始就选择因果图。
5.对于业务流程清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合试验各种测试方法。
输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 …
① 输入条件的要求:
(1)整数、(2)3个数、(3)非零、(4)正数、(5)两边之和大于第三边、(6)等腰、(7)等边。
② 假设1、2、3、4都满足
5不满足 非三角形
5满足,三边不相等 一般三角形
5满足,两边相等,等腰三角形
5满足,三边相等,等边三角形
是对于输入或输出的边界值进行测试。
注册功能的手机号注册应该是11位数字。
使用边界值设计测试用例
输入10位数字
输入11位数字
输入12位数字
表示输入条件和输出动作之间的因果关系
描述多种输入条件组合
与判定表结合使用,最终生成的是判断表
输入条件的约束
输出条件的约束
1.分析软件规格说明描述中, 明确哪些是原因(即输入条件或输入条件的等价类)和哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
2.分析软件规格说明描述中的语义,找出原因与结果之间,,原因与原因之间对应的关系,根据这些关系,画出因果图。
3.由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
4.把因果图转换为判定表。
5.把判定表的每一列拿出来作为测试依据,完成测试用例设计。
第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
① 分析原因和结果
原因:
1 第一列字符是A
2 第一列字符是B
3 第二列字符是一数字。
结果:
21 修改文件
22 给出信息L
23 给出信息M
② 画出因果图
③ 根据因果图建立判定表
1.确定规则的个数。假如有n个条件,每个条件有两个取值(0,1),故2的n次方种规则。
2.列出所有的条件桩和动作桩。
3.填入条件项的取值。
4.填入动作项的取值,得到初始判定表。
5.简化,合并相似规则(相同动作)。
例子:打印机是否能打印出来正确的内容,有多个因素影响,包括驱动程序、纸张、墨粉等。(为了简化问题,不考虑中途断电、卡纸等因素的影响)
① 列出条件桩和动作桩
条件桩:
驱动程序是否正确
是否有纸张
是否有墨粉
动作桩:
正确打印内容
提示驱动程序不对
提示没有纸张
提示没有墨粉
③ 优化判定表
如果动作结果一样,对于某些因素取“1”或“0”没有影响可以合并。
场景法的应用是基于对软件业务(需求)的深入理解(业务层面),基于等价类划分(技术层面)。
测试软件的主要业务流程,主要功能的正确性和主要的异常处理能力。
基本流(正确流)
模拟用户正确的操作流程。
目的:验证软件的业务流程和主要功能。
备选流(错误流)
模拟用户错误的操作流程
目的:验证软件的错误处理能力。
1、根据说明,描述出程序的基本流及各项备选流。
2、根据基本流和各备选流生成不同的场景 。
3、对每一个场景生成相应的测试用例。
使用场景法分析程序:ATM取款
1、根据需求,找到基本流和备选流(找出正确的操作流程和可能出错的环节)
(1)基本流—正确取款
①插入银行卡:客户将银行卡插入ATM机的读卡器
②验证银行卡:ATM机从银行卡的词条中读取账号代码,并检查它是否属于可以接收的银行卡
③输入密码:ATM机要求输入密码
④验证密码:验证该密码是否正确
⑤进入ATM机主界面:ATM显示在本机中可用的各种选项
⑥取款并选择金额:客户选择“取款”,并选择取款金额
⑦ATM机验证:ATM机进行验证账户余额是否满足以及总取款金额是否满足要求,验证ATM机内现金是否够用
⑧更新账户余额、出钞:验证成功,更新账户余额,输出现金,提示用户收取现金
⑨返回主界面
(2)备选流—出错环节
①银行卡错误
②密码错误
③密码3次错误
④卡内余额不足
⑤超出当日可取
⑥ATM余额不足
2、根据基本流和备选流列出场景
3、根据场景编写用例
预设条件:
一张无效银行卡
一张银行卡:账户12345678901234密码123456
账户余额4000 当日限额20000
ATM机余额10000
账户余额40000 当日限额20000
ATM机余额50000
账户余额40000当日限额20000
ATM机余额10000
是黑盒、白盒混合用例的设计方法
状态迁移图
逻辑功能模型
1、明确状态节点。 分析被测对象的测试特性及需求规格说明书,明确被测对象的状态节点数量及相互迁移关系。
2、绘制状态迁移图。 利用圆圈表示状态节点,有向箭头表示状态间的迁移关系,根据需要在箭头旁边标识迁移条件。可以利用绘图软件绘制状态迁移图。
3、绘制状态迁移树。 根据状态迁移图,按照广度优先和深度优先搜索绘制状态迁移树。首先确定起始节点和终止节点,在绘制时,当路径上遇到终止节点时,不再扩展,遇到已经出现的节点也停止扩展。
4、抽取测试路径设计用例。 根据绘制好的状态迁移树,提取测试路径,从左到右,横向抽取,每条路径构成一条测试规则,然后再利用等价类和边界值等测试用例设计方法设计具体的测试用例。
实例:一个编辑文本的软件中有可以改变字体颜色的功能,其中可选的颜色共有黑、红、蓝三种颜色。
1、明确状态节点
该功能有三种状态:黑、红、蓝
2、绘制状态迁移图
3、绘制状态迁移树
假设起始状态是红色
4、抽取测试路径设计用例
导出规则
编写测试用例
基于以往的经验和直觉,参照以往软件系统出现的错误,推测程序中所有可能存在的各种缺陷和错误。
通过正交试验理论来指导测试用例的选取
1.提取功能说明:构造因子–状态表。
2.加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权.可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。
3.利用正交表构造测试数据集。利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。
例题:PPT打印需求
功能描述如下:
打印范围:全部、当前幻灯片、给定范围
打印内容:幻灯片、讲义、备注页、大纲视图
打印颜色/灰度:颜色、灰度、黑白
打印效果:幻灯片加框和幻灯片不加框两种方式
行数(Runs):正交表中的行的个数,即试验的次数,也是通过正交实验法设计的测试用例的个数。
因素数(Factors):正交表中列的个数,即要测试的功能点。
水平数(Levels):任何单个因素能够取得的值的最大个数,即要测试功能点的输入值。
可分为:单一水平正交表 和 混合水平正交表。
假如我们确定有3因数2水平,计算n=3*(2-1)+1=4,应该表示为 L4(2 * * 3),那么我们看看有木有和这个正好相等的正交表,如果有,那么把变量值复制进去这个表中,如果没有,按照如下方法选取: