在Test Automation的过程中, 总会面临着自动化脚本没办法完全执行通过的情况,举例的话, 如果有1w+的test scripts, 但是passing rate达到了99%, 那每次执行后, 也会有100左右的case会挂掉, 这个时候只能引入manual checking对未通过的case进行验证.
基于这种需求,提供一个思路. 通过测试log之间的比较, 对结果进行预测, 排除产品之外引发的问题.
首先, 识别common issue.
开始对log进行分析之前, 需要维护一个不敏感词库, 每次比较中,这些不敏感词汇, 不参与比较. 通过文本相似度, 添加权重, 在识别出来的结果中, 给每次对比打分, 当分数相近程度超过阈值, 则视为同类问题.
其次, 通过历史数据对新产生的log进行预测.
每一次回归的历史数据, 都需要进行root cause 分析, 并保留, 当新一轮执行结束, 通过log与之前log的相似度比较, 判断是否是历史问题引发的.
最后, 生成报表.
附: 文本比较主要算法
- *s1, s2: base string and compared string*
- *m: matching characters*
- *t: transpositio