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

六、精准测试第四式:知识库

1、自动推荐用例??

代码和用例建立关联关系 

  • 模块与用例关联(先源文件与模块,再模块与用例)

-- 这种粒度非常粗,一个模块少量的变更会推荐大量冗余用例。(一个模块可能关联了大量用例,模块与模块间存在调用关系)

  • 文件与用例关联

-- 粒度比上一种小,精度也更高。

  • 类/方法/函数和用例的关联

-- 粒度更细,需关联的数量呈指数级增长,技术难度大。考虑投入产出比,用例与函数关联较合理。

2、函数与用例建立关系?  -   用例与函数调用链建立关系

函数调用链动态获取:

    • 源代码插桩(易用性 低)

在源文件的基础上,通过变异的方式将探针插入到源代码行中。

    • 中间代码插桩(易用性 中)

中间代码:如Java源码编辑后生成的class字节码文件,就是一种类型的中间代码文件。

将探针插入到这个中间代码文件中,就是中间代码插桩

    • 二进制代码插桩(易用性 高)

对程序真正运行的目标文件进行探针插入的操作,比较成熟的插桩工具有XDebug等。

采集器工具操作步骤:

1)建立调试会话

2)对需要获取动态函数调用关系链的模块进行下断

3)下断的点选择为call指令,jump跳转函数地址指令

4)监控调试事件

5)获取断点事件,保存特征数据信息

6)恢复断点执行

3、用例采集步骤,并与调用链关联

1)首先在工具中输入用例ID

2)点击开始采集按钮

3)切换到需要采集的进程,执行用例的操作

4)采集工具会自动将用例操作步骤关联的函数及其调用关系链捕获

5)当用例操作步骤完成后,点击工具的结束采集按钮,完成本次用例采集

6)文本方式保存本次用例采集到的函数及其调用关系链,反复前五步采集不同用例

7)将6的数据录入到数据库 - 知识库系统

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/testing2019/p/10273278.html