一种自动化测试日志分析方法和装置的制作方法

文档序号:6618858阅读:176来源:国知局
专利名称:一种自动化测试日志分析方法和装置的制作方法
技术领域
本发明涉及一种自动化测试日志分析方法和装置,属于数据通信技术领域。
背景技术
在数据通信:忮术领域的测试中,每次对软件缺陷修改后都需要进行回 归测试,回归测试是通过重复测试以确保软件中新组件和新应用的引进或 者解决产品缺陷,不会破坏原有的工作功能。在回归测试中,由于测试用 例需要多次重复执行,若使用手工测试就会存在测试效率低、工作量大、 测试结果可能会因测试人员的不同而导致测试结果数据不 一致等问题。而 使用自动化测试方法能够解决上述问题,能够更好执行较为繁瑣、困难的 测试,更好地利用测试资源、提高测试效率,并且能够^f吏同一测试用例在 回归测试中重复执行后测试日志数据具有一致性。因此目前在数据通信技 术领域中越来越多地使用自动化测试,通过自动化测试软件可以批量执行 自动化测试脚本,而不需要测试人员的干预,极大地提高了测试的执行效 率。
自动化测试软件在执行过程中无需测试人员干预,自动执行用户指定 的测试脚本,自动对测试步骤的实测数据和预期数据进行判断,输出各个
测试脚本的测试日志和测试结果,测试结果可以分为测试通过(PASS )或 测试失败(FAIL)。
测试日志是自动化测试软件输出测试脚本执行过程的详细信息,测试 人员通过它来分析、定位出导致测试失败的原因类型。测试日志由测试全 局信息、测试过程信息两部分组成的。测试全局信息包含测试脚本编号信息、测试项目信息、测试产品信息、产品指标信息、测试拓朴信息等。测 试过程信息包含测试脚本每个测试步骤的信息,每个测试步骤里又包含步 骤编号信息、测试描述信息、测试配置信息、预期数据信息、实测数据信 息、测试结论信息、缺陷编号信息等。其中缺陷编号信息默认值为空,测 试人员在分析测试日志时,如果该测试步骤存在产品缺陷,就把缺陷系统 上对应编号写上去。
自动化测试软件输出的每一类信息都带有一个区别其它类信息的关 键字,如上述几类信息对应的关键字分别是脚本编号、测试项目、测试产 品、产品指标、测试拓朴、测试步骤、测试描述、测试配置、预期数据、 实测数据、测试结论、缺陷编号等。测试日志是采用可扩展标记语言
(Extensible Markup Language ,简称XML)文件格式保存,XML文件格 式节点和测试日志信息关键字是对应的。自动化测试软件输出每一类信息 时,把信息关键字作为XML文件的节点,信息内容作为节点的内容,保存 到XML文件中。测试日志的XML文件保存格式如图1所示。
测试结果是测试脚本总的测试情况,测试结果分为PASS和FAIL。如 果测试脚本的每个测试步骤的实测数据和预期数据都一致,测试结果就是 PASS,否则只要有一个测试步骤的实测数据和预期数据木一致,测试结果 就是FAIL。
在测试项目时,由于自动化测试需要^l行的测试脚本数量非常多,在 自动化测试执行完成后,自动化测试软件将会输出各个测试脚本的测试日 志和测试结果,测试结果有PASS,也有FAIL。而导致测试失败的原因类 型一般是以下几种
1) 测试脚本异常问题,测试脚本异常问题是指测试脚本执行过程中, 有脚本语法错误问题,导致测试脚本执行中断。
2) 测试脚本产品指标值错误问题,测试脚本产品指标值错误问题是 指各个被测产品的一些指标值不一样,测试人员在开始自动化执行时,对被测产品的指标设置不对。
3) 测试脚本兼容性问题,测试脚本兼容性问题是指测试脚本的某个 测试步骤的观'J试结果在被测产品之间存在差异性的问题,而又没有及时地 对测试脚本做兼容性的修改。
4) 测试环境问题,测试环境问题是指自动化执行过程中测试环境被
破坏掉,导致测试环境不能正常通信。
5) 已知产品缺陷问题,已知产品缺陷问题是指产品缺陷还没有修改 完或者在当前测试项目中暂时不进行修改的问题。
6) 新产品缺陷问题,新产品缺陷问题是指产品引进新组件和新应用 或者解决产品缺陷时产生的新产品缺陷问题。
在项目重复性的回归测试中,测试失败的原因类型4艮多是测试脚本异 常问题、测试脚本产品指标值错误问题、测试脚本兼容性问题、测试环境 问题、已知产品缺陷问题导致的,例如, 一个已知缺陷问题可能使得多个 测试脚本的测试失败,产品的某个差异性可能因为测试脚本不兼容而使得 多个测试脚本的测试失败。如果测试人员依次对这些测试失败原因类型的 测试日志进行分析,由于不同的测试人员对相同测试日志进行分析时可能 会得到不同的测试失败原因类型,相同的测试人员也会因为分析的测试日 志量过大或主观判断标准的变化而出现对测试失败原因类型判断不一致, 因此对测试日志的人工分析存在测试失败原因类型判断不准确的问题。此 外人工分析测试日志还会因为测试人员分析效率低而直还浪费很多分析 时间,新产品缺陷也不能及时发现。实际上上述这些测试失败原因类型的 测试日志是不需要测试人员分析的,测试人员只需要分析测试失败的原因 类型为可能是新产品缺陷问题的测试日志即可。
在现有的自动化测试技术中,在测试脚本中能够自动识别篩选出测试 失败的原因类型为测试脚本异常问题、测试环境问题的测试日志,如测试 脚本异常问题可以通过自动化测试软件里用脚本语言的捕获异常错误的语句来捕获测试脚本执行过程中异常问题,测试环境问题可以通过自动化 测试软件对测试拓朴的每个链路通过发送报文来判断链路的互通情况。其 它测试失败的原因类型为测试脚本产品指标值错误问题、测试脚本兼容性 问题、已知产品缺陷问题的测试日志不能自动识别筛选出来,测试人员还 需要对这些测试日志依次进行分析。这样在现有的技术中还是不能有效减 少测试人员分析测试失败的测试日志数量,仍然存在对测试失败原因类型 判断不准确的问题。 .

