先知-Baidu的系统测试

简介:

What We Do:
 利用成熟的基础架构动态获取产品代码,一键搭建整个系统的被测模块
 依照优先级同时在千台测试机二维互斥、加锁、周 期、定时并发搭建环境和调度测试
 一句命令自动同步线上数据,高效完成任务
BackGround:
目前自动化测试多指采用一定的自动化框架和自动化测试脚本来单机运行自动化Case完成测试。自动化测试用例(Case)隶属于按照模块、功能划分的Suite,运行时可以执行单个Case或是执行整个Suite,这些Case没有直接的逻辑关系,即使是执行整个Suite时,其中每个用例也仅反映出该用例的执行结果。这种方式的自动化难以解决模块复杂交互时的自动化化问题,往往会将自动化测试中断在接口数据获取阶段,需要人工check数据在继续。
系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。系统测试中由于整个软件系统通常有多个模块组成,分布式的部署在多个服务器或是服务器集群上,在验证基本功能点的同时需要完成大量的数据和接口交互的确认测试,并发测试等。
Solutions:
百度结合内部基础架构模型,结合服务和机器监控,完成一套系统测试自动化方案-Prophet。系统测试自动化方案由一套包含有机器、模块运行数据获取,通过获取到的数据派生新的测试分支并完成测试,系统结构如下图:


 

用户通过系统提供的数据API(由百度底层监控服务提供)获取到模块\机器的运行数据后,在测试脚本中嵌入执行逻辑,自动根据当前数据情况分布式的在不同服务器上派生出新的测试分支完成系统测试。
该测试系统分布式部署在百度的QA集群中,全面支持由千台以上服务器支撑的软件系统的系统自动化测试工作,帮助用户节省超过80%的时间。
原来:易实现的多次回归case自动化->让qa能够投入精力到更深层次的逻辑测试中并提高测试效率。
现在:易实现+深层次回归的case自动化->让qa可以投入到复杂的系统交互、代码优化等领域的工作中、更加保证质量和效率
Implementation:
图中的方块代表机器,同一行的Suite部署在同一台机器上,Suite4,7用于测试模块A部署在机器AM上,Suite29,48用于测试模块B部署在机器BM上,Suite109,58用于测试模块C部署在机器CM上。依赖和数据获取关系由图表中的箭头表示。
步骤一:Suite4于指定时间开始执行,执行成功转步骤二,执行失败转步骤五
步骤二:Suite7接到上游Suite4的成功结束通知和执行数据后开始执行, Suite7成功执行后会为机器BM上测试模块B的Suite48提供数据,执行成功转步骤三,执行失败转步骤五
步骤三:Suite29接到机器AM上Suite7成功完成的通知和执行数据后开始执行,Suite29执行成功转步骤四,执行失败转步骤五;同时Suite48接到Suite7成功完成的通知后从A机器上获取Suite7的数据并执行,执行成功转步骤四,执行失败转步骤五
步骤四:Suite109接到BM机器上Suite29成功完成通知开始执行,Suite109执行完成转步骤五;同时Suite58判断如果同时收到了BM机器上测试B模块的Suite29和Suite48的成功通知和数据则开始执行,执行完成转步骤五
步骤五:结束,通知用户结果。
每个Suite都可以包含有时间属性,即使得到了上游机器的Suite的运行结果和数据也会等待到达指定时间才运行。系统会汇报Suite执行的结果,数据,通过率,覆盖率等同时还包括各项软件件资源的趋势图。

 

Earnings:
 20+ Modules Monitored By Prophet
 20+ SystemTest Logical Suites DailyRun On Prophet
 150+ ModuleTest Suites DailyRun On Prophet

 

(作者:laoyong)

 














本文转自百度技术51CTO博客,原文链接:http://blog.51cto.com/baidutech/743450,如需转载请自行联系原作者

相关文章
|
4月前
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
10月前
|
存储 关系型数据库 MySQL
Baidu Comate Web在线出题能力测试——MySQL出题能力
Baidu Comate Web在线出题能力测试——MySQL出题能力
72 0
|
10月前
|
SQL 存储 关系型数据库
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
73 0
|
10月前
|
SQL 存储 关系型数据库
MySQL的触发器创建与使用——使用Baidu Comate生成与触发测试完整过程
MySQL的触发器创建与使用——使用Baidu Comate生成与触发测试完整过程
65 0
|
3月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
17天前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
70 2
|
2月前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
124 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
2月前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
96 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
1月前
|
存储 JSON API
Python测试淘宝店铺所有商品接口的详细指南
本文详细介绍如何使用Python测试淘宝店铺商品接口,涵盖环境搭建、API接入、签名生成、请求发送、数据解析与存储、异常处理等步骤。通过具体代码示例,帮助开发者轻松获取和分析淘宝店铺商品数据,适用于电商运营、市场分析等场景。遵守法规、注意调用频率限制及数据安全,确保应用的稳定性和合法性。
|
1月前
|
监控 API 开发工具
Socket.IO介绍,以及怎么连接测试Socket.IO接口?
Socket.IO 是一个用于浏览器和服务器间实时双向通信的库,支持低延迟消息传递、跨平台运行及自动重连。文章介绍了其特点与调试需求,并详细说明如何使用 Apifox 工具创建、连接、发送/接收 Socket.IO 事件,以及团队协作和调试技巧。掌握这些技能可提升实时应用开发效率与质量。

热门文章

最新文章