think of testing

测试(testing)

跨终端手动测试

平台

lambdaTest

  • 手动测试

    • Browser Testing.

      可在线在不同的浏览器种类、版本、操作系统以及分辨率对website进行实时交互式测试,每次真实浏览器sessions可测试10分钟.

      • 结论.

        • 可切换配置浏览器种类、版本、操作系统以及分辨率;
        • 可在线录屏、截图(录屏、截图可下载);
        • 可在线标记bug(编辑bug截图、下载bug截图以及上传到lambdaTest合作的SLACK、JIRA和ASANA项目管理系统);
    • App Testing.

      可在线自由搭配不同的品牌手机、版本设备对App包或者App Url进行实时交互式测试,每次真机测试sessions可测试10分钟.

      • 结论.

        • 可切换配置品牌手机以及版本设备;
        • 可在线录屏、截图(录屏、截图可下载);
        • 可在线标记bug(编辑bug截图、下载bug截图以及上传到lambdaTest合作的SLACK、JIRA和ASANA项目管理系统);
        • 可下载新的上传的App、移除任意App.
        • 可在线查看网络日志、App日志以及设备日志;
    • Browser Testing开发环境在线测试.

      可配合lambdaTest桌面应用(LT_Windows or LT_Macs)配合在线网站进行开发环境在线测试.

    • 结论.

      • 简洁、易用且容易理解;
      • 功能完备,在线随时切换终端设备配置、录屏下载、Debug标记应有尽有;
      • 测试过程流畅、无障碍性困难;
      • 其合作生态成熟且完备,例如其合作的一套项目管理系统SLACK、JIRA和ASANA;
      • 为测试人员大大提高了效率,节约了时间成本;
      • 开放的终端设备可重复使用;
    • 问题.

      • 大部分终端设备不开放.
      • 每个部分(Browser Testing or App Testing)体验时长不能超过30分钟.
      • 终端设备开放、永久使用需要付费.

browserstack

  • Browser Testing.

    可在线在不同的浏览器种类、版本、操作系统以及分辨率对website进行实时交互式测试,每次真实浏览器sessions可测试1分钟.

    • 结论.

      • 可切换配置浏览器种类、版本、操作系统以及分辨率;
      • 可在线标记bug(编辑bug截图、下载bug截图以及上传到Email、Github、browserstack合作的SLACK、JIRA和TRELLO项目管理系统);
  • App Testing.

    可在线自由搭配不同的品牌手机、版本设备对App包或者App Url进行实时交互式测试,每次真机测试sessions可测试无限制.

    • 结论.

      • 可切换配置品牌手机以及版本设备;
      • 可在线录屏、截图(录屏、截图可下载);
      • 可在线标记bug(编辑bug截图、下载bug截图以及上传到Email、Github、browserstack合作的SLACK、JIRA和TRELLO项目管理系统);
      • 可下载新的上传的App、移除任意App.
      • 可切换手机语言配置.
      • 可在线查看网络日志、App日志以及设备日志;
  • Browser Testing开发环境在线测试.

    可配合browserstack桌面应用(BrowserStackLocal.exe or BrowserStackLocal.dmg)配合在线网站进行开发环境在线测试.

  • 结论.

    • 简洁、易用且容易理解;
    • 功能比较完备,在线随时切换终端设备配置、Debug标记;
    • 测试过程流畅、无障碍性困难;
    • 其合作生态成熟且完备,例如Email、Github和browserstack合作的SLACK、JIRA和TRELLO项目管理系统;
    • 为测试人员大大提高了效率,节约了时间成本;
    • 大部分浏览器设备开放,可进行体验.
  • 问题.

    • 体验时间过短,每次真实浏览器sessions只能测试1分钟.
    • App Testing体验时长不能超过30分钟.
    • 终端设备开放、永久使用需要付费.
    • 超过体验时间,不可重复体验开放的同一浏览器.

