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