摘要:乔纳森林多介绍了开源和传统的自动化测试的基础设施的例子和独立的软件供应商采购的软件。此外,他通过在转化过程中发现缺陷从而解决,并减少工作所需的文件,以及复制,和排除有缺陷的自动化测试的故障,从而来讨论推广价值的自动化测试新技术。
现在大多数组织仍然使用手工测试来作为他们寻找应用程序错误的主要方法。很难想象,一个软件产品,在某种程度上不需要手动测试,即使是我们越来越快的推动自动化软件生命周期。也就是说,用工具来帮助生成,负载,和管理自动化测试的不断完善,并使用自动回归测试是现在许多开发和QA流程的重要组成部分。除了显而易见的节省劳动力外,更有一些大的推进自动化测试的趋势:
使用敏捷开发方法,从而增加了代码发布的频率和收缩Windows测试
需要自动化测试才能有效的持续集成
测试文档和可重复性的遵守和审计要求
日益复杂和难以复制的生产环境,如多层Web应用程序和部署
不断变化的采购和外包测试以及发展结构,是最常见的地理分布
此外,一个重要的相关趋势是DevOps。在最近发布的2011DevOps趋势调查中,50%的应答者表示,他们的团队使用某种形式的DevOps。61%的表示更新重大版本,至少每月一次。62%的采用敏捷开发。有了这个代码的开发和部署速度,自动化测试是绝对有必要的,以迅速实现成功的产品发布目标。
对于我们这些负责提供软件的人的好消息是,对于基本的自动化测试基础设施可以很容易的理解,而一个典型的框架可以从开放源码组件组装。一些功能比较好的工具包括:
功能 | 产品 |
项目管理 | Maven |
构建自动化工具 | Ant |
测试自动化基础设施 | iValidator |
自动化测试执行 | Selenium |
一旦一个组织已经把这些件,测试覆盖率和使用情况在二十四小时内,可以测试和验证的情况下是显着的水平。该组织经常可以做到每天通过多元回归一个合理的投资在硬件,虚拟化,云计算周期。不过,虽然这可能有助于缩小检测部分的缺陷管理,挑战仍然是各地的下游,找到问题的根源和解决自动化系统是由检测到的问题的过程。
IDC估计,错误消耗37%的开发人员的工作周。在典型的开发人员的薪金,这意味着到每年在大型组织中的数以百万计的美元。下面的是发现错误后,所花费的时间分析:
步骤 | 估计花费的时间比例 | 挑战 |
质量保证发现缺陷,日志和文件 | 20% | 收集足够的信息进行充分沟通的问题 QA和开发之间的二十四小时的延误,由于地上上分散的团队 |
开发人员重现缺陷 | 20% | 缺乏访问QA测试环境 难以重新建立用户的负载 网络和数据库条件 |
开发分离的根源 | 30% | 没有足够的文件 “工程在我的机器上” |
开发人员修复,验证,并提交更新 | 30% | 真正根源的条件和环境因素的不确定性 多试图在决议 |