TA的每日心情 | 奋斗 2024-11-8 12:09 |
---|
签到天数: 547 天 连续签到: 1 天 [LV.9]测试副司令
|
一、自动化几种测试方式
这次,自动化测试几种方式,我暂时按测试类型分成:
1、界面自动化测试
C/S架构(或者桌面类型)界面自动化测试:包括桌面界面测试类型,当然有windows方面的软件界面、跑在windows操作系统上的虚拟机方式的界面,例如java swing。前者采取的方式可以调用操作系统本身的API来构建自动化测试、后者可以采用虚拟机内的事件处理机制来完成了。
B/S架构(或者web类型)界面自动化测试:其实现原理之一可以依靠JS来进行客户端的操作,然后寻找对象是采用了DOM解析技术,将web方面的节点进行解析定位。
手机方面(嵌入式产品)界面自动化测试:其实现原理之一也是可以依靠其相关系统提供的API来完成。例如:安卓的monkey就是安卓提供的一个提供动作操作的一个工具。
2、命令行自动化测试
CLI自动化测试:即嵌入式的产品很都基于嵌入式操作系统完成,例如:电信产品中的ciso路由器就是最早的代表,而系统测试人员的测试大都应用命令行进行测试,所以,其自动化测试实现可以基于CLI的脚本控制实现。当然,对数据库SQL命令行的操作也可以归为此类。
3、API自动化测试
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节,其实就是软件中的封装性的思想。个人认为,API测试是用来验证组成软件的那些单个方法的正确性,其可以包括为单元测试、单个组件测试以及接口测试。一者是对单个模块功能测试、另外一者是对测试系统组件间接口的一种测试。但本质上都是调用其API来验证相应相应功能实现或者交互。
二、自动化测试不同方式策略分析
以前总在思考如何能够最大化的应用界面自动化测试与CLI自动化测试或者API自动化测试的不同特点去实现各自的自动化测试最大利用率:
(1)界面自动化测试的特点在于:
1、 操作方式复杂,需模拟出不同的手工操作。
2、 其界面元素结构层次变动性较大。
3、 其容错性查,如果某单个测试用例中途遇到问题,则造成其单个测试用例无法进行下去。且与软件性能关系较大,容易造成软件测试中断。
4、 错误定位方面,需要靠直观的方式进行定位。 |
|