• 十年测试老鸟带你玩转-测试用例


    一、测试用例-模板

    所属模块相关需求用例标题前置条件步骤预期优先级用例类型
    /MKT(#1000)【MKT-需求】XXXXXXX【9.9_MKT_WEB】优惠列表,XXXXXXXXXXX1.操作一
    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、因果图法
    用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。
    参数配置类的测试,可结合正交试验法筛选用例
    减少用例数目,用尽量少的用例覆盖输入的组合。

    正交表是按照一定规则生成的表。

    业务流程清晰的系统,可选用场景法设计测试用例
    同一种事件的不同触发顺序和处理结果就形成事件流,描绘事件触发时的情景,有利于测试设计者

    设计测试用例,同时也使得测试用例更容易理解和执行。

    对于有状态迁移和逻辑功能路径组合的情况,考虑使用功能图法。

    功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述,一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能

    对照程序逻辑,检查已设计出的测试用例逻辑覆盖度,如果没有达到要求的覆盖标准,应再补充足够的测试用例。

    感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

     

  • 相关阅读:
    (附源码)node.js知识分享网站 毕业设计 202038
    [附源码]计算机毕业设计JAVA企业信息网站
    web前端第三天作业
    基于HTML+CSS+JavaScript简洁的响应式个人博客网站bootstrap网页(大学生简单个人静态HTML网页设计作品)...
    GPT-4与Claude3、Gemini、Sora:AI领域的技术创新与突破
    Java8新特性:stream()流的巧妙用法总结
    MySQL的高可用方案:深入Galera Cluster和ProxySQL
    Redis
    牛客网《剑指offer》专栏刷题练习之双指针算法的使用
    跨境电商建站:选择域名需要注意什么?
  • 原文地址:https://blog.csdn.net/hlsxjh/article/details/133887875