跨终端自动化测试

  • 自动化测试

    • WebDriver.

      WebDriver是W3C的一个标准,是一个远程控制协议,提供操纵浏览器的方式,提供访问操作DOM的API.

      • 工作过程.

        WebDriver的工作过程.

      • 衍生.

        Selenium、Appium都是基于WebDriver协议并进行了扩展,属于WebDriver的衍生品.

    • 浏览器自动化测试工具.

      • Selenium.

        Selenium是浏览器自动化测试工具领域最为流行的一种测试套件.

        • Selenium支持多浏览器平台(Chrome、Firefox、IE、Opera、Safari等);
        • Selenium开发支持多语言(python、java、ruby、js、c#等);
        • Selenium的Remote Control可以通过录制用户的操作,来简化Web测试人员的各项重复作业;
        • Selenium的Grid具有编写、运行和并行处理测试的功能;
        • Selenium的Core则是基于JsUnit,完全由JavaScript所编写,因此可以被运行在各种支持JavaScript的主流浏览器之上;
        • Selenium开源免费;
      • Selenium IDE.

        Selenium IDE能够以插件的形式被安装到测试者的浏览器中,从而方便地实现Web界面的测试,是最为流行的一种可视化、自动化测试工具.

      • selenium-webdriver.

        浏览器自动化库,提供了许多浏览器自动化接口,用于测试web应用.

    • App自动化测试工具.

      • Appium.

        Appium是一个开源的,适用于原生或混合移动应用(hybrid mobile apps)的自动化测试工具.

      • Appium特性.

        • Appium支持多App平台(Android、iOS等);
        • Appium支持多语言(python、java、ruby、js、c#等),Appium选择了Client/Server的设计模式,只要client能够发送http请求给server,那么client用什么语言来实现都是可以的,这就是如何做到支持多语言的原因;
        • Appium是跨平台的,可以用在OSX,Windows以及Linux桌面系统上运行;
        • Appium扩展了WebDriver的协议,这样的好处是以前的WebDriver API能够直接被继承过来,以前的WebDriver各种语言的binding都可以拿来就用,省去了为浏览器、App端各开发一个client的工作量;
        • Appium开源免费;
      • Appium框架组成.

      • Appium通信原理.

        Client端运行Webdriver协议的机器发送自动化指令给Appium server,Appium Server接收到client发送的指令后,转换为移动端能够识别的指令,然后发送给移动端设备,并对移动端设备进行操作.

      • Appium整体流程.

平台

lambdaTest

  • lambdaTest配合Selenium IDE.

    Run Selenium IDE Tests with LambdaTest Selenium Grid.

    • 结论.

      • API、技术文档完备,引导配置成熟.
      • 可视化编辑测试用例流畅并且效果顶级;
      • 支持多语言编写测试用例(python、java、ruby、js、PHP、c#等).
      • 与lambdaTest配合相得益彰,做到了跨浏览器自动化可视化测试完备且成熟的流程.
      • 录制操作、编写测试用例二合一,既考虑了定制性、精确性,也考虑了自动化、可视化和灵活性.
      • 测试报告: 截图、录屏、网络日志、Selenium日志、浏览器日志、浏览器参数以及终端日志俱有.
    • 问题.

      • 无产品文档,无法直观具体了解产品.
      • 测试报告中有一些不完整,如性能报告.
  • selenium-webdriver、jest配合lambdaTest.

    Jest with Selenium: Tutorial to Run Your First Test on LambdaTest.

    • 结论.

      • API、技术文档完备,引导配置成熟.
      • 支持多语言编写测试用例(python、java、ruby、js、PHP、c#等).
      • 测试报告: 截图、录屏、网络日志、Selenium日志、浏览器日志、浏览器参数以及终端日志俱有.
    • 问题.

      • 在线平台不保存测试用例,也不集成测试套件,只能进行线下编辑测试用例,没有做到完全自动化可视化测试.
      • 无产品文档,无法直观具体了解产品.
      • 测试报告中有一些不完整,如性能报告.
  • lambdaTest配合Appium.

    WebDriverIO With Appium in lambdaTest.

    • 结论.

      • API、技术文档完备,引导配置成熟.
      • 支持多语言编写测试用例(python、java、ruby、js、PHP、c#等).
    • 问题.

      • 真机跨终端自动化测试需要付费,无法体验产品.
      • 无产品文档,无法直观具体了解产品.
  • Visual UI Testing.

    Visual UI Testing Screenshot.

    • 结论.

      • 可实行多终端UI截图,并可实现对比.
      • 可下载、分享截图或者截图列表压缩包.
      • 可配置各终端的分辨率以及布局.
      • 可预定日程(每天、每个周、每个月)进行截图.
      • 根据账号保存每次截图列表历史.
    • 问题.

      • 不可实行本地终端UI截图.

阿里云移动测试

  • 阿里云移动测试配合Appium.

    阿里云移动测试产品文档.

    • 结论.

      • API、技术文档完备,引导配置成熟.
      • 集成Appium IDE于阿里云平台内部,做到可视化、自动化测试.
      • 录制、编写测试用例二合一,做到了跨浏览器自动化可视化测试完备且成熟的流程.
      • 产品文档完备,可直观了解产品.
      • 测试报告:截图、录屏、测试用例日志、Appium日志、移动设备日志、错误日志以及性能报告一应俱全.
    • 问题.

      • 只支持Python编写测试用例.
      • 测试报告中有一些不完整,如网络日志.
  • Visual UI Testing.

    无Visual UI Testing功能.

browserstack

  • browserstack配合Appium.

    WebDriverIO With Appium in browserstack.

    • 结论.

      • API、技术文档完备,引导配置成熟.
      • 支持多语言编写测试用例(python、java、ruby、js、PHP、c#等).
      • 做到了跨浏览器自动化测试比较完备且成熟的流程.
      • 测试报告: 截图、录屏、网络日志、Appium日志、移动设备日志以及性能报告应有尽有.
    • 问题.

      • 在线平台不保存测试用例,也不集成测试套件,只能进行线下编辑测试用例,没有做到完全自动化可视化测试.
      • 测试报告中有一些不完整,如测试用例日志,需要在命令行中查看.
      • 产品文档有欠缺,急需补足.
  • Visual UI Testing.

    Visual UI Testing Screenshot.

    • 结论.

      • 可进行多终端UI截图,进行对比.
      • 可下载、分享截图或者截图列表压缩包.
      • 根据账号保存每次截图列表历史.
      • 可配置各终端的分辨率以及布局.
      • 可实行本地终端UI截图.
    • 问题.

      • 配置各终端的分辨率以及布局需付费.
      • 不可预定日程(每天、每个周、每个月)进行截图.

sauceLabs

  • sauceLabs配合Appium.

    WebDriverIO With Appium in sauceLabs.

    • 结论.

      • 支持多语言编写测试用例(python、java、ruby、js、PHP、c#等).
      • 做到了跨浏览器自动化测试比较完备且成熟的流程.
      • 测试报告: 截图、录屏、网络日志、Appium日志以及移动设备日志俱有.
    • 问题.

      • Simple Demo冗杂耦合在一起,下载很慢,且很乱.
      • API、技术文档无任何引导,且比较简陋.
      • 无产品文档,无法直观具体了解产品.
      • 在线平台不保存测试用例,也不集成测试套件,只能进行线下编辑测试用例,自动化可视化测试能力不足.
      • 测试报告中有一些不完整,如测试用例日志,需要在命令行中查看.
  • Visual UI Testing.

    无Visual UI Testing功能.

CrossBrowserTesting

  • CrossBrowserTesting配合Appium.

    NodeJS With Appium in CrossBrowserTesting.

    • 结论.

      • 支持多语言编写测试用例(python、java、ruby、js、PHP、c#等).
      • 做到了跨浏览器自动化测试比较完备且成熟的流程.
      • 测试报告: 截图、录屏、网络日志、Appium日志以及移动设备日志俱有.
    • 问题.

      • API、技术文档无任何引导,且比较简陋.
      • 无产品文档,无法直观具体了解产品.
      • 在线平台不保存测试用例,也不集成测试套件,只能进行线下编辑测试用例,没有做到完全自动化可视化测试.
      • 测试报告中有一些不完整,如测试用例日志,需要在命令行中查看.
  • Visual UI Testing.

    无Visual UI Testing功能.

冰狐智能辅助

不使用Appium,有自己开发的一套移动端自动化测试工具.

冰狐智能辅助 - 移动端.

  • 问题.

    • 只适用Android自动化测试.
    • 需要开发者自己准备设备,无在线真机调试,没有做到在线跨终端测试.
    • 只支持Javascript编写测试用例.
    • 在线平台不保存测试用例,也不集成测试套件,只能进行线下编辑测试用例,自动化可视化测试能力非常欠缺.
    • 无产品概念,无测试报告,只是单一的一种工具.
  • Visual UI Testing.

    无Visual UI Testing功能.