测试提效之工具篇 - 测试数据构造与验证实践
一、概述
目前,业界都在追求测试提效,我们中通科技与信息中心同样也非常重视提效。先抛开开发测试比的问题,我们不妨问一下自己,测试同学对业务的贡献是什么,可能很多人会毫不犹豫地说——质量,那么保证质量之后呢?无疑是效率。在我看来,质量保证是测试的本份,而测试同学对业务的进一步贡献就是大幅提升测试效率,其中包括提升自身测试效率和提升开发测试效率。
那么如何提效呢?子曰:工欲善其事,必先利其器。如果纯粹靠人,显然是不现实的,技术改变工作,只有让测试最大程度的自动化起来才能解决测试效率,而要实现高度的自动化测试,我们就需要一套非常高效而流畅的测试工具平台。
本文介绍的是经过笔者亲自实践的业务辅助测试工具,主要用于造数据、结果验证、联调测试及复杂性数据校验等功能,目前在中通财金科技部推广,已经在多个版本迭代中使用。
二、 价值
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的方式用来处理一些经常使用的变量,这样既可以保证工具的稳定性,也可以覆盖更多的场景。
四、 总结
在的日常工作中,对于测试同学不免会遇到各种问题,但是学习、提效一定是我们永恒不变的主题。只要在工作中不断思考,把一些反复的工作抽象化,那么我们的工作效率一定会不断提升,同时自己也在不断的进步。
质量之路,永无止尽!
测试提效之工具篇 - 测试数据构造与验证实践相关推荐
- 阿里巴巴如何进行测试提效 | 阿里巴巴DevOps实践指南
编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...
- 测试管理和自动化测试工具篇
1.测试需求分析? 验证需求的合理性和可行性. 具体的需求中提取出测试需求,功能性需求和非功能性的需求. 功能性需求:用户操作系统是所涉及到的基本操作. 非功能性需求:在功能性的需求上做一些限制. 非 ...
- python提效小工具-统计xmind用例数量
问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是xmind8没有自带的统计测试用例,其他版本的xmind有些自带节点数量统计功能,但也也不会累计最终的数量,导致统计测试工 ...
- 研效优化实践:WeTest提效测试
导语 腾讯WeTest平台在项目测试过程中,为企业及开发者提供了很多便利,帮助发现产品潜在问题.接下来,本文将分享一些使用WeTest进行测试提效的小经验,希望能帮到大家.本文作者是腾讯IEG增长协同 ...
- 盘一盘那些提效/创意的宝藏网站
在我们的日常开发过程中,我们经常需要打开各种网站查阅资料.寻找灵感.摸鱼划水- 今天,我们来给大家分享一些提效/创意的 宝藏网站.这些网站中,有些可以帮助我们提升效率,有些可以让我们的工作过程变得更加 ...
- 还在用开发者工具上传小程序? 快来试试 miniprogram-ci 提效摸鱼
1. 前言 大家好,我是若川.持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整 ...
- android 测试工具,Android开源项目第四篇:开发及测试工具篇
本文为那些不错的Android开源项目第四篇--开发工具篇,**主要介绍Android开发工具和测试工具相关的开源项目**. Android开源项目系列汇总已完成,包括: 1.Buck faceboo ...
- RPA是什么?推荐让电商运营10倍提效的自动化工具
5月31日,在抖音电商生态大会上,抖音提出「全域兴趣电商」,梳理出商家生意的增长公式:GMV=内容宽度*转化深度.未来将不仅仅是普通的流量转化,商家不仅持续产生更多优质内容来放大效应,也需要商家在各个 ...
- 渗透测试思路 - 工具篇
渗透测试思路 Another:影子 (主要记录一下平时渗透的一些小流程和一些小经验) 工具篇 前言 工欲善其事,必先利其器 一个好的工具能够省下很多时间,所以一个工具集合,可以快速的完成渗 ...
最新文章
- 怎么回事?在测量时仪器数值不稳
- 通过Bigtop编译Hadoop组件的rpm包
- SpringBoot核心原理:自动配置、事件驱动、Condition
- linux gd结构体,U-Boot中gd的定义和使用
- 一年三番五次修,卡巴斯基为何依然无法完美修复杀毒软件中的这些洞 (技术详情)?...
- Eclipse用法和技巧七:自动生成get和set方法2
- Linux下调整根目录的空间大小教程
- 编写高可用Eureka Server
- 今天学习到的关于mysql数据库的linux命令
- 【图像检索】基于matlab GUI Hu不变矩图像检索【含Matlab源码 1508期】
- Python爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
- PHP回调函数用法及分析
- 《UnityAPI.Transform变换》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Transform+eulerAngles+LookAt+立钻哥哥++OK++)
- Elastic-Job-分布式定时任务框架(张亮原著)
- [Java] 身份证号码验证
- 十秒清理电脑垃圾文件
- ImageButton点击替换背景再次点击显示默认图片
- MATLAB实现中频正交采样(数字下变频)
- Windows 10推送的锁屏壁纸保存方法
- Android开发——Snackbar使用详解
热门文章
- 小程序 cover-view 字体_iFonts 字体助手 - 用有趣的字做设计
- 一篇对H.323协议介绍比较详细的文章
- matlab获取href,用 MATLAB 抓取网页数据小程序
- Echarts实现中国地图完整示例
- layui 表格字体_根据状态修改layui表格显示的文字及字体颜色
- 提取兴趣点作为特征(extracting points of interest as features)
- Idea的C盘缓存文件.IntelliJldea2017.3 过大导致C盘空间不足解决方案
- Android Studio 3.0输入法问题解决方案
- 学习 Java 语言,你需要知道的 Java 简史
- 计算机主机软件,计算机上提供了哪些软件来编辑音乐