TestBird 移动互联测试专家

Archive September 2018

“测试经验说”系列之如何进行测试分析设计?(下)

上一次分享,我们讲了测试分析工程方法,这一期和大家分享一下测试设计工程方法。 测试设计技术按是否需要参考内部结构可分为黑盒技术和白盒技术,黑盒技术依据对测试文档进行分析或者基于开发人员、测试人员和用户的经验得出或选择测试条件或测试用例,无论是功能性的用例还是非功能性的用例,都不需要参考组件或系统的内部结构。而白盒技术则需要对组件或系统结构进行分析。 测试技术的选择需要考虑下面的几个因素:系统类型、法律法规标准、客户或合同的需求、风险级别、风险类型、测试目标、文档的可用性、测试人员的技能水平 、时间和成本的预算、开发生命周期、用例模型和以前发现缺陷类型的经验等。 下面主要介绍几种常见的基于规格说明的黑盒测试设计技术,这些技术的共同特点是:使用正式或非正式的模型来描述需要解决的问题,根据这些模型可以系统地导出测试用例。 这里介绍几种常见的方法等价类、边界值、判定表、用例测试。 1、等价类划分法 通常情况下,考虑测试输入数据所有可能的组合是不现实的,怎么用较少的数据达到相同的测试效果呢,等价类划分方法可以实现这个目的。先看下等价类划分定义:将软件或系统的输入(或输出)分成不同的组,对于同一个组的输入,软件或系统应该有相似的表现行为,就好像系统是以相同的方式对这些输入值进行处理。等价类是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。 等价类又分为有效等价类和无效等价类,有效等价类代表对程序有效的输入,而无效等价类则是其他任何可能的输入(即不正确的输入值)。设计用例时要包含有效等价类和无效等价类,来测试被测系统既能正确处理有效输入,也能正确处理无效输入。 等价类划分原则: 原则1.如果输入条件规定了一个取值范围,那么就应该确定一个有效等价类以及两个无效等价类。 如月份取值在1~12之间,由此可确定一个有效等价类即月份在1~12之间,和两个无效等价类,即月份取值小于1及月份取值大于12。 原则2.规定了输入条件必须如何的情况下可以确定一个有效等价类和一个无效等价类。 如输入值必须大于0,则有效等价类为输入值大于0 ,无效等价类为输入值小于或者等于0。 原则3.在输入数据是一个bool常量的情况下,可以确定一个有效等价类和一个无效等价类。 原则4.在规定了输入数据由n个值构成的情况下,并要求定其中的每个值进行测试时,可以确定n个有效等价类和一个无效等价类。 原则5.在规定了输入数据冰箱最受的规则的情况下,可以确定一个有效等价类和若干个无效等价类(从不同角度违反规则)。 原则6.在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。 用等价类设计测试用例步骤如下: 1)为每一个等价类规定一个唯一的编号 2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止 3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。 用等价类方法设计测试用例举例:带薪年假计算方法,职工累计工作满1年不满10年的,年休假为5天;已满10年不满20年的,年休假为10天;已满20年的,年休假为15天。劳动合同法规定职工请事假累计20天及以上且单位按照规定不扣工资的,取消本年度年休假,20天内的按实际年休假发放。假设工作最长年限为60年。 第一步:划分有效等价类和无效等价类,根据员工不同服务年限,可得到如下的等价类 第二步:为有效等价类设计测试用例 第三步:为无效等价类设计测试用例 经过以上三步后,基于等价类的用例设计已经结束,覆盖了所有的有效等价类和无效等价类。 2、边界值分析 软件本身具备复杂性、一致性、不可见性,因此程序的缺陷经常在等价类的边界和接口处被发现,所以在等价类分析后还应该对于每个测试的变量加上边界值分析。 对于测试的每个输入,都应在其定义的边界附加测试用例,一般边界需要考虑略低于边界值、边界值、略高于边界值等几种情况。 针对计算年假问题中的有效等价类1=

【手机更新】双卡双待的iPhone XS/XS Max

9月21日,苹果中国官网,iPhone XS/XS Max两款新品正式开卖,虽然这几年iPhone被无数吐槽,但每年的iPhone新品依然有着非常高的关注度。 作为测试大厂,TestBird自然会以最快速度拿到新机,从测试的角度分析,此次新机的最大亮点在于双卡双待,这对于国内许多有着双卡的用户来说,应该是不错的消息,很多人因为工作或者生活都有多个手机号,不少人因为此次选择了安卓系统的手机。此次应该会有不少人为此买单。 当然,在APP运行方面,特别是手游运行情况,iPhone XS/XS Max在A12处理器的强力加持下,依然保持着极高的流畅性。还是那句话,如丝般顺滑的快感!在加载的时候,这两款新机的速度也比之前的机型要更快一些。 近期,iOS 12正式版已经推出,不少用户也花了半小时更新系统,不过,也有不少软件供应商还没有来得及适配,比如打开《绝地求生》,画面在“留海位置”的文字就被遮挡,操作一些画面时,有稍微卡顿的现象。 目前,我们已经更新iOS 12系统,下表是可以更新此系统的系列机型。 TestBird已经全面覆盖苹果系列所有机型,拥有90余部机型,充分为开发商提供最全最新的苹果机型和系统测试。

