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