测试方法

软件测试中常用的测试方法有:等价类划分、边界值分析、因果图、场景法、正交试验法

①等价类划分

适用场合:有数据输入的地方,可以使用等价类划分,将大量的数据划分出若干范围,从每个范围中挑选代表数据进行测试,避免穷举,提高测试效率.

等价类方法划分:有效等价类,无效等价类。 有效等价类:输入有意义,合理的数据集合; 无效等价类:输入无意义的,不合理的数据集合;

使用步骤:(1)分析需求划分等价类(分为初步划分和细化);(2)将等价类填写到<<等价类表>>中;(3)从每个等价类中至少挑选一个代表数据,编写测试用例,执行测试。

②边界值分析法

适用场合:常用于数据输入的地方,一般作为等价类划分的补充,和等价类划分一起使用

使用步骤:找到有效数据和无效数据之间的分界点,对分界点及其两边的点进行测试.

使用等价类+边界值测试的思路:A.先对有效数据进行测试- 1个测试用例尽可能的将多个控件的有效数据组合起来测(优化)B.再对无效数据进行测试- 无效数据需要单独测试(为了避免屏蔽现象)C.最后对多个无效数据组合测试(适当强化)

举例:

举例:某程序规定:输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。

分析题目中给出和隐含的对输入条件的要求:整数、三个数、非零数、正数、两边之和大于第三边、等腰、等边

如果a、b、c满足前四个条件,则输出下列四种情况之一:

  1. 如果不满足“两边之和大于第三边”,则程序输出为“非三角形”
  2. 如果三条边相等且满足条件“等边”,则程序输出为“等边三角形”
  3. 如果只有两条边相等且满足条件“等腰”,则程序输出为“等腰三角形”
  4. 如果三条边都不相等,则程序输出为“一般三角形”

列出等价类表并编号

覆盖有效等价类的测试用例:

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. 找出输入条件的所有组合和限制.
  2. 编写测试用例,每一列对应一条测试用例.
  3. 每组输入条件组合对应的输出结果,画因果图,填判定表(画因果图可以省略)
  4. 找出所有的输入条件(因),和所有的输出结果(果);

举例:

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. 根据列出场景填写场景表;
  2. 为每个场景编写适当的测试用例(不一定是1:1的)
  3. 分析需求,整理业务流程(逻辑),列出场景;

经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 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)用例设计

⑤正交试验法

适用场合:对于参数配置类软件,以及兼容性测试时需要考虑各个控件之间的组合情况(组合较多),使用正交试验法选择较少的组合达到最佳的测试效果.

使用步骤:

  1. 选择合适的正交表(确定 m = 控件取值个数, k = 控件数)
  2. 编写测试用例
  3. 完成控件,控件取值对应因子和状态的映射.
  4. 分析需求,列出参与组合的控件以及每个控件的取值

举例:

大学计算机系共2个班级,考试课程想通过“Sex”、“Class”和“Grade”这三个查询条件对计算机课程的成绩分布,男女比例或班级比例进行人员查询:

条件一:根据“Sex”=“男,女”查询

条件二:根据“Class”=“202班,203班”查询

条件三:根据“Grade”=“及格,不及格”查询

1)传统测试方法

基于上述测试需求分析,存在3个被测元素,被测元素我们称为因子,每个因子有两个取值,我们称之为水平(也就是2)。 2^3

传统用例设计方法:则如下(2的3次方=8次);

2)测试用例表格设计如下图所示:

正交试验法优化后用例设计如下图所示

