Skip to content

Latest commit

 

History

History
53 lines (33 loc) · 2.93 KB

FAQ.md

File metadata and controls

53 lines (33 loc) · 2.93 KB

常见问题

1. 测试未通过,如何定位问题?

以基于behave的sql覆盖测试为例

1.1 首先找到出问题的配置和数据

找配置的方法:

查看使用的behave测试命令是否指定-Ddble_conf,如果未指定表示使用默认dble配置template。

dble_conf的值与配置文件对应关系如下:

dble_conf 配置目录
sql_cover_mixed behave_dble/dble_conf/sql_cover_mixed_bk
sql_cover_global behave_dble/dble_conf/sql_cover_global_bk
template behave_dble/dble_conf/template_bk
sql_cover_nosharding baheve_dble/dble_conf/sql_cover_nosharding_bk
sql_cover_sharding baheve_dble/dble_conf/sql_cover_sharding_bk

找数据的方法:

通过测试执行的标准输出,可以看到behave用例失败的记录,举例:

  Scenario: #5 compare new generated results is same with the standard ones                      # features/sql_cover/sql_mixed.feature:43
    When compare results in "sql_cover_mixed" with the standard results in "std_sql_cover_mixed" # features/steps/step_check_sql.py:504
      Assertion Failed: result is different with standard, Oop! results are different with the standard ones, try 'diff -qwr cmp_std_sql_cover_mixed/.../file1 cmp_sql_cover_mixed/.../file2' to see the details
      Only in cmp_sql_cover_mixed/sqls_mixed/bugs: bug_fail.log

关键信息:Only in “cmp_sql_cover_mixed/sqls_mixed/bugs: bug_fail.log”

这句日志表明出问题的sql文件是:bug.sql(bug_fail.log)

sql文件所在目录是:sql_cover_mixed/sqls_mixed/bugs/

可以通过查看bug_fail.log的内容分析哪些失败语句只在当次运行失败,在期望的标准比对结果中未失败,以及执行失败的详细信息,如,报错信息,直连MySQL的执行结果等。

1.2 尝试分析日志或复现

有了出错的配置和数据,尝试分析相关日志。为了方便追踪问题,我们对自动化日志,dble日志都进行了一定范围版本的保存。可以通过自动化日志找到出问题的时间,然后在dble相应范围的日志内详细追踪。如果分析日志有困难,可以尝试复现。

2. 测试未通过,如何提bug?

为了更好的解决您发现的问题,需要麻烦您完成以下操作:

确认是产品bug还是自动化项目的bug,如果可确认,请到相应项目提issue。如果不能确认分类,请将问题提在自动化项目的issue下。为了能够更好的追踪定位问题,dble和自动化项目都提供了issue模板。请尽可能将issue填写完整,并补充您认为的重要信息。