“测试经验说”系列之如何进行测试分析设计?(上)

在平时的工作中你是否遇到过如下的一些情况: • 同样的需求不同的人设计测试用例,视角、纬度差异很大 • 同样的需求有人设计比较全面,有的基本需求都未覆盖 • 同样的用例不同的人执行,有人能发现较多缺陷,有的人一个发现不了 • 转测试验证没问题的功能特性,一转测试问题满天飞 • 经常听到同事说这种情况我怎么就没考虑到呢 • 经常听到同事说这种情况不可能出现,即使出现也不会有问题 • 。。。。。。 为什么会出现这么大的差异呢,我认为主要有两个原因: 1、思维方式不同,你会发现具备逆向思维和系统思维人员,经常设计的用例覆盖度度高,有效性强,测试执行中能发现很多别人容易忽略的缺陷; 2、工程方法的应用,测试有一些独特的视角和方法,掌握并灵活使用测试分析设计方法的通常设计的用例更全面,能用较少的用例覆盖较多的情况,反之,可能会有较多重复或遗漏。 今天我们就重点讨论下第二种情况,常见的测试分析设计方法以及如何应用,内容包括测试分析设计方法的简单介绍,以及应用这些方法的一个实例。首先,我们看下测试分析设计分别在瀑布模型和迭代模型下的位置,瀑布模型: 迭代模型: 测试分析重点明确“测试什么”,测试设计重点明确“如何测试”。无论如何两种模型下测试分析和设计的职责不变,都一样重要,必不可少。 瀑布模型和迭代模型最大的区别就是由分段进行测试设计和测试执行,改为分批进行测试设计和测试执行,即迭代模型下测试设计测试执行、测试评估也是迭代的。下面我们一起看看这些常见的工程方法。 一、 测试分析工程方法简述 测试有哪些独特的视角呢,测试与开发的思路有哪些不同呢,其中测试类型分析、功能交互分析、继承性分析是测试比较典型的独特视角。 1、测试类型分析 产品应用中经常出现:界面太差,操作繁琐;问题定位时间长;升级扩容不便;功能异常等等。其实质量是多维的,不能仅有功能测试,那么如何发现各类问题呢,一个典型的工程方法就是测试类型分析。 测试类型分析是从不同的质量维度、不同的测试目的出发、以不同的角度来分析和测试产品,启发测试设计人员尽可能从质量的各个维度进行分析和设计,以提高测试用例的完备性,发现不同类型的缺陷。比较大型的公司都建立了完备的测试类型库,也取得了比较好的效果,拓展了测试思路,多发现25%的测试需求。 那如何应用测试类型分析方法呢,一般分三个步骤: 1)建立测试类型库 测试团队根据产品特点及历史积累建立初步的测试类型库,一般软件的测试类型包括功能测试、性能测试、可靠性测试、兼容性测试、可用性测试、可服务测试、可维护测试等,并进行持续完善。 2)明确各版本/特性的测试类型分析思路 一般有系统测试工程师主导进行本版本测试类型及子类型的确定,以及控制分析的粒度,确保团队成员理解一致。 3)进行测试类型分析 针对每个特性,每种类型进行分析得到基本的测试需求 。 2、功能交互分析 产品功能不是独立的,功能之间存在交互,功能交互分析就是避免交互功能的遗漏,提高功能测试的完备度的一种分析方法,是测试类型分析的补充。 功能交互分析的关键是找到功能之间的交互关系,一般交互关系考虑时序关系的影响和空间关系的影响。一般有下面这些情况: 根据这些相关功能的交互关系进一步分析测试需求,下面举一个简单的例子,手机的呼叫功能和手机的其它特性比如微信做功能交互的分析的结果。纵轴是被分析的呼叫功能,横轴是其它功能如微信等。 交互的各个功能分析完后,就形成交互功能的测试需求列表,后续可以逐步细化成测试用例。 3、继承性分析 我们的产品通常是在一个基础版本上开发的,那么新增了哪些?继承了什么?新增和继承特性有什么关系?该测试哪些?新版本的测试策略又该如何制定?继承性分析能很好的解决这些问题,基本的分析思路如下: 根据需求来源表、历史版本的测试报告,网上使用情况等等进行 继承特性的现状分析,分析每个特性的成熟度和失效影响度,给出继承特性的测试策略建议。并进行特性交互关系的分析,每个新特性与继承特性的交互情况给出交互分析的策略以及新增测试需求等。 对于继承特性,根据特性的使用频度、特性重要性给出失效影响度的分析和成熟度分析的结果可参考如下: 再根据继承方式进行具体分析,分析出交互点及测试建议可参考如下: 继承特性与新特性的交互分析: 继承方式为变化的继承特性变化分析: 对于独立的继承特性测试建议分析: 以上是测试分析的三大视角,可以根据产品和特性情况结合使用,最主要的是视角和思想,分析出尽可能完备的测试点(测试需求),过程可灵活进行。

