一、概述

目前,业界都在追求测试提效,我们中通科技与信息中心同样也非常重视提效。先抛开开发测试比的问题,我们不妨问一下自己,测试同学对业务的贡献是什么,可能很多人会毫不犹豫地说——质量,那么保证质量之后呢?无疑是效率。在我看来,质量保证是测试的本份,而测试同学对业务的进一步贡献就是大幅提升测试效率,其中包括提升自身测试效率和提升开发测试效率。

那么如何提效呢?子曰:工欲善其事,必先利其器。如果纯粹靠人,显然是不现实的,技术改变工作,只有让测试最大程度的自动化起来才能解决测试效率,而要实现高度的自动化测试,我们就需要一套非常高效而流畅的测试工具平台。

本文介绍的是经过笔者亲自实践的业务辅助测试工具,主要用于造数据、结果验证、联调测试及复杂性数据校验等功能,目前在中通财金科技部推广,已经在多个版本迭代中使用。

二、 价值

1. 造数及数据验证

请看下面这段对话,发生在某一个需要联调测试的项目中:

到了下午:

是不是要给它发工资了。

我之前做过一个项目,测试数据准备的时间是每个迭代最头痛的事情。我需要造订单、造基础数据、造测试场景数据,平均每个单子的成本有五分钟,每个迭代需要覆盖完场景的情况下,需要至少10条订单,非常费时费力。现在,只需要点一下按钮,1秒钟完成。

除此之外,开发同学在自测时,产品在验收的过程中都可以借助测试工具。

2. 辅助功能

结合实际工作,解决实际工作的痛点。比如,我觉得我每天发报告的时间比较多,那么我就可以做个一键生成报告的功能,复制粘贴即可。

比如下面这个功能,可以快速生成Batis的代码。

三、 实现方式

实现方式比较简单,后端springboot+mybatis,前端使用的layui。Layui官网(https://www.layui.com)集成了各种简单实用的组件,已经足够使用了,而且易上手,学习成本低,重要的是我觉得很好看!!!

下面简单介绍下后端的框架。

代码结构如下图:

我们造数据或者进行数据验证的时候,最关心的还是对数据库的增删改查,本文简单介绍下mybatis对数据库的增删改查操作;MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。Mybatis通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。下面以注解式为例:

1. 可通过@Select @Update @Insert @Delete注解,把sql语句的返回解决映射在Map对象(或者自己写一个实体类),如:

2. 引入动态sql,通过注解@SelectProvider生成动态的sqlProvider,根据实际需要把查询条件放到入参Map对象里,实现动态查询,同样有@UpdateProvider @InsertProvider @DeleteProvider

3. 在service层进行数据库结果的逻辑处理

4. 在控制层输出http接口

5. 最后是前端通过Jquery调用后端http接口

综上,实现一个贴近业务的工具平台开发成本不高,但是收益却是非常明显的。

在实际使用中,我们可以维护一个字典表,以key:value的方式用来处理一些经常使用的变量,这样既可以保证工具的稳定性,也可以覆盖更多的场景。

四、 总结

在的日常工作中,对于测试同学不免会遇到各种问题,但是学习、提效一定是我们永恒不变的主题。只要在工作中不断思考,把一些反复的工作抽象化,那么我们的工作效率一定会不断提升,同时自己也在不断的进步。

质量之路,永无止尽!

测试提效之工具篇 - 测试数据构造与验证实践相关推荐

  1. 阿里巴巴如何进行测试提效 | 阿里巴巴DevOps实践指南

    编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...

  2. 测试管理和自动化测试工具篇

    1.测试需求分析? 验证需求的合理性和可行性. 具体的需求中提取出测试需求,功能性需求和非功能性的需求. 功能性需求:用户操作系统是所涉及到的基本操作. 非功能性需求:在功能性的需求上做一些限制. 非 ...

  3. python提效小工具-统计xmind用例数量

    问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是xmind8没有自带的统计测试用例,其他版本的xmind有些自带节点数量统计功能,但也也不会累计最终的数量,导致统计测试工 ...

  4. 研效优化实践:WeTest提效测试

    导语 腾讯WeTest平台在项目测试过程中,为企业及开发者提供了很多便利,帮助发现产品潜在问题.接下来,本文将分享一些使用WeTest进行测试提效的小经验,希望能帮到大家.本文作者是腾讯IEG增长协同 ...

  5. 盘一盘那些提效/创意的宝藏网站

    在我们的日常开发过程中,我们经常需要打开各种网站查阅资料.寻找灵感.摸鱼划水- 今天,我们来给大家分享一些提效/创意的 宝藏网站.这些网站中,有些可以帮助我们提升效率,有些可以让我们的工作过程变得更加 ...

  6. 还在用开发者工具上传小程序? 快来试试 miniprogram-ci 提效摸鱼

    1. 前言 大家好,我是若川.持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整 ...

  7. android 测试工具,Android开源项目第四篇:开发及测试工具篇

    本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...

  8. RPA是什么?推荐让电商运营10倍提效的自动化工具

    5月31日,在抖音电商生态大会上,抖音提出「全域兴趣电商」,梳理出商家生意的增长公式:GMV=内容宽度*转化深度.未来将不仅仅是普通的流量转化,商家不仅持续产生更多优质内容来放大效应,也需要商家在各个 ...

  9. 渗透测试思路 - 工具篇

    渗透测试思路 ​ Another:影子 (主要记录一下平时渗透的一些小流程和一些小经验) 工具篇 前言 ​ 工欲善其事,必先利其器 ​ 一个好的工具能够省下很多时间,所以一个工具集合,可以快速的完成渗 ...

最新文章

  1. 怎么回事?在测量时仪器数值不稳
  2. 通过Bigtop编译Hadoop组件的rpm包
  3. SpringBoot核心原理:自动配置、事件驱动、Condition
  4. linux gd结构体,U-Boot中gd的定义和使用
  5. 一年三番五次修,卡巴斯基为何依然无法完美修复杀毒软件中的这些洞 (技术详情)?...
  6. Eclipse用法和技巧七:自动生成get和set方法2
  7. Linux下调整根目录的空间大小教程
  8. 编写高可用Eureka Server
  9. 今天学习到的关于mysql数据库的linux命令
  10. 【图像检索】基于matlab GUI Hu不变矩图像检索【含Matlab源码 1508期】
  11. Python爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
  12. PHP回调函数用法及分析
  13. 《UnityAPI.Transform变换》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Transform+eulerAngles+LookAt+立钻哥哥++OK++)
  14. Elastic-Job-分布式定时任务框架(张亮原著)
  15. [Java] 身份证号码验证
  16. 十秒清理电脑垃圾文件
  17. ImageButton点击替换背景再次点击显示默认图片
  18. MATLAB实现中频正交采样(数字下变频)
  19. Windows 10推送的锁屏壁纸保存方法
  20. Android开发——Snackbar使用详解

热门文章

  1. 小程序 cover-view 字体_iFonts 字体助手 - 用有趣的字做设计
  2. 一篇对H.323协议介绍比较详细的文章
  3. matlab获取href,用 MATLAB 抓取网页数据小程序
  4. Echarts实现中国地图完整示例
  5. layui 表格字体_根据状态修改layui表格显示的文字及字体颜色
  6. 提取兴趣点作为特征(extracting points of interest as features)
  7. Idea的C盘缓存文件.IntelliJldea2017.3 过大导致C盘空间不足解决方案
  8. Android Studio 3.0输入法问题解决方案
  9. 学习 Java 语言,你需要知道的 Java 简史
  10. 计算机主机软件,计算机上提供了哪些软件来编辑音乐