1 概述

动态测试是建立在程序的执行过程中,根据对被被测对象内部情况的了解与否、分为黑盒测试盒白盒测试。

黑盒测试又称为功能测试、数据驱动测试或基于规格说明的测试,这种测试不必了解被测试对象的内部情况,而依靠需求规格说明中的功能来设计测试用例。

白盒测试又称结构测试、逻辑测试或基于程序的测试,这种测试应了解程序的内部构造,并且根据内部构造设计测试用例

在单元测试时一般采用白盒测试,在配置项测试或系统测试时一般采用黑盒测试。

2 黑盒测试方法

(1)功能分解

将需求规格说明中每一个功能加以分解,确保各个功能被全面地测试。功能分解是一种较常用的方法。

  • 使用程序设计中的功能抽象方法把程序分解为功能单元;

  • 使用数据抽象方法产生测试每一个功能单元的数据

功能抽象中程序被看成一种抽象的功能层次,每个层次可标识被测试的功能,层次结构中的某一功能由其下一层功能定义。按照功能层次进行分解,可以得到众多的最低层次的子功能,以这些子功能为对象,进行测试用例设计。

数据抽象中,数据结构可以由抽象数据类型的层次图来描述。每个抽象数据类型有其取值集合。程序的每一个输入和输出量的取值集合用数据抽象来描述。

(2)等价类划分

在分析需求规格说明的基础上,把程序的输入域划分成若干部分,然后在每部分选取代表性数据形成测试用例。

  • 划分有效等价类:对规格说明是有意义,合理的输入数据所构成的集合

  • 划分无效等价类:对规格说明是无意义、不合理的输入数据所构成的集合

  • 为每一个等价类定义一个唯一的编号

  • 为每一个等价类设计一组测试用例,确保覆盖相应的等价类。

(3)边界值分析

边界值分析是针对边界值进行测试的,使用等于,小于或大于边界值得数据对程序进行测试的方法就是边界值分析方法

  • 通过分析规格说明,找出所有可能的边界条件;

  • 对每一个边界条件,给出满足和不满足边界值得输入数据;

  • 设计相应的测试用例

对满足边界值输入可以发现计算差错,对不满足的输入可以发现域差错

(4)判定表

由四部分组成:条件桩、条件条目、动作条目。任何一个条件组合的取值及其相应要执行的操作构成规则,条目中每一列是一条规则。

条件引用输入的等价类,动作引用被测试软件的主要功能处理部分,规则就是测试用例。该方法的使用有以下要求:

  • 规格说明以判定表形式给出,或是很容易转换成判定表

  • 条件的排列顺序不影响执行哪些操作

  • 规则的排列顺序不会影响执行哪些操作

  • 每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则

  • 如果某一规则的条件得到满足,将执行多个操作,这些操作的执行与顺序无关

(5)因果图

通过画图,把用自然语言描述的功能说明转换为判定表,然后为判定表每一列设计一个测试用例。

  • 分析程序规格说明,引出原因(输入条件)和结果(输出结果),并给每个原因和结果赋予一个标识符。

  • 分析程序规格说明中语义的内容,并将其表示或连接各个原因和各个结果的“因果图”

  • 在因果图上标识约束条件

  • 通过跟踪因果图中的状态条件,把因果图转换成有限项的判定表;

  • 把判定表中每一列表示的情况生成测试用例

如果需求规格说明中含有输入条件的组合,宜采用本方法

(6)随机测试

指测试输入数据是在所有可能输入值中随机选取的。测试人员只需规定输入变量的取证区间,在需要时提供必要的变换机制,使产生的随机数服从预期的概率分布。该方法或得预期输出比较困难,多用于可靠性测试盒系统强度测试。

(7)猜错法

(8)正交实验法

从大量的试验中挑出适量的,有代表性的点,应用正交表,合理地安排实验的一种科学的实验设计方法。

3 白盒测试方法

(1)控制流测试

  • 语句覆盖

  • 分支覆盖

  • 条件覆盖

  • 条件组合覆盖

  • 路径覆盖

覆盖控制流测试步骤

  • 将程序流程图转换成控制流图

  • 经过语法分析求得路径表达式

  • 生成路径树

  • 进行路径编码

  • 经过编译得到执行的路径

  • 通路径枚举产生特定路径的测试用例

(2)数据流测试

是用控制流程图对变量的定义和引用进行分析、查找出未定义的变量或定义了而未使用的变量,这些变量可能是拼错的变量、变量混淆或丢失了语句。

(3)程序变异

一种差错驱动测试,为了查出被测试软件在做过其他测试后还剩余一些的小差错,本方法一般用测试工具进行。

(4)程序插装