发明内容
本发明的目的是提供一种自动化测试日志分析方法和装置,自动识别 各种测试失败原因类型的测试日志,解决测试日志的人工分析存在的测试 失败原因类型判断不准确问题,使得测试人员可以有针对性地分析测试日
志o
为实现上述目的,本发明提供了一种自动化测试日志分析方法,所述
方法包括
步骤S1,获取自动化测试结果为测试失败的当前测试日志,将所述当前 测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判 断测试失败的原因类型;
步骤S2,根据自动化测试执行后判断为合格的当前测试日志来更新测试 日志数据库中的参考测试日志。
为了实现上述目的,本发明还提供了一种自动化测试日志分析装置,所 述装置包括测试日志数据库、测试日志分析模块和数据库管理模块;
所述测试日志数据库用于存储参考测试日志;
所述测试日志分析模块与测试日志数据库连接,用于获取自动化测试结 果为测试失败的当前测试日志,将所述当前测试日志与测试日志数据库中的 参考测试日志进行比较,并根据比较结果判断测试失败的原因类型;所述数据库管理模块与测试日志数据库连接,用于根据自动化测试执行 后判断为合格的当前测试日志来更新测试日志数据库中的参考测试日志。
本发明通过将自动化测试结果为测试失败的当前测试日志与测试日志数 据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型,
可以识别出各种测试失败原因类型的测试日志,从而可以筛选出需要测试人 员重点分析的测试失败原因类型的测试日志给测试人员进行分析,解决了测 试日志的人工分析存在的测试失败原因类型判断不准确问题,使得测试人 员可以有针对性地分析测试日志。


