kylinTOP测试与监控平台(kylin Test Observe Platform)是一款国产的集性能测试、自动化测试(UI、接口、APP)、业务&接口监控于一体的产品。kylinTOP是B/S架构的分布式系统,支持跨平台(WINDOWS/LINUX/SOLARIS/麒麟/MAC等)运行。
自动化测试领域:首次引入AI概念,突破业界传统的自动化测试工具设计的思路。使用用例设计效率、运行稳定性、可维护性、易用性上有质的飞跃。
性能测试领域:打破了国外企业垄断地位,首次使中国具有一款真正意义上的一款软件性能测试工具。性能测试工具的仿真度、问题分析能力、资源消耗上要优于美国的LoadRunner。
kylinTOP自动化测试能力业界首次引入AI概念,突破业界传统的自动化测试工具设计的思路。使用用例设计效率、运行稳定性、可维护性、易用性上有质的飞跃。
1、无干扰录制(按正常的操作即可录制),添加元素检查点或图片检查点只需按住Shift键移动鼠标到目标 位置,即可快速创建 脚本。当页面复杂些时,例如需要检查点、图片检查点、或者有地图、曲线、饼图等报表组件,使用平台快速录制2分钟内即 可完成脚本,而一个熟练的测试开发人员编写脚本调试脚本可 能还需要半天、甚至超过一天。提升效率明显,而且准确度 高。
2、支持录制过程动态添加检查点:自动识别页面元素并添加,也支持界面截图
目前主流的框架或工具,包括selenium,基本都是通过sleep或等待元素出现来判断步骤是否完成。当页面比较复杂,如ajax异步、或者大数据常用的地图、报表(曲线、饼图等等)只有一个canvas元素,且都是异步,sleep与等待元素将变得无效,从而导致自动化测试将变得不稳定,可能误报,或者测试错误,做无用功,如果功能有bug,还无法定位。
kylinTOP通过HTTP请求数、DOM事件、CPU等经过一系列的智能算法实现步骤/页面完成时间的精确判断,同时精确得到每一个步骤的时间、HTTP信息、CPU曲线、页面白屏、页面加载时间,提供定位与调优信息。另外,平台也提供了sleep、或等待元素、或等待某个http请求完成。
业界主流的自动化用例最终都需要人工维护代码脚本,对人员能力要求较高。kylinTOP生成的用例实现可视化管理,零代码管理。如下图所示,用例步骤都是可视化的操作步骤,简单易读。
通过录制创建统一对象库,使用画业务流程图方式创建业务脚本(测试用例),脚本里的对象统一引用对象库,流程图直观表示用例脚本,维护方便。
自动化测试脚本时,记录每个步骤时间、截图、甚至HTTP交互时间与交互日志,浏览器的CPU、内存变化,浏览器控制台的异常或打印,页面加载的时间。甚至录制视频,记录自动化执行过程。
版本迭代或发布时,怎样缩短测试时间,也是自动化测试的一个痛点;能否一次测试批量执行多个脚本(甚至上千上万个)、一次性完成多浏览器兼容性测试、浏览器多版本兼容性测试、不同分辨率的兼容性测试;做到保障版本质量的同时,缩短版本的交付时间。
上图为测试场景的配置界面:
仿真度就是性能测试工具模拟客户端向服务端下发请求与客户端的相似程度的能力,仿真度越高,测试获得的结果越可信。
kylinTOP的协议仿真能力几乎可以做到与真实浏览器相同(对比分析参见《性能测试工具选择策略——仿真度对比测评分析报告》),与业界同类产品相比,是仿真能力最高的产品。
协议模拟就是通过模拟客户端与服务端的通信协议的交互行为,而客户端模拟是性能测试工具间接的模拟客户端向服务端下发请求协议,它是通过驱动客户端界面操作,由客户端程序向服务端下发请求协议。kylinTOP是目前业界唯一一款同时支持两种模拟方式的性能测试工具。
当前主流性能测试是模拟协议并发测试,例如loadrunner、jmeter;通过录制记录浏览器(用户)与服务器交互的协议,然后在编辑脚本(参数化、关联),最后模拟虚拟用户并发测试,这是一般常用的性能测试的方式,但是协议模拟,对无法实现真实的用户行为,例如HTTP浏览器是并发的,而模拟时HTTP是串行的,对服务器的压力无法代表真实的用户行为。另外,当业务比较复杂,关联很难,或者有加密算法、或者一些复杂的session、认证,则无法调试脚本,从而无法实现协议模拟性能测试。通过录制界面脚本,然后使用真实浏览器并发则可以解决这些问题,也是真实的用户行为。
当业务比较复杂,关联很难,或者有加密算法、或者一些复杂的session、认证,则无法调试脚本,通过协议模拟的方式进行性能测试则变得不可行,这时通过录制界面脚本,然后使用真实浏览器并发则可以解决这些问题,也是真实的用户行为,这就是用客户端模拟方式进行性能测试的好处。
kylinTOP支持的协议类型丰富,包括:HTTP/1 (WEB/HTML/API)、HTTP/2 (WEB/HTML/API)、WebService、WebSocket (RFC 6645)、SIP (IMS)、RTSP (VoD)、RTMP、Text (Socket)、Binary (Socket)、JDBC (Database)、FTP/SFTP、JMS、XML、XMPP、IGMP (BTV)、MLD (BTV)、JAVA。
脚本录制支持四种模式(浏览器代理、pcap抓包文件导入、har文件导入、网卡实时抓包、手工创建),支持的浏览器不与具体的版本号绑定(loadrunner与浏览器版本号是绑定的)。
脚本调试可以查看到每一步的响应码、时间以及回放与录制时间内容对比。回放完成后可以进行自动关联分析和手工关联。
chrome | Firefox | Edge | IE | 备注 | |
---|---|---|---|---|---|
浏览器代理 |
|
| ● | ● |
|
pcap文件导入 |
|
|
|
| |
har文件导入 | ● | ● | ● | ● | |
网卡实时抓包 | ● | ● | ● | ● |
脚本调试可以查看到每一步的响应码、时间以及回放与录制时间内容对比,回放完成后可以进行自动关联分析、手工关联以及页面验证等多种手段保证脚本回放的正确性。
支持三大模型:线程模型、速率/秒(Caps)、在线用户数/秒,共19种并发模型设置,是业界支持并发模型最多的性能测试工具,适用于多种不同的场景。
性能测试:通过部署多台执行机满足高并发性能测试的需求,可以支持百万和千万级别的性能压力测试。相同的并发,比业力界知名的性能测试工具要节省资源,在100并发的场景下,性能指标要优10%。
kylinTOP支持性能指非常非常丰富,几乎包含了客户关心的所有性能指标(支持监控的性能指标100+),并支持对虚拟用户分析,包括请求响应时间与事务时间、时间支持90% 80%、第一个Buffer时间、 TCP建立时间。可以帮助测试和开发人员快速的找到被测试系统的问题,通过这些指标可以精确定位性能问题,如:HTTP的首分片时间,可以很好的区分网络问题和服务端问题。kylinTOP监控的很多指标,国内流行的性能测试工具都不支持,如:loadRuner,Jmeter都不支持虚拟用户分析和HTTP的首分片时间等。
业务监控可以尽早发现生产系统的业务功能是否正常、服务器是否宕机。及早发现及早解决问题,减少金钱损失。目前国内主流监控平台,很少做到浏览器页面的业务级监控,它们基本只做到ping、dns、首页、接口(部分)的监控,无法做到业务级,因为它们没有自动化录制的功能,当业务页面复杂,甚至页面多时,监控可能就无法判断业务是否可用。尤其,现在的系统后台多采用分布式、微服务,只有业务级别的监控才能穿透更服务,只做某个页面的监控只有少部分服务监控到。
上图为业务监控(与自动化测试场景一样)的配置界面:支持开始时间,结束时间,每次循环的间隔时间配置。一个定时任务也可以批量多脚本(支持UI脚本登陆得到Cookie给后面接口脚本使用)、多地域(执行机部署不同地域)。支持邮件通知,失败通知。
1、平台提供UI业务级别、HTTP(rest)接口、私有协议的定时监控,做到基于业务级别的监控;
2、通过监控发现现网问题,及时解决问题,减少金钱损失;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。