白盒测试是基于测试对象的内部结构。白盒测试技术可以应用在所有测试级别,但本节讨论的两种与代码相关的技术最常用在组件测试级别上。有些更高级的技术会用于安全关键、任务关键,或高完整性环境以实现更彻底的覆盖,但这里不会讨论。有关此类技术的更多信息,请参见ISTQB高级技术测试分析师大纲。
4.3.1 语句测试和覆盖
语句测试使用代码中的可执行语句。覆盖率以测试执行的语句数除以测试对象中可执行语句的总数来衡量,通常以百分比表示。
4.3.2 判定测试与覆盖
判定测试使用代码中的判定,并测试基于判定结果执行的代码。要做到这一点,测试用例遵循从判定点触发的控制流(例如:对于IF语句,一个用于真的结果,一个用于假的结果;对于一个CASE语句,所有可能的结果都需要测试用例,包括默认结果)。
覆盖率是通过测试执行的判定结果的数量除以测试对象中判定结果的总数来测量,通常以百分比表示。
4.3.3 语句与判定测试的价值
当实现100%的语句覆盖时,它确保代码中的所有可执行语句至少已测试过一次,但无法保证所有判定逻辑都已测试过。在本大纲中讨论的两种白盒技术中,语句测试提供的覆盖率通常小于判定测试。
当达到100%的判定覆盖率时,便会执行所有的判定结果,包括测试真的结果和假的结果,即使没有明确的假的语句(例如:没有ELSE的IF语句)。语句覆盖有助于发现代码中其他测试没有执行到的缺陷。判定覆盖有助于发现代码中的缺陷,在这些缺陷中,其他测试没有同时覆盖判定为真和假的情况。
达到100%的判定覆盖可以保证达到100%的语句覆盖(反之则不然)。
4.3白盒测试技术
最新推荐文章于 2021-05-20 18:16:07 发布