认清自动化测试
来源:互联网 发布:张恩民 php视频教程 编辑:程序博客网 时间:2024/05/29 17:55
部分转载并加上个人的读书笔记
认识自动化的不足,我觉得首先要转变的一个想法是“自动化测试并不是用来发现bug的”(是用来保证产品没有bug的)。原因很简单,自动化测试基于testcase,但所有的bug中只有大约1/4是仅仅按照testcase来测试就能发现的,其它的bug,来自于聪明的“人”的经验,分析,发散思维和说不清道不明的“灵光一闪”,而这些特性对于自动化程序来说完全是无能为力。所以,幻想“动一下手指”,所以的bug都被自动化程序发现出来是完全不可能实现的。
自动化另外一个特点是自动化本身也是程序,也需要投入大量的人力来实现。一个软件买出的copy越多,它的价值越大。对于自动化测试程序来说,它运行的次数越多,它的价值越大。有下面一些原因都可能减少自动化测试程序运行的次数,甚至导致自动化项目的失败。
1)测试产品功能或界面变化频繁(频繁变更)
2)自动化的case本身不需要频繁的测试(非核心功能)
3)自动化程序不稳定,容易跑“死”掉(AUT不稳定)
最后一个需要注意的自动化测试程序的特点是,自动化测试程序不是商业产品,它的用户都是专业人士,所以它不用商业产品那样高的扩展性,灵活性,可配置性,友好的交互性。因为这些特性的得来是要付出高昂的代价的,那就是人力投入和软件的复杂度大大增加。对于设计师来说,如果要在这些特性和简单中选择的话,一定要选择简单。
1)对于错误处理要简单直接,而不要灵活和聪明。打印错误并直接退出是最好的选择,不要试图猜测错误的根源并试图从错误恢复。这里包括用户输入,环境错误等。
2)对于环境设置,要求单纯一些,不要去兼容环境变化。一般来说测试环境都是有测试人员在维护。试图兼容环境可能导致代码大大增加。
3)对于自动化测试的代码来说,也不要用太炫的设计技巧和复杂的设计模式。因为自动化测试的代码最好能被使用它的测试人员读懂,甚至能做简单的修改和排错,这样能提高自动化测试的次数。
对自动化期望不能太高和自动化程序不要设计得太完美,是我对自动化测试程序设计和使用过程中获得的最深刻的体会。
- 认清自动化测试
- 认清探索性测试
- 自动化测试
- 自动化测试
- 自动化测试
- 测试自动化
- 自动化测试
- 自动化测试
- 测试自动化
- 自动化测试
- 自动化测试
- 自动化测试
- 自动化测试
- 自动化测试
- 自动化测试
- 【自动化测试】
- 自动化测试
- 自动化测试
- 学习技术的三部曲:WHAT、HOW、WHY
- Armlinux GCC 交叉编译工具
- 幽默:问与答
- w3school
- Java加密和数字签名编程
- 认清自动化测试
- 电子商务问题
- Tomcat 安装后无法启动服务
- Eclipse中有如下一些和编辑相关的快捷键。
- 基准测试程序
- 基于ARM Linux的图像采集与蓝牙传输
- Wine-Doors
- 在linux下使用视频采集卡
- 微软推出全新搜索引擎Bing