什么是 QA 文档,我们如何降低其创建和维护成本?
已发表: 2023-08-01ITRex 的 QA 团队负责人 Andrii Hilov 撰写了另一篇文章,讨论软件项目中的质量保证挑战和陷阱。 这一次,Andrii 深入研究了 QA 文档及其在开发高性能软件中所扮演的角色——按时、按预算、并符合您的业务目标。
以下是他对此的看法。
作为企业软件开发公司 ITRex 的 QA 团队负责人,我完全了解客户希望降低软件开发成本,同时按时推出功能齐全的产品并实现最大价值。
虽然这些目标是可以理解的,但我建议不要在项目早期解雇您的 QA 团队,即使他们没有每天发现错误,尽管这似乎是削减薪水和加快软件发布周期的一个简单选择。
此外,我建议您在整个项目中遵循质量保证最佳实践,以验证您的解决方案及其所有功能是否按预期运行,并且不会损害您的网络安全。
其中一种做法是创建和维护适当的质量保证文档。
质量保证文件到底是什么? 它如何帮助您从质量保证和测试服务中获得最大收益? 有没有一种方法可以优化与准备 QA 文档相关的成本和工作量,同时最大限度地降低开发架构不佳、漏洞百出的应用程序以及必须从头开始重建整个应用程序的风险?
让我们来看看吧!
QA 文档简介
QA 文档是质量保证团队在软件开发和测试过程中创建和维护的文档和工件的集合。
它可能包括概述测试策略、测试计划、测试用例、测试脚本、测试数据、测试日志、错误报告以及与 QA 活动相关的任何其他文档的各种文档。 这些文档促进 QA 团队成员之间的沟通,提供测试指南,并帮助有效地识别和解决问题。
因此,质量保证文档在确保软件产品的质量和可靠性方面发挥着至关重要的作用——这也是我们客户追求的主要目标。
软件项目中使用哪些质量保证文档
出于本文的目的,我们将向您简要概述质量保证文档,这些文档构成软件开发项目中测试文档的支柱:
- 测试计划是一份 QA 文档,概述了软件测试活动的总体方法、目标、范围、资源和时间表。 简单来说,它涵盖:
- 项目的名称和描述,包括正在测试的应用程序类型及其核心功能
- 首选的测试方法(手动、自动、混合)和测试类型(新功能、集成、兼容性、回归等)
- 需要测试的功能以及每个测试活动的大致时间表
- 最佳团队构成
- 测试过程中可能出现的风险和问题概述
- 您的 QA 团队将在项目期间使用的测试文档列表
经验法则是,当 IT 团队定义软件解决方案的功能和非功能需求、选择适当的技术堆栈和项目管理方法并创建项目路线图时,在软件项目开始时编写测试计划。
通常需要三天的时间来制定和审查没有测试用例的简单测试计划。
- 测试用例描述了特定的测试场景,包括输入数据、预期结果和执行步骤。 测试用例旨在验证软件产品的功能、性能或其他方面。 请注意,手动测试服务和 QA 自动化服务团队都使用测试用例。 这样,您将确保最大的测试覆盖率,这意味着生产代码中不会出现任何错误。
尽管熟练的 QA 工程师可以在短短 10 分钟内编写出高级测试用例,但中型项目的测试用例数量很容易超过 4,000 个(并且还在不断增加)。 将该数字乘以中级 QA 工程师的平均每小时工资(北美市场每工时 65 美元),您将得到一个令人印象深刻的数字。
- 检查表是测试过程中需要完成或验证的操作或任务的简明、逐项列表。 因此,QA 文档中的清单通常包括功能模块、部分、页面以及应用程序或网络物理系统中需要 QA 团队关注的其他元素的完整概要。
在较小的项目中,清单可以成功地取代详细的测试用例(稍后会详细介绍)。
- 测试脚本是使用特定测试工具或框架(例如 Selenium、Appium 和 Cucumber)编写的代码块。 这些脚本自动执行测试用例,使测试过程更加高效 - 特别是在大型复杂的软件项目中,例如多租户 SaaS 系统和流行的 B2C 应用程序,这些项目更新频繁,即使是最小的错误也可能对用户体验产生负面影响。
- 测试数据是 QA 工程师用来评估软件解决方案在各种条件下的性能、功能、可靠性和安全性的数据。 它可能包括样本输入值、边界条件和各种场景。 例如,您的 QA 团队可能会使用正面和负面测试数据来验证是否只有正确的登录凭据才能用于进入软件系统。 同样,测试数据可用于在某些类型的应用程序中实施年龄限制或调查应用程序如何处理增加的工作负载。
- 测试日志记录测试执行过程,包括测试执行的日期和时间、执行的测试用例的摘要、QA 团队取得的结果、屏幕截图以及测试期间注意到的任何问题或观察结果。 测试日志是跟踪测试进度、识别测试结果的模式或趋势以及提供测试活动的历史记录的重要信息来源。 它有助于有效地识别和解决问题,并作为未来测试工作或审核的参考。
- 缺陷或错误报告是详细说明 QA 活动期间发现的缺陷和问题的测试文档。 具体来说,它们描述了检测到的错误、其严重性和优先级,以及缺陷发生的条件。 QA 经理使用错误报告将任务分配给软件测试专家并跟踪他们的状态。
- 可追溯性矩阵映射了测试用例和需求或其他工件之间的关系。 它有助于确保测试用例充分覆盖所有需求,允许跟踪整个项目的测试覆盖率,并消除冗余的测试活动。
- 测试完成报告总结了项目中执行的测试活动,包括测试执行状态、执行的测试用例数量、发现的缺陷以及任何待处理的任务。
为什么 QA 文档很重要?
拥有质量保证文档有助于获得客户和软件工程团队期望的准确结果。
这是通过多种因素的结合来实现的,包括以下因素:
- QA 文档提供了清晰的说明和指南,软件测试专家可以遵循这些说明和指南来一致地执行任务,减少变化并提高产品或服务的整体质量。
- 质量保证文档减少了在开发过程后期检测软件解决方案中关键缺陷和错误的可能性,从而在预算控制中发挥着关键作用。 QA 专家表示,修复 bug 的成本随着项目的每个阶段呈指数级增长,从设计/架构阶段的 3 倍到部署阶段的 30 倍甚至更多。
- 质量保证文档通过简化审核并提供已建立的流程、程序和质量控制的证据,帮助确保遵守组织必须满足的监管要求和标准。
- 通过记录程序、控制和风险评估流程,软件测试文档可以帮助组织识别潜在风险并采取预防措施,以尽量减少其对业务和客户满意度的影响。
- 新员工可以参考您的 QA 文档来了解软件项目中的质量流程和程序,从而缩短学习曲线并确保整个组织的培训一致。
- 通过记录不合格情况、纠正措施和经验教训,公司可以确定需要改进的领域并实施变革,以提高效率和质量。
- 拥有记录良好的质量保证流程和程序可以增强客户对您公司的产品或服务的信心。 广泛的软件测试文档表明了对质量的承诺,并确保组织拥有强大的系统来提供一致和可靠的结果。
- 在发生法律纠纷或产品召回的情况下,质量保证文档可以作为重要证据。 它可以证明您的组织已遵循既定的质量流程、采取了必要的预防措施并履行了其义务。
创建 QA 文档需要多长时间?
对这个问题的诚实回答是:“这取决于情况。”
具体来说,时间范围和相关成本取决于多个因素,例如组织的规模及其流程的复杂性、您所在的行业以及您正在构建的软件类型。
如果您之前已经开始过软件开发项目并拥有内部 QA 团队,那么您也许能够在新项目中重用现有的 QA 文档。 使用模板和专用工具来创建和维护软件测试文档(例如项目管理和 wiki 软件)也很有帮助。
您是否始终需要 QA 文档 - 是否有可能降低其创建和维护成本?
无论多么有用,质量保证文档可能会增加软件项目成本,因为其创建和维护需要额外的工作和人员。
对于资金匮乏的初创企业或在经济衰退时期进行数字化转型的企业来说,这可能是一个问题。
那么,是否每种类型的软件项目都需要非常详细的 QA 文档——是否有可能降低与之相关的成本?
要确定创建 QA 文档的最佳方法,请考虑以下因素:
- 项目规模和预算。 对于小预算和短期项目(除非我们谈论由大型 IT 团队执行的高度创新和技术项目),无需使文档流程过于复杂,因此您的 QA 团队可以选择清单而不是详细信息测试用例。 至于测试计划文件,它决定了整体的测试策略,如果没有预算,或者项目是短期的,不涉及前沿技术,我们也可以不写。
- QA 团队规模和经验。 项目中的 QA 工程师越多,他们在质量保证方面的经验越少,控制测试过程的挑战性就越大。 因此,您需要大量的质量保证文档来使团队成员保持一致。 在这种情况下,建议倾向于测试用例而不是清单,以便根据工程师的经验和知识更有效地在工程师之间分配任务,并让更有经验的 QA 专家(通常每小时工资更高)参与测试用例创建。
- 项目管理的敏捷与瀑布方法。 虽然 ITRex 团队在这篇博文中总结了敏捷方法和瀑布方法之间的主要区别,但值得一提的是这两种方法在质量保证方面的不同之处。 在 Waterfall 中,软件测试被保留在最后,这意味着您的 QA 团队只有在编码部分 100% 完成时才会进行测试。 出于显而易见的原因,如果没有适当的质量保证文档,他们就无法做到这一点,而这些文档应该在需求获取阶段准备好。 在敏捷中,IT 团队倾向于迭代地构建较小的软件片段并在每个周期结束时测试代码,因此不首选预先提供创造性的全面 QA 文档。 尽管如此,我还是建议您编写一个测试计划,以便更好地使当前情况与客户和软件工程师的期望保持一致。
总的来说,拥有 QA 文档可以使任何软件开发项目受益,无论其复杂程度和规模如何。
然而,作为一家以客户为导向的公司,我们随时准备根据您的目标和预算提出解决方法。
如果您不确定是否需要为您的项目准备广泛的质量保证文档并寻找熟练的 QA 工程师来委托该任务,请联系 ITRex! 我们将确保您按时、按预算、按规格推出高性能、无错误的软件解决方案!
最初于 2023 年 6 月 30 日发布于 https://itrexgroup.com。