测试理论知识之测试方法相关推荐

  1. 学测试必看!测试理论知识之测试基础

    软件测试质量 1.1什么是质量 美国著名的质量管理专家朱兰(J.M.Juran)博士从顾客的角度出发,提出了产品 质量就是产品的适用性 质量:反映实体满足明确或隐含需要能力的特性总和. 1.2软件质量 ...

  2. 软件测试用例优秀例子_新手入门:想要做好软件测试,这些理论知识,你得好好掌握...

    对于很多测试新手来说,想要把自己的测试技术练得更精进,扎实自己的理论知识是必不可少的一门功课.下面,我们就一起来复习一下,那些让我们一知半解或者记不全的理论知识吧. 1.什么是软件测试? 最老套但是测 ...

  3. 【面试宝典】软件测试工程师2021烫手精华版(第一章测试理论篇)

    前言: 翻了很多论坛博客关于面试的文章,很多都是不完整的,还都是比较常见规规矩矩的,那大家刷过的基本都不拿出来了,都是一些大家平时见得不多,但是面试官很看中的一些题. 第一章 测试理论 一. 软件工程 ...

  4. 软件测试 (1)软件测试基础/理论知识储备

    目录 前言 1.啥是软件测试? 1.1什么是软件? 1.2软件由什么组成? 1.3软件产生过程复杂吗? 1.4讲了这么多,到底什么是软件测试??? 1.5测试软件的目的是什么? 2.软件测试分类 2. ...

  5. 电驱系统电磁兼容基础知识及测试方法

    电驱系统电磁兼容基础知识及测试方法 学习参考:驱动视界公众号.百度百科.<电动汽车电机驱动系统EMC研究综述> 1.背景 2.电磁干扰三要素 3.电波暗室与屏蔽室的原理 4.测试方法 5. ...

  6. 软件测试基础___测试理论篇

    前言 高手,是避免失败,而不是追求成功 目录 前言 高手,是避免失败,而不是追求成功 1.为什么要写测试理论篇 2.软件测试的目标,模型及核心 3.软件测试目标案例 4.软件测试的策略 5.软件测试的 ...

  7. 软件测试整理一:测试基础知识以及开发、测试模型、按照开发阶段进行测试

    文章目录 一.基础概念 1.什么是软件测试 2.软件测试的目的 3.软件测试的原则 4.软件测试的分类 4.1 按照开发阶段分类 4.2 按照软件特性分类 4.3 按照测试技术分类 4.4 按照测试运 ...

  8. Web自动化测试理论知识

    Web 自动化理论知识 1.自动化测试概述 概念:用工具代替/辅助人工完成完成软件测试活动的过程 特点:     可以对程序的新版本自动执行回归测试     可以执行一些手工测试困难或不可能进行的测试 ...

  9. 从理论知识到落地能力,你欠缺了什么?

    转载自   从理论知识到落地能力,你欠缺了什么? 本文是一个理论过度到实践的典型案例,借助程序员经常遇到的一个问题--网络为什么不通,来具体说明怎么将书本上的死知识真正变成我们解决问题的能力. 大学学 ...

最新文章

  1. 给妹子讲python-S01E23初识异常处理
  2. Windows 7新睹为快!!
  3. RxJava在闲鱼系统吞吐量提升上的实践
  4. RS232与串口通信的4个注意事项详解
  5. hibernate中get方法和load方法的根本区别
  6. python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
  7. R语言和Rstudio的介绍和安装
  8. xp系统扫描仪服务器,xp系统扫描仪添加步骤全程的图文教程
  9. Linux开发环境——SCL软件集
  10. 加权有限状态转录机(Weighted Finite-State Transducer/WFST)
  11. link rel=canonical概念和用法(增加页面权重,利于排名)
  12. jmeter实现UI自动化demo
  13. PHP入门-配置虚拟主机
  14. 计算机高级属性启用玻璃,“win键+tab键无法使用”的解决方案
  15. html css 清除 button 选中时的边框样式 CSS outline属性
  16. Python的安装与运行
  17. 第七届蓝桥杯b组第八题-四平方和
  18. phpunit 远程代码执行漏洞(CVE-2017-9841)复现
  19. 从零开始的nwjs(0.69.1)打包生成exe(防坑)
  20. 中国综合社会调查调查数据

热门文章

  1. 从旅行箱到旅行美学品牌,ITO获数千万A轮融资
  2. 微信小程序获取用户简要信息
  3. 经常被登录的验证码卡住? 解决方案来了!
  4. vnote中graphviz与plantuml的安装与配置
  5. 深度长文:深入理解Ceph存储架构
  6. LNC(宝元)机床的IP设置和数据采集
  7. Kibana如何添加索引
  8. 免费求职简历模板100份,持续更新中
  9. android studio发邮件功能,Android发送邮件的方法实例详解
  10. gensim实现LDA主题模型-------实战案例(分析希拉里邮件的主题)