自动化测试】自动化测试框架具体应用中怎么选择

2021-04-13 19:10发布

11条回答
ban_gank
1楼 · 2021-04-14 09:46.采纳回答

Serenity:国内使用的比例貌似不是很高,所以首先被我pass掉了。

       Gauge:这是一个较新的测试框架,还在开发中,不是很成熟,所以也不太利于我的学习使用。

       Galen Framework:这个框架就像我图中写的一样,主要关注于用户体验设计,也就是UX上,相对于其他框架来说,稍显单薄。

       Sahi:主要是录屏和播放功能比较强大,但是这种法法已经被证明是不利于创建可维护,强大的自动化测试的。所以也不是很推荐作为一个长久的项目使用。

       Robot Framework:是一种基于关键字驱动的框架,目的是让不懂代码的黑盒测试人员快速编写测试脚本。但是我稍微去了解了一下之后,觉得这个我个人不是很喜欢,所以这个可以作为一个预留项,之后再去学习。

       RedwoodHQ:理由同上。


三岁奶猫
2楼 · 2021-04-14 13:33

选择商业自动化工具还是开源工具?好东西肯定贵,但是贵的不见得好,再便宜的许可证也会阻止整个团队的协作。而且商业化工具难以和其他自动化工具(特别是其他厂商的)或版本控制、持续集成进行整合和定制化。另外,产品终止或公司关门是潜在的风险。开源工具可供选择余地很大,当然也是良莠不齐。开源工具通常容易与其他工具整合,关键是免费,谁都可以随意使用和定制化,还永远不会消失。至于免费软件,越来越少了,很多自由软件都已经开源。免费软件同样不能定制化,且存在中止的风险。

风中浪子
3楼 · 2021-04-14 14:25

Serenity:国内使用的比例貌似不是很高,所以首先被我pass掉了。

Gauge:这是一个较新的测试框架,还在开发中,不是很成熟,所以也不太利于我的学习使用。

Galen Framework:这个框架就像我图中写的一样,主要关注于用户体验设计,也就是UX上,相对于其他框架来说,稍显单薄。

Sahi:主要是录屏和播放功能比较强大,但是这种法法已经被证明是不利于创建可维护,强大的自动化测试的。所以也不是很推荐作为一个长久的项目使用。

Robot Framework:是一种基于关键字驱动的框架,目的是让不懂代码的黑盒测试人员快速编写测试脚本。但是我稍微去了解了一下之后,觉得这个我个人不是很喜欢,所以这个可以作为一个预留项,之后再去学习。

RedwoodHQ:理由同上。


浅浅77
4楼 · 2021-04-15 10:16

自动化测试的框架介绍和选择

image.png

上面六个自动化测试框架主要都是针对web的。我也去官方文档稍微了解了一下这些框架的具体实现方法和例子。得到一下观点。

       Serenity:国内使用的比例貌似不是很高,所以首先被我pass掉了。

       Gauge:这是一个较新的测试框架,还在开发中,不是很成熟,所以也不太利于我的学习使用。

       Galen Framework:这个框架就像我图中写的一样,主要关注于用户体验设计,也就是UX上,相对于其他框架来说,稍显单薄。

       Sahi:主要是录屏和播放功能比较强大,但是这种法法已经被证明是不利于创建可维护,强大的自动化测试的。所以也不是很推荐作为一个长久的项目使用。

       Robot Framework:是一种基于关键字驱动的框架,目的是让不懂代码的黑盒测试人员快速编写测试脚本。但是我稍微去了解了一下之后,觉得这个我个人不是很喜欢,所以这个可以作为一个预留项,之后再去学习。

       RedwoodHQ:理由同上。

       基于我的测试代码是用Java + selenium编写的,我还可以选择使用Java的单元测试框架。之前也说过,我在接口测试的时候,使用了Junit框架。但是基于目前的需求,web上自动化测试还要求生成测试报告,而Junit不能满足这个需求。所以我看到TestNG。

所以经过各方面的考量和了解,我确定了我的自动化测试体系。Java + Selenium + TestNG。

香蕉牛油果酸奶
5楼 · 2021-04-15 17:51

对于你的问题,首先明确测试类型,然后才能明确自动化测试类型,最后定位哪个类型用哪个方面的自动化测试工具 1、测试类型可以包括:白盒测试、黑盒测试(功能测试、性能测试)等。 2、不同的测试类型使用的自动化测试方法不同,

大冬瓜
6楼 · 2021-04-16 16:42

一个完整的测试脚本(用例)一般包含以下几个步骤:


环境准备或检查

执行业务操作

断言结果

清理环境

而测试框架一般还要完成用例加载,批量执行,异常控制,结果输出等功能。基础的测试框架一般只提供执行控制方面的功能。


测试框架应具有的特点

易用性:编写用例,执行用例,生成报告及定位问题方便

