测试结果 - 快速指南
测试结果 - 概述
软件开发团队必须了解测试中发现的故障。他们需要了解运行了哪些测试用例、失败的原因是什么以及是否发生了任何质量退化或下降。
自动和手动测试的测试报告以及测试用例的管理是开发和测试工具堆栈的重要组成部分。理想情况下,所有测试运行的测试用例和测试结果都应该易于访问。
Tesults 是一个基于 Web 的测试结果和测试用例管理应用程序。本教程的目的是演示如何设置测试以使用 Tesults 报告结果,并解释如何使用可用的分析和报告功能。
测试结果特点
测试结果的主要特点如下 -
- 测试结果报告
- 测试用例管理
- 将并行测试作业的测试结果合并到单次运行中
- 整合整个应用程序或项目的测试结果
- 通过电子邮件和 Slack 等其他服务通知结果
- 存储测试生成的数据,例如日志和屏幕截图。
- 将测试用例分配给团队成员
- 错误链接
- 片状测试指示器
- 测试用例评论
- 测试协作
- 性能数据图表
免费和付费定价
Testults 是一种商业服务,团队可以订阅付费计划。它提供免费的项目计划用于评估。免费项目没有时间限制,想用多久就用多久。
然而,与付费项目相比,免费项目在很多方面受到限制,最明显的是仅提供一个目标(目标将在下一节中解释),并且每次测试运行的测试用例数量限制为 100 个。
对于一些开源项目、个人和教育工作者以及小型团队来说,Tesults 可以根据定价页面上提到的电子邮件请求提供折扣甚至免费产品,因此即使没有预算的团队也可以使用 Tesults。
测试结果 - 注册和项目创建
本章讨论的主题包括如何注册、如何创建项目以及测试的目标到底是什么。
报名
首先要做的就是注册。访问www.tesults.com并单击标题中的“注册” 。
要注册,您必须输入您的电子邮件地址、创建密码并输入您的姓名。
创建项目
注册后,您将自动登录并可以创建项目。单击标题中的“配置” ,然后单击“创建新项目”。您需要输入项目的名称。
接下来您必须选择您的计划。对于本教程,我们将创建一个免费项目。
项目创建后,将显示一个“令牌” 。将测试结果提交给 Tesults 需要此令牌,并且应复制该令牌。任何时候,都可以从配置菜单重新创建这些令牌。
至此项目就创建完成了。接下来要做的就是集成自动化测试,将结果数据推送到 Testults。
目标
Tesults 使用术语“目标”来指代测试结果数据源,例如特定的测试作业。建议将每个目标视为一个用于上传测试结果的存储桶。通常,软件开发团队不仅仅运行一次测试。他们可以在不同的环境、不同的设备、不同的分支以及应用程序的不同模块中运行测试。
例如,如果有后端和前端,则可能有后端的API测试和前端的UI自动化测试。如果这些测试集在开发环境和临时环境中运行,则有四个测试作业 -
- 后端开发
- 前端开发
- 后端暂存
- 前端暂存
结果将把每一个都视为“目标”。这种目标概念的原因与使每次测试运行与上次运行具有可比性有关,并且作为组织来自不同来源的结果数据的一种方式。
Testults - 集成您的自动化测试
Tesults 使库可用于集成各种语言,其中包括 -
- Python
- 节点.js / JS
- 爪哇
- C#
- Ruby
- 去
还有一个可用的 REST API。要上传测试生成的数据和文件,必须使用其中一个库。
无代码集成
对于某些测试框架,可以使用可用的测试框架特定库进行集成,而无需任何代码。
不需要代码集成的测试框架包括 -
- py测试
- 机器人
- 笑话
- 摩卡
- JUnit5
- N单元3
所有这些库的集成过程都是相似的。
安装插件
在您的测试项目中,安装相关的 Tesults 插件。例如,如果您使用 pytest,则可以使用'pip install tesults'后跟'pip install pytest-tesults'来完成。如果您使用 Mocha,请使用'npm install mocha-tesults-reporter – save'。在 Tesults 网站上查看适合您的测试框架的命令。
配置插件
有些插件不需要配置,可以立即使用,有些则需要少量配置。例如,对于 pytest,不需要额外的配置并且可以使用。
对于 Mocha,需要对'mocha'调用进行一个小更改,特别是需要指定报告器'mocha --reporter mocha-tesults-reporter'。请参阅 Tesults 网站,了解您正在使用的框架的具体配置,但一般来说,配置是一行更改或不更改。
传递参数
有一个必需参数传递给插件和其他可选参数。所需的 arg 是提供 Tesults 目标标记。该令牌是在为上一个教程页面中的默认目标创建项目时生成的。如果您在测试结果的配置菜单中没有此令牌,则可以获取新令牌。单击配置菜单中的“重新生成目标令牌” 。
如何传递参数取决于您的测试框架和插件。例如,在 pytest 中,可以在 pytest 调用“pytest --tesults-target token_value”中或通过使用配置文件来提供。对于Mocha来说,也是类似的,可以在mocha中传递,称为“mocha * --reporter mocha-tesults-reporter -- tesults-target=token”,也可以在配置文件中传递。
目标令牌是唯一必需的参数,还有用于传递构建信息和文件上传的可选参数。有关测试框架的参数的具体信息,请参阅 Tesults 网站。
运行测试
运行您的测试,结果现在将提交给 Testults。
代码集成
如果您使用的是自定义测试框架或 Tesults 没有特定库或插件的测试框架,您需要使用其中一种语言框架。
在这里,我们将了解一下 Python 集成涉及哪些内容。其他语言具有非常相似的集成过程,请参阅 Tesults 网站了解您的编程语言的具体详细信息,但首先按照本教程了解该过程 -
安装库
对于 Python,命令如下:
pip install tesults
对于其他语言,过程类似,对于 JS 测试框架,您可以从 npm 安装库,对于 Java,您可以使用 Gradle 或 Maven,对于 C#,包托管在 NuGet 上,而 Ruby 将其作为 gem 提供。
配置库
对于 Python,配置只涉及您想要使用该库的任何模块中的require 'testults' 。同样,其他语言也需要类似的配置。有关您的编程语言的具体配置,请参阅 Testults 网站。
地图测试数据
无代码插件可以让您避免这一步。对于基于代码的集成,您必须将测试数据映射到 Tesults 测试数据。
对于 Python,这意味着将每个测试用例结果转换为 Python 字典 -
{ 'name': 'Tutorial 1', 'desc':'Tutorial 1 .', 'suite': 'Tutorials Point', 'result': 'fail', 'reason': 'Assert fail in line 102, tutorialspoint.py', 'files': ['full-path/log.txt', 'full-path/screencapture.png'], '_CustomField': 'Custom field value' }
名称和结果为必填项。其他一切都是可选的。结果必须是'pass'、'fail'或 'unknown' 之一。
该套件很有用,因为它可以在查看结果时帮助对测试用例进行分组,并有助于避免名称冲突。对于失败的测试用例应提供原因。
文件对于确保存储日志和其他测试文件非常有用,并且可以与它们所属的测试用例一起查看。
您还可以拥有任意数量的自定义字段;它们必须以下划线 (_) 字符开头。对于每个测试用例,以这种方式构建一个字典,并将它们存储在一个数组中。
上传结果
为了上传结果,每个图书馆都提供了结果上传功能。对于 Python,您需要调用以下命令 -
tesults.results(data)
其中数据参数如下 -
data = { ‘target’: ‘token’, ‘results’: { ‘cases’: [<your test cases>] } }
Cases 数组是在上一节中创建的数组。
对于其他编程语言,该过程完全相同,只是语法发生变化。
帮助
如果您需要,Tesults 网站可以提供请求集成帮助的方法。
下一步
至此,集成已完成,我们可以看看如何查看、分析测试结果并采取行动。
测试结果 - 查看测试结果
Tesults 提供了三种总体测试结果视图和一种详细测试用例视图。
结果查看
结果视图是查看测试运行的测试结果的主要方式。测试运行的所有测试用例都会显示并按测试套件分组。
如果您有数百或数千个测试结果,您可以使用侧面的测试套件折叠和展开按钮以使导航更容易。
有一些控件可用于更改视图。您可以使用这些来 -
更改视图类型 - 结果、摘要、补充
更改项目 - 如果您有多个项目
更改目标 - 如果您有多个目标
更改测试运行 - 您可以选择较旧的测试运行
搜索 - 如果您有数百或数千个测试用例来搜索特定测试用例,则很有用
排序依据 - 您可以选择按套件、结果(通过/失败)和测试名称对结果进行排序
刷新结果 - 您可以单击刷新图标手动刷新或启用自动刷新,这将频繁刷新视图
结果视图列出了通过、失败的总数、测试用例总数以及按测试套件划分的测试用例数。
补充观点
补充视图对于快速找出哪些测试用例是新的失败、旧的或持续的失败以及新的通过是最有用的。补充视图通过自动将最新结果与以前的测试运行进行比较,使这些信息变得容易获得,而不必在结果视图中弄清楚这一点。
摘要视图
如果您有许多目标(测试作业),摘要视图会很有用。您可以在这一视图中查看整个项目的最新结果,以了解是否有需要注意的特定领域。
测试用例详细信息
在结果视图中,您可以单击任何测试用例以查看有关它的详细信息。出现测试用例特定视图,其中字段包括 -
姓名
描述
结果
Suite - 这是测试用例所属的测试套件
失败原因 - 如果测试用例失败
文件 - 可以在此处查看文件。日志、屏幕截图和一些 csv 文件可以在窗口内内联查看,其他文件可以下载
链接 - 到此测试用例的直接链接
相关错误 - 来自 JIRA 或链接到测试用例的其他错误管理系统的错误
任务 - 用于将测试用例分配给同事,如果测试用例失败并且应该有人调查它,则非常有用
历史记录 - 显示同一测试用例的先前结果
注释 - 可以添加特定于测试用例的注释
通过使用三个高级视图和测试用例详细视图,可以全面了解测试结果。
测试结果 - 团队成员
您可以将团队成员添加到您的项目中,以便其他人可以登录并查看结果。此外,如果您想要将测试用例失败分配给特定人员来调查、审查结果、添加错误链接以及对测试用例进行评论,则需要添加团队成员。
添加团队成员
单击菜单栏中的“配置” ,然后单击“团队成员”。
通过提供电子邮件地址来单独添加团队成员,然后单击“添加”。或者使用 CSV 文件批量添加。
邀请将发送到您添加的电子邮件地址。
您还可以在此处删除团队成员并更改他们的角色。
团队成员角色
有五个团队成员角色。当添加新的团队成员时,他们自动成为级别 1 - Member。该角色可以查看结果。
如果您希望团队成员能够管理测试用例,则必须将其更改为级别 2 - 主持人。
下一个角色,第 3 级 - 管理员还可以管理项目,例如添加目标。
下一个角色,第 4 级 - 官员还可以编辑项目计划详细信息和付款信息。
5级是项目业主;如果您创建了该项目,那么这就是您。该角色是唯一可以删除项目的角色。
测试结果 - 项目配置
您可以使用配置菜单来应用可能影响您的项目的更改。
单击菜单中的“配置”以打开配置菜单。
目标
您可以从此菜单中执行的最重要的操作之一是创建和编辑目标。目标对应于测试作业,因此对于每次测试运行,您想要使用 Tesults 报告结果,您需要创建相应的目标。
单击“创建目标”以创建目标。
您还可以在此处编辑目标名称并在此处重新生成目标令牌。
如果您有许多目标,您还可以修改它们在摘要视图以及下拉选择列表中显示的顺序。
您也可以在此处删除目标。
团队成员
单击“团队成员”即可添加和编辑团队成员。上一节详细讨论了添加团队成员。
通知
您可以通过单击“自动通知”来选择启用和禁用通知。您可以选择是在每次测试运行后发送通知还是仅在结果发生更改时发送通知。第二种方法有助于减少在没有任何变化的情况下发送结果数据的垃圾邮件。
与其他服务集成
您还可以在配置菜单中将项目与 Slack 等外部服务集成。对于 Slack,您可以设置要发送到整个项目或不同 Tesults 目标的特定 Slack 通道的通知。
单击“Slack Channels”以配置哪些 Slack 通道应接收通知。
计划
您可以通过点击“计划”来更改您的计划类型。对于本教程,我们创建了一个免费项目。
通过构建整合结果
如果您运行并行测试运行,但结果应合并为单个测试运行,则可以通过单击配置菜单中的“结果合并通过构建”链接来启用合并。然后,如果测试运行的构建名称与另一测试运行的构建名称相匹配,则所有结果都会合并,以便您在一次测试运行中看到所有内容。
删除项目
要删除您的项目,请从配置菜单中单击“删除项目” 。
根据测试结果执行任务
每个测试用例都可以被视为一个“任务”。这对于处理失败的测试用例非常有用。
分配失败的测试用例
在这里,您将了解如何将失败的测试用例分配给团队成员。
如果您打开失败的测试用例的测试用例,您将看到一个名为'Task'的字段。有一个“分配”按钮。如果单击该按钮,您将看到所有项目团队成员的下拉列表。
选择您想要调查测试失败的团队成员。然后,他们将收到一封电子邮件,通知他们已被分配任务。
解决测试用例
如果向您分配了任务,并且您认为已实施修复,则可以将该任务设置为已解决。
解决通知
如果测试用例在下一次测试运行中通过,该任务将自动解决,并向分配该任务的任何人发送电子邮件,让他们知道测试已通过并且该任务将被删除。
监控不稳定的测试用例
Tesults 在任何测试用例的名称旁边添加了一个“片状”图标,看起来它已经在通过和失败之间改变了几次结果。目的是调查测试用例以确定是否 -
- 测试用例本身存在问题,导致它有时通过,有时失败。
- 正在测试的系统中存在一个偶尔出现的错误。
将错误链接到测试用例
如果失败的测试用例是由于已知错误造成的,或者如果您由于测试失败而创建了新错误,则可以将您在错误跟踪软件(例如 JIRA)中创建的错误链接到测试用例。只需粘贴错误跟踪器中的链接即可。然后,Tesults 在测试用例名称旁边添加一个“错误”图标,以显示错误已链接。
查看任务
单击菜单栏中的“任务”即可查看您自己和团队其他成员的任务。
您可以查看分配给您自己和其他人的任务,并且任务可以按已解决(如果您将其设置为已解决)和未解决来显示。您还可以通过单击测试用例将任务重新分配给其他人。
结果 - 通知
您可以设置通过电子邮件和外部服务(例如Slack)发送通知。
结果
单击菜单中的“配置”以打开配置菜单,然后单击“自动通知”。
从这里,您可以选择启用或禁用测试结果通知。
您还可以选择仅在测试结果更改时或每次测试运行时发送通知。如果您频繁提交测试结果(例如持续集成系统的一部分),最好仅发送有关更改的通知,以避免电子邮件溢出。
下一节将介绍与其他服务的集成。
任务
Testults 还发送与任务管理相关的通知。如果有人为您分配了一个测试用例,您会收到一封有关该测试用例的通知电子邮件。当分配给您的测试用例通过并从您的列表中删除时,您也会收到通知。
行政的
当在项目中添加或删除团队成员时,系统会发送有关此情况的通知消息。
测试结果 - 与其他服务集成
Tesults 可以与 Slack 集成,根据测试结果发送通知。路线图页面还提到即将与PagerDuty集成,将来可能还会有其他集成,但在本教程中,我们特别关注 Slack 集成。
单击菜单栏中的“配置”以访问配置菜单,然后单击 Slack。
第一步是授权 Tesults 能够向您的 Slack 频道发送消息。为此,您必须登录Slack和Tesults。然后单击“添加”按钮,如下所示 -
您将被发送到 Slack 进行授权。
确认后,您返回测试结果,然后可以选择按“项目范围”或“目标范围”启用通知。
项目范围
项目范围允许您选择哪个或哪些 Slack 通道应接收您的测试结果通知。来自任何目标的所有通知都将发送到您选择的渠道。
目标范围
如果您想要更精细的控制,请选择目标范围。
现在,您可以从 Tesults 项目中选择目标,并分配您想要从特定目标接收通知的 Slack 通道。您可以对每个目标执行此操作。
如果您有针对不同环境或项目区域的 Slack 频道,并且应该获得更有针对性的通知,这会很有用。
Tesults - 带列表的测试用例管理
测试列表用于管理测试用例。此处存储测试用例可重复用于每次手动测试运行,甚至用于记录自动化测试。
单击菜单中的“列表”进入测试列表视图。
创建测试列表
单击“创建列表”。请注意,您还可以创建一个组来开始,组允许您组织测试列表。如果您要创建大量测试列表,请创建组。
现在,命名您的测试列表并确认。您的列表将出现,您可以立即开始向其中添加测试用例。
添加测试用例
添加测试用例包括“手动”、“从CSV导入”和“从目标导入”三种类型。让我们从了解手册开始。
手动的
单击“将案例添加到列表”以手动添加测试案例。
输入测试用例详细信息,例如 -
- 姓名
- 结果
- 描述
- 套房
- 参数
- 自定义字段
单击“保存案例”,您将看到该案例已出现在列表中。
从 CSV 导入
您还可以从 csv 文件导入案例。
您需要确保您的 csv 文件已布局数据,因此列的第一行是字段名称。
从目标导入
导入测试用例的第三种方法是从目标(现有测试结果)。
选择要从中导入测试用例的目标。
更新测试用例
创建测试列表并添加测试用例后,您可以通过单击特定测试用例来编辑或更新测试用例。
单击测试用例页脚中的“编辑” 。
您可以更改任何字段;在这种情况下,我们将结果从失败更改为通过。
删除测试用例
同样,您可以通过单击所选测试用例页脚中的“删除”来删除测试用例。
与测试运行一起使用
您可以使用测试列表进行手动测试运行,下一节将解释如何执行此操作。
测试结果 - 手动测试的测试运行
测试运行用于进行手动测试。单击菜单中的“运行”以访问测试运行。
创建测试运行
首先要做的是创建测试运行。单击“创建新测试运行”,然后输入测试运行的名称并确认创建。
这里的名称是临时名称。默认情况下,Tesults 将其设置为当前日期和时间。该名称用于稍后返回测试运行或与其他团队成员共享测试运行以同时进行工作。
确认新的测试运行已创建,它将为空。
添加测试用例
要手动添加测试用例,请单击添加新用例。现在,您可以添加测试用例详细信息,包括 -
- 姓名
- 结果
- 套房
- 参数
- 描述
- 文件(上传测试用例相关文件)
- 自定义字段
保存案例,您将看到它已添加到测试运行中。
从列表导入测试用例
您还可以从测试列表添加测试用例(请参阅上一节以了解创建测试列表)。这是添加测试用例的最有效方法,因为对于每个新的测试运行,您都可以使用现有的测试用例。
单击“导入案例”,然后从下拉列表中选择测试列表并单击“导入”。
编辑测试用例
要编辑测试用例,请单击它以打开测试用例详细信息。
单击页脚中的“编辑” 。
删除测试用例
您可以用同样的方式删除测试用例。选择它并单击页脚中的“删除”。
将测试用例分配给团队成员
默认情况下,测试用例未分配,并且所有测试用例都从列表中显示。通过将下拉列表从“全部”更改为团队成员的姓名,可以更改向特定团队成员显示的测试用例。
一旦选择了团队成员(包括您自己),您就可以将测试用例分配给特定人员。出现一个新的“分配”按钮。单击它,测试运行将更改为显示所有测试用例,并带有指示器,显示测试用例是分配给当前选定的人员,还是未分配或已分配给其他人。
现在,您可以单击测试用例将其分配给当前选定的团队成员,然后再次单击以取消分配。完成后点击“完成” 。
选择“全部”将继续显示所有测试用例,选择团队成员将显示分配给该个人的测试用例。
将测试用例标记为已完成
默认情况下,测试运行中的所有测试用例都标记为不完整。这意味着需要对它们进行处理。要指示测试用例已完成,请选择测试用例并在页脚中单击“标记完成”。
在测试的顶部,显示运行已完成测试用例的百分比以及分配给团队成员的数量。
将测试用例标记为已完成可以轻松跟踪已查看的测试用例并了解运行进度。
提交手动结果
将运行中的所有测试用例标记为完成后,“提交测试运行”按钮将启用,您可以单击该按钮将结果提交到项目目标之一。
从下拉列表中选择适当的目标,然后单击“提交结果”。
由于自动化测试运行可能是通过将结果提交到特定目标来实现的,因此您可能需要为手动测试运行创建单独的目标,否则历史数据和比较将中断并导致混乱。
在某些情况下,如果测试运行是供测试团队内部使用而不是供更广泛使用,则最好不要提交结果。只需查看团队内的测试运行,然后创建新的测试运行即可开始新的测试运行。
如果您专门为手动测试运行创建了目标,那么提交结果是个好主意。提交后,您可以单击菜单栏中的“结果”来查看结果。