在大型项目的测试中通常都伴随着大量的测试用例。如何优化用例以提高编写的效率,如何组织用例以提高执行的效率经常困扰着我们;因此总结了一些在编写用例时的心得。

1.用例框架的优化

一份好的用例设计需要有一个好的用例框架的支撑,因此用例结构优化的第一步就是优化用例框架。

一般我们的用例框架是先以测试方法作为基础,第一层是测试类型,考虑系统所需要测试的测试类型。

如果用例偏重于场景法的话,那么第二层是场景考虑,此时暂不要去思考如何实现;如果用例偏重于模块测试的话,那么第二层是你划分的各个模块;如果用例设计偏重于逻辑路径的话,那么第二层是你每个路径主要实现的功能。

第三层是功能点,以场景为导向的考虑的是实现这个场景需要哪些功能模块支撑,每个模块做什么;以模块为导向的则考虑每个模块中主要实现的功能点;以路径为导向的则是考虑路径中的功能点的实现。

2.组件机制与模块功能的分离

不管是什么组件,总有它自己使用的机制,与它实现的功能点没有任何关系。最常见的是调度机制以及最基本的配置读取的机制。这些都可以剥离出来单独测一次就够了,不需要在每个模块中测一次,重复编写用例。

3.提取公共用例

在这个方法中,什么样的用例可以作为公共用例是最关键的。一般情况下可以作为公共用例的有两种类型:

第一种是测试方法在所有项目中通用,一般类似于翻页、导出、上传这些;测试方法统一,会因为设计的不同在每个项目中略有不同,但是在一个项目的各个地方的功能实现基本是一致的。此时一般会将用例设计写为一份,作为公共用例设计,但是测试用例会分散在各个模块中有多份以方便执行。

第二种是在一个项目中多个组件共同使用的方法,此时会将用例设计与用例都单独作为一份进行编写,执行时也只需要执行一遍就可以,不需要在每个组件中再单独都执行。

另外其实还会有一种比较不常见的公共用例,例如在报表系统中的ETL过程,虽然ETL过程是对数据进行抽取、转换、加载,是对不同的数据源进行处理,但实际在流程处理上是一致的,只会在需要进行数据进行有条件的转换时不一致。因此整一套流程实际就是一份公共用例。

第一种公共用例比较好分辨,第二种的话需要对逻辑设计有一定的认识,并且需要从开发那边获取信息,比如说开发把哪些部分封装成了公共调用方法;此时并不一定是一开始就规划了这部分作为公共用例,而是在写用例设计过程中发现大部分设计几乎相同,才会考虑开发是否会把此部分作为公共代码,能否作为公共代码以及与开发沟通他们准备如何实现。

4.条件细分,正向组合

如果涉及到的用例是由很多条件组合控制的话,尽量将用例设计中的各个条件细分到最小的粒度,而不是使用组合的方式展现。

当条件细分到最低粒度的时候很多的用例设计就有了共同的地方,此时就会出现很多可复用的测试用例设计,这样能够减少用例设计的工作量。

然后再在细分到最小粒度的用例设计基础上进行一定的组合优化,因为有些正向数据实际是由多个最小粒度的条件组合而成,不需要单独进行验证,所以组合后能够减少用例执行的时间。

5.场景分析剔除

对于状态控制很多的用例,需要进行一定的场景分析,对一些不存在的场景进行用例的删除。因为即使开发没有做对应的控制,要求开发修改的可能性也非常小,并且此类的修改没有意义。

6.用例设计粒度的控制

如果测试要求粒度特别细的状态下,用例量几乎是翻倍的。这是可以从路径覆盖的角度上分析,实际会发现有很多重复检查某一部分的用例量。此时需要我们做的是测试用例粒度的把控。在最正常的路径中做详细的测试,在其他路径中做粒度略粗的测试,一定要特别注意有没有特殊场景不能做粒度的放粗。

转至:https://www.cnblogs.com/shengs/p/3790079.html

转载于:https://www.cnblogs.com/keepSmile/p/9295505.html

