先知-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,如需转载请自行联系原作者

相关文章
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
存储 关系型数据库 MySQL
Baidu Comate Web在线出题能力测试——MySQL出题能力
Baidu Comate Web在线出题能力测试——MySQL出题能力
370 0
|
SQL 存储 关系型数据库
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
MySQL存储过程——Baidu Comate智能代码助手添加20条DML语句——测试索引效果
300 0
|
SQL 存储 关系型数据库
MySQL的触发器创建与使用——使用Baidu Comate生成与触发测试完整过程
MySQL的触发器创建与使用——使用Baidu Comate生成与触发测试完整过程
320 0
|
安全 JavaScript 前端开发
阿里云先知安全沙龙(西安站) ——浅谈XSS漏洞挖掘与构造思路
本文介绍了DOM-XSS构造、运算符的威力和模板字符串妙用三个主题。通过多个实例图解,详细展示了如何利用DOM特性构造XSS攻击、JavaScript运算符在代码中的巧妙应用,以及模板字符串在开发中的灵活运用。这些内容对提升Web安全意识和编程技巧具有重要参考价值。
|
机器学习/深度学习 分布式计算 供应链
阿里云先知安全沙龙(上海站) ——大模型基础设施安全攻防
大模型基础设施的安全攻防体系涵盖恶意输入防御和基础设施安全,包括框架、三方库、插件、平台、模型和系统安全。关键漏洞如CVE-2023-6019(Ray框架命令注入)、CVE-2024-5480(PyTorch分布式RPC)及llama.cpp中的多个漏洞,强调了代码安全性的重要性。模型文件安全方面,需防范pickle反序列化等风险,建议使用Safetensors格式。相关实践包括构建供应链漏洞库、智能化漏洞分析和深度检测,确保全方位防护。
|
机器学习/深度学习 人工智能 安全
阿里云先知安全沙龙(武汉站) ——AI赋能软件漏洞检测,机遇, 挑战与展望
本文介绍了漏洞检测的发展历程、现状及未来展望。2023年全球披露的漏洞数量达26447个,同比增长5.2%,其中超过7000个具有利用代码,115个已被广泛利用,涉及多个知名软件和系统。文章探讨了从人工审计到AI技术的应用,强调了数据集质量对模型性能的重要性,并展示了不同检测模型的工作原理与实现方法。此外,还讨论了对抗攻击对模型的影响及提高模型可解释性的多种方法,展望了未来通过任务大模型实现自动化漏洞检测与修复的趋势。
|
运维 供应链 安全
阿里云先知安全沙龙(武汉站) - 网络空间安全中的红蓝对抗实践
网络空间安全中的红蓝对抗场景通过模拟真实的攻防演练,帮助国家关键基础设施单位提升安全水平。具体案例包括快递单位、航空公司、一线城市及智能汽车品牌等,在演练中发现潜在攻击路径,有效识别和防范风险,确保系统稳定运行。演练涵盖情报收集、无差别攻击、针对性打击、稳固据点、横向渗透和控制目标等关键步骤,全面提升防护能力。
|
存储 缓存 运维
阿里云先知安全沙龙(上海站)——后渗透阶段主机关键信息自动化狩猎的实现与应用
本文介绍了在后渗透测试中使用LSTAR工具和PowerShell脚本进行RDP状态查询、端口获取及凭据收集的过程,强调了高强度实战场景下的OPSEC需求。通过MITRE ATT&CK框架的应用,详细阐述了凭证访问、发现和收集等关键技术,确保攻击者能够隐蔽、持续且高效地渗透目标系统,最终获取核心数据或控制权。文中还展示了SharpHunter等工具的自动化实现,进一步提升了操作的安全性和效率。
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。