【技术实现步骤摘要】
基于MQTT的分布式自动化软件测试方法及系统
本专利技术属于软件测试领域,更具体地,涉及一种基于MQTT的分布式自动化软件测试方法及系统。
技术介绍
软件测试是指通过手工或自动化的手段来运行或测定某个软件产品系统的过程,其目的在于检测软件产品是否满足规定的需求,或者弄清楚预期结果与实际结果之间的差别。近年来,随着分布式技术与计算机网络的高速发展,自动化软件测试技术得到了长足的发展与进步,呈现出逐步取代手工软件测试的趋势。现有的自动化软件测试以分布式测试为主,分布式测试是指通过局域网和Internet,把分布于不同地点、独立完成特定功能的测试计算机连接起来,以达到测试资源共享、分散操作、集中管理、协同工作、负载均衡、测试过程监控等目的的计算机网络测试。现有的分布式自动化软件测试方法通常将待执行的测试方案所涉及的多个测试用例分配到多台客户端同时进行自动化测试,以缩短测试总耗时,提高测试效率。然而,在分配测试用例的过程中,现有的分布式自动化软件测试方法只是简单地根据客户端的数量将所有测试用例分为多组,每个测试用例组内的测试用例随机筛选,测试用例之间并不具有依赖关系,彼此之间具有依赖关系的两个测试用例很可能被分到两个测试用例组中,进而被分配到不同的客户端中进行测试。然而,彼此之间具有依赖关系的多个测试用例是无法在各自的客户端进行并行测试的,要根据其间的依赖关系先后进行测试,这无疑会增加测试耗时,影响测试效率。另一方面,现有的分布式自动化软件测试方法通常采用重量级的应用层通信协议来实现服务器端与客户端之 ...
【技术保护点】
1.一种基于MQTT的分布式自动化软件测试方法,其特征在于,包括:/n服务器端将测试方案涉及的多个测试用例划归为多个测试任务,每个测试任务所包含的多个测试用例之间具有依赖关系且基于该依赖关系形成测试用例队列;/n服务器端根据执行优先级对所述多个测试任务进行排序,得到测试任务队列;/n服务器端依次将测试任务队列中的每个测试任务发送至客户端集群中处于空闲状态的客户端;/n客户端依次执行其接收到的测试任务所包含的测试用例队列中的每个测试用例;/n服务器端与每个客户端之间的通信均遵循MQTT协议。/n
【技术特征摘要】
1.一种基于MQTT的分布式自动化软件测试方法,其特征在于,包括:
服务器端将测试方案涉及的多个测试用例划归为多个测试任务,每个测试任务所包含的多个测试用例之间具有依赖关系且基于该依赖关系形成测试用例队列;
服务器端根据执行优先级对所述多个测试任务进行排序,得到测试任务队列;
服务器端依次将测试任务队列中的每个测试任务发送至客户端集群中处于空闲状态的客户端;
客户端依次执行其接收到的测试任务所包含的测试用例队列中的每个测试用例;
服务器端与每个客户端之间的通信均遵循MQTT协议。
2.根据权利要求1所述的分布式自动化软件测试方法,其特征在于,所述服务器端将测试方案涉及的多个测试用例划归为多个测试任务,包括:
服务器端对测试方案进行解析,以获取测试方案涉及的多个测试用例之间的依赖关系,并将彼此之间具有依赖关系的多个测试用例划为一个测试任务;
基于测试用例之间的依赖关系,对每个测试任务所包含的多个测试用例进行排序,得到测试用例队列。
3.根据权利要求1所述的分布式自动化软件测试方法,其特征在于,测试任务的执行优先级的确定方法包括:
服务器端基于上游服务器获取每个测试任务所包含的每个测试用例的经验执行耗时,根据每个测试任务所包含的每个测试用例的经验执行耗时确定每个测试任务的经验执行耗时;
服务器端根据每个测试任务的经验执行耗时确定该测试任务的执行优先级,测试任务的经验执行耗时与执行优先级正相关。
4.根据权利要求1所述的分布式自动化软件测试方法,其特征在于,客户端状态的确定方法包括:
服务器端同时向客户端集群中的每个客户端发送状态反馈指令;
客户端根据接收到的状态反馈指令将自身的当前状态反馈至服务器端,所述当前状态包括空闲和忙碌。
5.根据权利要求1所述的分布式自动化软件测试方法,其特征在于,所述客户端依次执行其接收到的测试任务所包含的测试用例队列中的每个测试用例,包括:
在客户端执行测试用例的过程中,客户端实时将测试信息反馈至服务器端;
当客户端完成当前测试任务时,客户端将测试结果和每个测试用例的执行信息反馈至服务器端。
6.根据权利要求5所述的分布式自动化软件测试方法,其特征在于,还包括:
服务器端根据每...
【专利技术属性】
技术研发人员:陈海东,刘国锋,陆寒熹,施井荣,
申请(专利权)人:南京林洋电力科技有限公司,江苏林洋能源股份有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。