测试方法或测试策略的选择是保证测试工作成功和测试计划以及预估准确的最重要的因素之一。这个因素是受控于测试人员和测试领导者之下的。
让我们来看看常见的测试策略的主要类型:
- 分析:
让我们举个栗子,基于风险的策略包括使用项目文件和利益相关方投入进行风险分析,然后根据风险进行规划,估算,设计和优先排序。
另一个分析测试策略是基于需求的策略,其中对需求规范的分析构成了规划,估计和设计测试的基础。分析测试策略通常在项目的要求和设计阶段使用一些正式或非正式的分析技术。
基于模型:
同样的来个栗子,您可以构建电子商务服务器的加载和响应数学模型,并根据该模型进行测试。如果被测系统的行为符合模型预测的行为,则系统被认为正常工作。基于模型的测试策略通常在项目的需求和设计阶段创建或选择关键系统行为的一些正式或非正式模型。方法论:
同栗,您可能有一个你经过多年的测试经历后整理起来的的清单,或者您可能遵循软件质量的行业标准在您的主要测试领域,如ISO 9126。然后,您将根据此大纲系统地设计,实施和执行测试。方法论的测试策略有共同之处不管是从内部开发的预先规划的系统化方法,或者各种概念组合起来,抑或是从外部收集起来后的标准都有可能或早或晚的影响测试。过程或标准兼容:
同栗,您可以采用IEEE 829标准进行测试,或者借助[Craig,2002]或[Drabick,2004]等书籍来进行一些修改。或者,您可以采用极限编程等敏捷方法之一。过程或标准兼容策略通常依赖于外部开发的测试方法,通常很少(如果有的话)定制,并且迟早会影响到测试。动态:
同栗,您可以创建一组轻量级的测试指南,专注于快速适应或软件中已知的弱点。动态策略,如探索性测试,共同的重点是在测试执行过程中尽可能多地找到缺陷,并适应被测系统在交付时的现实情况,并且通常强调后期的测试阶段。例如,参见[Whittaker,2002]和[Whittaker,2003]的基于攻击的方法和[Kaner等人,2002]的探索性方法。咨询或指导:
同栗,您可能会问系统的用户或开发人员告诉您测试甚至依靠他们进行测试。咨询或指导性策略的共同之处在于依赖一组非测试人员来指导或执行测试工作,并且通常仅仅由于缺乏对早期测试的价值的认可而强调后期的测试阶段。-
回归:
同栗,您可以尝试自动化系统所有功能的测试,以便每当任何更改时,您都可以重新运行每个测试,以确保没有任何破坏。回归策略通常是一组程序(通常是自动的),允许它们检测回归缺陷。回归策略可能涉及在发布之前自动执行功能测试,在这种情况下,它需要在测试早期阶段介入测试,但有时自动化测试几乎完全集中在已经发布的功能上,这在某种意义上是一种发布后测试参与的形式。其中一些策略更有预防性,其他策略更具响应性。例如,分析测试策略涉及测试基础的前期分析,并且在测试执行之前倾向于在测试基础中识别问题。这允许早期和便宜地去除缺陷。这是预防方法的强项。
动态测试策略侧重于测试执行期。这样的策略允许可能难以预见的缺陷和缺陷集群的位置,直到您在实际系统之前。这是一种响应性方法的力量。
与其去做策略的选择,特别是预防或反应策略,作为另一种情况,我们会让你得知最差的测试秘密(和许多其他学科):没有一个最好的方法。我们建议您采取任何在您特定情况下最有意义的测试方法,并随意借用和融合。
您如何知道哪些策略可以挑选或融合成功的最佳机会?有很多因素要考虑,但我们要强调一些最重要的因素:
风险:
风险管理在测试中非常重要,因此考虑风险和风险水平。对于一个发展缓慢的成熟应用程序,回归是一个重要的风险,所以回归反思策略是有道理的。对于新的应用程序,如果您选择基于风险的分析策略,风险分析可能会显示不同的风险。技能:
考虑你的测试人员拥有和缺乏的技能,因为战略不仅要选择,还必须执行。 。当您缺乏团队创建自己的方法的时间和技能时,标准兼容策略就是一个明智的选择。目标:测试必须满足利益相关方的需求和要求才能取得成功。如果目标是以尽可能少的前期时间和精力投入尽可能多的缺陷,例如在典型的独立测试实验室,那么动态策略就是有意义的。
规定:
有时你不仅要满足利益相关者的需求,也要满足监管者的需求在这种情况下,您可能需要制定一个有条不紊的测试策略,以满足您满足其所有要求的这些监管机构。产品:
一些产品,如武器系统和合同开发软件往往具有明确的要求。这导致与基于需求的分析策略的协同作用。-
业务:
业务考虑和业务连续性往往很重要。如果您可以将旧系统用作新系统的型号,则可以使用基于模型的策略。当您在选择测试策略时,除了注意前面提到的因素,还要考虑项目的进度,预算和功能限制以及组织及其政治的现实情况。
我们上面提到,一个好的团队有时战胜缺乏资料,过程不好和延迟因素等与成功无缘的情况。然而,一个不明智的策略的被有才能的人去执行就相当于在一条高速公路上走错了方向。因此,您必须在测试策略方面做出明智的选择。
译自:[What is test strategy in software testing?(]http://istqbexamcertification.com/what-are-the-test-approaches-or-strategies-in-software-testing/)
CC先生说,策略其实就是因地,因时制宜。更多的时候,就算是定制出了策略也需要根据资源的变动而随时准备调整自己的策略。