首页 > 软件测试/ 正文
初步介绍自动化测试
2012-09-18 16:20:13 ℃自动化测试只不过是实施测试的一种手段,是用来弥补手动测试的不足的。
举个例子:
某手机研发公司,客户抱怨3G视频通话中偶尔有图像传输不过来的情况,测试部门展开测试,由人去一遍一遍不停地执行3G视频通话,耗费和很多人工,重复上百次上千次亦无法重现故障。
正好这时候该公司刚刚开始组建自动化测试团队,自动化测试工程师编写程序,模拟各种通话条件,让手机去自动执行。程序部署好以后,在实验室内调集了十几部手机,开始执行,测试人员下班回家去了。第二天上班来看结果,已经自动执行了好几千次通话过程了,而这几千次通话过程中,有2次图像传输失败。
然后,察看相应的串口日志、TAPI日志、关键函数的输入输出结果,已经可以锁定系统内部的故障点了。
然后通过日志分析,找到了always reproduce故障的scenario,从而找到了正确的复现故障的repro steps
然后把repro steps、log等关键信息提交给开发部门进行bug fixing
这是一个真实的案例,从这个案例中你会看到,自动化测试可以实现手动测试不能或者不便于实现的事情。
在上述案例中,手动测试在某些情况下无法精准地模拟特定的故障发生的条件,而且在大量重复测试中测试人员会产生疲劳的问题,是否每次都能正确地执行测试计划?人的因素带来很大的不确定性。更不要说手动测试的大量的人工消耗,要知道在一家知识型企业里,人工的价格是很昂贵的。该企业为了降低人工消耗的成本,雇佣大量初级的测试工程师,更加加大了人的不可靠性因素。
但是自动化测试则不同,它开发成本略大,但执行成本很低,而且无论重复一千次还是一万次,都能精确执行测试计划。
有些故障的重现可能就在几千次测试中的1、2次,如果执行测试计划不精确,也许就把这宝贵的1、2次故障重现给略过了,导致为测试付出的成本付诸东流。
另外自动化测试能够比手动测试更加深入到系统内部,比如,在执行测试计划的同时,收集日志和系统关键状态、关键函数的输入输出。
这一点虽然手动测试也可以做,但往往没有那么深入,而且为了多监控一个系统状态要使测试复杂度上升很多。
但是自动化测试也有不足,这些不足恰好是可以通过手动测试来弥补的。比如某些理化条件非常复杂的测试,自动化测试很难模拟所有条件,这时不得不借助手动测试来完成测试计划。另外手动测试也更容易发现真实使用场景中的故障,而自动化测试则严重依赖于test case的设计是否严谨合理。
往往初级的测试工程师一般是从手动测试开始做起,高级的测试工程师经常开发自动化测试工具,而资深的测试工程师的手动测试又比高级测试工程师增加很多,但这时的手动测试和初级工程师的手动测试有所不同,更侧重于深层次的分析。
- 上一篇:基于代码的场景测试
- 下一篇:浅谈白盒测试中桩函数的灵活应用
更多郑州软件培训学软件开发需要什么基础,郑州软件编程培训选择什么专业好,女生学习编程容易吗,郑州学游戏软件编程培训学校有哪些,郑州北大青鸟java培训怎么样,郑州北大青鸟学软件开发需要什么基础相关文章
- J2ME中几个重要概念的解释
- 如何利用Java生成JPG缩略图
- 专访史亮:带你走进探索式测试
- 单体测试指南
- 结对探索式测试的体会
- 敏捷——测试先行方法介绍
- 压力测试和系统优化tips
- 我的软件测试之旅:(6)跳转——追逐新鲜事物的探险者
- 如何有效的做Code Review
- 系统安全:三步测试防火墙
- 做好发散测试,提高软件测试效率
- 从一个测试实验想到的
- 软件测试工程师的分类从新手到专家
- 软件工程专业前景怎么样?
- 用质量成本体现质量管理的价值
- 软件质量保证需要系统性的方法论
- 同行评审那些事儿(一):评审的必要性
- 作为测试Leader如何保证测试的质量?
- QA 的职业规划
- 耳机线断了怎么接 ,怎样接耳机线(图文)
- IP地址知识
- 用批处理文件——autoexec.bat
- WP8与WP7对比及区别
- 22寸显示器最佳分辨率是多少
- 怎么学软件测试?
- 最近一直想学计算机编程,怎么学呢
- 郑州软件测试前途怎么样呢?
- 一个程序员的心里话
- 如何自学成为一名安卓软件开发牛人呢
- 为什么软件开发专业这么火爆,软件开发是做什么的?
- 搜索
-
- 热门标签