过去几年来,组织开发软件的方法已经发生重大的改变了。从敏捷开发到持续的一切,开发者们正越跑越快,并在更少的时间内开发出更多的内容。
作为一名测试,你需要保持跟进。你必须使业务运行更快,减少到市场的时间,但是不能降低产品的质量,那样将会消极地影响你的品牌价值。用户对于他们所钟爱的产品,期待得到快速更新、缺陷修复,以及功能性的优化。而且当缩减成本时你需要完成所有这些。所以你如何精简你的测试以达到正确的平衡呢?
没有计划的测试会导致花费高成本和时间在几乎不产生价值的产品领域。但是当通过回归保持合理水平的信心,明显地减少你做的测试的数量是有可能的。下面我提供6条达到那种平衡的提示。但是首先你需要了解那些挑战。
暴风跑者功能的云测试免费试用
测试管理、设计和执行的挑战
作为一名测试工程师,你与不再是简单的客户机/服务器软件的现代应用程序一起工作。应用程序经常包含多种服务,有时来自从云架构服务的第三方机构。开发团队从瀑布技术转向贯穿与开发周期的固定的反馈和持续测试。
更重要的是不同测试团队正带来他们自己的工具和流程;组织中的每一个团队定义它自己的工具并且使用基于供应商的组合和开源的软件去达到它的测试目标。
除了复杂的测试领域,测试环境也在日益复杂。用户在许多各种不同的手机和桌面软件上操作,就像在每个生态系统里获得的许多不同的软件样品上一样。幸运的是测试工程师能使用业务数据去学习他们用户的产品环境,在生成测试时替代做出有根据的关于客户正在使用的东西的推测。
随着更多的功能和修复要测试,测试它们的时间更少,你需要通过鲁棒测试计划去达到快速的开发和反馈周期, 这会在几秒或几分钟内发生,而不是几天或几周。接下来介绍如何实现它。
使用统计学减轻风险
测试经理处理增加容量和复杂度的应用程序,知道他们不能测试所有的东西。即使是你有资源和时间去测试每个东西,也不是一个明智的业务决定。另一方面,做出和判断出测什么和不测什么的决定会是困难的。
统计学提供一个科学的针对决定如何在降低风险的时候减少回归测试的范围问题的解决方案。这儿有6种方法,你能使用统计学制定一个回归策略,在保持回归测试信心水平的同时,很明显地减少你需要的测试数,这些不会伤害在测试中的应用程序的质量。
1.使用分析工具
你可以使用一种分析工具(比如谷歌分析)去收集关于你的产品的信息,使得你能使用它优化测试环境。分析能够帮助你指出你的要回归测试的产品的最高风险区域,并且让你的初始化猜想得以验证,关注你的产品。这种努力分为两部分:
- 环境故障
找出你的用户使用的最高占比是哪个浏览器或者手机设备,然后为在这些环境上投注你的测试努力。
- 统计学
崩溃:理解你的用户。他们是谁,他们来自哪里,以及他们使用什么网络?这个将会帮助你了解用户们多高频率地换新设备和操作系统。
2. 深入挖掘你的产品
在分析学里增加第二规模去理解最优组合,它反应了客户在产品中正在用什么。举个例子,你可能会组合分析最普遍的浏览器,分析最常用的功能,以更好地理解产品中最高风险、最大影响的地方。在分析学工具中使用可用的第二规模去决定你需要做多少测试,在哪里做,为了获得你需要的信心和覆盖水平。
3.关注用户行为
研究用户行为是为了找出网站的最活跃地方,并指出用户如何有规律地参与你的产品。你曾有过只有一个小时测试你的应用程序吗?用这种崩溃保证你理解在你的产品里你的用户认为什么是你的产品最重要的特性,并关注它。然后使用从用户参与决定的数据来决定基于用户行为上的你们需要测试的地方。使用页面交互率,包含哪里用户花最多的时间,以及约束税率来决定你的产品的哪个部分可能代表了一个问题。看所有页面或者特性的数据,测试你最常用的特性,将会给你一个高可信度。
4.到处使用统计
当测试和经理们听到词汇“统计”,他们可能想到自动化。但是你能应用统计学到任何一种测试就像一种决定哪个测试执行在哪个管道上的方法。测试经理们甚至能使用统计学通过决定哪个测试策略提供给产品的哪个部分,去助于战略上地平衡资源。
5.考虑其他统计工具和数据来源
数据是随处可得的,并且你能使用它去研究你的产品没有回归测试的地方。用户服务案例和投诉能暗示在软件中暗藏的可能需要你注意的地方。这些案例经常被追踪,意味着他们是可查询的,并对客户反馈统计是有用的。并且对产品中逃掉的缺陷进行收集的缺陷-追踪工具能提供附加的反馈。这些附加的数据点也有助于暗示你将来的测试策略。
6.没有网页分析?没有问题
假如你在一个没有使用网页统计工具去搜集关于你的用户的产品上工作,那没有问题。只是通过常规的用户调查、市场分析和统计或者客户确认和反馈去搜集用户信息。你可以从这些来源中分析数据,决定你的应用程序的更普遍的用户用例和更受欢迎的特性,去指导你的测试策略。一种你能用于决定分类哪些的常用启发式方法是伦•约翰逊的最近的、核心的、有风险的、配置、已修复的、长期的(英文缩写是RCRCRC)。
这6个策略更多有助于创建一种测试策略;它们能使一个全面性测试策略瓦解成一个“正好”的测试策略,能在降低你的测试工作力度多达80%的同时,很快发现最重要的问题。
有助于降低你的测试力度而计算风险
举个例子,一个10人的团队购买了一个“测试一切”的策略。它计划测试30个属性,每个都需要在10个平台上半天的测试时间。那样在每个测试周期总计多达150人/天,并且将花费团队3周的时间去完成。但是假如你把那个数字减少到2个平台12次测试,这个团队能在一天多点完成一个周期。
自动化也能通过测试特定的核心流程起作用。旋转测试员们使用着的(和一些类似于RCRCRC)一起的流去提高覆盖率。
精简你的测试:一个例子
有一个决定测试策略的方法:像分析学似的,使用社会媒体反应。由于社会媒体的普遍存在,客户反馈是一种比之前更加有力的衡量。根据LNS的研究, PlayStation 4的质量事件,以0.04%的速度发生,在2013年发布后不久就成为关于控制台的主要故事。
为什么发生这个了?当缺陷率被认为在生产流程中是可接受时,测试期望不会与用户期望匹配。哈德 索尼把分析学认为是它设计并测试产品,开发和测试团队在保证可控成本的同时可能设计一个处理给客户关心的策略。
作为一个新的控制台,PS4有经典的同用户分析的新产品挑战:没有一个为不存在的产品而存在的分析。虽然索尼拥有的是一个以前有相似游戏和场景的产品。第一位射手、实时的策略、赛车驾驶和运动游戏从版本到版本是大致一样的,同时有很多其他PS4的特色,比如入流的网飞,在PS3上是可获得的。一个最普遍被使用的特色的有目标的测试能展现重要的、威胁品牌的质量问题。
管理被截止日期和股东报告激发是经常有可能的,这将决定发布一个比它应该的更早些的产品。甚至在一个不好的发布决定例子里,组织能够学习、并在下次听相似的反馈,因为索尼的团队可能在当它改进PS5的发布质量时做了。
希望常在。
通过统计驱动你的测试
在尽快找到你的顾客认为的问题,软件测试是很重要的。假如你能根本地处理它们,一个全面的测试方法是昂贵的,能提供很多信息,它们的一些事可能不相关。“做每一件事”的方法也趋向于推动软件交付日期。
反之,找出20%的代表你的用户用例80%的场景。一旦你有轮流分析的权利,那是一项相当简单的任务。跟着以上的6个步骤开始,你将被很好地武装去得到你的测试恰好组合。
你是如何使用分析去支持你的测试策略呢?我欢迎你的讨论与问题。
原文地址:https://www.cnblogs.com/fengye151/p/11519155.html