不测的秘密:精准测试之路----读书笔记(第八章)

八、精准测试第六式:知识库的优化

1、为何实际中函数变更后用例推荐过多?

建立函数与用例关系时,没有考虑到  各级调用和被调函数之间的复杂关系,以及函数内部的逻辑复杂度。这些关系对知识库建立产生影响。

因为这两种关系越复杂,就会导致用例执行时关联的函数越多,并且多条用例会关联到相同的函数,关联度成指数量级增加,导致函数关联用例太多。

 

2、去除冗余、优化知识库

用例预函数的关系

用例是针对函数编写的,用例预函数的分支内容息息相关,回归测试的时候,需要覆盖当前分支,但并不需要讲该分支的重复用例都覆盖到,不重复的用例分两种:

1)用例和函数的某一分支对应,但是当前分支的代码改动后,用例预这个修改的函数分支关系已经无效,这一部分无效测试用例应该删除

2)函数改动后,和其改动分支对应的测试用例仍然有效且必须执行,才是应该与函数关联的用例

 

如何去除无关、非关键的函数与用例的关系?  -   精简函数对应的测试用例集   -  hash标识分支

从函数角度,先对函数内部的路径分支做标记,然后从各路径分支抽出一条用例,组合出来的集合就是该函数的最小用例集

1.  如何对函数路径分支进行标记?  -  需用例采集工具支持分支插桩

如何对分支地址进行插桩?  在程序加载的过程中挂起进程,然后解析进程中每一个模块的汇编指令、判断指令是否是跳转指令,则在这个地址处进行插桩操作。

2.  如何提取路径分支hash?

 要得到用例执行的路径分析,需建立分支与路径分支的关系?

下图完成了函数路径分支hash提取、基本块地址与路径分支hash映射关系的建立。

不测的秘密:精准测试之路----读书笔记(第八章)_第1张图片

3.  用例与函数路径分支的关联关系的建立

 在采集器采集用例的过程中,将命中的插桩地址取出来,跟第2步建立的映射关系进行匹配,找到命中插桩地址对应的路径分支hash

不测的秘密:精准测试之路----读书笔记(第八章)_第2张图片

优化后结果:将用例个数严格控制在其路径分支个数的基础上,建设成最精简用例集

不测的秘密:精准测试之路----读书笔记(第八章)_第3张图片

 

 

转载于:https://www.cnblogs.com/testing2019/p/10273899.html

你可能感兴趣的:(不测的秘密:精准测试之路----读书笔记(第八章))