分类:
2009-06-06 16:49:40
自动化测试介绍
磁针石:ouyangchongwu#gmail.com
测试自动化是利用软件来控制测试执行,具备比较实际结果与预测的结果,准备测试环境,和其他测试控制和测试报告的功能。
自动化测试的方法主要有:
*
GUI测试
测试框架生成用户界面的事件,如按键和鼠标点击,并观察用户界面的变化结果,以验证该观测到的行为的程序是否正确。
许多测试自动化工具提供的记录和回放功能,让用户能够记录用户的交互行动和重播。这种方法的优点是它需要很少或根本没有软件开发。但是稍有改变,维护工作就比较大。
web测试是GUI的变种,它是阅读的HTML不是观察窗口事件,使用的技术有很大差异。
*
代码驱动的测试。
对类,模块或库的公共接口进行测试。
一种日益增长的趋势是在软件开发使用的测试框架,如xUnit框架(例如, JUnit和NUnit )允许代码进行单元测试。
代码驱动的自动化测试是敏捷软件开发的一个重要特点。这种方法的支持者认为,它生产的软件,是更可靠,成本更低。
测试工具可以帮助自动化任务,如产品安装,测试数据的创建,图形用户界面的互动,问题检测(比如oracle中的投票和分析功能) ,缺陷记录等,这些都未必是端到端的自动化。
需要考虑的东东:
平台和操作系统独立性
数据驱动能力(输入数据,输出数据,元数据)
可定制的报告(数据库访问,水晶报表)
电子邮件通知(失效或超越阈值能自动通知)
易于调试和记录
版本控制友好-最好没有二进制文件
可扩展与可定制(开放API ,以便能够与其他工具集成)
常见的驱动程序(
或 )
无头和无人值守执行
支持分布式执行环境(分布式测试床)
分布式应用程序支持