<h2 style="margin:0px 0px 4px; font-size:14px; font-family:Verdana,Arial,Helvetica,sans-serif; line-height:25px"> <br> </h2>
<div class="postbody" style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:25px">
<div id="cnblogs_post_body" style="margin-bottom:20px">
<ul style="margin-left:45px"><li style="list-style:inherit!important">客户端自动化特点</li></ul>
<p align="left" style="margin:10px auto">客户端的自动化,通常做过的人都不是很愿意深入讨论。因为除了功能和逻辑之外,不得不面对各种界面变化,各种和环境交互,各种兼容问题以及想不到灰色地带,就算这样,也找不到太多有效的bug。然而即便如此,客户端的自动化必须去做,尤其是GUI的。它的自动化特点是:</p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">复杂</li><li style="list-style:inherit!important">成本高</li><li style="list-style:inherit!important">不容易发现问题</li><li style="list-style:inherit!important">技术要求高</li><li style="list-style:inherit!important">架构很难通用</li></ul>
<p align="left" style="margin:10px auto"> </p>
<p align="left" style="margin:10px auto">下面,从一些基本的东西开始一点点的讨论客户端GUI测试的一些问题和处理办法,以及自动化架构设计的一些思路。事实上就像上面说的,GUI的测试并不是为了发现bug,而是回归的一种方式,作为保证而已——它过了不能说明质量多么好,但是不过,质量肯定不达标。即使在微软内部,客户端的GUI一样不是个受欢迎的家伙,通常用来做BVT的测试(或一些重要性回归,冒烟等)。</p>
<p align="left" style="margin:10px auto"> </p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">客户端自动化简述</li></ul>
<p align="left" style="margin:10px auto"> 这里并不花过多的笔墨介绍什么是客户端,或者如何分类的种种——这些东西教材和网上的东西一坨一坨很多很多,这里可能“漫谈”的,是实际工作中,客户端和GUI自动化中可能遇到的一些底层技术,基本上原理,架构设计方法以及一些项目存在困惑,这些方面的一些处理的方法。</p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">最早的自动化</li></ul>
<p align="left" style="margin:10px auto">我个人认为所谓的计算机行业的自动化,是一直跟着这个行业的发展在走,比如下面的这些:</p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">老式计算机——CPU计算: 最早自动解决手工分配穿孔的卡片问题</li></ul>
<p align="left" style="margin:10px auto"> <img alt="" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-bcea85cc7bdf53ebafc0bba4034b4fe3.jpg" style="border:0px"></p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">内存分配任务调度:操作系统的核心就是内存和任务的自动管理</li></ul>
<p align="left" style="margin:10px auto"> <img alt="" height="448" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-ecee9d04d4c360fe7bd7f03aec9df8b8.png" style="border:0px" width="415"></p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">系统配置Loader:操作系统启动的引导</li></ul>
<p align="left" style="margin:10px auto"> <img alt="" height="503" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-429685451180f3094b614da84d5e5b9c.png" style="border:0px" width="387"></p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">自启动程序注册表:windows系统中自启动程序的配置</li><li style="list-style:inherit!important">什么是自动化测试</li></ul>
<p align="left" style="margin:10px auto">我个人认为自动化测试,就是用技术和自动化去服务测试,保证质量,提高产品生产率(不是测试生产力)。无论如何这个行业需求是关键,脱离需求和具体环境,一切都是玩笑。</p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">传统客户端</li></ul>
<p align="left" style="margin:10px auto">客户端的特点是基于操作系统之上,它的GUI一般寄生于操作系统的接口。传统客户端一般采用系统提供的默认GUI来完成主要逻辑功能。特点是技术相对简单,系统兼容性好,但是相对没有那么炫。对于自动化来说,尽管完成起来“冗余”,但是不存在技术的难点。也就是通道都已经铺平了,大部分流行的GUI工具都是服务于这样的客户端。</p>
<p align="left" style="margin:10px auto"> <img alt="" height="293" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-83aa03b151e6a49fadbc9859bd2e66a9.jpg" style="border:0px" width="427"></p>
<ul style="margin-left:45px"><li style="list-style:inherit!important">互联网常用客户端</li></ul>
<p align=" |
|