认识自动化

1.自动化概述
1.1 认识自动化
80%的自动化测试可以用录制来完成
自动化测试的成本高,效果差,是相对的
决定要不要做自动化测试的因素有很多
应该说时间是衡量比重比较大的因素
加入一个项目从立项到结束只有一个月的时间,而这一个月的时间可能相当长的时间都是用来看需求文档,改需求文档,编写测试用例等,真正留给测试的时间是不多的所以这个时候如果强行做自动化测试,可能用例设计还没完成,后面又改动,那就头大了
对于时间成本和工作效率而言,手工测试绝对是第一选择
但是,一旦项目稳定下来,就要考虑介入自动化测试了,因为这个时候项目比较稳定,做自动化就可以参照着手工用例去做了。
抛开了时间,就要考虑成本和效率了。

1.2 自动化测试的特点
→自动化测试是为了确保项目可以正常上线,项目的主流程没有缺陷,而手工测试是为了发现更多更多的缺陷
→用来保证产品主体功能正确和完整,让测试人员从繁琐重复工作中解脱出来,把更多的时间和精力放在更有价值的测试中,例如探索性测试、
→从理论上讲,自动化是可以覆盖到所有的手工测试的流程的,但是相应的,如果每一次测试都用自动化,单靠公司一两个自动化工程师,成本和效率反而大打折扣,跟不上迭代的速度
→如果是一名自动化测试工程师,自身的价值绝不是简单用脚本来体现的,无论是搭环境、搭框架、封装工具等都是能力的体现
自动化之所以能在很多大公司实施起来,就是有它适合自动化测试的特点和搞的投资回报率。
→产品型项目:每个项目只改动少量的功能,但每个项目必须反反复复的测试一些没有改动的功能。这部分的测试就可以用自动化测试来承担
→增量式开发、持续集成项目。这种开发模式频繁的发布新版本,也需要频繁的自动化测试,跟上面的产品型项目一样存在需要反复测试的没有改动的功能
→回归测试:是自动化测试的强项,能够很好的验证是否引入新的缺陷,老的缺陷是否修改过来了
→多次重复的、繁琐的任务,可以转化为自动化
→测试周期按天算的,可以最大限度的利用自动化测试
不适合做自动化的项目:
→为客户定制的,可能语言、运行环境等都是客户特别要求的,公司在这方面的测试经验积累比较少,花费的成本会比较高
→项目周期短的项目,测试周期就更短,自动化测试脚本不能得到很好的重复利用
→业务规则复杂的对象,有很多复杂的逻辑关系,运算关系,工具很难测试
→美观、声音、易用性测试。人的感官方面的,界面的美观,声音的体现等只能由人来测试
→测试很少运行,对自动化测试是一种浪费,自动化就是要反反复复的运行才能体现他的价值
→软件不稳定,频繁修改容易导致自动化测试失败,频繁维护,效率低下

1.3 手工测试的特点
手工测试有较强的异常处理能力,能通过人为的逻辑判断校验当前的步骤是否正确,同时用例的执行有一定步骤跳跃性,能够步步跟踪,细致定位
如果手工执行回归测试要执行的用例太多,那么回归测试就会变得异常困难

1.4 手工测试与自动化测试并不是对立的
很多人会误认为有了自动化测试就不需要手工测试了,手工测试做好了也不用自动化测试,两者并不是对立的,什么手段效率高,就用什么,自动化测试发展这么多年也没有把手工测试取代。

1.5自动化测试认识的误区
1.5.1 自动化测试不是简单的录制那么简单
他需要有一定的开发水平,怎么定位,怎么断言,怎么封装方法,怎么定义一个报告模板等等

1.5.2 自动化测试会减少测试人员数量
自动化测试不会马上大量减少测试人员数量,自动化测试初期需要投入一定人力的进行自动化脚本的开发,自动化脚本应用到日常测试中时也仍然要人员进行维护

1.5.3 自动化测试就是录制回放
仅仅录制到的不是有效的自动化脚本,往往是不可用的,充满了硬编码的值,应该参数化,还需要加入数据校验,关联,条件判断,循环等等,以便增强测试脚本的灵活性

1.5.4 自动化测试找不到bug
自动化测试不直接找缺陷,而是解放有丰富经验的测试工程师的生产力,将精力和时间投入到新的测试方法和测试手段的研究,间接地找到更多的、更深层次的缺陷,将质量再提升一个档次

1.5.5 自动化测试工具是万能的,不需要干预
很多人一听到自动化测试就认为自动化测试可以完成一切测试工作,从测试计划到测试执行到结果分析,都不需要任何人工干预,显然,这是一种理想状态,现实中不具备这种能力,将来也不会有,用例设计,用例调试等都要人工参与,永远取代不了手工测试

1.5.5 自动化测试提供百分百的覆盖率
测试是无法穷举的

1.5.7 忘记测试的最终目标:找到缺陷
应结合边界值、等价类等基本用例设计方法来设计自动化测试用例

1.5.8 不是所有测试用例都可以自动化
如物理的抬杠操作,压底线识别等,自动化测试率高的一般为80%左右,最佳的自动化测试转化比例为40%左右

1.5.9 自动化测试能发现大量新缺陷
发现更多新缺陷应该是手工测试的主要目标,自动化测试常用于回归测试,用来发现原来的缺陷,而大量的新业务测试更多的还是依赖手工测试。

1.6 自动化的劣势
→软件变更,导致脚本也需要改变,不能一劳永逸,需要维护代码
→需要编程基础
→过度依赖自动化测试,并不是所有的测试都可以转化为自动化
→验证难以实现
→程序没有人的直觉

1.7 自动化流程
准备:
产品功能梳理
测试用例设计
执行用例

制作:
录制脚本
调试脚本
脚本增强

运行:
运行脚本
检查运行日志

2.Selenium介绍
Selenium是硒,Mercury公司(QTP)是汞,解汞毒
是跨平台、跨浏览器的、开源的、多语言的、web自动化测试套件

Selenium跟QTP的区别
→Selenium是开源的,QTP是商业的
→Selenium支持主流的语言,java,python,ruby等等
→QTP支持bshell
→Selenium可以跨平台,QTP只支持Windows

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值