通过分析来精简你的测试的6种方法(译)

过去几年来,组织开发软件的方法已经发生重大的改变了。从敏捷开发到持续的一切,开发者们正越跑越快,并在更少的时间内开发出更多的内容。

作为一名测试,你需要保持跟进。你必须使业务运行更快,减少到市场的时间,但是不能降低产品的质量,那样将会消极地影响你的品牌价值。用户对于他们所钟爱的产品,期待得到快速更新、缺陷修复,以及功能性的优化。而且当缩减成本时你需要完成所有这些。所以你如何精简你的测试以达到正确的平衡呢?

没有计划的测试会导致花费高成本和时间在几乎不产生价值的产品领域。但是当通过回归保持合理水平的信心,明显地减少你做的测试的数量是有可能的。下面我提供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

时间: 2024-11-13 03:48:25

通过分析来精简你的测试的6种方法(译)的相关文章

分析函数调用关系图(call graph)的几种方法

分析函数调用关系图(call graph)的几种方法 绘制函数调用关系图对理解大型程序大有帮助.我想大家都有过一边读源码(并在头脑中维护一个调用栈),一边在纸上画函数调用关系,然后整理成图的经历.如果运气好一点,借助调试器的单步跟踪功能和call stack窗口,能节约一些脑力.不过如果要分析的是脚本语言的代码,那多半只好老老实实用第一种方法了.如果在读代码之前,手边就有一份调用图,岂不妙哉?下面举出我知道的几种免费的分析C/C++函数调用关系的工具. 函数调用关系图(call graph)是图

智能手机的耗电特征及APP耗电量测试的两种方法

文章陈述了手机发展趋势及耗电特性,集中讨论了时下最为关心的智能手机耗电问题,并介绍了测量手机软件耗电量的两种方法.此外还解释了为何运营商此前会提出收取微信的费用,心跳机制是什么. 美国著名手机公司Palm的CEO JonRubinstein曾经说过:“手机未来的发展取决于两个因数,一是手机的数据传输速度:二就是手机待机时长.” 为什么手机待机时长如此重要呢? 现 在,手机上网速度已经有很大的提升,而且还在马不停蹄的发展4G,5G.4G网络可以将手机的上网速度提高到100Mbps以上,简单的说,下

shell 条件测试语句三种方法

1.test -f file  2.[ -f file ] 3.[[ -f file ]] [ -f file1 -a -f file2]逻辑与[ -f file1 -o -f file2]逻辑或 [ -f file1] && [ -f file2 ] 一样的 字符串的操作最好加双引号 如-n -z == != 并且比较时等号两边要加空格 ###man test ( EXPRESSION ) EXPRESSION is true ! EXPRESSION EXPRESSION is fal

机器学习实践 测试驱动的开发方法——互动出版网

这篇是计算机类的优质预售推荐>>>><机器学习实践 测试驱动的开发方法> 用测试驱动方法开发出可靠.稳定的机器学习算法. 编辑推荐 本书介绍在开发机器学习算法时如何运用测试驱动的方法,捕捉可能扰乱正常分析的错误.这本实践指南从测试驱动开发和机器学习的基本原理讲起,展示了如何将测试驱动开发运用于若干机器学习算法,包括朴素贝叶斯分类器和神经网络. 任何机器学习算法都有一些传统的测试方法,但它们通常都不会考虑编码中的人为错误.借助测试驱动的开发方法,你便不会像其他研究者那样盲

C#中判断空字符串的3种方法性能分析

3种方法分别是:string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0) 3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题. 建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test ) WebForm1.aspxprivate void Page_Load(object sender, System.EventArgs e)

C 中判断空字符串的3种方法性能分析【月儿原创】

C#中判断空字符串的3种方法性能分析 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.28  3种方法分别是:string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0) 3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题. 建立3个aspx页面(为什么用网页,主要是利用Microsoft Application

Spring 中获取 request 的几种方法,及其线程安全性分析

概述在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等.由于在Spring MVC中,处理请求的Controller.Service等对象都是单例的,因此获取request对象时最需要注意的问题,便是request对象是否是线程安全的:当有大量并发请求时,能否保证不同请求/线程中使用不同的request对象.这里还有一个问题需要注意:前面所说的"在处理请

VMWARE虚拟机不能上网三种方法分析

bridged(桥接模式). NAT(网络地址转换模式) host-only(主机模式). 理论理解: 1.bridged(桥接模式) 在这处模式下,虚拟机等同于网络内的一台物理主机,可对手动设置IP,子网掩码,DNS,且IP地址要和主机的IP在同一网段内.这样,虚拟机就和主机如同连在一个HUB上的两台计算机,只要主机能上网,虚拟机也会在这种模式下上网. 2.host-only(主机模式) 在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的. 提示:在

Win32 进程间通信的分析与比较(13种方法)

1 进程与进程通信 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码.数据以及它可利用的系统资源(如文件.管道等)组成.多进程/多线 程是Windows操作系统的一个基本特征.Microsoft Win32应用编程接口(Application Programming Interface, API)提供了大量支持应用程序间数据共享和交换的机制,这些机制行使的活动称为进程间通信(InterProcess Communication, IPC),进程通信就是指不同进程间进行数据共