健壮性:稳定,比如timeout机制等

扩展性:插件

灵活性:用例组织或执行的灵活性,Fixture功能(不同范围的setUp和tearDown)等

定制性:二次开发方便

框架介绍

pytest

pytest是一款强大的python测试工具,它具有易于上手,功能强大,第三方插件丰富,效率高,可扩展性好,兼容性强等特点,实际上,越来越多的项目开始放弃unittest和nose以及robot framework ,转而使用pytest,比如Mozilla和Dropbox.因为pytest可以提供更丰富功能,包括assert重写,第三方插件,以及其他测试工具无法比拟的fixture模型。


pytest可以自动找到测试用例执行,并汇报测试结果。它有丰富的基础库,可以大幅度提高用户编写测试用例的效率。它具备非常强的可扩展性,用户可以自己编写插件,或者安装第三方插件。pytest可以很方便地与其他工具一起使用,比如持续集成、web自动化测试等。


Pytest 也具有 Robot Framework 所闻名的验收测试能力。Pytest 最好的特性之一是,它提供了测试用例的详细失败信息,使开发者可以快速准确地改正问题。它兼容最新版本的 Python,还兼容 unittest、doctest 和 nose,开箱即用。Pytest 还有各种可用插件来给现有测试技术和测试用例增加更多功能和多样性。事实上,在其活跃社区中有 300 多个可用的插件。该平台设计用于编写更简单,错误率更小的代码。你可以将 Pytest 与诸如 Selenium 和 Splinter 之类的图形用户界面一起使用,来使测试工作更轻松


pytest优于其他测试框架的地方:


简单测试可以很简单的编写

复杂测试也可以很简单编写

简单灵活,容易上手

支持参数化

能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)

pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-allure-adaptor(生成漂亮的allure报告)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发分布式执行)等

测试用例的skip和xfail处理

可以很好的和jenkins集成

测试代码可读性强

易于上手

断言失败仅使用原生关键字assert,而不是self.assertEqual(),或者self.assertLessThan()

pytest可以运行unittest和nose编写的测试用例

不依赖特定的python版本,python2和python3都可以使用最新版本

正在快速壮大的社区开发和维护

pytest+allure报告

该概述页显示的测试参数列表整体测试执行统计数据


该缺陷页面提供的测试执行过程中发现的缺陷的详细清单。我们区分对应于失败测试的产品缺陷和对应于破坏测试的测试缺陷。


该测试套页面显示方面统计测试套。您可以查看每个测试套件的测试统计信息以及每个测试用例的详细信息。


该行为页面来自于测试数据BDD。您可以轻松查看哪些功能和故事存在问题。


图表可帮助您直观地估算测试结果


在时间轴页面显示在哪个时间点每个测试用例开始执行,并且它运行了多长时间


robot framework

优点


关键字驱动,自定义用户关键字。

支持测试日志和报告生成。

支持系统关键字开发,可扩展性好。

支持数据库操作。

缺点


测试用例写起来不简洁。

需要掌握特定语法,学习成本高

只支持python2,不支持python3,容易导致测试团队python版本不统一

界面反应速度慢,经常卡死

导入测试库有时会异常

对于测试团队限制过多,不利于结合具体业务定制功能

问题调试困难

输出的日志结构复杂,多为英文,不容易看懂

维护困难,超过2000条用例就是噩梦

接口测试,rf一般是顺序执行的,但在接口测试中需要并发测试,这种测试需要加入写入的并发关键字


嘿呦嘿呦拔萝卜
7楼 · 2021-04-19 17:11

Serenity:国内使用的比例貌似不是很高,所以首先被我pass掉了。

       Gauge:这是一个较新的测试框架,还在开发中,不是很成熟,所以也不太利于我的学习使用。

       Galen Framework:这个框架就像我图中写的一样,主要关注于用户体验设计,也就是UX上,相对于其他框架来说,稍显单薄。

       Sahi:主要是录屏和播放功能比较强大,但是这种法法已经被证明是不利于创建可维护,强大的自动化测试的。所以也不是很推荐作为一个长久的项目使用。


erenity:国内使用的比例貌似不是很高,所以首先被我pass掉了。

       Gauge:这是一个较新的测试框架,还在开发中,不是很成熟,所以也不太利于我的学习使用。

       Galen Framework:这个框架就像我图中写的一样,主要关注于用户体验设计,也就是UX上,相对于其他框架来说,稍显单薄。

       Sahi:主要是录屏和播放功能比较强大,但是这种法法已经被证明是不利于创建可维护,强大的自动化测试的。所以也不是很推荐作为一个长久的项目使用。

       Robot Framework:是一种基于关键字驱动的框架,目的是让不懂代码的黑盒测试人员快速编写测试脚本。但是我稍微去了解了一下之后,觉得这个我个人不是很喜欢,所以这个可以作为一个预留项,之后再去学习。

       RedwoodHQ:理由同上。


