动态测试指通过运行程序发现错误,分为黑盒测试法、白盒测试法和灰盒测试法等。

黑盒法:

把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。黑盒测试又称为功能测试或数据驱动测试,使用这种方法,为了做到穷尽测试,至少必须对所有输入数据的各种可能值的排列组合都进行测试。

常用的黑盒测试用例的设计方法:等价类划分、边界值分析、错误猜测和因果图、场景设计法、功能图分析方法等。

优缺点:

1.优点:①比较简单,不需要了解程序内部的代码以及实现。②与软件内部实现无关。③从用户角度出发,很容易的知道用户会用到哪些功能,会遇到哪些问题。④在做软件自动化测试时较为方便。⑤基于产品需求文档,所以也能知道软件实现了文档中的哪些功能。

2.缺点:①不可能覆盖所有代码,覆盖率较低,大概只能达到总代码量的30%。②自动化测试的复用性较低。

白盒法:

把测试对象看做一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

常用的白盒测试用例设计方法:基本路径测试、循环覆盖测试及逻辑覆盖测试等。

优缺点:

1、优点:①迫使测试人员去仔细思考软件的实现;②可以检测代码中的每条分支和路径;③揭示隐藏在代码中的错误;④对代码的测试比较彻底;⑤最优化

2、缺点:①昂贵;②无法检测代码中遗漏的路径和数据敏感性错误;③不验证规格的正确性

灰盒法:

灰盒测试是一种介于白盒测试与黑盒测试之间的测试,它关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒测试那样详细且完整,而只是通过一些表征性的现象、事件及标志来判断程序内部的运行状态。

灰盒测试结合了白盒测试和黑盒测试的要素,考虑了用户端、特定的系统知识和操作环境,在系统组件的协同性环境中评价应用软件的设计。

优点:①提供了白盒测试和白盒测试的综合优势。②同时包括开发人员和测试人员的输入值,以提高产品的整体质量。③减少了长时间功能和非功能测试的时间消耗。④为开发人员提供了足够的时间来修复产品缺陷。⑤包括用户观点,而不是设计师或测试者的观点。⑥深入涉及用户观点的要求检查和规格确定。

相关试题:如果系统测试中需要采用黑盒测试、白盒测试和灰盒测试,请阐述三种测试的含义和用途

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

A公司是提供 SaaS 平台服务业务的公司,小张作为研发流程优化经理,他抽查了核心产品的配置管理和测试过程,情况如下:项目组共 10 人,产品经理小马兼任项目经理和配置管理员,还有7名开发工程师和 2 名测试工程师,采用敏捷开发的方法,2周为一个迭代周期,目前刚刚完成一个 3.01 版本的上线。

小张要求看一下配置管理库,小马回复:“我正忙着,让测试工程师王工给你看吧,我们 10 个人都有管理员权限”。小张看到配置库分为了开发库和产品库,产品库包括上线的3个大版本的完整代码和文档资料,而且与实际运行版本有偏差。小版本只能在开发库中找到代码,但没有相关文档,而且因为新需求迭代太快,有些很细微的修改,开发人员随手进行了修改,文档和代码存在一些偏差。

小张策划对产品做一次 3.01 版本的系统测试,以便更好的解决研发流程和系统本身的问题。

【问题 3】

如果系统测试中需要采用黑盒测试、白盒测试和灰盒测试,请阐述三种测试的含义和用途