玩了几年《开心消消乐》,为何还不厌倦?

上班族小王每天在拥挤的地铁上,带着耳机打着《疯狂动物城》;去菜场买菜的李阿姨坐在公交车上,拿出手机打了几盘《开心消消乐》。这样的场景,在你身边是否熟悉? 手游盛行的今天,智能手机的普及,催生出几代手游用户,手游种类也是千变万化,上面所提到的两个手游,皆属于轻度手游中的消除类游戏,操作简单易懂,过一关耗费不了多久,充分捡拾了用户的碎片时间。 实际上,在各大应用商店,消除类手游都一直出现在排行榜上,如自2014年发行的《开心消消乐》没有跌出国内iOS游戏免费榜前20,还有几款水果消除手游同样存在前200榜单,消除类手游的生命周期远比大家想象的长久。 长盛不衰的消除类手游 近期,极光大数据发布了消除类手游的市场洞悉报告,报告显示,截至今年7月份,消除游戏的行业渗透率为15.52%。尽管消除游戏的行业渗透率从去年8月份开始呈现出逐月下滑趋势,但其截至今年7月份的玩家规模仍达到1.7亿。 (图片源自极光大数据) 另一组数据,来自TestBird发布的《2018年度手游测试白皮书》中,通过对2018年上半年轻度手游呈增长趋势,测试过的轻度手游以41.7%比重占据第一,也从侧面反映长盛不衰的轻度手游在国内玩家中的地位。 因消除类手游在玩法上大致相似,极光大数据也给出这样一组数据,超过85%的玩家仅在手机上安装一款消除类手游,这也从侧面说明,消除类手游在近几年没有大的新玩法突破,仅在主题、道具和效果上有所差异,并且消除类手游的玩家对一款消除类手游忠诚度较高。 为何是《开心消消乐》? 根据极光大数据的统计结果,玩家偏好度排名前三的消除游戏依次为《开心消消乐》、《宾果消消消》和《天天爱消除》,随后是《海滨消消乐》和《消灭星星3最新版》。这几款手游都偏向休闲卡通类型。同时,玩家的属性里,截至今年7月份,女性玩家的占比达到68.5%。这也从侧面说明,女性玩家更加偏好可爱、二次元、轻度对抗的游戏。 (图片源自极光大数据) 近几年,TestBird测试过以上提到的几款游戏发现,开发商对兼容性测试需求非常大。这也从侧面反映,消除类手游用户基数大,并且大多数用户都下沉在三线城市,玩家终端碎片化严重。 同时,通过测试工程师的分析,消除类手游之所以生命力强,如《开心消消乐》为例,主要有以下几点: 1、玩法简单,新手引导步骤少,只需几步就可将玩家带入开始游戏,这也是大多数下载此类游戏人群的需求。 2、卡通休闲属性,缓解玩家的现实压力。虽然大多数消除游戏的玩法差异不大,但能发现此类消除游戏都以卡通形象,界面色彩丰富,饱和度很高,带领玩家回归童趣。 3、强势的渠道投放。这一点也非常重要,《开心消消乐》之所以成为国民手游,逆袭不少重度手游,在早期和强渠道推广有关,赶上微信渠道游戏第一批开放的好机会,加上多维度立体推广,转化效果好。 4、强运营,每周每月都会推出新的关卡,新鲜的玩法,因用户年龄层分布广,许多中老年也喜欢玩,根据需求,专门设置有24小时电话服务中心,也因为用户基数大,终端多样,多次进行兼容性测试,注重用户体验也是其成功重要元素。 在重度手游盛行的今天,如《开心消消乐》这样的消除类手游能够长期保持在靠前的位置,实数少见,据了解,此款游戏开放商乐元素,成立了超过一百人的大规模团队,有专门的产品团队、市场团队、渠道团队,客服团队专门服务《开心消消乐》。 从运营角度上看,在一款游戏中投入如此庞大的人力物力,对现阶段市面上的轻度休闲游戏来说是比较罕见的。从如今比较浮躁的手游环境来看,做好一款手游,不管是轻度还是重度,不仅仅是考验短期转化率那么简单,从此款手游,可以看到,运营的布局规模和生命周期的关系是成正比的,长期的重运营或许能够带来细水长流的收益。