zeng_guidong 发表于 2022-7-15 14:39:48

资深老司机带你玩转-测试用例

一、测试用例-模板
所属模块相关需求用例标题前置条件步骤预期优先级用例类型
/MKT(#1000)【MKT-需求】XXXXXXX【9.9_MKT_WEB】优惠列表,XXXXXXXXXXX
1.操作一
2.操作二

P0
P1
功能测试
UI测试
兼容性测试



















备注:步骤的格式需遵循导入禅道规则

二、测试用例-原则
[*]明确性:测试用例本身的描述是否清晰,是否存在二义性;
[*]可执行性:是否考虑到测试用例的执行效率,往往测试用例中步骤不断重复执行,用例验证点、期望结果明确;
[*]完整性:用例设计的结构安排是否清晰、合理,是否利于高效对PRD需求进行覆盖;
[*]正确性:是否完全遵守了PRD需求的规定,无歧义;
[*]健壮性:是否包含了足量的无效等价类用例;
三、测试用例-标题结构:       结构:【版本-模块-渠道】页面,模块,功能点_场景

[*]页面、模块、功能点同一层级的结构按同一个纬度来划分。如同等级页面、同等级功能模块、同等级组件等;
[*]页面:指被测业务系统具体的页面:如活动落地页、首页、填写页;
[*]模块:指被测页面下的区块,如:如优惠列表页下的热门活动模块、领券中心模块等;
[*]功能点:指业务模块下的子功能点,是最小功能点
[*]场景:指具体的验证点
       例如:
          【9.9-MKT-PC】优惠列表页,热门活动,产线tab_无产线时显示
          【9.9-MKT-PC】优惠列表页,热门活动,产线tab_有一个产线时显示
          【9.9-MKT-PC】优惠列表页,热门活动,产线tab_有多个产线时显示
          【9.9-MKT-PC】优惠列表页,热门活动,产线tab_点击机票

四、测试用例-颗粒度划分     4.1、用例颗粒度基本原则:以最小功能模块来划分,为保障用例的可执行性、覆盖度,规范编写用例的颗粒度要求如下:

[*]流程

[*]一个功能的正常流程,编写一个测试用例;
[*]一个功能中多个异常流程,应分开编写多个测试用例;
[*]功能

[*]同一功能不同入口,逻辑一样,可合并编写一个测试用例;
[*]同一功能不同入口,逻辑和页面展示不一样,编写多个测试用例;
[*]根据等价类划分,有效等价类、无效等价类,每个类别的多个场景都编写一条用例;
[*]接口

[*]正常场景
[*]异常场景,多个异常场景编写多条用例
[*]数据

[*]同一功能不同数据准备,编写多个测试用例;
[*]根据边界值划分,创建多条场景用例
[*]UI

[*]整体布局UI,编写一个测试用例
[*]模块区域UI,编写多个测试用例
[*]渠道

[*]H5和WEB无论相同或差异场景,应分渠道多条记录编写

五、测试用例-场景设计
测试类型场景设计备注
功能测试单运行正常值输入法、单运行边界值输入法、多运行顺序执行法、多运行相互作用法 (运行即测试人员模拟用户的操作或行为)、等价类、正交分析法、错误推断法、缓存测试、多tab测试、登录态对功能的影响

数据测试等价类和边界值分析法
空校验、长度校验、重名校验、边界值校验、格式校验(链接https、邮箱)、输入限制:中文、英文、数字、特殊字符、表情图标、前后中间空格(富文本支持首位多个空格);手动换行(富文本、普通文本)、数据类型、多数据组合测试、中英文符号、英文单词拼写、英文大小写、单双引号规范、简繁体


流程测试路径分析法 :语句覆盖、分支覆盖、全覆盖、最小线性无关覆盖

接口测试“输入—输出表”分析法,传值和接口响应
优惠引导组件支持ruleData参数设置-测试场景

接口调用和传值场景:
1、多页面来回操作,检查传值是否正确,是否缓存上一次参数
2、第一次访问,接口调用验证
3、领券后或某些操作后,接口调用验证


UI测试整体布局、字号、字体、颜色、背景色、间距、输入框内间距、边框阴影、点击热区(文字、按钮)、有背景时卡片白底效果、行高、字重、圆角、图片尺寸、图片清晰度、图片格式、对齐方式、风格统一、hover样式、渐变

可靠性测试异常值输入法(如邮箱格式,输入不支持的特殊字符,可输入,但会校验不通过,提示错误)、故障值输入法(故障环境中,如网络异常、丢包) (异常系、容错性(接口出错,前端给予提示))、版本功能合并

兼容性测试浏览器兼容(Chrome、edge、safai)、浏览器版本(高版本、低版本)、APP兼容(Android物理键返回、IOSX头部和底部被遮挡)、电脑屏幕(台式机大屏、笔记本小屏)、版本升级、旧版本兼容性

易用性返回定位、快捷定位(易理解、易学、易操作、吸引性)、提示文案准确,无歧义、通俗易懂

安全性权限校验(登录失效、无权限访问)、敏感信息(身份证、电话号码、银行卡、URL中不能带敏感信息)

性能时间性、资源利用率、图片资源大小

待定。。。


六、测试用例-常用设计方法
1、等价类划分法
   就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。
      即将测试过程中的输入、输出、操作等相似内容分组,从每组中挑选具有代表性的内容作为测试用例,划分份有效等价类和无效等价类

      例如:测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。
      我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。然后从每个子集选出 若干个有代表性的值:
  
无效等价类
      空用户名:“”      
   1-7位数字:"234"      
   9位或以上数字:"1234567890"   
   非数字:"abc&!!!"               
有效等价类
      8位数字:"00000000"   
  
   转化为测试用例:
    在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:
    1)为每一个等价类规定一个唯一的编号;
    2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
    3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

2、边界值分析法
       选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值,例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。
  
       例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:9,10,11,99,100,101。
     注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。

3、错误推测法
  错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
  这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

若输入条件需要考虑组合情况,则可用因果图法和判定表法
4、判定表法
       基于策略表的测试,是功能测试中最严密的测试方法,利于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,最终得到一个判断清晰的策略表。
  方法适合于:
       逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。
  
例如,某公司的对客户分类标准如下:顾客每次订货额在 1000元以上(含1000元),信誉好的,订单设“优先”标志;
生成判定表

初始判定表1234
条件桩信誉好吗YYNN
订货在1000以上吗YNYN
动作桩优先√   
不优先 √√√

简化,合并相似规则或者相同动作。(有两个或者多条规则具有相同的动作,并且条件项之间存在极为相似的关系就可以进行合并。)

得到的测试用例:
信誉好,订货在1000以上,订单设“优先”标志;
订货在1000元以下,无法是否信誉好,订单设“正常”标志;
信誉不好,无论订货是否在1000元以下,订单设“正常”标志;
  
5、因果图法
用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。
参数配置类的测试,可结合正交试验法筛选用例
减少用例数目,用尽量少的用例覆盖输入的组合。

正交表是按照一定规则生成的表。
业务流程清晰的系统,可选用场景法设计测试用例
同一种事件的不同触发顺序和处理结果就形成事件流,描绘事件触发时的情景,有利于测试设计者设计测试用例,同时也使得测试用例更容易理解和执行。
对于有状态迁移和逻辑功能路径组合的情况,考虑使用功能图法。
功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述,一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能
对照程序逻辑,检查已设计出的测试用例逻辑覆盖度,如果没有达到要求的覆盖标准,应再补充足够的测试用例。
页: [1]
查看完整版本: 资深老司机带你玩转-测试用例