图1为测试日志保存格式示意图
图2为本发明一种自动化测试日志分析方法实施例一示意图 图3为本发明一种自动化测试日志分析方法实施例二示意图 图4为本发明一种自动化测试日志分析方法实施例三示意图 图5为本发明一种自动化测试日志分析方法实施例四示意图 图6为本发明一种自动化测试日志分析方法实施例五示意图 图7为本发明一种自动化测试日志分析方法实施例六示意图 图8为本发明一种自动化测试日志分析装置实施例一示意图 图9为本发明一种自动化测试日志分析装置实施例二示意图 图10为本发明一种自动化测试日志分析装置实施例三示意图 图11为本发明一种自动化测试日志分析装置实施例四示意图 图12为本发明一种自动化测试日志分析装置实施例五示意图 图13为本发明一种自动化测试日志分析装置实施例六示意图
具体实施例方式
下面结合附图对本发明进行说明,本发明提供了 一种自动化测试日志分析方法,图2给出了本发明一种自动化测试日志分析方法实施例一示意图, 所述方法包括
步骤Sl,获取自动化测试结果为测试失败的当前测试日志,将所述当前 测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判 断测试失败的原因类型。所述获耳又自动化测试结果为测试失败的当前测试日 志具体可以为获耳又自动化测试结果为测试失败且没有测试脚本异常问题和 测试环境问题的当前测试日志,可以根据背景技术中的现有自动化测试技术 来判断当前测试日志是否存在测试脚本异常问题或测试环境问题。
测试日志数据库可以是用于存储没有测试脚本异常问题、测试脚本产品 指标值错误问题、测试环境问题合格且正确的测试日志集合。测试日志数据 库初始时可以选择被测产品的某个版本的测试日志为基准, 一般可以选择初 始版本作为测试日志的基准。
测试日志数据库中的测试日志可以包含测试脚本编号、测试脚本测试产 品指标值信息、测试步骤编号、测试步骤的实测数据和测试结论等信息,这 些信息是对测试失败的测试日志进行分析时的参照对比数据。 '
测试日志数据库中可以包含多个项目,每个项目对应一个文件夹,每个 项目的文件夹下又包含了各个被测产品的文件夹,每个被测产品的文件夹下 包含各个测试脚本的测试日志文件,日志文件可以采用XML;f各式文件,文件 以测试脚本编号的名字命名的,测试日志的XML文件保存才各式如图1所示。
例如通过将当前测试日志与测试日志数据库中的参考测试日志进行比较 分析,识别出测试失败的原因类型的方法可以为
1) 、如果当前测试日志的产品指标值和参考测试日志的产品指标值不一 样,则可以识别出测试失败的原因类型为测试脚本产品指标值错误问题。
2) 、如果当前测试日志的每个测试步骤的测试结论、实测数据和参考测 试曰志对应测试步骤的测试结论、实测数据都一致,且在参考测试日志中, 测试结论为实测数据和预期数据不一致的测试步骤都存在已如产品缺陷的编号,则可以识别出测试失败的原因类型为已知产品缺陷问题。
3)、如果当前测试日志的每个测试步骤的测试结论、实测数据和参考测 试日志对应测试步骤的测试结论、实测数据都一致,且在参考测试日志中, 只要有一个测试结-论为实测数据和预期数据不一致的测试步骤没有已知产品 缺陷编号,则可以识别出测试失败的原因类型为测试脚本兼容性问题。
4 )、如果测试日志数据库没有找到与当前测试日志对应的参考测试日志, 或者当前测试日志的每个测试步骤的测试结论、实测数据与参考测试日志对 应测试步骤的测试结^仑、实测数据只要有一个地方不一致,则可以判断测试 失败的原因类型为新产品缺陷问题或其它测试问题,只有该类型的测试日志 才需要测试人员进行分析。
步骤S2,根据自动化测试执行后判断为合格的当前测试日志来更新测试 曰志数据库中的参考测试日志;
所述判断为合格的当前测试日志具体可以为没有测试脚本异常问题、 测试脚本产品指标值错误问题和测试环境问题的当前测试日志。可以根据背 景技术中的现有自动化测试技术来判断当前测试日志是否存在测试脚本异常 问题或测试环境问题,可以根据本发明的方法来判断当前测试日志是否存在 测试脚本产品指标值错误问题。
所述步骤S2在具体操作时可以执行如下步骤在测试日志数据库中根据 自动化测试执行后判断为合格的当前测试日志的项目名称、产品名称和测试 脚本编号查找是否存在与当前测试日志对应的参考测试日志,如果不存在则 将当前测试日志添加到测试日志数据库中,如果存在则对每个测试步骤的测 试结论进行判断,如果当前测试日志中所述测试步骤的测试结论为实测数据 与预期数据一致,而参考测试日志中所述测试步骤的测试结论为实测数据与 预期数据不一致,则使用当前测试日志来更新参考测试日志。
本发明通过将自动化测试结果为测试失败的当前测试日志与测试日志数 据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型,可以识别出各种测试失败原因类型的测试日志,从而可以筛选出需要测试人 员重点分析的测试失败原因类型的测试日志给测试人员进行分析,解决了测 试日志的人工分析存在的测试失败原因类型判断不准确问题, -使得测试人 员可以有针对性地分析测试日志。
图3给出了本发明一种自动化测试日志分析方法实施例二示意图,本实
施例除了包括方法实施例一的步骤外,还将步骤Sl具体扩展为 步骤Sll,获取自动化测试结果为测试失败的当前测试日志; 步骤S12,在测试日志数据库中查找是否存在与当前测试日志对应的参
考测试日志,如果存在则执行步骤S13,如果不存在则执行步骤S14;
所述查找是否存在与当前测试日志对应的参考测试日志具体可以为根
据当前测试日志的项目名称、产品名称和测试脚本编号查找是否存在与当前
测试日志对应的参考测试日志。
步骤S13,查找当前测试日志中测试结论为实测数据与预期数据不一致
的测试步骤,判断所述测试步骤的测试结论、实测数据是否与参考测试日志
中对应测试步骤的测试结-沦、实测数据相同,如果不相同则4丸行步骤S14; 步骤S14,判断测试失败的原因类型为新产品缺陷问题或其它测试问题,
并结束操作。
本发明通过将自动化测试结果为测试失败的当前测试日志与测试日志数 据库中的参考测试日志进行比较,并才艮据比较结果判断测试失败的原因类型, 可以识别并筛选出测试失败原因类型为新产品缺陷问题或其它测试问题的测 试日志给测试人员进行分析,解决了测试日志的人工分析存在的测试失败 原因类型判断不准确问题,使得测试人员可以有针对性地分析测试日志。
图4给出了本发明一种自动化测试日志分析方法实施例三示意图,本实 施例除了包括方法实施例二的步骤外,步骤S12中在所述执行步骤S13之前 还包括执行步骤S15:判断当前测试日志的产品指标值与参考测试日志的产 品指标值是否相同,如果不相同则判断测试失败的原因类型为测试脚本产品指标值错误问题,并结束操作,如果相同则执行步骤S13。
图5给出了本发明一种自动化测试日志分析方法实施例四示意图,本实 施例除了包括方法实施例二的步骤外,步骤S13中所述判断所述测试步骤的 测试结论、实测数据是否与参考测试日志中对应测试步棘的测试结论、实测 数据相同,如果相同则^M亍步骤S16:判断在所述参考测试日志中对应测试 步骤是否存在缺陷编号,如果不存在则标识当前测试日志存在测试脚本兼容 性问题。
本实施例除了可以在方法实施例二的基础上进行上述扩展外,还可以在 方法实施例三的基础上进行上述扩展。
图6给出了本发明一种自动化测试日志分析方法实施例五示意图,本实 施例除了包括方法实施例四的步骤外,所述步骤S16之后还包括步骤S17: 判断所述测试步骤是否结束,如果未结束则执行步骤S13,如果已结束则判 断当前测试日志是否已经被标识为存在测试脚本兼容性问题,如果是则判断 测试失败的原因类型为测试脚本兼容性问题,并结束操作,否则判断测试失 败的原因类型为已知产品缺陷问题,并结束操作。
本发明通过将自动化测试结果为测试失败的当前测试日志与测试日志数 据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型,
可以识别出测试失败的原因类型是测试脚本产品指标值错误问题、测试脚本 兼容性问题、已知产品缺陷问题的测试日志,可以筛选出测试失败原因类型 为新产品缺陷问题或其它测试问题的测试日志给测试人员分析,解决了测试 日志的人工分析存在的测试失败原因类型判断不准确问题,使得测试人员 可以有针对性地分析测试日志,及时发现新产品缺陷问题。
图7给出了本发明一种自动化测试日志分析方法实施例六示意图,本实 施例为本发明的一种较优实施例,给出了获取自动化测试结果为测试失败的 当前测试日志,将所述当前测试日志与测试日志数据库中的参考测试日志进 行比较,并根据比较结果判断测试失败的原因类型的过程。步骤101,接收一个测试失败的测试日志的XML文件,根据背景技术中 的现有自动化测试4支术判断此测试日志没有测试脚本异常问题和测试环境问 题后,读取XML文件的测试日志数据,把XML文件的测试日志数据保存在数 组中,测试日志数组是以XML节点的关键字为索引的数据结构。
步骤102,根据项目名称、产品名称、测试脚本编号的关键字从测试日 志数组里获取查找数据库的查找信息,查找信息由"项目名称+产品名称+测 试脚本编号"组成。根据查找信息的"项目名称+产品名称+测试脚本编号" 找到测试日志数据库里对应的参考测试日志的XML文件,如果不存在对应的 参考测试日志,则判断测试失败的原因类型为新产品缺陷问题或其它测试问 题。否则执行步骤103。
步骤103,对参考测试日志的产品指标值与当前测试日志的产品指标值 进行对比,如果有产品指标值不一样,则判断测试失败的原因类型为测试脚 本产品指标值错误问题,否则执行步骤104。产品指标值保存在测试日志XML 文件中对应变量名的节点上,上述判断可以通过获取XML节点的对应的节点 的值来进行判断。
步骤104,在当前测试日志中按顺序搜索测试结论为实测数据和预期数 据不一致的测试步骤,如果搜索到,就根据测试步骤的编号去获取参考测试 日志中该测试步骤的数据,并执行步骤105。
步骤105,判断当前测试日志与参考测试日志中对应测试步骤的测试结 论是否相同,如果不同则判断测试失败的原因为新产品缺陷问题或其它测试 问题。如果相同则执行步骤106。
步骤106,判断当前测试日志与参考测试日志中对应测试步骤的实测数 据是否相同,如果不同判断测试失败的原因类型为新产品缺陷问题或其它测 试问题,如果相同则执行步骤107。
步骤107,判断参考测试曰志中的对应测试步骤否存在缺陷编号,如果 不存在则标识当前测试日志存在测试脚本兼容性问题,否则不进^t标识;扭豸行步骤108。缺陷编号是对应缺陷系统上的编号,默认值为空,测试人员最
初对测试日志分析时,发现有产品缺陷问题就把缺陷系统上对应的编号写到
测试日志的XML文件对应缺陷编号的节点上。
步骤108,判断测试步骤是否结束,如果未结束则执行步骤104,如果已结束则执行步骤109。对所有实测数据和预期数据不一致的测试步骤进行对比分析,直至所有测试步骤都对比较分析完成。
步骤109,判断当前测试日志是否已经^皮标识为存在测试脚本兼容性问题,如果是则判断测试失败的原因类型为测试脚本兼容性问题,否则判断测试失败的原因类型为已知产品缺陷问题。即只要有一个测试结-沦为实测数据和预期数据不一致的测试步骤没有已知产品缺陷编号,则判断测试失败的原因类型为测试脚本兼容性问题。否则判断测试失败的原因类型为已知产品缺陷问题。
对测试失败的测试日志分析完后,然后对测试失败的测试日志和测试结果都加上测试失败的原因类型标记,以方便对测试日志进行自动筛选,测试人员只需要分析测试失败的原因类型为新产品缺陷问题或其它测试问题的测试日志即可。
本发明通过将自动化测试结果为测试失败的当前测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型,可以识别出测试失败的原因类型是测试脚本产品指标值错误问题、测试脚本兼容性问题、已知产品缺陷问题的测试日志,筛选出测试失败原因类型为新产品缺陷问题或其它测试问题的测试日志给测试人员分析,解决了测试日志的人工分析存在的测试失败原因类型判断不准确问题,使得测试人员可以有针对性地分析测试日志,及时发现新产品缺陷问题。
此外本发明通过对测试日志加上测试失败原因类型标记,方便了对测试日志进行自动篩选,测试人员只需要分析测试失败的原因类型为新产品缺陷问题或其它测试问题的测试日志即可。本发明使用XML文件保存测试日志,对每类信息指定一个唯一关键字,让关键字作为XML文件格式对应的节点,可以方便地对测试日志进行自动地对比分析。
本发明又提供了 一种自动化测试日志分析装置,图8给出了本发明一种自动化测试日志分析装置实施一示意图,所述装置包括测试日志数据库Ml 、测试日志分析模块M2和数据库管理模块M3;
所述测试日志数据库Ml用于存储参考测试曰志;
测试日志数据库可以是用于存储没有测试脚本异常问题、测试脚本产品指标值错误问题、测试环境问题合格且正确的测试日志集合。测试日志数据库初始时可以选择被测产品的某个版本的测试日志为基准, 一般可以选择初始版本作为测试日志的基准。
测试日志数据库中的测试日志可以包含测试脚本编号、测试脚本测试产品指标值信息、测试步骤编号、测试步骤的实测数据和测试结论等信息,这些信息是对测试失败的测试日志进行分析时的参照对比数据。
测试日志数据库中可以包含多个项目,每个项目对应一个文件夹,每个项目的文件夹下又包含了各个被测产品的文件夹,每个被测产品的文件夹下包含各个测试脚本的测试日志文件,日志文件可以采用XML ;f各式文件,文件以测试脚本编号的名字命名的,测试日志的XML文件保存格式如图1所示。
所述测试日志分析模块M2与测试日志数据库Ml连接,用于获取自动化测试结果为测试失败的当前测试日志,将所述当前测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型。
使用测试日志分析模块识别测试失败的原因类型的方法可以为
1) 、如果当前测试日志的产品指标值和参考测试日志的产品指标值不一样,则可以识别出测试失败的原因类型为测试脚本产品指标值错误问题。
2) 、如果当前测试日志的每个测试步骤的测试结论、实测数据和参考测试日志对应测试步骤的测试结论、实测数据都一致,且在参考测试日志中,测试结论为实测数据和预期数据不一致的测试步骤都存在已知产品缺陷的编号,则可以识别出测试失败的原因类型为已知产品缺陷问题。
3)、如果当前测试日志的每个测试步骤的测试结论、实测数据和参考测试日志对应测试步骤的测试结论、实测数据都一致,且在参考测试日志中,只要有一个测试结论为实测数据和预期数据不一致的测试步骤没有已知产品
缺陷编号,则可以识别出测试失败的原因类型为测试脚本兼容性问题。
4 )、如果测试日志数据库没有找到与当前测试日志对应的参考测试日志,
或者当前测试日志的每个测试步骤的测试结论、实测数据与参考测试日志对应测试步骤的测试结论、实测数据只要有一个地方不一致,则可以判断测试失败的原因类型为新产品缺陷问题或其它测试问题,只有该类型的测试日志才需要测试人员进行分析。
所述数据库管理模块M3与测试日志数据库Ml连接,用于根据自动化测试执行后判断为合才各的当前测试日志来更新测试日志数据库中的参考测试日
志5
所述数据库管理模块具体可以用于根据自动化测试执行后没有测试脚本异常问题、测试脚本产品指标值错误问题和测试环境问题的当前测试日志来更新测试日志数据库中的参考测试日志。
数据库管理模块是用于对测试日志数据库的测试日志进行添加、更新的操作。
数据库管理模块对测试日志数据库的测试日志进行添加、更新操作的实现方法可以为根据当前测试日志的"项目名称+产品名称+测试脚本编号",到数据库相应的目录下查找对应的测试日志,如果没有查找到,则把当前测试曰志添加到数据库相应的目录下。否则,就对当前测试日志和参考测试曰志的每个测试步骤的测试结论进行判断,如果当前测试日志某个测试步骤的测试结论是实测数据和预期数据一致,而参考测试日志对应测试步骤的测试结论是实测数据和预期数据不一致,则对参考测试日志该测试步骤的数据进行更新,否则,其它情况都不进行更新。 .通常在下面的两种情况下,数据库管理模块需要对测试日志数摒库的测试日志进行添加、更新的操:作。
1) 、某个项目的参考测试日志为空时,则通过数据库管理模块把初版本上执行的测试日志经过分析后,没有测试脚本异常问题、测试脚本产品指标值错误问题、测试环境问题合格且正确的测试日志添加到测试日志数据库项目对应的目录下。其中测试脚本异常问题和测试环境问题可以通过现有自动
化测试技术自动识别篩选出来,对于初始版本的测试日志,可以通过人工分析判断出测试脚本产品指标值错误问题,而对于非初始版本的测试日志,贝'J可以通过本发明一种自动化测试日志分析方法实施例三中所述步骤S24的来判断测试脚本产品指标值错误问题。
2) 、某次自动化执行后的测试日志经过测试人员分析后,把需要添加或
更新的测试日志,例如软件缺陷被修订后的输出的测试日志和新增测试脚本输出的测试日志,通过数据库管理模块添加或更新到测试日志数据库中,这样测试日志数据库在每次测试脚本执行后,测试日志都是最新的,可以保证测试日志分析模块下次对测试失败的测试日志进行分析时能够得到正确的分析结果。
图9给出了本发明一种自动化测试日志分析装置实施二示意图,本实施例除了包括装置实施例一的结构特征外,所述测试日志分析模块M2还包括测试曰志获取单元M21、第一查询单元M22、第一判断单元M23和第一原因判定单元M24; .'
所述测试日志获取单元M21用于获取自动化测试结果为测试失败的当前测试日志;
所述第一查询单元M22与测试日志获取单元M21连接,用于在测试日志数据库中查找是否存在与当前测试日志对应的参考测试日志,如果存在则调用第一判断单元M23,如果不存在则调用第一原因判定单元M24;'
所述第一判断单元M23与测试日志获取单元M21和第一查询单元M22连接,用于查找当前测试日志中测试结论为实测数据与预期数据不一致的测试步骤,判断所述测试步骤的测试结论、实测数据是否与参考测试日志中对应测试步骤的测试结i仑、实测数据相同,如果不相同则调用第一原因判定单元
M24;
所述第一原因判定单元M24与第一查询单元M22和第一判断单元M23连接,用于判断测试失败的原因类型为新产品缺陷问题或其它测试问题,并结束操作。
图IO给出了本发明一种自动化测试日志分析装置实施三示意图,本实施例除了包括装置实施例二的结构特征外,所述测试日志分析模块M2还包括第二判断单元M25和第二原因判定单元M26;
所述第二判断单元M25与测试日志获取单元M21、第一查询单元M22和第 一判断单元M23连接,用于判断当前测试日志的产品指标值与参考测试日志的产品指标值是否相同,如果不相同则调用第二原因判定单元M26,如果相同则调用第 一判断单元M2 3;
所述第二原因判定单元M26与第二判断单元M25连接,用于判断测试失败的原因类型为测试脚本产品指标值错误问题,并结束操作;
所述第一查询单元M22还用于在调用第一判断单元M23之前调用第二判断单元M25。
图ll给出了本发明一种自动化测试日志分析装置实施四示意图,本实施例除了包括装置实施例二的结构特征外,所述测试日志分析模块M2还包括第三判断单元M27,与第一判断单元M23连接,用于判断在所述参考测试曰志中是否存在缺陷编号,如果不存在则标识测试失败的原因类型为测试脚本兼容性问题;
所述第一判断单元M23还用于在判断所述测试步骤的测试结论、实测数据是否与参考测试日志中对应测试步骤的测试结论、实测数据相同时调用第三判断单元M27。本实施例除了可以在装置实施例二的基础上进行上述扩展外,还可以在装置实施例三的1^出上进行上述扩展。
图12给出了本发明一种自动化测试日志分析装置实施五示意图,本实施
例除了包括装置实施例四的结构特征外,所述测试日志分析^^莫块M2还包括第四判断单元M28、第三原因判定单元M29和第四原因判定单元M210;
所述第四判断单元M28与测试日志获耳又单元M21、第三判断单元M27和第一判断单元M23连接,用于判断所述测试步骤是否结束,如果未结束则调用第一判断单元M23,如果已结束则判断当前测试日志是否已经-陂标识为测试脚本兼容性问题,如果是则调用第三原因判定单元M29,否则调用第四原因判定单元M210;
所述第三原因判定单元M29与第四判断单元M28连接,用于判断测试失败的原因类型为测试脚本兼容性问题,并结束操作;
所述第四原因判定单元M210与第四判断单元M28连接,用于判断测试失败的原因类型为已知产品缺陷问题,并结束操作;
所述第三判断单元M27还用于调用第四判断单元M28。
图13给出了本发明一种自动化测试日志分析装置实施六示意图,本实施例除了包括装置实施例一的结构特征外,所述数据库管理模块M3包括第二查询单元M31、数据库添加单元M32、第五判断单元M33和数据库更新单元M34;
所述第二查询单元M31用于在测试日志数据库中根据自动化测试执行后判断为合格的当前测试日志的项目名称、产品名称和测试脚本编号查找是否存在与当前测试日志对应的参考测试日志,如果不存在则调用数据库添加单元M32,如果存在则调用第五判断单元M33;
所述数据库添加单元M32与第二查询单元连接M31,用于将当'前测试日志添加到测试日志凄史据库中;
所述第五判断单元M33与第二查询单元M31连接,用于对每个测试步骤的测试结论进行判断,如果当前测试日志中所述测试步骤的测试结论为实测数据与预期数据一致,而参考测试日志中所述测试步骤的测试结论为实测数
据与预期数据不一致,则调用数据库更新单元M34;
所述数据库更新单元M34与第五判断单元M33连接,用于使用当前测试曰志来更新参考测试曰志。
本实施例除了可以在装置实施例一的基础上进行扩展外,还可以在装置实施例二至装置实施例五中的任一实施例基础上进行上述扩展。
本发明通过将自动化测试结果为测试失败的当前测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型,可以识别出测试失败的原因类型是测试脚本产品指标值错误问题、测试脚本兼容性问题、已知产品缺陷问题的测试日志,筛选出测试失败原因类型为新产品缺陷问题或其它测试问题的测试日志给测试人员分析,解决了测试日志的人工分析存在的测试失败原因类型判断不准确问题,使得测试人员可以有针对性地分析测试日志,及时发现新产品缺陷问题。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技
术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种自动化测试日志分析方法,其特征在于,所述方法包括步骤S1,获取自动化测试结果为测试失败的当前测试日志,将所述当前测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型;步骤S2,根据自动化测试执行后判断为合格的当前测试日志来更新测试日志数据库中的参考测试日志。
2. 根据权利要求1所述的方法,其特征在于,所述步骤S1具体包括 步骤Sll ,获耳又自动化测试结果为测试失败的当前测试日志;步骤S12,在测试日志数据库中查找是否存在与当前测试日志对应的参 考测试日志,如果存在则执行步骤S13,如果不存在则执行步骤S";步骤S13,查找当前测试日志中测试结论为实测数据与预期数据不一致 的测试步骤,判断所述测试步骤的测试结论、实测数据是否与参考测试日志 中对应测试步骤的测试结论、实测数据相同,如果不相同则执行步骤S14;步骤S14,判断测试失败的原因类型为新产品缺陷问题或其它测试问题, 并结束操作。
3. 根据权利要求2所述的方法,其特征在于,步骤S12中在所述执行步 骤S13之前还包括执行步骤S15:判断当前测试日志的产品指标值与参考测 试日志的产品指标值是否相同,如果不相同则判断测试失败的原因类型为测 试脚本产品指标值错误问题,并结束操作,如果相同则执行步骤S13。
4. 根据权利要求2或3所述的方法,其特征在于,步骤S13中所述判断 所述测试步骤的测试结论、实测数据是否与参考测试日志中对应测试步骤的 测试结论、实测数据相同,如果相同则执行步骤S16:判断在所述参考测试 日志中对应测试步骤是否存在缺陷编号,如果不存在则标识当前测试日志存 在测试脚本兼容性问题。
5. 根据权利要求4所述的方法,其特征在于,所述步骤S16之后还包括 步骤S17:判断所述测试步骤是否结束,如果未结束则执行步骤S13,如果已 结束则判断当前测试日志是否已经被标识为存在测试脚本兼容性问题,如果 是则判断测试失败的原因类型为测试脚本兼容性问题,并结束操作,否则判 断测试失败的原因类型为已知产品缺陷问题,并结束操:作。
6. 根据权利要求2所述的方法,其特征在于,步骤S12中所述查找是否 存在与当前测试日志对应的参考测试日志具体为根据当前测试日志的项目 名称、产品名称和测试脚本编号查找是否存在与当前测试日志对应的参考测 试曰志。
7. 根据权利要求1所述的方法,其特征在于,步骤S2中所述判断为合格 的当前测试日志具体为没有测试脚本异常问题、测试脚本产品指标值错误 问题和测试环境问题的当前测试日志。
8. 根据权利要求1所述的方法,其特征在于,所述步骤S2具体为在测试日志数据库中根据自动化测试执行后判断为合格的当前测试日志的项目名称、产品名称和测试脚本编号查找是否存在与当前测试日志对应的参考测试日志,如果不存在则将当前测试日志添加到测试日志数据库中,如果存在则 对每个测试步骤的测试结_论进行判断,如果当前测试日志中所述测试步骤的测试结论为实测数据与预期数据一致,而参考测试日志中所述测试步骤的测 试结论为实测数据与预期数据不一致,则使用当前测试日志来更新参考测试 曰志。
9. 根据权利要求1所述的方法,其特征在于,所述获取自动化测试结果 为测试失败的当前测试日志具体为获取自动化测试结果为测试失败且没有 测试脚本异常问题和测试环境问题的当前测试日志。
10. —种自动化测试日志分析装置,其特征在于,包括测试日志数据库、 测试日志分析模块和数据库管理模块;所述测试日志数据库用于存储参考测试日志;所述测试日志分析模块与测试日志数据库连接,用于获取自动化测试结 果为测试失败的当前测试日志,将所述当前测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型;所述数据库管理^t块与测试日志数据库连接,用于^f艮据自动化测试执行 后判断为合格的当前测试日志来更新测试日志数据库中的参考测试曰志。
11. 根据权利要求IO所述的装置,其特征在于,所述测试日志分析模 块包括测试日志获fi单元、第一查询单元、第一判断单元和第一原因判定单 元;所述测试日志获取单元用于获取自动化测试结果为测试失败的当前测试 曰志;所述第一查询单元与测试日志获取单元连接,用于在测试日志数据库中 查找是否存在与当前测试日志对应的参考测试日志,如果存在则调用第一判 断单元,如果不存在则调用第一原因判定单元;所述第一判断单元与测试日志获取单元和第一查询单元连接,用于查找 当前测试日志中测试结论为实测数据与预期数据不一致的测试步骤,判断所 述测试步骤的测试结论、实测数据是否与参考测试日志中对应测试步骤的测 试结论、实测数据相同,如果不相同则调用第一原因判定单元;所述第 一原因判定单元与第 一查询单元和第 一判断单元连接,用于判断 测试失败的原因类型为新产品缺陷问题或其它测试问题,并结束操作。
12. 根据权利要求11所述的装置,其特征在于,所述测试日志分析模 块还包括第二判断单元和第二原因判定单元;所述第二判断单元与测试日志获取单元、第一查询单元和第一判断单元连接,用于判断当前测试日志的产品指标值与参考测试日志的产品指标值是 否相同,如果不相同则调用第二原因判定单元,如果相同则调用第一判断单元;所述第二原因判定单元与第二判断单元连接,用于判断测试失败的原因类型为测试脚本产品指标值^睹误问题,并结束^t喿作;所述第 一查询单元还用于在调用第 一判断单元之前调用第二判断单元。
13. 根据权利要求11或12所述的装置,其特征在于,所述测试日志分 析模块还包括第三判断单元,与第一判断单元连接,用于判断在所述参考测 试日志中是否存在缺陷编号,如果不存在则标识测试失败的原因类型为测试脚本兼容性问题;所述第一判断单元还用于在判断所述测试步骤的测试结论、实测数据是 否与参考测试日志中对应测试步骤的测试结论、实测数据相同时调用第三判断单元。
14. 根据权利要求11所述的装置,其特征在于,所述测试日志分析模 块还包括第四判断单元、第三原因判定单元和第四原因判定单元;所述第四判断单元与测试日志获^i单元、第三判断单元和第一判断单元 连接,用于判断所述测试步骤是否结束,如果未结束则调用第一判断单元, 如果已结束则判断当前测试日志是否已经被标识为测试脚本兼容性问题,如 果是则调用第三原因判定单元,否则调用第四原因判定单元;所述第三原因判定单元与第四判断单元连接,用于判断测试失败的原因 类型为测试脚本兼容性问题,并结束操作;所述第四原因判定单元与第四判断单元连接,用于判断测试失败的原因 类型为已知产品缺陷问题,并结束操作;所述第三判断单元还用于调用第四判断单元。
15. 根据权利要求IO所述的装置,其特征在于,所述数据库管理模块 具体用于根据自动化测试执行后没有测试脚本异常问题、测试脚本产品指标 值错误问题和测试环境问题的当前测试日志来更新测试日志数据库中的参考 测试日志。
16. 根据权利要求IO所述的装置,其特征在于,所述数据库管理模块 包括第二查询单元、数据库添加单元、第五判断单元和数据库更新单元;所述第二查询单元用于在测试日志数据库中根据自动化测试执行后判断 为合格的当前测试日志的项目名称、产品名称和测试脚本编号查找是否存在 与当前测试日志对应的参考测试日志,如果不存在则调用数据库添加单元,如果存在则调用第五判断单元;所述数据库添加单元与第二查询单元连接,用于将当前测试日志添加到 测试日志数据库中;所述第五判断单元与第二查询单元连接,用于对每个测试步骤的测试结 论进行判断,如果当前测试日志中所述测试步骤的测试结论为实测数据与预 期数据一致,而参考测试日志中所述测试步骤的测试结论为实测数据与预期 数据不一致,则调用数据库更新单元;所述数据库更新单元与第五判断单元连接,用于使用当前测试日志来更 新参考测试曰
全文摘要
本发明提供了一种自动化测试日志分析方法和装置。所述方法包括步骤S1,获取自动化测试结果为测试失败的当前测试日志,将所述当前测试日志与测试日志数据库中的参考测试日志进行比较,并根据比较结果判断测试失败的原因类型;步骤S2,根据自动化测试执行后判断为合格的当前测试日志来更新测试日志数据库中的参考测试日志。本发明可以自动识别各种测试失败原因类型的测试日志,解决测试日志的人工分析存在的测试失败原因类型判断不准确问题,使得测试人员可以有针对性地分析测试日志。
文档编号G06F11/36GK101556550SQ200910084360
公开日2009年10月14日 申请日期2009年5月22日 优先权日2009年5月22日
发明者李炳泉 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1