知行合一

博客园 首页 新随笔 联系 订阅 管理
一、软件黑盒测试,顾名思义就是把被测目标当做一个黑盒子,不需要了解对象内在的逻辑和特征,只针对对象的外部输入输出接口去设计的一种测试方式。
黑盒测试简单的说就是通过外部输入获取外部输出,不考虑中间过程、
目前常用的黑盒测试用例设计方法有好几种,需要根据各种应用场景分析和结合使用。
1、等价类划分法:是黑盒测试中最常用的、典型的方法。其核心思想就是选择一套合理的输入子集来体现出所有的输入情况,其中还需要包括所有的有效数
据和无效数据。
2、边界值分析法:由过去累计的测试数据表明,在数据的边界是最有可能产生错误的。边界值分析法是根据各种数据的边界进行分析来设计测试用例的一种
方法。因为这种针对性的特点我们可以把它当作是等价类划分法基础上的扩展;
3、因果图分析:是一种着眼于将各种输入有策略的结合方法,首先分析所有的输入情况,组合出一组会导致一个确定性输出结果的输入集合,那么这个输
入集合为“因”,输出结果为“果”。
 
二、白盒测试
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。是指被测对象内部是可视的,测试人员需要全面了解对象内部的逻辑结构,然后对
逻辑的所有路径进行测试,并确定不同路径下的测试结果与期望值是否一致。
1、代码检查法:是属于静态测试方法的一种。会根据检查人员和形式的差异,划分为桌面检查、代码审查和走查[34][35]。主要是检查代码的编码规范、程序的语
法和结构等内容;
2、静态结构分析法:借助测试工具对软件的各种内部结构进行分析,然后以各种图标的方式生成信息,使测试人员能更清晰的对软件进行分析;
3、静态质量度量法:根据 ISO/IEC 9126 质量模型作为评估依据,构造质量度量模型,对软件各个方面进行评估;
4、逻辑覆盖法:是针对软件内部的逻辑结构来进行编写测试用例的一种方法。要求编写测试用例的人员需要对软件内部的逻辑结构非常清晰[36]。在设计测试用
例时需要根据代码模块的复杂度,选择对应的覆盖方法:
(1)判断覆盖:需要使每一条可执行语句至少被执行一次;
(2)判断覆盖:需要使每个判断的取真分支和取假分支至少经历一次;
(3)条件覆盖:需要使每个判断的每个条件的可能取值至少执行一次;
(4)判定-条件覆盖:需要使每个判断中每个条件的所有可能取值至少被执行
一次,同时每个判断本身的所有可能判断结果至少执行一次;
(5)条件组合覆盖:需要使得每个判断的所有可能的条件取值组合至少执行
一次;
(6)路径覆盖:需要覆盖程序中所有的路径[37]。
5、基本路径测试法:从上述路径覆盖的描述,可以看出想要覆盖所有的路径是不现实的。因此如何在保证测试有效性和可靠性的基础上,来确定需要覆盖的
路径。基本路径测试法就是基于这个的一种测试手段[38]。其是根据程序控制流程图来进行测试用例的编写,保证程序的每个可执行语句至少执行一次。
三、灰盒测试
灰盒测试是针对软件需求规格说明中的部分需求点,需要将黑盒测试与白盒测试有策略的结合起来,才能完成测试目的的一种测试手段。它虽然也同白盒测
试一样需要清楚软件内部的逻辑,但又不需要对软件内部理解的那么透彻[39]。例如当有个功能需求,无论怎么通过黑盒测试的手段都无法满足测试需求,或者需
要非常繁琐、复杂的黑盒测试方式才能勉强完成,这时如果使用灰盒测试,将外部接口与内部逻辑有效的结合,可能就会比较简便的设计出满足需求的测试用例。
总而言之,灰盒测试不仅需要了解外部输入对应外部输出的影响,也需要了解程序内在的表现。
 
posted on 2024-10-19 11:08  callbin  阅读(72)  评论(0编辑  收藏  举报