searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

起底如何编写测试用例

2023-05-30 01:31:02
19
0

一、前言

1.1 为什么编写测试用例?

作为测试工程师,为什么要编写测试用例,分析特征如下:

  1. 需求复杂:多重输入输出无法穷举的场景,系统复杂涉及上下游系统关联等;
  2. 重复繁琐:测试工作重复且繁琐,需要多轮回归,测试维度及关注点众多;
  3. 人:高并发、多线程工作,容易遗忘导致漏测。

帮助人梳理复杂的需求高质量完成繁琐的测试工作。

 

1.2 如何评估测试用例?

编写测试用例的关键点是什么?该如何评价测试用例呢?总结出以下几点:

  1. 完备性:能完全覆盖需求,越完全越好;
  2. 结构化:分类清晰,需要的前置条件,上下游关系,入口步骤等;
  3. 重点突出:突出测试点,风险点,难点,疑问点;
  4. 准确性高:等价类划分准确,所有可能的边界值和边界条件能正确识别。

基本原则:站在用户角度,保证系统在各种应用场景下的功能是符合设计要求的!

 

1.3 如何编写测试用例?

在实际工作中,如何编写一份测试用例?本文章将从方法论,经验结构,实践应用三个方面阐述。

 

二、设计模式

设计模式是从方法论方面高度总结出设计测试用例思维方式方法,分为两大类:

2.1 黑盒测试

  • 等价类:所有可能的数据划分多组不同的子集,互不相交又完整汇合;
  • 边界值:是对于恰好大于、小于和等于边界的边界值测试,等价类方法的补充;
  • 错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误、和容易发生错误的特殊情况;
  • 场景法:事件触发时的情景形成了场景,而同一时间不同的触发顺序和处理结构就构成了事件流;
  • 因果图判断表:因果图利用图解法分析输入的各种组合互相制约关系,复制场景适用。判定表是分析多逻辑条件下不同操作的情况工具,同因果图配合;
  • 其他:正交试验设计法,功能图法等

2.2 白盒测试

  • 代码检查法:桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面。 如静态扫描,CodeView等;
  • 覆盖逻辑法:包括语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正判定条件覆盖、点覆盖、边覆盖、路径覆盖,测试程序内部的逻辑结构;
  • 静态结构分析法:通过使用测试工具分析程序源代码的系统结构、数据结构、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图标等;
  • 其他:静态质量度量法,基本路径测试法,域测试法,符号测试法等。

编写测试用例,可能用到各种方法,各方法的本质是帮助人理清复杂的逻辑及场景,设计出完备的测试用例!

2.3 案例分析

等价类/边界值/错误推断法-案例

场景法-案例

     

本章节总结了常见测试用例设计模式,是方法论思维方式的锻炼!!

 

三、基准用例

基准用例根据不同类型的需求,总结出测试用例编写的重点,需求的分类如下:

3.1 移动端

移动端APP的特点为品牌多、分辨率多、网络有wifi和流量等、系统安卓/ios/鸿蒙、适配版本多等,随时随地流量大。其移动端基准用例如下:

 

3.2 H5基准用例

通过手机浏览器打开的网页,简称H5,这类需求的基准用例如下:

 

针对黑盒测试,主要常见的测试标准指标如下:

3.3 接口测试

接口测试主要用于检查系统、系统与子系统的交互点,上下游数据相互依赖点等;检查数据的交换,传递和控制管理的过程,多重输入->接口处理->输出,底层读写数据库/Redis的数据等。接口测试基准用例如下;

针对灰盒/白盒测试,主要的测试标准如下:

本章节总结她人经验,总结各种类型的基准用例!!

 

四、实践应用

4.1 实操1-标准案例:H5登录业务测试

等价类,边界值分析功能,设计测试用例-初级工程师

有经验的测试工程师会继续扩充用例,运用错误推断法,想象用户实际中会做哪些操作-中级测试工程师

改进后的测试用例覆盖率得到了提升,但是还是围绕显式功能设计的,那么非显式功能呢?安全/性能/兼容测试-高级测试工程师

 

4.2 实操2-优秀案例:新房经验值看板用例分析

针对1.2小结写的如何评价用例的标准,分析次优秀用例点如下:

  1. 完备性:所有可能的入口,不同的角色,不同的页面,UI检查,兜底,报错兼容,数据校验。 
  2. 重点突出:每个用例标明测试点,用符号标明特殊逻辑,测试过程记录,风险点重点 
  3. 结构化:逻辑分层,入口->页面->异常,区分灰度/非灰度不同,单点功能聚集 
  4. 准确性高:特殊逻辑场景标明,边界值遍历

4.3 实操3-需要改进案例:按照需求复制case,无思考

 

4.4 实操4-需要改进案例:逻辑不清,想到什么写什么

4.5 实操5-需要改进案例:一些不好现象

 

五、总结回顾

测试用例看似简单,但是能写好一个用例,需要测试工程师不停的琢磨需求!始终站在用户的角度,想象可能出现的场景,实际过程中不停的测试验证,发现尽可能多的bug,难道每次用例都要写的那么全?原则如下:

 

本文章从方法论,实际经验总结,具体案例分析三个方面讲述应该如何编写一个测试用例。测试用例对需求进行拆分,并重组思考的过程,常见的用例结构如下:

希望对大家有帮助!!

0条评论
0 / 1000
l****n
4文章数
0粉丝数
l****n
4 文章 | 0 粉丝
l****n
4文章数
0粉丝数
l****n
4 文章 | 0 粉丝
原创

起底如何编写测试用例

2023-05-30 01:31:02
19
0

一、前言