(5)域测试

(6)符合求值

转载于:https://blog.51cto.com/yy520cl/1433039

软件测试方法—动态测试相关推荐

  1. 一文看懂软件测试方法和规范

    软件测试方法是指测试软件的方法.随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强:选择合适的软件测试方法可以让我们事半功倍.本文主要介绍的是软件测试方法和规范,跟随小编一起来了解一下具体 ...

  2. 《软件测试方法和技术》 读书笔记

    <软件测试方法和技术> 读书笔记 2014-07-17 第一章 引论   1.3 什么是软件测试   1.4 软件测试与软件开发的关系 第二章 软件测试基本概念   2.1 软件缺陷   ...

  3. 20种常用的软件测试方法,建议先收藏再观看

    软件测试在完整的项目当中算是最后一个环节,也是非常重要的一个环节.通过软件测试,我们才能得知一个程序是否符合标准. 小编整理出20种常见的软件测试方法,建议伙伴们先收藏再看.不敢说史上最全,但我办公室 ...

  4. 软件测试方法大全,49种测试方法,你知道几个?

    β测试_Beta测试 β测试,英文是Beta testing.又称Beta测试,用户验收测试(UAT). β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试.开发者通常不在测试现场,Be ...

  5. 软件测试方法的分类及工具推荐

    最近有一些测试新手在问软件测试的方法分为哪几种,借此机会我也将自己对软件测试的一些经验和认识与大家一起分享一下吧.实际上,软件测试的方法很多,口述出来的话,感觉比较混乱,本文中我讲一些常用的软件测试方 ...

  6. 【实用小知识】常用的软件测试方法

    随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强:选择合适的软件测试方法可以让我们事半功倍.以下是一些常用的软件测试方法: β测试_Beta测试 β测试,英文是Beta testing. ...

  7. 【软件测试】软件测试方法分类

    目录 软件测试方法分类 一.从是否关心内部结构来看 1.白盒测试: 2.黑盒测试: 3.灰盒测试: 二.从是否执行代码看 1.静态测试: 2.动态测试: 三.从开发过程级别看 1.单元测试: 2.集成 ...

  8. 软件测试方法——黑盒测试九大用例设计方法

    笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章转载需注明,如果喜欢请点赞+关注,感谢支持! 导读:面试和工作必备的九大黑盒软件测试方法. 目 ...

  9. 总结49种软件测试方法,你知道几个?

    β测试_Beta测试 β测试,英文是Beta testing.又称Beta测试,用户验收测试(UAT). β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试.开发者通常不在测试现场,Be ...

最新文章

  1. 阿里云实时计算的前世“功”今生“能”
  2. 计算机技师操作考试题库含答案,计算机三级试题与答案
  3. myeclipse设置注释格式
  4. 嵌入式Linux操作系统学习规划 (转)
  5. 命令行启动Angular应用
  6. git pull 报错:The following untracked working tree files would be overwritten by merge
  7. Jsoup代码解读之四-parser(上)
  8. 前端学习(1413):多人管理33修改2(未能完结)
  9. php 405跳转,php采用curl访问域名返回405 method not allowed提示的解决方法
  10. 删除Linux的用户
  11. SpringMVC工作总结001_SpringMVC拦截器(资源和权限管理)
  12. 硅谷程序员跳槽排行榜:最爱竟不是 Google 苹果 Facebook!
  13. mysql 开发基础系列19 触发器
  14. Ubunbu新建的用户使用SecureCrt无法Table补全、无法高亮
  15. [PeterDLax著泛函分析习题参考解答]第4章 Hahn-Bananch 定理的应用
  16. 交返对于高频交易者尤为重要
  17. ABAQUS二次开发手册【随书代码使用说明】
  18. Python 使用OpenCV计算机视觉(一篇文章从零毕业)【附带OCR文字识别项目、停车场车位智能识别项目】
  19. java限时抢购_Java生鲜电商平台-生鲜电商限时抢购功能设计与代码实战(小程序/APP)...
  20. SSH、SFTP、FTP、Telnet、SCP、TFTP协议的原理

热门文章

  1. 语音备忘录里的录音怎么导出来
  2. 数据库拆分的理解和案例(详细版)
  3. 人工智能 2.知识表示
  4. 58同城MySQL30条军规
  5. LDA模型中需要输入的数据格式
  6. Ubuntu系统SSH免密登录,以及SSH免密登录原理
  7. 易语言模拟器中控源码 全新手游模拟器通用中控源码, 适用于各种游戏, 源码现成的只需要更换游戏就可以用哦
  8. 微信小程序weui的引入及使用
  9. 日志异常检测-机器学习
  10. 使用KVM虚拟机安装Linux