`
ruilin215
  • 浏览: 1104854 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

自动化测试框架:日志的分析

阅读更多

框架做到后期,大量的测试脚本已经编写完毕。大家可能会发现,量少和量多是完全不一样的概念。正如量多的时候你需要考虑运行性能一样,大量的测试脚本,必须考虑其组织方式。

在上次重构中,已经和大家交流过,系统中为测试脚本预留了一个“测试包”的概念。而最近又正好在设计最后日志的分析功能,所以很自然地联系起来考虑。(测试包是一个非常简单的概念,就是允许多个测试步骤或测试包,作为另一个测试包的子节点存在。)

日志是脚本在运行过程中记录下来的信息。对于测试来讲,这些脚本中的错误信息是他们非常需要的。但是如何在庞大的运行日志中方便地统计出他们需要的报告呢?

这里面必须先回答一个问题:这个报告给谁看?

给测试看?不,还有项目经理,开发经理,测试经理等等项目负责人。除了负责人,还有我们的开发人员也可能看。事实上,最好的情况是,测试错误能自动发送到相关模块的编码负责人手里,只不过由于这点往往需要和开发管理系统相连接,因此暂时不考虑。

回答了这个问题,我们知道统计的报告设计必须考虑到两方面的需求。对于管理者,他最需要了解的是这个系统运行的大概情况,有多少错误发生?这些错误严重吗?这些错误都是怎么分布的?如果你是管理者,你可能还能提出更多的要求,总之,你最关心当前这个版本能发版吗?

这是看上去简单,但又是很复杂的事情。简单是因为只是一些简单的数据而已,复杂的是这些数据的形成。我们知道,数据最关键的在于意义。如果不能为我们的统计数据找到合适的形成方式,那么所谓的报告也只能显得苍白无力。

这里面最最关键的在于回答管理者所谓的“严重”的标准。经过和测试人员反复的探讨,他们最关心的是“模块”的概念,这是和业务非常相近的。我们的系统如何来理解模块的概念呢?特别是,那些模块是重要的,那些模块是不重要的。

正如大家所想到的,解决这个问题的过程中,我们考虑到脚本中已经频繁使用到的“测试包”。虽然一开始并没有对测试包定义明确的意义,但是我们非常惊奇地发现,测试在编写脚本的时候,正是按照模块的概念在组织测试脚本。这对我们自然是一个非常好的消息。下面就是如何利用这个特点。测试人员心中想的是模块,因此组织的时候自然也容易按照模块的概念进行。不过包的数量还是很多的,因此我们做了一些假设(这些假设可能会作为配置选项出现),第一层和第二层的包是非常重要的,也是系统应该最优先关注的。

这样系统的分析报告便有了大概的模型:

  1. 运行日志总览:总数、错误数
  2. 日志错误分布:一级模块、二级模块

这个分析是根据一些假设来做的,有人问,万一用户不是这样使用“测试包”的呢?这个问题非常简单,我们的测试方案的组织和测试结果的分析报告,是一个相辅相成的矛盾体。正是因为测试包已经这样组织了,所以这样分析非常好。反过来,因为我们会这样统计结果,所以也会促使测试人员在编写脚本的时候,注意到测试包的应用。所幸的是,测试包可以非常方便地被插入和组织。

不要忘了我们另一个目的。测试人员要根据运行日志详细查看。一来分析脚本执行情况,而来确定并定位到具体错误所在。这种情况下,出一个静态报告,远不如一个动态分析软件更有用。因此这方面我们选择提供一个日志分析模块,可以过滤出所有错误项,还可以做一些其他的分析。

前面曾经提到的自动分析模块的错误,并发送到开发人员手里。这个现在并没有实现,思考时曾经考虑提供一个模块和开发人员的对应表,这样可以自动发送邮件了。不过具体实现的时候可能会遇到其他问题。

在日志分析基本完成后,自动化测试系统已经进入一个小结的时间,现在也要开始考虑它的下一步走向了。谢谢一直关心这个系统的人们!

分享到:
评论

相关推荐

    selenium+python自动化测试框架:Excel用例读取+多用例自动运行+多浏览器+测试结果生成+失败case截图+log日志记录

    Excel用例读取+多用例自动运行+多浏览器+测试结果生成+失败case截图+log日志记录,具体介绍详见https://blog.csdn.net/wei92130/article/details/113810096

    自动化测试面试题总结.docx

    2,自动化测试的好处 3,自动化的前提 4,自动化测试的场景 5,元素定位的8种方式 6,如果一个元素无法定位,一般会考虑哪些原因 7,driver.close()和driver.quit()的区别 8,自动化脚本断言 9,判断页面元素是否...

    python+requests+pytest+allure+yaml+DDT+logs 接口自动化框架终极版

    框架代码已封装 小白 3行代码即可实现接口自动化 ...6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据驱动封装 9异常日志与BaseUrl封装

    禅道自动化测试框架 v1.2.zip

    大家好,禅道自动化测试框架1.2版本发布了。该版本增加了多语言的支持、windows下面增加了ruby, lua, perl, python等常见脚本的支持,并调整了临时目录的位置和日志的格式。 一、关于ZenTaoATF框架 禅道自动化测试...

    有趣(YouQu)一个使用简单且功能强大的自动化测试框架

    有趣(YouQu)是深度公司开源的一个用于 Linux 操作系统的自动化测试框架,支持多元化元素定位和断言、用例标签化管理和执行、强大的日志和报告输出等特色功能,同时完美兼容 X11、Wayland 显示协议,环境部署简单,...

    python接口自动化测试框架代码

    将测试用例写在excel表格里,通过程序实现自动化运行测试用例,将错误日志打印在log里。是根据一个开源项目改了一些代码,正确填好interface测试用例表格之后就能正常运行。

    禅道自动化测试框架 ZenTaoATF v1.2

    大家好,禅道自动化测试框架1.2版本发布了。该版本增加了多语言的支持、windows下面增加了ruby, lua, perl, python等常见脚本的支持,并调整了临时目录的位置和日志的格式。一、关于ZenTaoATF框架禅道自动化测试框架...

    Python-SeleniumUI自动化测试框架基于python

    基于python的selenium UI自动化测试框架,采用Page Object设计模式进行二次开发,通过对页面对象和测试代码进行分离,并封装了日志输出,浏览器引擎选择,二次封装常用方法

    基于 HTTP 请求的快速数据驱动 pytest 接口自动化测试框架

    基于 HTTP 请求的快速数据驱动 pytest 接口自动化测试框架。多项目分级,自由切换,互不干扰。测试数据隔离,自动解析与验证。测试数据错误定位(参数错误,重复测试用例ID...)。多环境自定义配置,不同用例可以...

    深入探索Python Playwright自动化UI测试框架源码

    项目概述:深入探索基于Python的Playwright UI自动化测试框架 本项目致力于深入研究Playwright这一前沿的自动化UI测试框架,采用Python语言进行深入剖析与实践。项目包含35个文件,其中主要包括: - Python脚本...

    selenium web自动化测试框架

    这是一个完整的web自动化测试框架,使用的是selenium+unittest+ddt框架。包含使用po模型方式、关键字方式。有数据驱动、日志监控、报告生成。

    接口自动化数据驱动框架python+request+pytest-allire

    自动化测试工程师:对于自动化测试工程师来说,这个框架提供了一种基于数据驱动的方法来执行接口测试。通过参数化测试用例,将测试数据与测试逻辑关联起来,可以在不同的数据集上执行相同的测试用例,提高测试覆盖率...

    前程贷接口自动化测试框架

    前程贷接口自动化测试框架 unittest+requests+HTMLTestRunner 优化了HTMLTestRunner第三方库,支持发送结果到邮件,完整的日志、报告、用例

    自动化测试框架(python)

    可以现用的python自动化框架,封装了定位元素方法、验证方法,自动记录日志、自动错误截图、包含web日志报告

    WebUiAutomation:Web UI自动化测试框架

    Web UI自动化测试框架(基于Selenium) 框架简介 基于python语言对selnium做的二次封装,主要有以下特点: 1.采用了主流的po模式2.实现了日志的记录与输出3.美观的测试报告输出4.灵活的测试用例获取5.数据库连接6....

    【2021】UI自动化测试框架(Selenium3)

    UI自动化框架的设计需储备基础知识,方能完成自动化测试框架的实现,如数据驱动、日志、配置文件等 AutoUiTestFrame自动化框架的目录结构初步进行规划,目录结构如下: Config 配置文件的目录 v config.ini 配置...

    自动化测试软件STAF

    Software Test Automation Framework (STAF) 是由IBM开发的开源、跨平台、支持多语言并且基于可重用的组件来构建的自动化测试框架。它封装了不同平台和不同语言间通信的复杂性,提供了消息、互斥、同步、日志等可...

    一款好用的接口自动化测试框架-bm-pytest-api-master

    一套开源的自动化测试框架,供以学习使用,基于pytest测试框架实现场景接口自动化和单接口自动化,支持参数驱动单接口执行,支持多接口依赖参数,支持配置全局变量,支持日志记录,数据库,yaml操作,二次封装...

    python selenium封装UI自动化框架.docx

    解决我们测试过程中的问题:大量的重复步骤,用自动化来实现 1)配置和程序的分离 2)测试数据和程序的分离 3)不懂编程的人员可以方便使用:使用的时候不需要写程序 4)有日志功能,实现无人值守 5)自动发报告 6)...

    适用于Node.js的下一代浏览器和移动自动化测试框架-Node.js开发

    Contribute WebdriverIO是一个测试自动化框架,使您可以基于Webdrive下一代浏览器和Node.js的移动自动化测试框架来运行测试。 设为首页 开发人员指南| API参考| 贡献| 变更日志| 路线图WebdriverIO是一个测试自动化...

Global site tag (gtag.js) - Google Analytics