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. c语言宏定义详解

    1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数 ...

  2. 解码escape类型的unicode

    content = Regex.Unescape(content);

  3. spark MLlib Classification and regression 学习

    二分类:SVMs,logistic regression,decision trees,random forests,gradient-boosted trees,naive Bayes 多分类:  ...

  4. 实时流式计算框架——JStorm

    1.本地调试 a.步骤:生成Topology——实现Spout接口——实现Bolt接口——编译运行 b.加入依赖 <!-- JStorm --> <dependency> &l ...

  5. 教你正确打开async/await关键字的使用

    这段时间在项目开发中看到了一些async/await的使用,在aspnet core的host组件源码中也看到了许多的async/await代码.在开发时,正确的使用了async/await是可以提高 ...

  6. SpringBoot使用Sharding-JDBC分库分表

    本文介绍SpringBoot使用当当Sharding-JDBC进行分库分表. 1.有关Sharding-JDBC 有关Sharding-JDBC介绍这里就不在多说,之前Sharding-JDBC是当当 ...

  7. 解读vscode断点调试配置文件【待续】

    一.参考链接 https://code.visualstudio.com/Docs/editor/debugging https://code.visualstudio.com/docs/nodejs ...

  8. loadrunner之java user脚本开发

    脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环境(Vuser--RunTime Settings) 3.开 ...

  9. [POJ2054]Color a Tree (并查集+贪心)

    POJ终于修好啦 题意 和UVA1205是同一题,在洛谷上是紫题 有一棵树,需要给其所有节点染色,每个点染色所需的时间是一样的都是11.给每个点染色,还有一个开销“当前时间×ci×ci”,cici是每 ...

  10. 迭代器&迭代对象&生成器

    迭代器 & 迭代对象 & 生成器 包含__next__ 和 __iter__两个方法的对象为迭代器 __next__方法返回单个元素 __iter__方法返回迭代器本身 可迭代对象包含 ...