测试理论知识之测试方法
测试方法
软件测试中常用的测试方法有:等价类划分、边界值分析、因果图、场景法、正交试验法
①等价类划分
适用场合:有数据输入的地方,可以使用等价类划分,将大量的数据划分出若干范围,从每个范围中挑选代表数据进行测试,避免穷举,提高测试效率.
等价类方法划分:有效等价类,无效等价类。 有效等价类:输入有意义,合理的数据集合; 无效等价类:输入无意义的,不合理的数据集合;
使用步骤:(1)分析需求划分等价类(分为初步划分和细化);(2)将等价类填写到<<等价类表>>中;(3)从每个等价类中至少挑选一个代表数据,编写测试用例,执行测试。
②边界值分析法
适用场合:常用于数据输入的地方,一般作为等价类划分的补充,和等价类划分一起使用
使用步骤:找到有效数据和无效数据之间的分界点,对分界点及其两边的点进行测试.
使用等价类+边界值测试的思路:A.先对有效数据进行测试- 1个测试用例尽可能的将多个控件的有效数据组合起来测(优化)B.再对无效数据进行测试- 无效数据需要单独测试(为了避免屏蔽现象)C.最后对多个无效数据组合测试(适当强化)
举例:
举例:某程序规定:输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。
分析题目中给出和隐含的对输入条件的要求:整数、三个数、非零数、正数、两边之和大于第三边、等腰、等边
如果a、b、c满足前四个条件,则输出下列四种情况之一:
- 如果不满足“两边之和大于第三边”,则程序输出为“非三角形”
- 如果三条边相等且满足条件“等边”,则程序输出为“等边三角形”
- 如果只有两条边相等且满足条件“等腰”,则程序输出为“等腰三角形”
- 如果三条边都不相等,则程序输出为“一般三角形”
列出等价类表并编号
覆盖有效等价类的测试用例:
a |
b |
c |
覆盖等价类号码 |
3 |
4 |
5 |
1-7 |
4 |
4 |
5 |
1-7,8 |
4 |
5 |
5 |
1-7,9 |
5 |
4 |
5 |
1-7,10 |
4 |
4 |
4 |
1-7,11 |
覆盖无效等价类的测试用例:
a |
b |
c |
覆盖等价类号码 |
2.5 |
4 |
5 |
12 |
3 |
4.5 |
5 |
13 |
3 |
4 |
5.5 |
14 |
3.5 |
4.5 |
5 |
15 |
3 |
4.5 |
5.5 |
16 |
3.5 |
4 |
5.5 |
17 |
4.5 |
4.5 |
4.5 |
18 |
3 |
19 |
||
4 |
20 |
||
5 |
21 |
||
3 |
4 |
22 |
|
4 |
5 |
23 |
|
3 |
5 |
24 |
|
3 |
4 |
5 |
25 |
0 |
4 |
5 |
26 |
3 |
0 |
5 |
27 |
3 |
4 |
0 |
28 |
0 |
0 |
5 |
29 |
3 |
0 |
0 |
30 |
0 |
4 |
0 |
31 |
0 |
0 |
0 |
32 |
-3 |
4 |
5 |
33 |
3 |
-4 |
5 |
34 |
3 |
4 |
-5 |
35 |
-3 |
-4 |
5 |
36 |
-3 |
4 |
-5 |
37 |
3 |
-4 |
-5 |
38 |
-3 |
-4 |
-5 |
39 |
3 |
1 |
5 |
40 |
3 |
2 |
5 |
41 |
3 |
1 |
1 |
42 |
3 |
2 |
1 |
43 |
1 |
4 |
2 |
44 |
3 |
4 |
1 |
45 |
③因果图法
适用场合: 界面中考虑控件的组合和限制关系的情况(组合数量较少)
使用步骤:
- 找出输入条件的所有组合和限制.
- 编写测试用例,每一列对应一条测试用例.
- 每组输入条件组合对应的输出结果,画因果图,填判定表(画因果图可以省略)
- 找出所有的输入条件(因),和所有的输出结果(果);
举例:
1)找出所有的 输入(因), 编号
(1)投币50元
(2)投币100元
(3)充值50元
(4)充值100元
2)找出所有的输出结果(果) 编号
a、充值成功并退卡
b、提示充值成功
c、找零
d、错误提示,并退卡
步骤1、2就是初步分析需求的过程
把输入、输出的节点画出来,并在判定表中写出判定表的表头
3)在步骤1的基础上分析输入的组合关系和限制关系
(1)限制关系
a、输入1、2互斥(不能同时输入50元和100元)
b、输入3、4互斥(不能同时充值50元和100元)
(2)组合关系
①输入1、3组合
②输入1、4组合
③输入2、3组合
④输入2、4组合
⑤输入1单独
⑥输入2单独
⑦输入3单独
⑧输入4单独
4)在步骤2基础上,分析输出的组合关系和限制关系
(1)限制关系
①a要求b(充值成功要求有成功提示)
②a和d互斥
③b和d互斥
(2)组合关系
①输出a、b必须组合
②输出a、b、c可以组合
③输出c、d可以组合
④输出d单独
步骤3/4时详细分析需求的过程
在因果图中画出输入和输出的限制关系
5)找因果关系:什么样的输入组合会产生什么样的输出组合——列出判定表
(1)输入1、3组合
会产生:输出a、b组合
(2)输入1、4组合
会产生:输出c、d可以组合
(3)输入2、3组合
会产生:输出a、b、c可以组合
(4)输入2、4组合
会产生:输出a、b组合
(5)输入1单独
会产生:输出c、d可以组合
(6)输入2单独
会产生:输出c、d可以组合
(7)输入3单独
会产生:输出d单独
(8)输入4单独
会产生:输出d单独
④场景法
适用场合:当需要测试软件的业务流程(逻辑)时,适合用场景法,场景法是基于业务的方法,有测试人员模拟用户在使用软件的各种不同的情况;
场景法划分:基本流和备选流基本流:也叫有效流或正确流,模拟用户正确的操作的过程;备选流:也叫无效流或错误流,模拟用户错误的操作的情景;测试
场景法的使用步骤:
- 根据列出场景填写场景表;
- 为每个场景编写适当的测试用例(不一定是1:1的)
- 分析需求,整理业务流程(逻辑),列出场景;
经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2 和 4)
举例:计算两个数值的和
1)列出事件
事件:输入数据1
输入数据2
点击'加'按钮
2)分析流程
基本流:输入数据1
输入数据2
点击'加'按钮
备选流1:加数1无效
备选流2:加数2无效
3)场景设计
场景1:基本流
场景2:基本流+备选流1
场景3:基本流+备选流2
场景4:基本流+备选流1+备选流2
4)用例设计
⑤正交试验法
适用场合:对于参数配置类软件,以及兼容性测试时需要考虑各个控件之间的组合情况(组合较多),使用正交试验法选择较少的组合达到最佳的测试效果.
使用步骤:
- 选择合适的正交表(确定 m = 控件取值个数, k = 控件数)
- 编写测试用例
- 完成控件,控件取值对应因子和状态的映射.
- 分析需求,列出参与组合的控件以及每个控件的取值
举例:
大学计算机系共2个班级,考试课程想通过“Sex”、“Class”和“Grade”这三个查询条件对计算机课程的成绩分布,男女比例或班级比例进行人员查询:
条件一:根据“Sex”=“男,女”查询
条件二:根据“Class”=“202班,203班”查询
条件三:根据“Grade”=“及格,不及格”查询
1)传统测试方法
基于上述测试需求分析,存在3个被测元素,被测元素我们称为因子,每个因子有两个取值,我们称之为水平(也就是2)。 2^3
传统用例设计方法:则如下(2的3次方=8次);
2)测试用例表格设计如下图所示:
正交试验法优化后用例设计如下图所示
测试理论知识之测试方法相关推荐
- 学测试必看!测试理论知识之测试基础
软件测试质量 1.1什么是质量 美国著名的质量管理专家朱兰(J.M.Juran)博士从顾客的角度出发,提出了产品 质量就是产品的适用性 质量:反映实体满足明确或隐含需要能力的特性总和. 1.2软件质量 ...
- 软件测试用例优秀例子_新手入门:想要做好软件测试,这些理论知识,你得好好掌握...
对于很多测试新手来说,想要把自己的测试技术练得更精进,扎实自己的理论知识是必不可少的一门功课.下面,我们就一起来复习一下,那些让我们一知半解或者记不全的理论知识吧. 1.什么是软件测试? 最老套但是测 ...
- 【面试宝典】软件测试工程师2021烫手精华版(第一章测试理论篇)
前言: 翻了很多论坛博客关于面试的文章,很多都是不完整的,还都是比较常见规规矩矩的,那大家刷过的基本都不拿出来了,都是一些大家平时见得不多,但是面试官很看中的一些题. 第一章 测试理论 一. 软件工程 ...
- 软件测试 (1)软件测试基础/理论知识储备
目录 前言 1.啥是软件测试? 1.1什么是软件? 1.2软件由什么组成? 1.3软件产生过程复杂吗? 1.4讲了这么多,到底什么是软件测试??? 1.5测试软件的目的是什么? 2.软件测试分类 2. ...
- 电驱系统电磁兼容基础知识及测试方法
电驱系统电磁兼容基础知识及测试方法 学习参考:驱动视界公众号.百度百科.<电动汽车电机驱动系统EMC研究综述> 1.背景 2.电磁干扰三要素 3.电波暗室与屏蔽室的原理 4.测试方法 5. ...
- 软件测试基础___测试理论篇
前言 高手,是避免失败,而不是追求成功 目录 前言 高手,是避免失败,而不是追求成功 1.为什么要写测试理论篇 2.软件测试的目标,模型及核心 3.软件测试目标案例 4.软件测试的策略 5.软件测试的 ...
- 软件测试整理一:测试基础知识以及开发、测试模型、按照开发阶段进行测试
文章目录 一.基础概念 1.什么是软件测试 2.软件测试的目的 3.软件测试的原则 4.软件测试的分类 4.1 按照开发阶段分类 4.2 按照软件特性分类 4.3 按照测试技术分类 4.4 按照测试运 ...
- Web自动化测试理论知识
Web 自动化理论知识 1.自动化测试概述 概念:用工具代替/辅助人工完成完成软件测试活动的过程 特点: 可以对程序的新版本自动执行回归测试 可以执行一些手工测试困难或不可能进行的测试 ...
- 从理论知识到落地能力,你欠缺了什么?
转载自 从理论知识到落地能力,你欠缺了什么? 本文是一个理论过度到实践的典型案例,借助程序员经常遇到的一个问题--网络为什么不通,来具体说明怎么将书本上的死知识真正变成我们解决问题的能力. 大学学 ...
最新文章
- 给妹子讲python-S01E23初识异常处理
- Windows 7新睹为快!!
- RxJava在闲鱼系统吞吐量提升上的实践
- RS232与串口通信的4个注意事项详解
- hibernate中get方法和load方法的根本区别
- python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
- R语言和Rstudio的介绍和安装
- xp系统扫描仪服务器,xp系统扫描仪添加步骤全程的图文教程
- Linux开发环境——SCL软件集
- 加权有限状态转录机(Weighted Finite-State Transducer/WFST)
- link rel=canonical概念和用法(增加页面权重,利于排名)
- jmeter实现UI自动化demo
- PHP入门-配置虚拟主机
- 计算机高级属性启用玻璃,“win键+tab键无法使用”的解决方案
- html css 清除 button 选中时的边框样式 CSS outline属性
- Python的安装与运行
- 第七届蓝桥杯b组第八题-四平方和
- phpunit 远程代码执行漏洞(CVE-2017-9841)复现
- 从零开始的nwjs(0.69.1)打包生成exe(防坑)
- 中国综合社会调查调查数据