what's the 灰盒测试

  灰盒测试的概念:是一种综合测试的方法,他将白盒测试和黑盒测试结合在一起,构成一种无缝测试技术。

  灰盒测试的思想:是基于程序运行时的外部表现又结合程序内部逻辑结构来设计测试用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。灰盒测试法旨在验证软件满足外部指标以及软件的所有通道或路径都进行了检验。

灰盒测试的特性:

  1. 灰盒测试同黑盒测试一样,也是根据需求文档来进行测试用例的设计。
  2. 灰盒测试通常在程序员做完白盒测试之后,在功能测试人员进行大规模集成测试之前。
  3. 灰盒测试需要了解代码工程的实现。
  4. 灰盒测试是通过类似白盒测试的方法进行的,是通过编写代码、调用函数或者封装好的接口进行,但无需关心程序内部的实现细节,依然可把它当成一个黑盒。
  5. 灰盒测试是有测试人员进行的。

灰盒测试的优点:

  1. 能够进行基于需求的覆盖测试和基于程序路径覆盖的测试。
  2. 测试结果可以对应到程序内部路径,便于bug的定位、分析、解决。
  3. 能够保证设计的黑盒测试用例的完整性,防止遗漏软件的一些不常用的功能或功能组合。
  4. 能避免需求或设计不详细或不完整对测试造成的影响。

灰盒测试的不足:

  1. 投入的时间比黑盒测试大概多20%-40%。
  2. 对测试人员的要求比黑盒测试高。
  3. 灰盒测试要求测试人员清楚内部系统结构由哪些模块组成,模块之间如何协作。
  4. 不如白盒测试深入。
  5. 不是用于简单系统。

灰盒测试的步骤:

  1. 确定程序的所有输入和输出。
  2. 确定程序所有状态。
  3. 确定程序主路径。
  4. 确定程序的功能。
  5. 产生实验子功能X的输入。
  6. 制定验证子功能的X的输出。
  7. 执行测试用例X的软件。
  8. 检验测试用例X的结果正确性。
  9. 对其余子功能,重复7和8.
  10. 重复4--8,然后进行9.进行回归测试。

参考:https://blog.csdn.net/celiabj/article/details/48750253

what's the 灰盒测试的更多相关文章

  1. XSS(跨站脚本攻击)的最全总结

    从OWASP的官网意译过来,加上自己的理解,算是比较全面的介绍.有兴趣的可私下交流. XSS 跨站脚本攻击 ============================================== ...

  2. 第二次团队作业 -- 预则立&&他山之石

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬涛 一.团队任务计划 周数 ...

  3. 第三次个人作业—“K米”评测

    第一部分 调研,评测 评测 1.上手体验: 软件欢迎界面,色彩对比鲜明,前三图深色调,最后一条则充满了艳丽的色彩,让人对这个产品突然充满了期待. 软件界面加载速度慢,很多地方点击进去要等好久才能出现界 ...

  4. chapter1 渗透测试与metasploit

    网络对抗技术课程学习 chapter1 渗透测试与metasploit 一.读书笔记 二.渗透测试 通过模拟恶意攻击者的技术与方法进行攻击,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响 ...

  5. 模糊测试——强制发掘安全漏洞的利器(Jolt 大奖精选丛书)

    模糊测试——强制发掘安全漏洞的利器(Jolt 大奖精选丛书) [美]Sutton, M.Greene, A.Amini, P. 著 段念赵勇译 ISBN 978-7-121-21083-9 2013年 ...

  6. Testing - 测试基础 - 分类

    对软件内部结构的深入程度 黑盒测试:又叫功能测试.数据驱动测试或基于需求规格说明书的功能测试. 白盒测试:又称结构测试.逻辑驱动测试或基于程序代码内部构成的测试. 灰盒测试:包含性能测试.自动化测试. ...

  7. Testing - 测试基础 - 方法

    选择和使用测试方法和工具 按照测试需求用途(或测试技巧)选择 在软件开发生命周期和软件测试流程中适当地选择 按照测试人员实际技能选择 选择可提供的和可执行的 测试方法 类别及技巧 目标 使用方法 举例 ...

  8. 开发人员看测试之TDD和BDD

    前言: 已经数月没有来园子了,写博客贵在坚持,一旦松懈了,断掉了,就很难再拾起来.但是每每看到自己博客里的博文的浏览量每天都在增加,都在无形当中给了我继续写博客的动力.最近这两天有听到Jbehave这 ...

  9. 安卓下如何使用JUnit进行软件测试

    软件测试作为程序员必备的一项技能是决定软件开发周期长短以及软件运行成败的关键,可以说好的软件不是代码写得好而是有效的测试决定的.本文将介绍在android下利用eclipse进行开发时如何使用JUni ...

随机推荐

  1. JAVA 实现 简单的 HTTP服务器

    关于JAVA的HTTP服务器的简单实现,还望大家给出宝贵建议,谢谢. 1.首先来说下HTTP所有的状态碼,相信对于网页开发的博友们,肯定不陌生. 状态码 状态码英文名称 中文描述 100 Contin ...

  2. 校验XX是否在有效期内

    简单介绍:做删除的时候,需要判断XX的日期,如果在有效期内,则不能删除,已过期,或者是未生效都可以删除.刚看到的时候,就有点懵逼了,因为不知道该怎么判断,最初,想的是查询XX的开始日期和截止日期,看看 ...

  3. linux无法联网使用yum提示cannot find a valid baseurl for repobase7x86_64

    每次安装新镜像时会遇到物理机有网络新安装的linux中却无法与物理机通信(不能连网),只能玩一些预装功能.命令,无法使用各种常用工具(特别是MINI版连ifconfig都没有o(╥﹏╥)o),下面记录 ...

  4. js分析 快速定位 js 代码, 还原被混淆压缩的 js 代码

    -1.目录 0.参考 1.页面表现 2. 慢镜头观察:低速网络请求 3. 从头到尾调试:Fiddler 拦截 index.html 并添加 debugger; 4. 快速定位 js 代码 5. 还原被 ...

  5. [转]Windows 安装Kafka

    来源:https://www.cnblogs.com/liuyuhua/p/5329926.html https://www.cnblogs.com/xinlingyoulan/p/6054361.h ...

  6. tensorflow会话控制-【老鱼学tensorflow】

    在tensorflow中,当定义好结构后,就要通过tf.session()来建立运行时的会话. 本例子应该不难理解,我们用tensorflow来计算一下一个1行2列的矩阵和2行1列矩阵的乘积: imp ...

  7. spark_to_es

    package es import java.io.InputStream import java.text.SimpleDateFormat import java.util.{Calendar, ...

  8. web服务-2、四种方法实现并发服务器-多线程,多进程,协程,(单进程-单线程-非堵塞)

    知识点:1.使用多线程,多进程,协程完成web并发服务器 2.单进程-单线程-非堵塞也可以实现并发服务器 1.多进程和协程的代码在下面注释掉的部分,我把三种写在一起了 import socket im ...

  9. 容器加載Web工程的Web.xml文件介紹

    转 容器加載Web工程的Web.xml文件介紹 [-] 这篇文章主要是综合网上关于webxml的一些介绍希望对大家有所帮助也欢迎大家一起讨论 ---题记 一            Webxml详解 一 ...

  10. js来判断设备类型

    function deviceType(){ var ua = navigator.userAgent; var agent = ["Android", "iPhone& ...