| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 测试提效之工具篇 - 测试数据构造与验证实践 -> 正文阅读 |
|
[开发测试]测试提效之工具篇 - 测试数据构造与验证实践 |
一、概述 目前,业界都在追求测试提效,我们中通科技与信息中心同样也非常重视提效。先抛开开发测试比的问题,我们不妨问一下自己,测试同学对业务的贡献是什么,可能很多人会毫不犹豫地说——质量,那么保证质量之后呢?无疑是效率。在我看来,质量保证是测试的本份,而测试同学对业务的进一步贡献就是大幅提升测试效率,其中包括提升自身测试效率和提升开发测试效率。 那么如何提效呢?子曰:工欲善其事,必先利其器。如果纯粹靠人,显然是不现实的,技术改变工作,只有让测试最大程度的自动化起来才能解决测试效率,而要实现高度的自动化测试,我们就需要一套非常高效而流畅的测试工具平台。 本文介绍的是经过笔者亲自实践的业务辅助测试工具,主要用于造数据、结果验证、联调测试及复杂性数据校验等功能,目前在中通财金科技部推广,已经在多个版本迭代中使用。 二、 价值 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的方式用来处理一些经常使用的变量,这样既可以保证工具的稳定性,也可以覆盖更多的场景。 四、 总结 在的日常工作中,对于测试同学不免会遇到各种问题,但是学习、提效一定是我们永恒不变的主题。只要在工作中不断思考,把一些反复的工作抽象化,那么我们的工作效率一定会不断提升,同时自己也在不断的进步。 质量之路,永无止尽! |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 2:42:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |