测试自动化
Posted 越长大越孤单哦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试自动化相关的知识,希望对你有一定的参考价值。
测试自动化的目标是降低测试成本
自动化测试的目标是
1.迅速检测出新版本中的不稳定的变更
2.尽可能迅速暴露回归程序错误
3.快速报告问题,因而这会使程序错误修改更容易
自动化测试比手工测试拓展的测试范围:
负载测试:200人同时使用被测试软件可以通过自动化来模拟这些场景。
性能基准测试:系统的性能是越好还是越差
配置测试:软件常常在不同平台,不同配置上运行,自动化测试有利于提高测试覆盖率
耐力测试:被测试产品使用几周或者几个月会出现什么情况
竞争条件:有些问题只有在一定条件下才会发生。竞争同一资源的两个线程或进程的顺序重叠
组合错误:有些财务涉及多个功能之间的交互。
自动化测试需要根据测试需求,软件产品体系结构和测试人员技能选择自动化测试策略。
切不可要求100%自动化
好的自动化测试是人设计出来的,与测试工具无关。如果设计的很差什么工具都白搭。
手工测试与自动化测试的区别在于,手工测试可以临时想出新测试,也可以注意到没有或不可能预测的现象。
自动化测试每次运行都是以同样的速度,同样的顺序,完全一样的鼠标移动和键盘操作做同样的事,除非遇到很预期不一样的会报错,否则都显示为正常
自动化测试五十遍和手工测试五十遍带来的价值绝对是完全不一样的。
使用自动化测试脚本时需要注意的问题如下
1.自动化运行的过程和结果与描述是不同的测试过程。 有可能是编写的时候搞乱了,有可能是经过修改后但是忘记修改注释了
2.测试已不再重要。。例如70年代以前的核心内存的特定连线错误
3.覆盖率可能很差
4.虚警可能很常见:随着时间的推移,不够仔细的自动化测试编程和被推迟的维护,会由于自动化测试编程中的程序错误导致测试失败
5.测试结果可能有错:有些测试不检查任何结果,除非产品崩溃否则测试都会通过。有些测试包含程序错误,可跳过部分测试,或不能报告检测出的失效。有时候可能会设置无效的黄金输出文件。
好的测试脚本必须及时的补充性测试,或者修复或删除老的测试。
现在好多的工具可以录制自动化脚本,但是能自己写的话最好自己写,因为这种录制的脚本和页面捆绑的太死了,如果页面有变更的话,修改起来很麻烦。
无论是自动化测试工具,还是自己编写的自动化脚本最让人烦恼 的一点就是脚本或者工具有bug,这种只能自己检查,而且很难检查出来。
可以通过测试自己的测试代码或评审测试代码来避免自动化测试出现重大失误的可能性。
自动化回归测试脚本退化然后不能使用的原因有:
1.用户界面或者输出格式的变更
2.在不同的环境上面使用自动化脚本
3.维护脚本的时候,改出问题了
4.使用测试脚本人员的变更。
自动化测试也是一个软件开发过程,需要程序设计,测试和项目管理
测试:明确自动化的测试目标
编程:测试自动化就是编程
项目管理:如果不重视管理自动化项目可能不会达到最初意愿。
在全面实行自动化测试的时候,可以先试点某一小部分的功能来进行自动化测试。自动化测试的试点有助于展示测试小组的 能力,使得到全面实施自动化测试的需要得到的资源跟容易一些。
设计自动化测试时,应该明确考虑到的问题
。保证测试已经被正确的设置
。描述预期结果
。发现潜在错误和副作用
。从潜在测试失效中恢复
。防止测试相互干扰
避免在测试脚本中使用复杂的逻辑,这样会使测试更难理解,也更容易出错,使用线性化有助于关注测试的目的如果测试太复杂了,就容易引入错误。要使测试简单,使测试线性化。
以上是关于测试自动化的主要内容,如果未能解决你的问题,请参考以下文章