软件测试理论2

上一篇 / 下一篇  2015-12-11 18:10:25 / 个人分类:测试理论

基于界面的自动化测试课时知识点

 

何谓界面级自动化测试?

利用Sikuli IDE实现计算器基础测试

利用Selenium实现论坛基础测试

利用QTP实现Agileone基础测试

 

不同于代码级自动化,界面级更符合黑盒测试习惯

利用代码或工具模拟鼠标和键盘操作

界面级自动化测试的核心是:对象识别和操作

所有的测试原理和方法均适用于界面级自动化测试

 

关于Sikuli IDE:

麻省理工学院研发的一款基于图像识别的自动化测试工具

利用Jython作为脚本语言提供自动化测试脚本的开发和调试

可对任意被测试对象实施黑盒测试

由于太过依赖于图像对比,所以其健壮性相对较差

 

 

关于Selenium:

一款开源的WEB系统自动化测试框架

兼容各种当前流行的PC浏览器

利用远程代理控制Javascript实现对象识别,健壮性好

可支持Java, C#, Ruby, Python四种编程语言

Selenium IDE, Selenium RC, WebDriver等组成

 

关于QTP:

全称为Quick Test Professional

Mercury Interactive公司研发,已被HP收购

脚本语言支持VBScript,脚本语言功能较弱

支持测试Windows, .NET, Java, Web等流行应用程序类型

上手相对容易,学习难度介于Sikuli IDESelenium之间

 

 

基于协议的自动化测试何谓协议级自动化测试

 

对于典型的分布式三层架构应用系统来说:

代码级自动化测试更多地用于服务端

界面级自动化测试更多地用于客户端

那么在客户端与服务器端之间的数据传输,基于协议的测试便会发挥用途

基于协议的自动化测试可以弥补代码级和界面级的不足

基于协议的自动化测试更易于进行可靠性,安全性,性能等的测试

 

三类自动化测试技术的优劣

 

界面级自动化测试

 

优点:

该类测试工具多,有**的解决方案,易于学习,易于使用,短期效果明显

缺点:

容易出现无法识别和操作软件产品界面上的元素,从而让该技术失效

软件产品早期变化较大,不适用于此类自动化测试,否则维护成本较高

解决方案:

等待产品相对稳定时进行,主要用于验收测试和兼容性测试,不要指望找BUG

 

代码级自动化测试

优点:

易于实施和控制,更容易快速看到效果,结合TDD将代码质量提升一个量级

缺点:

要求有较强的编码能力和对被测代码的理解,同时需要流程和团队的配合

大量的测试驱动和测试桩程序将让研发团队望而却步

解决方案:

建议多从灰盒测试角度来实施(基于接口)而非纯白盒测试角度(基于代码逻辑)

 

协议级自动化测试

优点:

适用于进行功能性,性能,安全性,可靠性,可用性等测试类型

介于白盒与黑盒测试之间,非常适合于对黑白盒测试进行补充和增强

缺点:

必须非常熟悉协议规则,特别是非开放式的自定义协议规则或加密协议

解决方案:

根据测试类型和测试目的来决定是否选用此类技术,定能找到解决方案


相关阅读:

TAG: 软件测试

 

评分:0

我来说两句

Open Toolbar