• 0
  • 1
分享
  • 流量复制和场景测试技术
  • 恬恬圈 2019-09-23 14:22:23 字数 1338 阅读 1525 收藏 1

当前,软件产品整体的开发测试节奏正在不断的加快。如何快速响应市场需求,在保障产品质量的同时提高软件研发效率?是摆在开发、测试人员面前的一大难题。

对软件测试人员来说,提高自动化测试的能力和效率,是应对这一难题的途径之一。通过调研学习,我们对主流自动化测试技术进行简要对比。按照人工介入程度区分,自动化测试技术主要分为两大类别:流量复制技术和场景测试技术。

1、流量复制技术

流量复制技术的原理是:复制在线Server的请求数据包(比如HTTP流量、TCP流量、链路层流量等),修改流量包头部信息,发送给测试服务器,达到欺骗测试服务器程序的目的,从而为欺骗测试服务器上面的上层应用打下基础。

技术发展现状:目前有各种开源的软件支持流量复制,比如Gor、TCPCopy等。其中,Gor是一款Golang语言编写的简单的http流量复制开源工具,它的工作流程是监听服务器捕捉http流量,把捕捉到的流量发送到重现服务器上或者保存到文件中,重现服务器再继续把流量发送到一个指定的ip地址:


1.png

图2 Gor工作流程图

TCPCopy是国内各大互联网公司广泛应用XCopy系列工具之一,XCopy是由网易主导,多家公司参与开发的具有在线Server流量复制功能的一系列开源软件的总称。XCopy系列包括TCPCopy、UDPCopy、MysqlCopy等开源软件(这些软件都集成在tcpcopy开源项目内)。TCPCopy是一种请求复制(复制基于TCP的packets)工具,通过复制在线数据包,修改TCP/IP头部信息,发送给测试服务器。

流量复制技术具有技术成熟,项目开源,对用户透明,无需用户承担额外的研发工作仅需要在生产和测试环境安装相应的软件等特点。测试流程真实仿真生产情况,测试路径真实,能放大和缩小流量,实现仿生产条件下的仿真性能测试。流量复制技术应用在对后端服务进行测试,适合人机界面交互少、后台逻辑相对单一的系统进行自动化测试,比如网捷贷、搜索引擎等相关产品。

2、场景测试技术

场景测试技术的原理是:按照真实业务场景划分,通过程序录制用户的操作行为,转化为脚本,然后在被测环境回放脚本进行测试。

技术发展现状:目前有较为成熟的软件支持,比如:QTP、Watir、Selenium等,在各行业应用较为广泛。

场景测试技术具有场景按需定制,测试针对性强,定位重现问题较为便捷的特点。适合前端测试,特别是有人机交互、有流程、步骤和环节概念的应用程序和桌面程序,能精细化覆盖所有业务分支流程,实现仿用户操作行为的测试。

针对流量复制技术和场景测试技术所采用的自动化测试软件,我们进行了对比分析,分析结果参见下表:

2.png

表1  主流自动化测试软件优劣对比


从上述分析可以看到,流量复制技术和场景测试技术实现原理不同,在市场上都具备相对成熟的软件支持,在应用中各有优势,适合于不同类型的测试应用场景。在实际产品的测试过程中,我们应根据软件系统的不同特征和场景,选用适合的自动化测试技术,以期提高测试效率和质量。


版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   根据美国商标和专利局(USPTO)公示的清单,苹果近期获得了一项关于 AirPods 耳机的最新专利,其亮点在于传统触控操作之外,还支持隔空手势操作。  在此嵌入专利设计草图,其中图 4A 展示了一位佩戴 AirPods 耳机的用户;图 4B 展示了 AirPods 的横截面视图;图 5 展示了隔空手势,实现不同操作和功能。  图 6A 和 6B 展示了 AirPods 的触控区域,而图 9 展示了在 AirPods 上配有按钮;图 10 展示了 AirPods 配有拨盘控件。作者:cnBeta原文链接:今日头条(toutiao.com)
            0 0 638
            分享
          • 今天我们来说说在 windows 系统上如果有多版本的 python 并存时,如何优雅的进行灵活切换。虽然 Python3 已经出来很久了,虽然 Python2 即将成为历史了,但是因为历史原因,依然有很多公司的老项目继续在使用着 Python2 版本(切换成本太高),所以大多数开发者机器上 Python2 和 Python3 都是并存的,本文主要说明这种情况下如何便捷的在 Python2 和 Python3 之间进行切换。先说明下,本次我们不介绍 virtualenv,也不介绍 pipenv,因为这两个都是为了大型的 Python 工程做准备的,之后会单独文字进行说明。本次是不借助外部工具,...
            1 1 1823
            分享
          •   现在的宜家,越来越像美食UP主了。  大家对宜家最早的印象,无外乎是小红书千篇一律的极简风东欧性冷淡式家具,和特别适合拍照的线下门店。但在最近几年里,市场上来自宜家的声音越来越弱。  今年7月,“IKEA宜家风味屋”的抖音账号正式上线,该账号的认证主体为(宜家)中国投资有限公司,发布的视频以肉丸、牛排、松饼、各类蛋糕美食为主。IKEA宜家风味屋后续还尝试了直播带货,销量最高的是宜家瑞典风味餐厅的经典肉丸单人套餐,售价36.99元,目前已经迈出了3094份。  作为在中国布局多年的家居品牌来说,尝试美食视频可谓是破天荒的第一次,但也能看出宜家的窘迫处境。作为国际家居巨头,也需要通过线上的美食...
            0 0 584
            分享
          •   环境准备  1.安装JDK(自行安装)  2.安装Jmeter  (1)Jmeter下载地址并解压(本位使用5.1.1版本~)  https://archive.apache.org/dist/jmeter/binaries/  (2)打开Jmeter  进入Jmeter解压文件的bin目录下,双击jmeter.bat文件,即可打开Jmeter  知识点-Jmeter取样器  在正式开始使用Jmeter前,先了解“Json Extractor”的概念。  Json取样器:使用Jsonpath语法,一般用于从响应结果数据里面获取动态变量值  Jsonpath基础语法说明  项目背景  使用J...
            1 3 2386
            分享
          • 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学(来自百度百科)。       随着人工智能(AI)时代又一个高潮的来临,AI产品已经覆盖了制造、教育、金融、互联网、医疗、电力、化工等多个行业,从1955年人工智能(AI)诞生起,人工智能(AI)经历过了几个高潮迭起,也从弱人工智能,探索到强人工智能,未来更是可能会发展到超人工智能,而支撑着人工智能发展的基础,就是算法。或许,可以说算法是工智能(AI)的核心,是机器学习的灵魂,它也决定着人工...
            5 4 6118
            分享
      • 51testing软件测试圈微信