该项目会迈上新台阶吗?需要测试

假设您(产品创建者)已经研究了目标受众,聘请了经验丰富的开发人员和分析师团队,占据了市场份额,营销人员吸引了合作伙伴,客户服务经理提供了全面建议,则您定期进行促销。

似乎您拥有了一切。但是用户付款和受众开始减少,客户开始拒绝该产品。

也许这是生产问题?看看里面,也许您会看到如何:

  • 修补程序比发行版更常见;
  • 或支持服务被请求淹没并不断解析关键缺陷;
  • 或有意义的用户群无法获得服务的关键功能。

而且,即使在此阶段发现问题之后,也并非总是能够理解如何规范整个过程,因为通常链中的每个要素都各自做好工作,而最终结果并不令人满意。认为也许是时候聘请测试人员了?



***


每个团队成员都可以测试。根据敏捷原则,此活动由所有人正式进行,而不仅仅是测试人员。分析师比任何人都更了解客户期望的功能以及工作方式。单元测试,代码审查,结对编程和常规开发人员自测可确保代码质量。但是在某些情况下,此测试不足以达到最终质量。此时,“场景”将进入独立测试。

由独立的专业小组执行的测试称为独立。团队对测试人员执行的程序和结论的影响越小,则越独立。 B. Beiser在作品“测试黑匣子和犯罪; 写道:“独立测试的目的是从不同的角度看待产品,从而执行其他测试;因此,比起只有开发人员进行测试,执行的测试更加通用。”
专业测试始于测试分析和测试设计:

  • 选择最少的检查集以确保最大程度的功能;
  • 根据功能的重要性和缺陷释放的风险来设置测试运行的顺序。

在以下情况下,需要进行专业的独立测试:

1.快速增长


该产品在竞争中的成功是一项重大事件,并且给生产带来了意想不到的负担。新用户,新要求,大规模变更迫使团队在更少的时间内执行更多任务。结果,团队没有时间进行测试或直观测试(即席测试)遗漏了关键缺陷。

测试与软件生产的其他知识领域并行发展。

方法和方法论并不太灵活,测试设计领域的最新创新由James A. Wittaker于2009年在“探索性软件测试”一书中发表。同时,正在不断开发新的测试工具,其中包括:

  • 用于在不同浏览器和设备上快速验证布局,与布局协调,拼写,页面响应时间等的工具。
  • 用于执行,重定向,修改,解码,跟踪API请求的工具;
  • 用于在Web,桌面,移动,api应用程序中准备测试数据和条件的工具。

专业的测试人员借助现代技术和工具来改善和加快测试速度,特别注意寻找有效的解决方案,同时使团队能够专注于现代化业务流程。

2.熵


寿命长的软件产品谈到了业务稳定性。另一方面,在过去的几年中,该产品适应市场,客户,用户积累了多种功能,包括逻辑上相互矛盾的功能。人力资源门户网站的统计数据显示,IT员工的自然流失率为每年8-10%,这意味着在5年内,开发团队可以更新近一半。在产品的生命周期中,团队可能会更改架构师和主要开发人员,这些人知道原始架构及其扩展逻辑。

根据布鲁克斯(F. Brooks)的作品  “神话人月”,任何系统都试图通过每次新的校正来破坏结构并增加熵。随着时间的流逝,产品会获取所谓的传统代码,这些代码是从不兼容的功能,快速的错误修正,缺乏经验的开发人员那里继承而来的。但是,在截止日期的压力下,团队并非总是有时间用单元测试来覆盖代码。在这种情况下,无法预测代码的哪些部分将受此或该校正的影响,以及哪些缺陷将引起。

专业的测试人员不仅检查新功能,还检查整个系统的回归。进行回归测试的内容和方法是另外一个主题。

3.定制


当产品吸引新的用户群,扩展到城市和国家/地区,针对不同角色专门研究功能并适应系统中用户的生命周期时,这是很好的选择。从系统的角度来看,这增加了关键功能的数量以及如何使用它。相同的功能可以被不同的用户群体用于不同的目的和不同的条件。大型复杂系统中的角色和条件是如此之多,以至于分析师在制定需求时可以忘记其中的一个。实际上,一个角色杀手级特征可以成为另一个角色的阻碍性缺陷,同样重要。

专业测试会检查系统的使用情况是否符合用户的目标,提出明确的问题,并根据系统的新优先级和业务任务调整回归测试的内容。更新测试的设置和优先级是测试人员特别注意的主题。

4.发行


如今的IT环境提供了无尽的选择,微服务架构,云数据中心,分布式项目团队。从用户的角度来看,整个产品实际上被划分为微型应用程序,它们以不同的开发语言编写,位于不同的大陆,由不同的项目团队和公司创建。

例如,一方面,在在线商店中购买饰品是单击几下的动作;另一方面,它是在商店网站,支付网关和支付系统中的至少三个应用程序中处理和传输数据。每个应用程序都是由项目团队根据其目标,组织结构和计划开发的。

在这种情况下,可能的结果是“子弹飞了,问题就在您这边”:当每个团队都按照要求开发了自己的零件时,但他们在一起并没有加在一起的工作职能。
在调试之前,专业的测试人员会咨询,监督,配置集成测试运行的环境,并从最终用户的角度进行检查,而不仅仅是对单个组件的要求。

因此,大型的,与年龄相关的,流行的,快速变化的产品必须将测试作为一种单独的活动。有效的测试采用专门的方法论,工具和与团队其余部分不同的特定目标进行武装。分析人员的目标是找出客户的实际需求,开发人员的目标是完整交付有序的更改,测试人员的目标是测试整个系统,检查用户并遇到缺陷。

***


在团队的控制下委派单独角色的测试是独立测试的第二步。测试人员可以自己聘请,也可以在独立组织中外包测试。

通过此步骤的外包测试,该公司收到:

  • 使用相关工具对产品进行专业测试;
  • 保证合格人员。外包专业从事员工能力的选择和发展;
  • 有机会在有限的时间内使用测试,吸引其他类型的测试或替换它;
  • 测试人员的透明工作。

外包测试公司争取声誉:它越高,提供的服务越好。贵公司的测试进展如何?分享您的经验:)

All Articles