1.动态白盒测试

定义:也称结构化测试。利用查看代码功能(作什么)和实现方式(怎么做)得到的信息来确定哪些需要测试、哪些不需要测试、如何开展测试。
动态白盒测试包括以下4个部分:

  • 直接测试底层函数、过程、子程序和库。
  • 以完整程序的方式从顶层测试软件,但是根据对软件运行的了解调整测试用例。
  • 从软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。
  • 估算执行测试时“命中”的代码量和具体代码,然后调整测试,去掉多余的测试用例,补充遗漏的用例。

2.动态白盒测试和调试的区别

动态白盒测试:寻找软件缺陷;
调试:修复缺陷。

3.分段测试

从测试的角度看,产生高额费用有如下两个原因:

  • 难以有时甚至不可能找出导致问题的原因;
  • 某些软件缺陷掩盖了其它软件缺陷。

3.1 单元测试和集成测试

在底层进行测试称为单元测试或模块测试;单元经过测试,底层软件缺陷被找出并修复之后,就集成在一起进行集成测试。
这种递增测试有两条途径:自底向上和自顶向下。
自底向上:编写测试驱动模块发送测试用例数据,接受返回结果,验证是否正确。如图所示:

自顶向下:测试一个温度显示模块,编写一小段称为的代码充当接口模块,把温度值直接提供给显示模块。如下图所示:测试完温度显示模块后,再去测试温度计接口模块。

3.2 单元测试示例

4.数据覆盖

4.1 数据流覆盖

数据流覆盖主要指在软件中完全跟踪一批数据。在单元测试级,数据仅仅通过了一个模块或者函数。同样的跟踪方式可以用于多个集成模块,甚至整个软件产品。
如果在底层测试函数,就会使用调试器观察变量在程序运行时的数据,可以检查变量的中间值。

4.2 次边界

次边界先前的内容讨论过,如果进行白盒测试,就需要仔细检查代码,找到次边界条件,并建立能测试它们的测试用例。

4.3 公式和等式

查看公式使用的变量,在程序正常输入和输出之外,为其建立测试用例和等价划分。

4.4 错误强制

如果执行在调试器中测试的程序,不仅能够观察到变量的值,还可以强制改变变量的值。于是软件不得不处理一些非常规数值或者报告处理不了。

5.代码覆盖

与黑盒测试一样,测试数据只是一半工作。为了全面地覆盖,还必须测试程序的状态以及程序流程。必须设法进入和退出每一个模块,执行每一行代码,进入软件的每一条逻辑和决策分支。这种类型的测试叫做代码覆盖
专业工具:代码覆盖率分析器,可以获得指示软件哪些部分被执行,哪些部分未被执行的统计结果。

5.1 程序语句覆盖(代码行覆盖)

目标是保证程序中每一条语句最少运行一次。

5.2 分支覆盖

试图覆盖软件中所有的执行路径的方法。

5.3 条件覆盖

将分支语句的条件考虑在内,设计满足不同条件的测试用例。

测试基础-动态白盒测试相关推荐

  1. 项目测试基础:白盒测试相关知识笔记

    1.白盒测试概念 白盒测试又称为结构测试,主要是根据程序的内部结构和逻辑来设计测试用例,然后对程序的路径和过程进行测试,检查是否满足设计的需要. 2.白盒测试常用的技术介绍 白盒测试常用的技术有逻辑覆 ...

  2. 测试基础-静态白盒测试(检查代码)

    1.静态白盒测试:检查设计和代码 静态测试:测试非运行部分-检验和审查: 白盒测试:访问代码,能够查看和审查: 静态白盒测试:在不执行软件的条件下有条理地仔细审查软件设计.体系结构和代码,从而找出软件 ...

  3. 测试基础-动态黑盒测试

    1.动态黑盒测试 不深入代码细节测试软件的方法称为动态黑盒测试. 动态:因为程序在运行: 黑盒:测试时不知道程序如何工作. 测试员输入数据.接受输出.检验结果. 2.通过性测试和失效性测试 通过性测试 ...

  4. 软件测试入门笔记(测试基础)by.肖洪福

    第一章 测试基础 1. 什么是软件测试: 利用手工或自动化,按照测试方案对系统执行测试用例的过程 两个依据(需求.测试用例),两个方法(手工.自动),一个对比(预期结果和实际结果的对比) 软件缺陷(不 ...

  5. 测试岗位面试前复习之【测试基础知识篇】

    测试基础知识篇 一.app测试相关 1.android与ios的app测试的区别: 2.app测试和web测试的重点: 3.性能测试考量的指标: 4.app的性能测试,需要重点关注哪些方面? 5.站在 ...

  6. JMeter-01-性能测试基础知识介绍

    JMeter-01-性能测试基础知识介绍 开篇词 性能测试常见分类 Web服务的主要指标 前端页面的主要指标 数据库的主要指标 开篇词 参加工作这些年来,性能测试做过不少,主要用的LoadRunner ...

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

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

  8. 软件测试面试题(一)——测试基础

    1.软件的生命周期都有哪些阶段,常见的软件生命 周期模型? 软件生命周期:是指一个计算机软件从功能确定.设计,到开发成功投入使用,并在使用中不断地修改.增补和完善,直到停止该软件使用的全过程. 生命周 ...

  9. 最近面了12个人,发现这个测试基础题都答不上来...

    一般面试我都会问一两道很基础的题目,来考察候选人的"地基"是否扎实,有些是操作系统层面的,有些是 python语言方面的,还有些- 深耕IT行业多年,我们发现,对于一个程序员而言, ...

最新文章

  1. IOS6.0 应用内直接下载程序 不需跳转AppStore
  2. [OpenCV]直线拟合
  3. 【组合数学】指数型母函数 应用 ( 多重集排列问题 | 不同球放在不同盒子里 | 奇/偶数序列的指数生成函数推导 )
  4. 使用DPM还原exchange 2013已删除邮箱数据
  5. 固定底部 布局_Google Flutter 布局(四)-Baseline IntrinsicWidth详解
  6. java web ssh启动运行程序_[javaweb开发SSH] myeclipse启动tomcat时的bug
  7. 收藏!目标检测优质综述论文总结!
  8. NSURLSession下载
  9. php paerser,GitHub - iSinser/sinser-php-sdk: 迅析PHP SDK
  10. LinuxC语言のUDP简易聊天室 sokcet
  11. WIFI篇(3.python破解wifi--pywifi的介绍)
  12. cad 2020安装失败,怎么完全彻底卸载删除清理干净cad 2020各种残留注册表和文件? 【转载】
  13. 如何用WPS在所需的页面设置奇偶数页眉
  14. php 字符显示不出来,ps文字显示不出来怎么办?
  15. 火狐书签栏 谷歌_适用于Firefox的Google工具栏等
  16. 3D语义场景图论文小记
  17. 深度学习AI美颜系列---图像自动亮度对比度与调色
  18. AF Haf tuning <4>
  19. 求职:遇到线上性格测评你会如实回答吗?
  20. 修改centos终端提示符背景色

热门文章

  1. 【数论】整除分块(数论分块)
  2. VUE element-ui之form表单自定义验证11位手机号码(封装验证规则)
  3. Python最简单的文字游戏——数字炸弹
  4. 传统管理软件走在“生死边缘”,突围SaaS向死而生?
  5. OrientedRepPoints_DOTA环境搭建训练流程及问题
  6. [AV1] DC Intra Prediction
  7. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统
  8. Octave简明教程
  9. fcm算法 java_使用FCM从服务器发送推送通知
  10. 24段魔尺,可以折出哪些精美图案(续)