📜  软件测试中的错误

📅  最后修改于: 2022-05-13 01:56:18.008000             🧑  作者: Mango

软件测试中的错误

软件测试是测试和验证软件产品或应用程序是否在做它应该做的事情的过程。测试的好处包括防止分心、降低开发成本和提高性能。有许多不同类型的软件测试,每种都有特定的目标和策略。其中一些如下:

  1. 验收测试确保整个系统按预期工作。
  2. 集成测试确保软件组件或功能协同工作。
  3. 单元测试确保每个软件单元按预期运行。该单元是应用程序的可测试组件。
  4. 功能测试根据操作要求,通过模仿业务条件来评估活动。检查黑匣子是确认任务的常用方法。
  5. 性能测试测试软件在各种操作负载下的工作方式。例如,负载测试用于评估实际负载条件下的性能。
  6. 重新测试测试新功能是否损坏或降级。当没有时间进行全面逆转测试时,卫生检查可用于验证最高级别的菜单、功能和命令。

什么是错误?

软件/系统中的故障是可能导致组件或系统无法执行其所需功能的错误。换句话说,如果在测试过程中遇到错误,可能会导致故障。例如,不正确的数据描述、陈述、输入数据、设计等。

出现错误的原因?

1. 缺乏沟通:这是促成软件错误修复开发的关键因素。因此,缺乏清晰的沟通可能会导致对软件应该做什么或不应该做什么的误解。在许多情况下,客户可能并不完全了解产品最终应该如何工作。如果该软件是为全新产品设计的,则尤其如此。这种情况往往会导致双方的许多误解。

2. 需要重复定义:不断变化的软件需求会给软件开发和测试团队带来混乱和压力。通常,添加新功能或删除现有功能可以链接到其他模块或软件组件。观察此类问题会导致软件中断。

3. 不存在策略框架:此外,调试软件组件/软件组件可能出现在不同或相似的组件中。缺乏远见会导致严重的问题并增加分心的次数。这是最大的问题之一,因为工程师经常面临与时间线相关的压力,因此会发生中断;不断变化的需求,增加干扰的数量等。添加、设计和重新设计、UI 集成、模块集成、数据库管理都增加了软件和整个系统的复杂性。

4. 性能错误:软件设计和架构的重大问题可能会导致系统出现问题。改进的软件往往会犯错误,因为程序员也会犯错误。作为测试测试人员,数据/公告引用错误、控制流错误、参数错误、输入/输出错误等。

5. 大量回收:重置资源、重做或丢弃已完成的工作、硬件/软件要求的变化也可能影响软件。将新的开发人员分配给一个偏僻的项目可能会导致软件中断。如果不遵循正确的编码标准、不正确的编码、不准确的数据传输等,就会发生这种情况。丢弃现有代码的一部分可能会在软件的其他部分留下痕迹;忽略或删除该代码可能会导致软件中断。此外,特别是在大型项目中,可能会出现严重错误,因为很难确定问题的位置。

软件测试中错误的生命周期

以下是软件测试中错误生命周期中的步骤:

  1. 打开:编辑器在可能的情况下在此处开始分析错误,并努力修复它们。如果编辑认为错误不够,可以将错误由于某种原因转移到接下来的四个区域,Reject或No,即Repeat。
  2. 新:这是在障碍的生命周期中分心扭曲的第一阶段。在 bug 生命周期的后期阶段,当发现新功能时,会对这些 bug 进行确认和测试。
  3. 共享:工程团队已获得最近在此级别构建的新错误修复程序。这将由项目负责人或团队经理发送给设计师。
  4. 待审核:修复错误时,设计人员会给检查员进行错误检查,并且功能状态将保持待审核,直到测试人员进行错误检查。
  5. Fixed:如果开发者通过必要的修改完成了调试任务,特性状态可以称为“Fixed”。
  6. 已确认:如果设计者在测试设备上给出了该功能后,测试人员对该功能没有问题,并认为如果调整正确,则该功能状态为“已验证”。
  7. 再次打开/重新打开:如果仍然有错误,将指示编辑器检查并重新打开功能状态。
  8. 关闭:如果错误不存在,测试仪将功能状态更改为“关闭”。
  9. 再次检查:检查员然后开始检查错误的过程,以检查工程师是否已按要求纠正了错误。
  10. 重复:如果工程师正在考虑与另一个因素相似的因素。如果开发人员认为某个功能与另一个功能相似,或者如果故障的定义与任何其他故障相一致,则该功能的状态将由开发人员更改为“重复”。

这里要添加的更多阶段是:

  1. 被拒绝:如果一个特性可以被认为是一个真正的因素,开发人员将意味着“被拒绝”的开发人员。
  2. 重复:如果工程师发现与任何其他功能相似的功能,或者如果故障的概念与任何其他功能相似,则开发人员将该功能的状态更改为“重复”。
  3. 推迟:如果开发者觉得这个特性不是很重要,可以在下一个版本中修正,但是,在这种情况下,他可以改变特性的状态,比如“推迟”。
  4. Not a Bug:如果该特性不影响应用程序的性能,则损坏状态更改为“Not a Bug”。
错误生命周期

图 1.1 Bug 生命周期示意图

错误报告

  1. 缺陷/错误名称:描述缺陷的简短标题。它应该是具体和准确的。
  2. 缺陷/错误 ID:缺陷的唯一标识号。
  3. 缺陷描述:错误的详细描述,包括检测到它的模块的信息。它包含详细的摘要,包括严重性、优先级、预期结果与实际输出等。
  4. 严重性:这描述了缺陷对被测应用程序的影响。
  5. 优先级:这与修复缺陷的紧迫程度有关。根据应该修复缺陷的影响紧迫性,优先级可以是高/中/低。
  6. 报告者:报告错误的测试人员的姓名/ ID。
  7. 报告日期:提出缺陷的日期。
  8. 步骤:这些包括详细的步骤以及开发人员可以重现相同缺陷的屏幕截图。
  9. 状态:新/开放/活跃
  10. 修复者:修复缺陷的开发人员的姓名/ ID。
  11. 数据关闭:缺陷关闭的日期。

报告错误时要考虑的因素:

  1. 在开始研究残疾的生命周期之前,整个团队应该清楚地了解创伤的不同情况。
  2. 为防止将来出现混乱,应充分记录有缺陷的生命周期。
  3. 确保从事与默认生命周期相关工作的每个人都非常清楚地了解他或她的最佳结果工作。
  4. 每个改变现状的人都应该了解情况,应该提供有关该功能的性质及其原因的足够信息,以便从事该功能的每个人都可以轻松地看到该功能的原因。
  5. 在有缺陷的生命周期工作过程中,应仔细处理特征跟踪工具,以确保错误之间的一致性。

错误跟踪工具

以下是一些错误跟踪工具-

1. KATALON TESTOPS: Katalon TestOps 是一个免费、强大的编排平台,可帮助您跟踪错误。 TestOps 为测试团队和 DevOps 团队提供了关于他们的测试、资源和位置的清晰链接图片,以便在正确的时间、正确的地点启动正确的测试。

特征:

  • 适用于云、桌面:Window 和 Linux 程序。
  • 兼容几乎所有可用的测试框架:Jasmine、JUnit、Pytest、Mocha 等; CI/CD 工具: Jenkins、CircleCI 和管理平台:Jira、Slack。
  • 跟踪实时数据以进行纠错和准确性。
  • 实时和完整的性能测试报告,以确定任何问题的原因。
  • 使用 Smart Scheduling 做好计划,为测试周期做好准备,同时保持高质量。
  • 评估发布准备情况以提高发布信心。
  • 通过评论、仪表板、KPI 跟踪和可能的详细信息改善协作并提高透明度——所有这些都集中在一个地方。

2. KUALITEE:收集具体结果和分析,在任何框架下进行可靠的故障分析。 Kualitee 用于开发和 QA 团队超越错误的分配和跟踪。它允许您使用微小的错误、快速的 QA 周期和更好地控制您的构建来构建高质量的软件。综合套件结合了良好错误管理工具的所有功能,并无缝内置了测试用例和测试工作流程。您不需要组合和匹配不同的工具;相反,您可以在一个地方管理所有测试。

特征:

  • 创建、分配和跟踪错误。
  • 在残疾、需求和测试之间进行追踪。
  • 易于使用的错误、测试用例和测试周期。
  • 自定义权限、字段和报告。
  • 交互式和信息丰富的仪表板。
  • 外部公司和 REST API 的集成。
  • 直观且易于使用的界面。

3. QA Coverage: QAoverage 是成功管理所有测试过程的地方,以便您可以生产出高质量和无故障的产品。它有一个残疾控制模块,可让您管理从第一个诊断阶段到关闭的错误。错误跟踪过程可以根据每个客户的需求进行定制和定制。除了负面跟踪之外,QAoverage 还能够跟踪风险、问题、改进、建议和建议。它还具有复杂测试管理解决方案的全部功能,包括需求管理、测试用例设计、测试用例发布和报告。

特征:

  1. 控制各种工单的整体工作流程,包括风险、问题、任务和开发管理。
  2. 制定完整的指标来确定困难的原因和水平。
  3. 支持多种信息,支持带有电子邮件附件的功能。
  4. 通过自动通知创建和设置工作流程以增强测试可见性。
  5. 基于难度、重要性、故障类型、残疾类别、预期纠正日期等的照片报告。

4. BUG HERD: BugHerd 是一种跟踪错误、收集和管理网页响应的简单方法。您的团队和客户在网页上搜索反馈,以便他们找到确切的问题。 BugHerd 还会扫描您快速复制和解决错误所需的信息,例如浏览器、CSS 选择器数据、操作系统和屏幕截图。干扰和反馈以及技术信息会提交给看板样式任务板,在那里可以分配和管理干扰,直到它们被消除。 BugHerd 还可以与您现有的项目管理工具集成,帮助您的团队与错误修复保持一致。