我们为什么要做自动化测试和性能测试

从业这几年过程中,有过很多次面试,印象中面试官问的最多的就是性能和自动化。

其实问这个问题是非常有趣的一个事情,因为在我的从业过程中遇到过两种情况。

第一种情况是你说你不会,然后公司要了你,你怀着喜悦的心情去上班,想着终于可以跟大牛学习自动化了。

然后入职后发现,我擦?这些测试人员咋全是点点点,包括面试我那个?

第二种情况是你说你会,公司要了你,你怀着喜悦的心情去上班,想着终于遇到一个完善的测试团队了,终于摆脱点点点了。

然后入职发现,我擦?项目时间这么紧,写个毛线自动化,然后你又开始了点点点。

我叫皮皮,是一名软件测试工程师。上面的经历是我真实的经历。

当然除了上面的两种情况,还有其他很多种情况。我们来想一下,为什么面试官会问自动化和性能?

笔者认为,情况无外乎有三:

第一是直接判断你的技术能力第;

第二是根据你的技术能力去给出薪资;

第三是考量团队建设。

那么为什么你会了自动化,却还是让你点点点?笔者认为最重要的原因就是时间。

一个小的项目,从立项到测试结束大概只有30-35天时间。这期间测试人员需要看需求文档,需要根据需求文档提出改善性建议,需要根据需求文档或产品原型或UI设计去编写测试用例等等。

而留给测试时间往往只有一周左右。手工测试第一天往往就可以跑完所有冒烟,但是对于自动化工程师来说,自动化用例设计才刚刚开始(注意我说的是UI自动化不是接口自动化),编写用例这段期间,页面元素不变还好,一旦发生变化,纵使你封装的再好,还是有需要改动的代码。

所以对于时间成本和工作效率而言,手工测试绝对是第一选择。

等项目稳定之后,你的耳边就会响起,那个小张呀,最近不忙,你看是不是要把自动化搞起来了?然后你开始编写起了自动化测试用例。

在笔者看来,这个时候编写自动化用例更加得心应手。原因很简单:

第一是项目基本没有Bug,方便写断言(断言类似于手工测试里的预期结果);

第二你在做手工测试的时候已经写完了所有用例,只要你手工测试用例写的足够严谨,自动化测试用例完全可以根据手工测试去实现。

自动化用例的完成对产品功能的迭代可以说的上是如借东风。如果不是添加新功能而是把以前的功能做优化....

哈哈哈哈,当我没说,我遇到过好几次产品迭代后把原来功能换了个样。

当然如果是增加了新功能,这样每次迭代进行冒烟测试的时候,你的时间可以用来做两件事情;

一是利用自动化脚本去验证之前功能是否会因为新代码合入出现问题;

二是利用手工去对新功能测试。

粗略算了一下,假设半月迭代一次,每次迭代需要5轮测试,人工回归一次需要5个小时,最终确定一年下来,自动化为你省去600个小时,也就是75个工作日,同时也省去了测试旧功能要吐的烦恼以及人疲惫下产生的错误。

我们依旧回到上面的问题,为什么面试官会问自动化和性能?自动化已经聊过。下面来说说性能测试。

根据2016年部分软件测试从业者调查显示,80%的人从事手工功能测试,31%从事性能测试工作,自动化测试和接口测试皆为27%。(加起来不是100%的原因应该是身兼多职)性能测试工作人员比自动化占比还高!

我们可以分析一下原因,自动化本质还是黑盒测试!因为所有的操作基本都是模拟用户行为,虽然可能通过脚本去模拟多个用户,但是远远无法达到性能测试的要求。

因为UI自动化除了增加页面渲染时间,你的公司带宽和服务器带宽也都会是不确定因素。

如果淘宝、天猫、京东、12306等缺了性能测试,或许对于绝大多数人类都是一个灾难。我擦?我好不容易等到双11,你居然告诉我商城页面打不开....

提到了功能测试、UI自动化测试、性能测试,这里不得不多说一句,接口自动化测试。

接口自动化和UI自动化设计基本一致,所以不做过多赘述,一般来说接口自动化先于功能测试和UI自动化测试。做好接口自动化,对于功能测试会节约很多时间,在一般小型企业,接口自动化测试基本可以满足性能测试的要求。

讲到这里,或许我们可以做个总结。手工测试满足项目功能质量,自动化测试提高项目迭代速度,性能测试为了满足同一时间内用户体验。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【100%免费无套路】 

å¨è¿éæå¥å¾çæè¿°

 全套资料获取方式:点击下方小卡片自行领取即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于协同过滤、矩阵分解、gvdt+lr、wide&deep等算法的推荐模型python实现源码含项目说明+数据集.zip 推荐算法的实现,python、jupyter双版本,详尽注释。 正在努力更新中... #### 对MovieLens电影评分小型数据集Top N推荐: 0. baseline--推荐最热门的N=20部电影,precision=11%, recall=4%, coverage=0.2%, popularity=169。这部分内容包含在UserCF.py 1. UserCF,precision=25%, recall=10%, coverage=10%, popularity=4.4 2. ItemCF,precision=26%, recall=10%, coverage=15%, popularity=4.3 #### 对MovieLens电影评分小型数据集评分预测: 0. baseline--使用所有评分的均值预测,MAE:0.83。这部分内容包含在LinearRegression_Rating.ipynb 1. BiasSVD,MAE:0.68 2. LinearRegression,MAE:0.61 #### 对criteo广告展示小型数据集点击率预测 1. gbdt+lr,binary_logloss:0.4783 #### 对Census数据中的收入二分类 0. Google TensorFlow Guide上的Wide&Deep基准模型准确率: 0.83。(从有的知乎博主分享的链接来看,已经打不开了) 1. Wide&Deep, accuracy: 0.8587
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于C++实现的连接池、线程池、内存池、对象池项目源码含项目说明.zip ## CPP连接池 ### 关键技术点 MySQL数据库编程、单例模式、queue队列容器、C++11多线程编程、线程互斥、线程同步通信和 unique_lock、基于CAS的原子整形、智能指针shared_ptr、lambda表达式、生产者-消费者线程模型 ## CPP线程池 ### 关键技术点 作为五大池之一(内存池、连接池、线程池、进程池、协程池),线程池的应用非常广泛,不管是客户 端程序,还是后台服务程序,都是提高业务处理能力的必备模块。有很多开源的线程池实现,虽然各自 接口使用上稍有区别,但是其核心实现原理都是基本相同的。 ## CPP内存池 ### 关键技术点 读一下STL和nginx的内存池实现,并且单单的内存池的地方项目提取出来,方便后面对于不同类型的内存池进行分析 ## 对象池 ### 关键技术点 对于new和delete,malloc和free的源码进行阅读,对于创建对象需要多次创建和释放的的情况实现一个对象池 实现的方案使用Queue进行创建

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值