软件测试简要指南 - 标准和过程

已发表: 2021-05-18

“所有代码在被测试无罪之前都是有罪的”——一位不知名的技术极客。

如果不让软件经过严格的测试,就不可能拥有好的软件。 在本文中,您将了解有关软件测试标准和流程的更多信息,您应该遵循这些标准和流程才能交付更好的结果。

什么是软件测试?

简而言之,软件测试使软件变得更好。 它是一个识别所开发软件的正确性、完整性和质量的过程。 测试很重要,因为它可以在交付给客户之前发现缺陷/错误,从而保证软件的质量。 它使软件使用起来更可靠。

软件测试

软件测试阶段

软件测试阶段

让我们来看看上面列出的软件测试阶段:

需求分析:

需求分析定义了最终用户对要构建/修改的软件应用程序的期望。 因此,需求分析意味着分析、报告、记录、验证和管理软件或系统需求。

测试工程师需要执行以下任务来完成需求分析

  • 阅读每项要求以检查完整性、清晰度、歧义(如果有)。
  • 验证在需求分析阶段已经考虑了所有可能的场景,并尝试识别所有未发现的案例或任何差距。
  • 对需求分析中出现的问题或疑虑进行讨论,每天要求团队保持一致。
  • 需要使用需求跟踪矩阵,以确保被测软件的完整需求覆盖。

下面是 RTM(Requirements Traceability Matrix) 的示例模板

需求追踪矩阵

信用:Opencodez

测试计划:

测试计划是描述在软件应用程序上执行软件测试所需的测试目标、进度、估计、可交付成果和资源的文档。 测试计划有助于理解和确定验证被测应用程序质量所需的工作。 下面是一个示例敏捷测试计划:

敏捷测试计划

信用:zenq

测试设计:

测试设计是设计测试所需用例的阶段。 测试设计是根据测试计划进行的。 设计的测试用例确保涵盖软件应用程序的所有要求。 测试用例与可追溯性矩阵的映射也被认为是必要的,以覆盖所有需求差距。

测试场景/测试用例基于以下测试设计技术设计,以确保对快乐路径和负面场景测试的完整测试覆盖。

  • 边界值分析 (BVA)
  • 等价分区 (EP)
  • 用例测试
  • 基于冲击的测试

下面是示例测试设计模板

测试计划模板

信用:https://www.softwaretestingclass.com/

测试环境设置:

测试环境是为在软件应用程序上实现和执行测试用例而构建的平台。 测试环境是通过集成所需的硬件和软件以及所需的网络配置和必要设置来创建的。 在开始任何测试之前,务必先在测试环境中进行冒烟测试,以检查测试环境的可行性。

测试执行:

测试执行是执行设计的测试用例、记录和比较预期和实际结果的过程。 考虑到风险,测试执行会考虑以下因素。 选择要为此周期执行的测试套件的子集,并将其分配给相应的测试员/质量分析师。

  • 根据测试计划设计的测试用例/测试场景执行测试
  • 观察 - 记录在测试执行期间遇到的相应 JIRA 票证上
  • 各个 JIRA 票证上的测试证明文档包括以下内容

测试状态: PASS / FAIL - 描述 JIRA 票的测试状态

测试 URL:包含用于测试特定需求的测试数据

◦ 测试场景及其截图

  • 健全性和回归 - 作为 Pre UAT 测试措施的一部分,在每个冲刺结束时定期在更高环境 (STG) 上执行健全性和回归测试

测试结束:

sprint 测试结束清单确保在每个 sprint 结束时执行以下活动,以便在多个 sprint 之间平滑过渡。

  • 功能测试按时间表完成,覆盖范围完整
  • 团队记录和处理的所有观察结果
  • 有效观察记录为缺陷并分配给相应的票证所有者
  • 为每张票更新了测试证明文档及其各自的手动测试和设备测试结果
  • 在代码合并到更高的环境 ie 之前在测试环境上执行的回归测试。 在这种情况下,从 Dev 到 STG

设备测试/跨浏览器测试:

设备/跨浏览器测试是对设备/浏览器的质量进行测试的过程,以了解其满足开发要求的程度。 设备/跨浏览器测试包含在客户确认的以下设备/浏览器列表中。 用作设备测试平台的浏览器堆栈。

设备测试

不同类型的软件测试

单元测试:

单元测试正在检查小代码单元以尽早提供信息,以加快您的测试策略并减少不需要的测试周期。 单元测试通常由开发人员在代码移交给软件测试团队之前执行。

烟雾测试:

冒烟测试是一种软件测试程序,用于确定部署的软件是否稳定。 冒烟测试是对测试团队进行进一步软件测试的确认。 它包含在每个构建上运行的最小测试集,以测试软件功能。

集成测试:

集成测试被定义​​为在集成的硬件和软件环境中执行的一种测试,以检查系统的行为。 软件/硬件组件被逐步集成和测试,直到完整的系统经过测试。

系统测试:

完全集成的软件产品的系统测试。 这是验证交付的产品是否满足需求文档中提到的需求规范的最终测试。 功能性和非功能性需求都应在范围内加以考虑。

回归测试:

回归验证最近的代码更改不会改变或破坏已经存在的功能。 回归测试包括子集/全回归,两者都可以覆盖手动或自动测试场景。

用户验收测试(UAT):

用户验收测试是软件测试生命周期的最后阶段之一,在软件经过彻底测试后由客户执行。 UAT 由产品的最终用户进行,用于批准和部署生产版本。