测试人员的“偷懒大法”
(文 松心耐雪作品)
偷懒大法
测试一项重复而又累的工作,我想作为一个测试人员应该都是深有体会的,那么如何给自己减负呢?那就要学会“偷懒”。对测试来说繁杂的事情特别多,因为之前提过测试不仅仅是发现bug,而且要保障产品项目的质量,有些事情的确不可以避免,有些可以通过一些方法来“偷懒”。本篇就讲讲如何“偷懒”的小技巧。
1.学会使用工具
这是所说的工具并不是仅指测试工具,而且一切可以为测试服务的工具。
举个很简单的例子:有时候需要切换测试环境,而修改hosts文件中的域名和ip的绑定关系,为了修改方便可以使用一个修改host的工具,只需要勾选和不勾选来切换绑定关系,而不再需要每次使用编辑器去修改host,而且还不容易改错或者忘记保存。也许这差异很微小,但这是可以持续用的,积少成多就能节约不少时间。
再举个例子:经常会需要网络抓包,一般浏览器都会自带抓包的插件,但是如果有链接是新窗口弹出的,那么在新窗口是不会打开抓包工具的,需要重新打开插件再刷新一下,很不方便,其实可以用一些抓包工具指定抓浏览器的网络包,这样又能不浪费时间在不不必要的刷新上了。
看似都是一些不起眼的小细节,对很多人来说也只是举手之劳,但这么多举手之劳累计起来就会花费不少时间和精力。
2.学会利用脚本
这里所说的脚本是一些集合简单命令的脚本,并不一定需要什么编程基础。
举个例子:经常需要通过ssh软件连接到测试环境的服务器查看日志,那么每次查看日志的时候都需要打一行tail命令,而ssh工具经常会长时间不操作而断掉连接,再想看日志的话又要打一遍tail命令,这时候其实就是在服务器上写一个执行命令行的sh脚本,每次需要查看日志只需要运行这个脚本就可以了。
再举个例子:测试app的时候往往需要通过电脑把测试app安装到手机上,每次都需要打开工具先卸载掉旧的测试app,再安装新的app,其实app也是可以通过windows命令行安装和卸载的,只需要把命令行写到一个bat的批处理文件之中,只需要双击就可以完成app的卸载和安装了。
所以不要放过任何一个可以偷懒的机会,尤其这种重复的事情完全可以用脚本代替手工去完成,而且这是可持续的并不是只用一次而已。
3.学会提取公因式
这里所说的提取公因式不仅仅指操作,更是一种测试意识。怎么来理解呢?
举个例子:测试用例每个人应该都写过吧,其实一个操作可以用于很多测试用例,那么对于一些重复的操作或者一致的结果就可以通过复制的方式来完成,甚至不同的操作都可以通过复制然后查询特定内容进行替代完成,这样一天写几百条测试用例一点也不会费劲了,因为对于测试用例的关注点在于每条用例的不同之处,而不在于每条用例是不是写的完美,而把主要精力放在不同点上,剩下的不重要的东西可以通过复制黏贴完成。
再举个例子:测试的时候往往会出现一个测试点有2个不同的bug,那写bug的时候第二个bug就可以复制第一个bug的操作步骤,只是修改一下测试结果而已。又或者类似的bug出现在了不同的模块,也可以使用这样的方法减少输出的成本。
因此测试时时刻刻需要有这种“偷懒”意识,用最小的代价完成测试目标。当然还有很多“偷懒”的方法,比如测试报告的模板嵌套等等,关键在于是否用心去思考哪些地方是可以优化的。能优化就是一种“偷懒”,客观上测试的强度和压力并没有什么办法改变,能做的只有让自己既能完成工作,也不用那么累,这样才能不负公司不负己。
- Microsoft ASP.NET SignalR
- 飞机大战
- 译《ES6的6个小特性》
- 微信小程序从使用到分析快速解析
- andriod游戏音效
- JavaScript模块探索
- 数据层扩展包EFCachingProvider 总结
- Mac配置Maven
- FileSystemWatcher 导致Mono ASP.NET应用程序CPU使用率比较高
- 网卡收包流程
- Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
- Terminal &zsh &oh-my-zsh配置
- 【Python量化投资】基于网格优化、遗传算法对CTA策略进行参数优化
- 将我的 Windows Phone 应用程序更新到 Windows Phone 8
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python六十四课——高阶函数练习题(三)
- Jenkins+Maven+Svn实现代码自动打包与发布
- python六十五课——单元测试(一)
- python六十六课——单元测试(二)
- Linux企业生产常见问题集合(一)答案
- python六十八课——网络编程之UDP协议
- python六十九课——网络编程之TCP协议
- Linux扩容分区操作过程
- python第七十课——python2与python3的一些区别
- Linux运维必会的100道MySql面试题之(一)
- Linux运维必会的100道MySql面试题之(二)
- Apache服务的反向代理及负载均衡配置
- Linux系统集群架构线上项目配置实战(二)
- Linux系统集群架构线上项目配置实战(三)
- Linux系统集群架构线上项目配置实战(四)