小新没有蜡笔
9楼 · 2021-04-21 15:12

Serenity:国内使用的比例貌似不是很高,所以首先被我pass掉了。

       Gauge:这是一个较新的测试框架,还在开发中,不是很成熟,所以也不太利于我的学习使用。

       Galen Framework:这个框架就像我图中写的一样,主要关注于用户体验设计,也就是UX上,相对于其他框架来说,稍显单薄。

       Sahi:主要是录屏和播放功能比较强大,但是这种法法已经被证明是不利于创建可维护,强大的自动化测试的。所以也不是很推荐作为一个长久的项目使用。

       Robot Framework:是一种基于关键字驱动的框架,目的是让不懂代码的黑盒测试人员快速编写测试脚本。但是我稍微去了解了一下之后,觉得这个我个人不是很喜欢,所以这个可以作为一个预留项,之后再去学习。

       RedwoodHQ:理由同上。


相关问题推荐

  • 回答 6

    1.分析测试需求测试需求其实就是测试目标,也可以看作是自动化测试的功能点。自动化测试是做不到100%盖率的,只有尽可能提高测试覆盖率。条测试需求需要设计多个自动化测试用例,通过测试需求分析判定软件自动化测试要做到什么程度。一般情况下,自动化测试优...

  • 回答 7

    第一,需求稳定,不会频繁变更第二,研发和维护周期长,需要频繁执行回归测试第三,需要在多种平台上重复运行相同测试的场景。第四,某些测试项目通过手工测试无法实现,或者手工成本太高。第五,被测软件的开发较为规范,能够保证系统的可测试性。另外,某些...

  • 回答 14

    自动化测试对于软件测试工程师来说十分重要。是软件测试人员必备技能。自动化测试框架是为自动化测试脚本提供执行环境的脚手架。框架为用户提供了各种优势,帮助他们有效地开发、执行和报告自动化测试脚本。它更像是一个专门为自动化组织的测试而创建的系统。...

  • 回答 7

    自动化测试的成本高,效果差,是一个相对的,而针对某些具体项目,是必须要接入自动化测试的。首先说一些什么时候会需要自动化测试首先咱们讨论这个问题之前要带着一个疑问:决定要不要做自动化测试的因素有哪些?应该说时间才是一个衡量比重比较大的因素。假...

  • 回答 7

    1

  • 回答 3
    已采纳

    1. Web自动化测试工具:selenium、QTP。2. 性能自动化测试工具:loadrunner、jmeter。3. 接口自动化测试工具:SoapUI、postman。4. 手机自动化测试工具:robotium、appium。

  • 回答 5

    selenium

  • 回答 3

    1、Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,...

  • 回答 4

    一、概述【测试地址】:https://pan.baidu.com【测试工具】selenium、requests【脚本语言】Python【运行环境】Windows百度网盘作为文件存储及分享的平台,核心功能大部分是对文件的操作,如果要对它进行自动化测试,优先覆盖的就是上传、分享、复制功能测试方...

  • 回答 2

    在使用Jmeter进行性能测试时,需要并发多个用户,模拟真实用户行为,此时就需要模拟多个不同用户同时请求,每个用户请求中的imei或uuid动态变化。Jmeter提供了参数化的功能,配置元件、函数助手以及前置处理器中的用户参数,均能够帮助我们解决这个问题。配置...

  • 回答 3
    已采纳

    第一步,先要下载Android SDK及其中的相关工具,并配置好环境变量。Android SDK(Android software development kit)是Android移动应用软件(App)的开发工具的集合。App测试工作需要用到其中部分工具,所以我们需要配置Andorid SDK。Android SDK采用了Java语...

  • 回答 3

     安装 Android SDK 安装 appium Server java-client安装与测试python-client安装与测试appium-desktopDesired Capabilities定位控件 appium API 之应用操作 appium API 之上下文操作 appium API 之键盘操作 appium API 之 TouchAction 操作appium API 之...

  • 回答 8

    微信发布了小程序的自动化测试框架Minium,提供了多种运行验证方式,其特点:支持一套脚本,iOS & Android & 模拟器,三端运行提供丰富的页面跳转方式,看不到也能去得到可以获取和设置小程序页面数据,让测试不止点点点可以直接触发小程序元素绑定事件支持往...

  • 回答 3

    数据驱动测试是一种在软件测试过程中使用的方法,用于描述直接测试的输入、可验证输出的条件表,以及测试环境的设置还有控制编码的过程。数据驱动测试的好处包括:1.就算应用程序开发还在进行当中,测试者仍然可以进行脚本的编写工作。2.减少了冗余和不必要的...

  • 回答 2

    可以,能操作手机即可,比如appnium

没有解决我的问题,去提问