宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

测试方法上划分,软件测试分为白盒测试和黑盒测试。

1 .白盒测试

白盒测试也称为结构测试,主要用于单元测试阶段。 它的前提是可以把程序看作是装在透明的白箱子里,受试者完全知道程序的结构和处理算法。 该方法按照程序内部逻辑设计测试用例,检查程序中的主要执行路径是否全部如期工作。

白盒测试根据软件的内部逻辑设计测试用例,常用的技术是考察逻辑覆盖,即用测试数据运行被测试程序时程序逻辑的覆盖程度。 主要涵盖标准有6种。 组合语句涵盖、判定涵盖、条件涵盖、判定/条件涵盖、条件涵盖和路径涵盖。

)1)用词句涵盖。 语句覆盖是选择足够多的测试用例,以便在运行这些测试用例时,被测试程序中的每个语句至少运行一次。

很明显,语句覆盖是一个薄弱的覆盖标准。

)2)判定覆盖面。 这意味着判定盖也被称为分支盖,不仅为每个语句执行至少一次,而且为每个判定可能的结果分支)执行至少一次。 虽然判定复盖强于语句复盖,但对程序逻辑的复盖度仍然不高。

)3)条件涵盖。 条件复盖意味着不仅各语句被执行至少一次,而且给判定式的各条件带来各种可能的结果。

条件盖中不一定包含判定盖,判定盖中也不一定包含条件盖。

)4)判定/条件涵盖。 将同时满足判定盖和条件盖的逻辑盖称为判定/条件盖。 这意味着选择足够的测试用例,使判决表达式中每个条件的所有可能结果至少出现一次,每个判决本身的所有可能结果也至少出现一次。

)5)条件组合覆盖。 条件组合覆盖是指选择足够的测试用例,使得各判定式中条件结果的所有可能组合至少出现一次。

很明显,条件组合涵盖的测试用例也必须由判定/条件涵盖。 因此,条件覆盖是上述五种覆盖标准中最强的。 但是,条件覆盖并不保证程序中的所有可能路径至少通过一次。

)6)路径覆盖。 路径覆盖是指选择足够的测试用例,以便程序可能运行的所有路径至少通过一次。 如果程序有循环,则每个循环路径必须至少通过一次。

路径覆盖实际上是一个强覆盖标准,因为它考虑了程序中各种判定结果的所有可能组合。 但是,路径复盖没有考虑判定中的条件结果的组合,不能代替条件复盖和条件组合复盖。

2 .黑匣子测试

黑盒测试也称为功能测试,主要用于集成测试和确认测试阶段。 将软件视为不透明的黑色箱子,完全不考虑或不理解)软件的内部结构和处理算法。 只检查软件功能是否能按照软件需求书的要求正常使用,软件是否能正确接收输入数据并生成正确的输出信息,在软件运行过程中是否能保持外部信息文件和数据库等)的完整性等

黑盒测试是根据软件需求书中规定的功能设计测试用例,不考虑软件的内部结构和处理算法。

常用的黑盒测试技术包括等价类划分、边缘值分析、错误猜测、因果关系图等。

1)等价类划分。 设计测试用例时,等价类划分是使用最多的黑匣子测试方法。 等价类是某个输入字段的集合,对于等价类中的输入值来说,明确程序中错误的作用是等效的。 即,如果等价类一个输入数据能够检测出一个错误,则等价类的其他输入数据也能够检测出相同的错误; 相反,在有等价类的输入数据不能检测出某个错误的情况下,等价类的其他输入数据也不能检测出该错误该等价类的某个子集还属于另一个等价类的情况除外)。

如果某个等价类内的数据是满足软件要求规格书)要求的合理数据,则将该等价类称为有效等价类。 等价类主要用于检查软件是否实现了软件请求说明书规定的功能。

如果某个等价类内的数据是不符合软件要求规格书)要求的不合理或不正当的数据,则将该等价类称为无效等价类。 无效的类主要用于检查软件的容错性。

黑匣子测试中,采用等价类划分方法设计测试用例的步骤如下。

根据软件的功能说明,按输入条件确定多个有效等价类和多个无效等价类,按有效等价类和无效等价类编号。

设计测试用例,尽量多覆盖尚未覆盖的有效等价类。 重复此步骤,直到覆盖了所有有效的等价类。

设计测试用例以涵盖尚未涵盖的无效等价类。 重复此步骤,直到覆盖所有无效的等价类。

)2)边缘值分析。 经验表明,软件在处理边界情况时最容易出错。 设计一些测试用例,使软件正好在边界附近运行,从而更有可能暴露软件错误。 通常,每个等价类的边界都将重点放在测试上,选定的测试数据必须正好等于边界值、稍小或稍大。 等价类划分法与边值分析法相结合,更有可能发现软件错误。 )3)错误猜测。 运用等价类划分和边值分析技术,有助于设计易暴露于典型软件错误的测试方案。 但是,不同类型的特定软件通常具有容易发生特殊错误的地方。 错误猜测法主要依靠测试仪的经验和直觉,从各种可能的测试方案中选择最可能引起程序错误的方案。 )4)因果图。 因果图法根据输入条件和输出结果之间的因果关系设计测试用例。 首先,研究输入条件的各种组合,找出输出结果对输入条件的依赖关系,并针对每个输出条件组合设计测试用例。