总结对自动化测试的看法

一.为什么要搞自动化

1.做回归测试,减少手工量:这样就避免了测试人员重复的劳动,也可以让我们有更多的精力去做更有意义的事情,也可以让我们减少一些乏味的感觉。

2.测试手工测试无法实现或是较难实现的功能:比如说模拟一千万条http并发请求,如果是手工测试,这个是实现不了的。

3.为了方便工作,编写一个小工具

比如说我在做某些操作时,想实时从后台日志中获取我想要的信息,但是后台日志信息太多,很多都不是我想要的。

这样为了方便我查看日志,可以写一个小工具,实时从日志提取我想要的内容。

二.什么时候适合搞自动化测试

1. 敏捷项目:项目走敏捷模式的话,由于迭代周期太短,测试无法对以往功能全部回归,所以必然要用自动化测试来做回归测试。

2. 系统周期比较长的时候

如果系统周期太短,那么花费了很长时间写好的自动化测试可能只被使用了很短时间或有限次数,那么这样就不值得了。

3. 项目比较稳定,需求不会变更的太迅速的时候

需求变更的太快,会导致自动化测试老是失败。自动化维护成本太高,甚至由于太忙,测试人员没有时间去维护,导致之前写的自动化用例一直闲置,浪费时间。

三.自动化测试的成本

1.时间成本

A.培训成本:如果在一个项目中想实施自动化,前期肯定需要给大家做相关的培训(基础理论,编程语言)

B.编写成本

C.维护成本:

维护自动化测试环境一直正常可用

新增功能或修改bug后,可能导致某些旧功能自动化测试不能正常运行(比如出新的bug或是前端自动化测试时,某个元素的路径发生了改变等等)

2.金钱成本:有些不是开源的自动化测试工具还是挺贵的,比如说QTP

四.怎样选择自动化测试框架(工具)

测试框架就是把一些常用的方法进行了封装,方便我们使用,且减少代码的重复。

你可以选择自己写测试框架,也可以选择一些常用的自动化测试框架。

接口测试比较常见的有:robot framework,fitnesse

单元测试:junit,testng,Nunit

前端页面测试:selenium, Watir

当然很多时候我们也可以根据需要结合多种测试框架使用

五.自动化测试的缺点

1.不能完全代替手工测试

有的情况自动化是无法实现的(比如断网断电),或是编写自动化的成本太高;

自动化脚本不灵活,有些手工测试显而易见的问题,容易被忽略,因为不在脚本的测试范围;

还有就是自动化测试很难发现新的bug。

所以说自动化测试还是无法完全代替手工测试,我们可以用它来辅助测试,看新增功能后或bug修改后,原有的功能是否能正常运行。

2.编写和维护成本高

六.测试人员在自动化测试过程中容易陷入的误区

1.盲目追求自动化测试的覆盖率,而忽略了自动化测试的实际意义。

有些功能手工测试很简单,但是要实现自动化测试难度比较大,费时多,性价比低;有些功能可能只是一个暂时的功能,就没有必要写自动化。

2.为了实现自动化而去写自动化,而不考虑这是否真的对我们的系统测试有帮助,或是没有考虑到我们项目是否真的适合做自动化。

3. 有自动化测试不再需要手工测试

4.自动化测试仅仅只能做回归测试:其实自动化测试不只是可以做回归测试,也可以来处理数据(比如说刚才说的模拟一千万条http并发请求),或是做一些小工具来辅助日常工作

另外:其实我觉得做好自动化测试的关键不是说你技术有多牛,而是你的自动化测试用例是否覆盖了那些测试的重点。所以我觉得做好自动化最关键的还是你自动化测试用例的设计。

时间: 2024-10-17 11:37:04

总结对自动化测试的看法的相关文章

WEB、接口、APP自动化测试的一些看法

当故事看即可,只是个人看法............... 目前在各个软件公司中基本上存在WEB和APP的对外系统,不管是电子商务.电信.新闻等基本上都有WEB和APP同时存在.对于APP个人感觉是新东西,但也觉得它就是个老东西,因为大家是否记得我们曾经装在电脑上的Application应用程序,当然一个管理软件当时就很NB了.不过现在手机上的Application和以前电脑上的Application当然不管技术上还是形态上都是不一样的,但使用上似乎是一样的,同样的下载---安装---使用.这些都

对自动化测试的一些看法

目前我们可以接触到手机方面的自动化工具:robotium,monkey,monkeyrunner,androidjunit.但是由于ui变化快,自动化测试往往不方便维护.前三个不需要源码支持,但是功能有限,androidjunit很强大,对代码能力要求高,同时需要源码支持.app的开发周期一般都很短,ui变化大,用自动化要考虑投入成本,大多数的公司估计都不适用.不过测接口之类的通过自动化是个不错的选择. 说得多有道理的: 1.移动互联网开发节奏很快,版本快速迭代,如何让测试敏捷起来? Monke