【转】用例结构优化心得相关推荐

  1. mysql 优化表_mysql里sql优化和表结构优化

    开启慢查询日志 计入sql show variables like 'slow_query_log';//慢查询查看状态 OFF未开启 ON开启 show variables like '%log%' ...

  2. SQL巩固以及数据库、表结构优化

    SQL巩固&数据库.表结构优化 前言 对于初级程序开发工程师而言,SQL是很多人的弱项,为此我给大家来做一下总结,希望能够帮到你们. 课程说明 1.介绍项目实战开发过程中常用的MySQL函数及 ...

  3. java 修改mysql数据库表结构_MYSQL数据库表结构优化方法详解

    摘要:这篇MySQL栏目下的"MYSQL数据库表结构优化方法详解",介绍的技术点是"mysql数据库表结构.MySQL数据库.数据库表结构.MySQL.据库表结构.数据库 ...

  4. 【genius_platform软件平台开发】第八十二讲:ARM Neon指令集一(ARM NEON Intrinsics, SIMD运算, 优化心得)

    1. ARM Neon Intrinsics 编程 1.入门:基本能上手写Intrinsics 1.1 Neon介绍.简明案例与编程惯例 1.2 如何检索Intrinsics 1.3 优化效果案例 1 ...

  5. 基于仿真的优化 matlab ansys,桁架结构优化的MATLAB和ANSYS联合仿真

    马学莉等 :桁架结构优化的 MATLAB和ANSYS联合仿真 桁架结构优化的 MATI,AB和 ANSYS联合仿真 马学莉, 杨海霞 [河海大学 工程力学 系. 南京 210098) [摘 要] 采用 ...

  6. 模拟退火算法团簇matlab,基于模拟退火优化算法的二元团簇结构优化方法与流程...

    本发明涉及一种基于模拟退火优化算法的二元团簇结构优化方法. 背景技术: 在催化.光学.电学等诸多领域,二元合金团簇在基础科学与应用方面吸引了广泛的研究热情.而这些性质与二元团簇的几何结构有着密切的联系 ...

  7. javplayer 使用教程_药物设计软件Sybyl教程(一):基于Tripos力场对小分子配体进行结构优化...

    文 / 利刃君微信ID/ ziyuanliren666全文共1104字,推荐阅读时间6分钟. 教程内容: 以SYBYL-X 2.0软件为例,对小分子配体进行基于Tripos力场的能量最小化计算,优化分 ...

  8. Rosetta从头蛋白抗体设计、结构优化及在药物研发中的应用

    天然蛋白质具有临界稳定性的特征,然而临界稳定性使得蛋白质遭受胁迫压力后极易发生错误折叠并失去功能.体内蛋白质在错误折叠后产生的聚集沉淀被认为是多种疾病发生发展的原因.因此,优化蛋白质的稳定性是科学研究 ...

  9. 《预训练周刊》第38期: Transformer、BERT结构优化

    No.38 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 本期周刊,我们选择了12篇预训练相关的论文,涉及句子表示.变换器结构优化.数据增强.网络结构优化.动态神经网络.模型压缩. ...

最新文章

  1. 立足GitHub学编程:13个不容错过的Java项目
  2. 《Programming WPF》翻译 目录
  3. Hdu 4920矩阵乘法(内存访问的讲究)
  4. UE4.18预览第一版发布,共享XR引擎层降低硬件支持难度
  5. python多线程和多进程——python并行编程实验
  6. 反爬终极方案总结---字体反爬
  7. UFLDL教程:数据预处理
  8. jsp调用controller方法_RPC调用_服务注册与发现
  9. java 四舍五入_Java常用类
  10. json-ajax-jsonp-cookie
  11. C语言CV10版怎么生成结果,CV学习笔记(十九):文本数据集生成(text_renderer)
  12. 2020年研究生入学考试991考试大纲
  13. node代理请求 vue_vue-cli项目开发/生产环境代理实现跨域请求+webpack配置开发/生产环境的接口地址...
  14. 大K提醒各位常备DOS杀毒盘
  15. Word目录怎么自动生成?Word文档怎么自动生成目录列表
  16. 触发器详解——(三)T触发器
  17. 在线考试防止切屏功能
  18. 服务器d盘位置不可用,系统之家Windows7本地磁盘位置不可用拒绝访问的解决方法...
  19. Lambda表达式的省略
  20. Linux 环境下载百度云资源,Firefox插件(百度网盘助手)

热门文章

  1. 百度网络推广总结大家在做页面标题优化时需注意的事项!
  2. 计算机学机械制图吗,机械制图与计算机绘图(少学时·任务驱动模式)
  3. 事务连接中断_漫画——你还记得原生的JDBC怎么连接数据库吗?
  4. yocto linux dns,yocto-sumo源码解析(一): o
  5. python处理csv中的缺失值_Python中重复值、缺失值、空格值处理
  6. stm32怎么查看什么原因引起的nmi_为什么会有口臭,口臭是什么原因引起的,口臭是怎么回事...
  7. 富士通台式电脑_英特尔X86架构霸权终将崩塌,ARM架构才是未来PC电脑市场的王者?...
  8. Android Studio对于Java8特性的支持
  9. git reset --hard 恢复
  10. cassandra的全文检索插件