【技术实现步骤摘要】
一种测试方法及测试系统
本专利技术涉及软件测试领域,特别涉及一种用于对分布式系统进行测试的测试方法及测试系统。
技术介绍
随着互联网的蓬勃发展,传统关系数据库存储系统无法满足海量数据场景,各大互联网公司,从自己的业务需求出发,开发出了各种分布式系统。分布式系统通常由成百上千台机器组成,每天可能都会有一台甚至多台机器的硬盘、网络等发生故障,同时进程本身也可能会由于异常导致崩溃(crash),因此,需要对分布式系统进行压力测试。当前对分布式系统进行测试的现状是,各个团队维护自己的测试代码、测试集群和测试用例(case),存在测试代码、测试集群、测试用例无法共享的问题,导致消耗大量的人力和机器资源。另外,各种分布式系统提供的接口,在编程语言上可能存在差异,比如有的提供的是java语言接口,有的是c++语言接口,有的是python语言接口。针对不同编程语言实现的接口,通常要使用与之相同的编程语言开发测试代码,开发成本较高。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至 ...
【技术保护点】
1.一种测试系统,适于对分布式系统进行压力测试,包括控制单元、验证单元和多个测试代理单元,其中:/n所述控制单元适于向所述测试代理单元发送用于进行压力测试的指令序列,所述指令序列包括多条数据操作指令;/n所述测试代理单元适于将接收到的数据操作指令转换为所述分布式系统的接口请求,将转换得到的接口请求发送到所述分布式系统执行,并接收所述分布式系统的响应结果,将所述响应结果发送到所述控制单元;/n所述验证单元适于根据所述控制单元记录的数据操作指令和响应结果,验证所述响应结果是否符合预期。/n
【技术特征摘要】
1.一种测试系统,适于对分布式系统进行压力测试,包括控制单元、验证单元和多个测试代理单元,其中:
所述控制单元适于向所述测试代理单元发送用于进行压力测试的指令序列,所述指令序列包括多条数据操作指令;
所述测试代理单元适于将接收到的数据操作指令转换为所述分布式系统的接口请求,将转换得到的接口请求发送到所述分布式系统执行,并接收所述分布式系统的响应结果,将所述响应结果发送到所述控制单元;
所述验证单元适于根据所述控制单元记录的数据操作指令和响应结果,验证所述响应结果是否符合预期。
2.如权利要求1所述的测试系统,其中,所述分布式系统运行在多个节点上,每个节点设置有适于对该节点进行错误注入的错误注入单元;
所述控制单元还适于向所述错误注入单元发送错误注入指令,以触发所述错误注入单元进行所述错误注入。
3.如权利要求1或2所述的测试系统,其中,所述测试代理单元中存储有数据操作指令与所述分布式系统的接口请求的对应关系,并根据所述对应关系将接收到的数据操作指令转换为所述分布式系统的接口请求。
4.如权利要求3所述的测试系统,其中,所述对应关系为数据操作指令与二进制可执行文件的对应关系,且实现所述二进制可执行文件的编程语言与所述分布式系统的接口采用的编程语言相同;
所述测试代理单元还适于通过执行所述二进制可执行文件,得到与数据操作指令对应的所述分布式系统的接口请求。
5.如权利要求3所述的测试系统,其中,所述测试代理单元部署为http服务器,且实现所述http服务器的编程语言与所述分布式系统的接口采用的编程语言相同;
所述控制单元还适于通过http协议发送所述指令序列,所述测试代理单元还适于通过http服务器调用所述分布式系统的接口,实现对所述分布式系统的访问。
6.如权利要求1所述的系统,其中,所述分布式系统运行在多个节点的虚拟机上,或者,运行在多个节点的docker容器中...
【专利技术属性】
技术研发人员:段培乐,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。