自动化测试到底是什么

引子 偶然在群里有人问自动化测试到底是啥,搞不懂.qtp对象库好麻烦,jmeter怎么做测试....一堆一堆的问题.其实说实话真心不知道该咋解答了,我的内心是累的~ 突然想到自己的新书里不就解释过这些吗!看来还是很多童鞋对于自动化测试的认知存在巨大的问题啊! so,以下内容选择<小强软件测试疯狂讲义> 重新认识性能测试之后我们再来看看自动化测试到底是什么.其实这个话题我在不同的场合多次谈过,甚至在我创办的"挨踢脱口秀"中也专门做了一次节目来说明,但可惜的是仍然有很多朋友对自

关于【做一名软件测试工程师,需要具备什么】的我的看法

在软测考试前的几天,我在知乎上看到一片很有意思的问答:做一名软件测试工程师,需要具备什么? 在看网友们的回答之后,我也有了自己的想法... 首先整理了一下其中几个我觉得较为好的网友的回答在这里同大家分享: 网友:陈晔,测试业界打杂第一人 一.知己识人所谓知己就是清楚的认识自己,什么才是对自己最重要的.就测试这个职业来讲,我认为自己得到什么,学到什么才是最重要的.很多人看到这里可能觉得是正确,这种大道理谁都知道.但是平时呢大部分往往,嗯,保证产品 质量,保证公司企业的质量.但是有多少测试做的事情是

关于自动化测试的误区(二)

继续胡说(我真姓‘胡’啊!)对自动化测试的一些看法,上一篇文章讲得比较模糊,这一篇就具体讲讲在做自动化测试时的一些误区,主要针对已经在开始学习自动化的同学.当然,我这里主要指的是webUI自动化以及使用selenium工具的情况下. 数据驱动怎么玩? 数据驱动:因为数据的改变导致结果的改变.说人话就是,因为我在百度里搜索的是“selenium”导致结果就是包含了“seleniumhq.org”.因为我登录时候输入的是“zhangsan”导致的结果就是登录之后页面右上角显示“欢迎,zhangsan

记一个质量极差的测试工具——请重视手工测试,自动化测试不是银弹

新年伊始,又想吐槽一番. 背景:我在一个做自动化的持续集成测试的组. 我们隔壁有一个做测试工具的组.半年前我们隔壁组做了一个工具,具有代码分支管理.静态分析.不同级别的单元测试.集成测试等功能, 这个工具被老板看中,强制让所有部门使用这个工具来提交代码.不用这个工具提交的代码将不能合入产品代码的主分支.使用这个工具提交的代码会自动去编译.打包.进行各层测试. 大家使用之后,发现这个工具烂透了.有无数的严重BUG.(比如提交上去的代码不能打包成功,等等.) 我每次提交代码使用这个工具需要浪费大约8

金阳光andorid自动化测试第三季开讲啦!

金阳光andorid自动化测试第三季开讲啦! 相约第三季,做更专业的测试人! 2015年已经过去1/3了,今年你的目标是什么?你是否已经厌倦了手工测试的点来点去?你是否抱怨工资始终加不上去?你是否为学习安卓自动化测试而苦恼? 也许你已经觉得我手工测试也能做得很好,无需学习自动化.的确手工测试无法被自动化测试取代,可是自动化已经成为测试领域发展的趋势.当你将手工测试的点来点去用脚本实现后,你是否感觉到端着咖啡等待测试结果生成的惬意呢?良好的自动化测试框架更能让工作变得更加简单,让你从手工测试中解放

Selenium(Webdriver)自动化测试常问到的问题解答(转自:潜龙0318)

今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! (1)selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?答:Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的.但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的.需要开发人员规范开发习惯,如给页面元素加上唯

浅谈硬件自动化测试框架

关于自动化测试框架,默认都是针对纯软件的,并且集中在web和app应用软件.故而准确的说应该是软件产品自动化测试框架. 本文将针对硬件产品,谈谈个人对硬件自动化测试框架的一些看法. 背景 物联网技术正在高速发展,相关智能硬件产品层出不穷并且快速的进行着升级更新.研发和生产过程对快速测试提出更高要求. 智能硬件产品的高速发展,嵌入式软件在产品中的作用凸显,并且也是产品亮点的体现.从测试技术角度分析,智能产品的测试需求更加复杂多变,而且测试内容急剧增加,必然就会出现测试工作量大/测试效率低的现象.