框架做到后期,大量的测试脚本已经编写完毕。大家可能会发现,量少和量多是完全不一样的概念。正如量多的时候你需要考虑运行性能一样,大量的测试脚本,必须考虑其组织方式。
在上次重构中,已经和大家交流过,系统中为测试脚本预留了一个“测试包”的概念。而最近又正好在设计最后日志的分析功能,所以很自然地联系起来考虑。(测试包是一个非常简单的概念,就是允许多个测试步骤或测试包,作为另一个测试包的子节点存在。)
日志是脚本在运行过程中记录下来的信息。对于测试来讲,这些脚本中的错误信息是他们非常需要的。但是如何在庞大的运行日志中方便地统计出他们需要的报告呢?
这里面必须先回答一个问题:这个报告给谁看?
给测试看?不,还有项目经理,开发经理,测试经理等等项目负责人。除了负责人,还有我们的开发人员也可能看。事实上,最好的情况是,测试错误能自动发送到相关模块的编码负责人手里,只不过由于这点往往需要和开发管理系统相连接,因此暂时不考虑。
回答了这个问题,我们知道统计的报告设计必须考虑到两方面的需求。对于管理者,他最需要了解的是这个系统运行的大概情况,有多少错误发生?这些错误严重吗?这些错误都是怎么分布的?如果你是管理者,你可能还能提出更多的要求,总之,你最关心当前这个版本能发版吗?
这是看上去简单,但又是很复杂的事情。简单是因为只是一些简单的数据而已,复杂的是这些数据的形成。我们知道,数据最关键的在于意义。如果不能为我们的统计数据找到合适的形成方式,那么所谓的报告也只能显得苍白无力。
这里面最最关键的在于回答管理者所谓的“严重”的标准。经过和测试人员反复的探讨,他们最关心的是“模块”的概念,这是和业务非常相近的。我们的系统如何来理解模块的概念呢?特别是,那些模块是重要的,那些模块是不重要的。
正如大家所想到的,解决这个问题的过程中,我们考虑到脚本中已经频繁使用到的“测试包”。虽然一开始并没有对测试包定义明确的意义,但是我们非常惊奇地发现,测试在编写脚本的时候,正是按照模块的概念在组织测试脚本。这对我们自然是一个非常好的消息。下面就是如何利用这个特点。测试人员心中想的是模块,因此组织的时候自然也容易按照模块的概念进行。不过包的数量还是很多的,因此我们做了一些假设(这些假设可能会作为配置选项出现),第一层和第二层的包是非常重要的,也是系统应该最优先关注的。
这样系统的分析报告便有了大概的模型:
-
运行日志总览:总数、错误数
-
日志错误分布:一级模块、二级模块
这个分析是根据一些假设来做的,有人问,万一用户不是这样使用“测试包”的呢?这个问题非常简单,我们的测试方案的组织和测试结果的分析报告,是一个相辅相成的矛盾体。正是因为测试包已经这样组织了,所以这样分析非常好。反过来,因为我们会这样统计结果,所以也会促使测试人员在编写脚本的时候,注意到测试包的应用。所幸的是,测试包可以非常方便地被插入和组织。
不要忘了我们另一个目的。测试人员要根据运行日志详细查看。一来分析脚本执行情况,而来确定并定位到具体错误所在。这种情况下,出一个静态报告,远不如一个动态分析软件更有用。因此这方面我们选择提供一个日志分析模块,可以过滤出所有错误项,还可以做一些其他的分析。
前面曾经提到的自动分析模块的错误,并发送到开发人员手里。这个现在并没有实现,思考时曾经考虑提供一个模块和开发人员的对应表,这样可以自动发送邮件了。不过具体实现的时候可能会遇到其他问题。
在日志分析基本完成后,自动化测试系统已经进入一个小结的时间,现在也要开始考虑它的下一步走向了。谢谢一直关心这个系统的人们!
分享到:
相关推荐
Excel用例读取+多用例自动运行+多浏览器+测试结果生成+失败case截图+log日志记录,具体介绍详见https://blog.csdn.net/wei92130/article/details/113810096
【接口自动化测试框架】 接口自动化测试是软件测试领域的一个重要组成部分,主要针对API(Application Programming Interface)进行自动化测试,确保各个系统之间的数据交互正确无误。Python作为一种强大的编程语言...
自动化测试框架是软件开发过程中的重要组成部分,它能够提高测试效率,确保产品质量,并方便团队协作。本文将探讨如何构建一个通用的自动化测试框架,并解决在不同项目、产品和功能之间如何共享同一框架的问题。 ...
【QTP自动化测试框架】是一种高效且广泛应用的测试解决方案,主要针对软件的自动化测试需求。在本框架中,我们可以看到几个关键组成部分,这些组件协同工作,以实现对应用程序的全面和自动化测试。 1. **Driver**:...
项目概述:深入探索基于Python的Playwright UI自动化测试框架 本项目致力于深入研究Playwright这一前沿的自动化UI测试框架,采用Python语言进行深入剖析与实践。项目包含35个文件,其中主要包括: - Python脚本...
《QTP自动化测试框架深度解析》 QTP(QuickTest Professional),现已被命名为UFT(Unified Functional Testing),是HP公司推出的一款功能强大的自动化测试工具,主要用于企业级的软件功能测试。QTP以其易于使用和...
6. **报告和日志**:自动化测试框架通常会生成详细的测试报告和日志,以供分析测试结果,定位问题。这些记录对于后期的问题排查和持续改进至关重要。 7. **适配器/接口**:自动化测试框架可能需要与各种API、数据库...
这是一个基于Python的接口自动化测试框架项目,主要利用了pytest、requests、yaml以及allure这四个核心库。让我们逐一深入理解这些技术及其在测试框架中的作用。 1. **pytest**: Pytest是一个强大的Python测试框架...
本文将深入探讨如何使用Python结合Selenium和Pytest构建一个强大的Web自动化测试框架,实现功能巡检、生成测试报告以及通过邮件发送测试结果。 首先,Python是一种广泛应用于测试领域的编程语言,其简洁明了的语法...
本压缩包“基于python构建的自动化测试框架.zip”提供了一个使用Python语言实现的自动化测试框架示例,旨在帮助开发者和测试工程师更好地理解和应用自动化测试。 首先,Python是一种流行的编程语言,它简洁明了的...
本文将深入探讨自动化测试工具、自动化测试框架、性能测试工具、测试用例管理和测试报告工具,以及软件测试面试题和自动测试面试的相关知识点。 1. 自动化测试工具:自动化测试工具如Selenium、Appium和JMeter,...
自动化测试框架设计是软件测试中的关键环节,它旨在提高测试效率、降低维护成本,并确保测试的质量。以下是对标题和描述中所述知识点的详细说明: 1. **自动化测试框架的分类**: - **数据驱动框架**:适用于测试...
【标题】"基于appium+java 的APP UI自动化测试框架.zip"揭示了这个压缩包内容主要涉及使用Appium和Java语言构建的移动应用UI自动化测试框架。Appium是一款开源的自动化测试工具,它允许开发者对Android和iOS平台的...
在构建App-UI自动化测试框架时,Python语言与Selenium、Appium、Pytest和YAML等工具结合,可以提供高效且灵活的解决方案。这里我们将深入探讨这些技术以及如何利用它们来实现Android应用的自动化测试。 首先,让...
Python的unittest库是用于编写单元测试的标准库,而将其应用到接口测试上则可以构建一个高效的自动化测试框架。以下将详细介绍如何利用unittest实现Python接口自动化测试框架,并讨论相关的知识点。 首先,unittest...
RobotFramework 自动化测试框架 Robot Framework 是一种通用的自动化测试框架,旨在解决自动化测试中的一些问题,如自动测试用例的实现方式、自动测试用例的开发支持等。下面将对 Robot Framework 的特点、优点、...
### 自动化测试框架之robot framework的应用分析 #### 一、引言 自动化测试框架是软件测试领域的重要组成部分,能够显著提高测试效率并减少人为错误。其中,**Robot Framework**作为一款开源、通用且易于扩展的自动...
Python结合Appium与Android自动化测试框架的构建是一个高效且强大的测试解决方案,尤其在移动应用测试领域。本框架的核心是利用Python作为编程语言,Appium作为跨平台的自动化测试工具,以及Android SDK为运行环境,...
《深入解析autoSweet_tallhbc:打造小而美的自动化测试框架》 在现代软件开发过程中,自动化测试已经成为不可或缺的一部分,它能显著提高测试效率,减少人为错误,并确保产品的稳定性和可靠性。本文将深入探讨...