1.1 为什么编写测试用例?

作为测试工程师,为什么要编写测试用例,分析特征如下:

  1. 需求复杂:多重输入输出无法穷举的场景,系统复杂涉及上下游系统关联等;
  2. 重复繁琐:测试工作重复且繁琐,需要多轮回归,测试维度及关注点众多;
  3. 人:高并发、多线程工作,容易遗忘导致漏测。

帮助人梳理复杂的需求高质量完成繁琐的测试工作。

 

1.2 如何评估测试用例?

编写测试用例的关键点是什么?该如何评价测试用例呢?总结出以下几点:

  1. 完备性:能完全覆盖需求,越完全越好;
  2. 结构化:分类清晰,需要的前置条件,上下游关系,入口步骤等;
  3. 重点突出:突出测试点,风险点,难点,疑问点;
  4. 准确性高:等价类划分准确,所有可能的边界值和边界条件能正确识别。

基本原则:站在用户角度,保证系统在各种应用场景下的功能是符合设计要求的!

 

1.3 如何编写测试用例?

在实际工作中,如何编写一份测试用例?本文章将从方法论,经验结构,实践应用三个方面阐述。

 

二、设计模式

设计模式是从方法论方面高度总结出设计测试用例思维方式方法,分为两大类:

2.1 黑盒测试

  • 等价类:所有可能的数据划分多组不同的子集,互不相交又完整汇合;
  • 边界值:是对于恰好大于、小于和等于边界的边界值测试,等价类方法的补充;
  • 错误推断法:基于经验和直觉推测程序中所有可能存在的各种错误、和容易发生错误的特殊情况;
  • 场景法:事件触发时的情景形成了场景,而同一时间不同的触发顺序和处理结构就构成了事件流;
  • 因果图判断表:因果图利用图解法分析输入的各种组合互相制约关系,复制场景适用。判定表是分析多逻辑条件下不同操作的情况工具,同因果图配合;
  • 其他:正交试验设计法,功能图法等

2.2 白盒测试

  • 代码检查法:桌面检查、代码审查和走查等,主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码逻辑表达的正确性,代码结构的合理性等方面。 如静态扫描,CodeView等;
  • 覆盖逻辑法:包括语句覆盖、判定覆盖、条件覆盖、条件/判定覆盖、条件组合覆盖、修正判定条件覆盖、点覆盖、边覆盖、路径覆盖,测试程序内部的逻辑结构;
  • 静态结构分析法:通过使用测试工具分析程序源代码的系统结构、数据结构、内部控制逻辑等内部结构,生成函数调用关系图、模块控制流图、内部文件调用关系图、子程序表、宏和函数参数表等各类图形图标等;
  • 其他:静态质量度量法,基本路径测试法,域测试法,符号测试法等。

编写测试用例,可能用到各种方法,各方法的本质是帮助人理清复杂的逻辑及场景,设计出完备的测试用例!

2.3 案例分析

等价类/边界值/错误推断法-案例

场景法-案例

     

本章节总结了常见测试用例设计模式,是方法论思维方式的锻炼!!

 

三、基准用例

基准用例根据不同类型的需求,总结出测试用例编写的重点,需求的分类如下:

3.1 移动端

移动端APP的特点为品牌多、分辨率多、网络有wifi和流量等、系统安卓/ios/鸿蒙、适配版本多等,随时随地流量大。其移动端基准用例如下:

 

3.2 H5基准用例

通过手机浏览器打开的网页,简称H5,这类需求的基准用例如下:

 

针对黑盒测试,主要常见的测试标准指标如下:

3.3 接口测试

接口测试主要用于检查系统、系统与子系统的交互点,上下游数据相互依赖点等;检查数据的交换,传递和控制管理的过程,多重输入->接口处理->输出,底层读写数据库/Redis的数据等。接口测试基准用例如下;

针对灰盒/白盒测试,主要的测试标准如下:

本章节总结她人经验,总结各种类型的基准用例!!

 

四、实践应用

4.1 实操1-标准案例:H5登录业务测试

等价类,边界值分析功能,设计测试用例-初级工程师

有经验的测试工程师会继续扩充用例,运用错误推断法,想象用户实际中会做哪些操作-中级测试工程师

改进后的测试用例覆盖率得到了提升,但是还是围绕显式功能设计的,那么非显式功能呢?安全/性能/兼容测试-高级测试工程师

 

4.2 实操2-优秀案例:新房经验值看板用例分析

针对1.2小结写的如何评价用例的标准,分析次优秀用例点如下:

  1. 完备性:所有可能的入口,不同的角色,不同的页面,UI检查,兜底,报错兼容,数据校验。 
  2. 重点突出:每个用例标明测试点,用符号标明特殊逻辑,测试过程记录,风险点重点 
  3. 结构化:逻辑分层,入口->页面->异常,区分灰度/非灰度不同,单点功能聚集 
  4. 准确性高:特殊逻辑场景标明,边界值遍历

4.3 实操3-需要改进案例:按照需求复制case,无思考

 

4.4 实操4-需要改进案例:逻辑不清,想到什么写什么

4.5 实操5-需要改进案例:一些不好现象

 

五、总结回顾

测试用例看似简单,但是能写好一个用例,需要测试工程师不停的琢磨需求!始终站在用户的角度,想象可能出现的场景,实际过程中不停的测试验证,发现尽可能多的bug,难道每次用例都要写的那么全?原则如下:

 

本文章从方法论,实际经验总结,具体案例分析三个方面讲述应该如何编写一个测试用例。测试用例对需求进行拆分,并重组思考的过程,常见的用例结构如下:

希望对大家有帮助!!

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0