当故事看即可,只是个人看法...............
目前在各个软件公司中基本上存在WEB和APP的对外系统,不管是电子商务、电信、新闻等基本上都有WEB和APP同时存在。对于APP个人感觉是新东西,但也觉得它就是个老东西,因为大家是否记得我们曾经装在电脑上的Application应用程序,当然一个管理软件当时就很NB了。不过现在手机上的Application和以前电脑上的Application当然不管技术上还是形态上都是不一样的,但使用上似乎是一样的,同样的下载---安装---使用。这些都是体外话题,我想说的是软件测试,当年的软件危机大爆发导致了软件测试这个职业的出现,测试中的懒人出现导致自动化测试的产生,而Application应用程序是最初的尝试产品吧。那个时候的自动化测试就是很NB的自动化测试,但现在呢,应该叫Application应用程序的UI自动化测试、接下来互联网的出现,应该出现了WEB的UI自动化测试、再接下来API技术的来临,应该出现了接口的自动化测试、这几年又出现了手机版本Application出现,然后就是APP自动化测试的出现(其实APP自动化测试按技术类型分也包含了UI(UI应该主要包含了NATIVE和WEBVIEW,还有加载中间的hybrid,我还是看好WEBVIEW的未来,哈哈。。。。)和接口。说了这么多只想说明我知道的挺多.....接下来我想说说WEB的UI自动化测试、接口自动化测试和APP的自动化测试。
WEB的UI自动化测试:
很多人在说自动化测试的时候,基本上现在指的是WEB的UI自动化测试,但其实这是不对的,自动化测试包含了很多开发的技术,不只是界面上的自动化测试。WEB的UI自动化测试只是其中的一种,但它的工具确实最多的,我所知道的有WINRUNNER\QTP(UFT)\TESTCOMPLETE\SILKTEST\ROBOT\SELENIUM\RF\WAITER等等,当然最出名的是商业工具QTP和开源工具SELENIUM。现在各个公司通过开源搭建的自动化框架基本上都是以SELENIUM为底层,个人感觉SELENIUM还是非常的好的工具。而对于没有开发基础的测试人员,可以考虑QTP这个自动化工具,掌握比较快,但要学精还是需要掌握开发技术。但当你掌握了开发技术后就会放弃QTP想玩SELENIUM了。原因是QTP越做越烂了,虽然最新版本的UFT增加了API的测试,当我觉得这个更加是鸡肋,QTP这个产品在WINDOWS环境下做还可以,但是你想扩展到其他环境就麻烦了,如自动启停进程相关的操作....。工具介绍就到这吧,总体来说根据自己的需求来选择符合自己公司的工具和开发语言。接下来我说下WEB的UI自动化测试的优缺点:
缺点:
开发效率低、维护成本高、执行速度慢.......................几百种缺点。
优点:
用户操作真实性强。
接口自动化测试:
接口自动化测试在后来出现,但现在大部分的互联网公司都喜欢用它作为测试工作辅助。原因很简单,UI自动化的缺点它都能进行弥补,但同时它也存在一个最大的问题:用户操作真实性不强。其实个人觉得接口自动化测试和UI自动化测试可以产生互补的测试。因为我们做接口测试时更多的是根据开发的技术进行测试HTTP\SOCKET等等(接口测试基本上不需要用到什么工具进行,如果一定需要的话建议是用SOAPUI),而非真实的进行对系统进行操作验证系统是否存在问题。
APP的自动化测试:
APP的自动化测试应该也要分为UI和接口自动化测试,接口测试与上面说的一样都是技术层面上的事情就不说了。那么还是关注APP的UI自动化测试,APP的自动化测试工具方面也有很多,但也都不成熟,我选择了APPIUM,主要考虑到的它可以进行跨平台测试,但最大的问题还是不稳定。所以也不敢大面积的布置其自动化测试用例。APP刚才说过了主要分为NATIVE和WEBVIEW,NATIVE的对象还好获取,像android可以直接使用uiautomatorviewer进行获取。而WEBVIEW就比较麻烦,不能直接获取要么就让开发提供给你,要么就直接下代码自己找,还有就是通过google的一个方法进行获取.......
说了一下这三种技术的一些内容,其实我想说不管什么类型的自动化测试,我们测试的过程中都需要和开发进行紧密的结合,但测试优于开发的测试思想。另外这三种技术我们在实际的应用中更应该将其进行混合的测试:
1、UI(WEB)自动化测试走主流程的测试、接口自动化测试走全面的测试:先布置接口的自动化测试用于测试和回归测试,特别在敏捷测试中,接口自动化测试应该占主体。后布置UI自动化测试用于住流程的回归测试。
2、UI(WEB)自动化测试与APP自动化测试结合:需要一个自动化测试框架的协调,可以进行UI自动化测试到APP接口层的长流程场景自动化测试,也可以进行UI自动化测试到APPUI层的长流程场景自动化测试。
3、接口自动化测试与APP自动化测试结合:其实和UI与APP自动化测试长流程的交换一样的原理,需要自动化测试框架的支撑。先进行接口测试用例的执行后进行APP的UI和接口测试的用例执行。
以上是我想说的这么个故事....看看就好....