关于如何做自动化测试和何时做自动化测试的一点见解和疑问
自动化测试:自动化测试的一个很重要的目的就是提高测试效率,并且快速的反馈质量。但是各个领域的自动化还是有一些区别的,比如:web自动化和移动端自动化。而对于自动化来说,首先还是要去学习自动化的框架(并不是写代码),好的框架能够让你事半功倍。而对于自动化人员来说,学习自动化框架对于自己后面的自动化开发工作是很有帮助的。
web自动化测试:目前流行的是selenium框架+脚本语言(python or ruby)。系统的学习下selenium框架,并且尝试搭建起来并且用于自己的项目,这样你对自动化的理解可能就会更深入。脚本语言,只要你有过编程的基础,上手肯定很快。
移动端自动化测试:目前流行的是Appium。Appium 官方宣称支持同时支持Android, IOS, FirefoxOS。并且appium 你可以用任何你熟悉的开发语言来进行编写测试用例。例如Java, Python, Ruby, PHP, JavsScript, Object-C, C#…..
Appium 在Android 上如果是大于4.1 则用的是uiautomator, 以下版本则使用Selendroid(selenium for android). IOS上采用uiautomation库做支持。
Appium 的稳定性相对较差点,但是同样采用的控件的定位方式对不懂java而熟悉其它语言的来说还是相当不错的选择。
或者你可以通过使用TestWriter(一款零编码的自动化测试工具,既可以测试web、又可以测试移动端),通过使用了解其作用后,深入研究其框架,可能会更有兴趣。
· TestWriter引入对象库,支持对页面元素的智能分析,自动生成操作对象库,或通过简单的点击生成操作对象库。
让自动化测试摆脱被测对象频繁变更的影响;
· 通过图形化界面,对测试对象、测试步骤、用例等层层封装映射,清晰理清业务关系。业务变动、界面调整时仅需修改相应业务库内容。
简单易用,解决大型自动测试团队的测试资产分配问题;
· 支持分布式测试,通过拟定计划,自动匹配测试环境并分配执行机器,无需测试人员干预,轻松实现自动定期回归。
更专注于具体的业务,提高脚本的可重用性;
· 引入了中间语言,让自动化测试的开发工作脱离具体引擎的限制,降低Selenium和QTP等自动化工具的使用难度。
更直观展现测试结果,随时掌握测试进展;
· 实时查看执行情况,自动记录测试结果,并对错误步骤进行问题分析及错误时UI截图。
实践、分析、验证、反复实践,终有一天你会成为测试大牛的。
UI自动化测试到底有什么用
针对功能比较固定的软件,只做一些性能升级的话,可以避免每次升级耗费大量的人力来进行手工测试,提升效率~
推荐UI自动化测试工具TestWriter,零编码、易操作~
针对c/s架构服务器是嵌入式设备的用什么作ui自动化和可靠性测试
1、首先我想知道你的C/S架构的程序编程语言是什么?是C++、Java还是啥?
2、是java的话,我你使用开源测试工具abbot,它包括录制功能,它的测试用例是用XML写的,但是我建议你可以根据自己的需求进行aboot的修改,可以修改为直接调用其底层的对象识别API,然后上层自己拓建。至于。你想实现填表单工作
1)靠录制,然后加一个for循环,不过这要是用abbot的XML实现较麻烦,因为XML的逻辑实现不好,那你可以自己写一个XML解析函数,用一个程序自动化更新XML用例
3、是MC的程序的话,商用的很多都可以。个人觉得:你用C++自动化测试的话,最好能够自己去做一些自动化测试工具,是应用一些方法操作C++控件吗,这样的话,你可以找一些操作接口拓展自己的控件操作库,灵活而且复用性好,方法有:
1)应用MSAA提供的接口,MSAA的全称是Microsoft Active Accessibility。这是类似DCOM技术。技术模型是这样的,UI程序可以暴露出一个Interface,方便另一个程序对其进行控制。 MSAA技术的初衷是为了方便残疾人使用Windows 程序。比如盲人看不到窗口,但是盲人可以通过一个USB读屏器连接到电脑上, 读屏器通过UI程序暴露出来的这个Interface,就可以获取程序信息,通过盲文或者其它形式传递给盲人。MSAA提供了如此方便的功能, UI自动化测试自然可以借用这项技术。MSAA暴露出来的Interface叫做 IAccessible。
2)每个windows窗口都有句柄,找到了窗口句柄我们就能够对其进行一系列操作。在找寻句柄的属性下,你可以用SPY C++进行识别。
4、.net程序的话,我记得VS2010自带的 CUIT工程就可以,其包含录制和回放API,蛮好的