测试动态 / 质量专栏 /关于质量保证和测试的常见误区
关于质量保证和测试的常见误区
2022-10-24 浏览次数:869

  我在质量保证部门工作了近二十年。多年来,我发现商界的许多专业人士,甚至是决策者,都没有完全理解质量工程的本质、潜力和意义。我崇拜的一位导师曾经告诉我,“质量不仅仅是 QA 的义务;每个人——从开发工程师到技术架构师再到产品经理——都必须分担责任。” 要在 QA 职位上发挥作用,您必须了解每个人提供的适当数量的信息,并始终提出问题。” 我将导师的建议付诸实践。从那以后,我开始表达我的担忧,即使是开发人员设计讨论的技术架构。

  在这篇文章中,我们将揭穿一些关于 QA 专家工作的常见误解。还有其他神话,但这些是最常见的。

  QA 不会理解这一点,因为他们不是技术人员

  QA 熟悉技术架构。要执行测试,QA 必须理解程序规范文件。发现缺陷或未通过测试只是测试的一个方面。如果 QA 不能批判性地思考,最终产品的质量就会下降。请重新考虑您关于 QA 不是技术人员、开发人员、产品经理和技术架构师的说法。在产品开发周期的最后阶段,QA 执行最耗时的活动,以确认产品质量并促进与其他技术人员的沟通。没有技术含量?这是不可能的。

  任何人都可以做到

  在软件开发行业,有一个普遍的想法是,只要有一个适当全面的测试计划,任何人都可以执行它并进行有能力的测试工作。基于二进制测试用例的测试计划,其中每个测试都有一个简单的是或否结果,通常可能由未经培训或低技能的测试人员完成。这样的测试计划将是广泛的,建立起来成本很高,并且随着新功能和修复被引入系统而需要持续维护。

  大多数软件开发人员认为自己具有创造力。他们希望能够从几行软件代码中创造出有价值的东西。结果,软件开发的开发方面看不起测试方面,因此贬低了“测试人员”与“软件工程师”的绰号。实际上,具有质量思维的软件工程师是任何科技公司最重要的资产。这些人可以清楚地看到设计中可能出现的问题,就像他们看到使其正确运行的程序一样。了解代码、其目标、设计和潜在问题的软件质量工程师至关重要。

  QA 工程师是一个糟糕的软件开发人员

  通常认为,QA 职位提供给那些无法获得软件开发人员工作或缺乏必要经验的人。这是不正确的。开发人员和测试人员是两个独立的工作,需要对生活有不同态度和观点的人。然而,它们确实是相辅相成的:每个都有很好的特性,并且在项目中扮演着重要的角色。

  QA 尽可能在最后提出关键/显示阻止错误

  此评论通常由高层管理人员提出。产品开发通常有截止日期和发布日期。在开发团队启用产品功能和特性之前,QA 无法开始测试。QA 工程师必须测试新功能以及进行回归、集成和性能测试。在瀑布模型中,公司通常有 QA 的进入和退出标准。测试时间是固定的。在代码冻结日期,所有开发工作都应该停止。但是,开发人员在完成签入、最后的和小的更正等之后继续推迟代码冻结日期。因为发布日期是固定的,所以测试时间总是会受到影响。此外,使用敏捷方法,QA 在大多数 Sprint 中都会注意到这个问题。当开发人员致力于解决单元测试问题时,测试时间通常会减少。QA 人员迟到并使用最新代码进行集成测试。在临时或模块化功能测试期间未发现的隐藏问题只能在集成测试期间发现。这些主要的停止关注问题总是在流程之后检测到,更接近发布日期。

  QA 不需要编码

  我们中的许多人认为质量保证测试不需要高级编码技能。但是,请记住,这是一种误解。您必须熟悉编码才能编写复杂的 SQL 查询、测试数据序列、将代码转换为数据库、用于自动测试的脚本以及其他主题。如果您熟悉高级编码,则只能编写测试序列和脚本。

  测试应该是自动化的

  尽管自动化测试可能会提高整体测试工作量,但这并不意味着手动测试已经过时。人工和自动化测试的结合是实现有效测试的最有效方法。自动化测试减少了对某些重复性手动测试的需求;然而,他们经常为每个场景使用相同的输入集。定期通过一组良好的自动化测试的软件在受到手动测试的更随机和意想不到的输入时可能不会那么好。经验丰富的质量保证专业人员经验丰富的眼睛将提供比自动化脚本更全面的检查。在项目的早期阶段或为新功能选择可接受的可靠自动化测试类型也可能很困难。大多数工作最初都在不断变化,并且很难确定何时开始添加测试自动化是最佳的。一些软件系统相对缺乏测试框架,这可能会导致自动化程度降低。

  质量保证太贵了

  QA 可能过于昂贵,或者您的项目过于谦虚而无法证明 QA 的合理性。诚然,质量保证技术需要时间并且需要合格的人员。然而,只有新手工程师才会在软件测试中走捷径。任何目睹项目的人都会陷入写出和修复错误的无休止循环中,永远不会忽视质量保证。

  消除质量保证就像试图填满一个漏桶:您将反复将资源投入到一个项目中,以摆脱可能早在设计阶段就已经发现和解决的问题。当你试图在QA上省钱时,你最终会失去收入,这将导致客户流失,阻碍你公司的发展,损害你的企业品牌。

  单元测试就足够了

  那些相信单元测试就足够的人经常为软件提供用户界面问题或由几个不能正常工作的组件带来的问题。尽管看起来很简单,但单元测试会测试单元。这种测试很难评估用户界面的可用性或响应能力以及应用程序操作的端到端流程。

  发现其他人做出的潜在假设中的差距的能力是忠诚、知识渊博的 QA 或测试人员的最大优势。问:“如果我按下写着“不要按此按钮”的红色大按钮会发生什么,这是测试人员心态的一个要素。缺乏测试者心态的人不太可能考虑测试系统的可用性或直观流程。

  测试员和QA是一样的

  如果您认为“测试人员”和“质量保证”与同一职位相关或只是同一类型工作的同义词,那么我们只是说您应该重新考虑您的观点。测试活动就是其中之一。测试基本上可以由任何人完成。与使用战略测试并需要准备测试方式和测试内容的 QA 相比,测试通常只涉及使用产品或服务。测试人员的工作是在开发软件时对其进行测试以发现缺陷并报告它们,而 QA 负责执行多项任务以保证软件各个阶段的质量。

  只有质量保证团队需要参与测试

  质量保证团队很包容,因为他们关心产品质量,并在测试系统时彻底掌握要寻找的内容。另一方面,质量保证应该是每个人的责任。将质量保证委托给单独的测试人员团队可能是有风险的,因为它强化了只有专家才能进行软件测试的观念。它还提出了一种基于功能孤岛的一致开发方法,其中业务分析师制定需求,技术架构师设计解决方案,开发人员生成代码,质量保证测试成品。

  软件测试没有任何价值

  质量是有代价的。发展是利润的源泉。这已成为商业会计领域的一个既定事实。因此,证明在工具、培训等方面的质量支出的合理性比在开发方面更具挑战性。这种认为质量不会增加价值的信念源于未能认识到缺乏产品质量会导致产品收入的巨大损失。代码开发的开发可以比作原材料的生产和高质量产品的最后润色。随着应用商店的发展,产品的成败取决于用户评分的变化,产品质量从未像现在这样重要或值得投资。

  测试枯燥单调

  关于软件质量保证的一个常见误解是它是乏味和单调的,QA 工程师就像装配线上的工人。许多人认为测试只需要点击用户界面上的随机位置、记录结果并生成报告。每天,QA 工程师都必须解决各种独特和不寻常的问题。测试人员的目标是保证用户收到高质量的产品。为此,测试人员进行试验,与开发团队保持持续沟通,评估应用程序需求并提供他们的想法。

  测试越多越好

  许多项目争取 100% 的系统测试覆盖率。这是可能的,但很少实现,因为覆盖率会随着开发计划的变化而减少。关于测试哪些区域的决定通常是即时决定的,而不是使用更有条理的技术来确定优先级。优先选择应考虑风险和经济需求,以便具有最大潜在影响的区域得到最多的处理。这种基于风险的策略意味着全面的测试覆盖率是不切实际的,但它确实允许对最具体的关注领域做出更明智的判断。

  质量保证可能会推迟到最后

  许多项目的组织方式是在开发后完成测试。这似乎是明智的,因为它允许您通过几个质量保证周期来测试整个系统并修复整个系统的完整性。这个想法是,随着项目的进展,分配给这些质量保证周期的时间会缩短。不可避免的延误可能会导致开发的最后阶段匆忙。如果您必须在测试周期和添加新功能的选项之间进行选择,那么降低质量保证成本很容易。使用这种有缺陷的测试方法,大多数(如果不是全部)缺陷都可以在系统中恶化,直到项目的最后阶段。在开发周期的早期解决问题通常比用根深蒂固的错误稳定最终系统更便宜;而且,

  性能测试应在生产环境中进行

  性能测试通常作为一系列负载测试在开发计划结束时执行。此方法有助于识别系统发生故障的点,而不是确保整体系统性能的可接受水平。此时,修复严重的性能问题还为时不晚,但代价高昂且耗时。出于这个原因,性能测试应该集成到开发生命周期中。使用代码分析器工具来查找代码中可能会再次困扰您的瓶颈。在设计过程中定义性能标准并利用原型来评估架构决策。首先,不要将其留给压碎测试的“大爆炸”,而是在整个开发阶段定期计划和评估系统性能。

  结论

  在竞争激烈的市场中工作时,质量保证不是奢侈品,而是一种要求。QA 的目标是识别和消除阻碍项目的问题,以便您可以生成满足所有客户和最终用户要求的优质产品。我希望我能够澄清在软件开发中围绕 QA 的一些误解,并且您现在完全理解 QA 是什么以及为什么它是必要的。

     卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价

        部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲       电话:4006070568

文章标签: 软件测试
专业测试,找专业团队,请联系我们!
咨询软件测试 400-607-0568