本发明涉及一种bug实时监控沟通系统及方法。
背景技术:
随着互联网技术的快速发展,互联网公司数量和规模急剧扩张,项目的沟通成本不断加大。项目研发阶段最主要的沟通即是开发人员和测试人员基于bug的沟通,但目前主流的bug管理工具(如禅道、jira、bugzilla)不能实时的跟踪bug的状态,影响项目的进度,且针对有问题的bug只能通过第三方聊天工具进行沟通,同时在第三方聊天工具上需要重新截图bug或者发送bug链接,大大降低了工作效率。bug的实时监控以及降低沟通成本成为软件从业者亟待解决的问题。
技术实现要素:
针对上述现有技术存在的问题,本发明提供一种bug实时监控沟通系统及方法,解决了bug跟踪不及时,开发测试沟通需要借助第三方工具等问题,大大降低了沟通成本,提高了工作效率。
为了实现上述目的,本发明采用的一种bug实时监控沟通系统,包括:
服务器端,所述服务器端包括建立连接模块、存储数据模块、监听消息模块;
客户端,所述客户端包括新建测试模块、开发账号模块、登录禅道系统模块、测试人员创建bug模块、开发人员与测试人员在线沟通bug模块、开发人员变更bug状态模块、测试人员回归并关闭bug模块;
所述服务器端与客户端建立通信信道,进行消息的传递。
作为改进,所述的服务器端,具体包括:
通过建立连接模块建立一个websocket连接,监听消息模块进行轮询监控是否有客户端连接或断开连接;
客户端的信息通过rabbitmq都传至服务器端,再由服务器根据要求通过rabbitmq分发出去;
通过存储数据模块进行用户信息、bug信息的存储。
作为改进,所述的客户端,具体包括:
新建测试模块、开发账号模块:通过客户端与服务器端建立通信信道,向服务器发送新建用户的信息,接收来自服务器的信息进行注册;
登录禅道系统模块:通过客户端与服务器端建立通信信道,向服务器发送消息,完成禅道系统的登录;
测试人员创建bug模块:客户端完成bug的创建工作,通过rabbitmq向服务器发送bug创建消息;
开发人员与测试人员在线沟通bug模块:客户端通过rabbitmq完成信息的编辑、发送和接收;
开发人员变更bug状态模块:客户端完成信息的变更操作,向服务器发送bug状态变更消息
测试人员回归并关闭bug模块:客户端完成bug的回归和关闭操作。
另外,本发明还提供了一种bug实时监控沟通方法,包括以下步骤:
1)在服务器上注册禅道账号;
2)服务器通过websocket开启bug全生命周期监听模式,并告知测试人员监听此bug;
3)若对该bug有疑问,通过rabbitmq向服务器发送消息;
4)服务器通过rabbitmq把消息发送给监听此bug的测试人员;
5)进行bug的修正;
6)修改bug后,在禅道系统进行bug状态的变更,并通过rabbitmq向服务器发送消息;
7)服务器把状态提醒消息通过rabbitmq发送给监控此bug的测试人员;
8)测试人员根据状态提醒消息进行bug的回归和关闭,并将bug变更状态通过rabbitmq发送至服务器;
9)服务器把消息通过rabbitmq发送给监听此bug的开发人员;
10)bug的全生命周期监控结束。
与现有技术相比,本发明在bug实时监控沟通系统中结合了websocket轮询技术和rabbitmq消息队列技术的优势,保证了bug管理系统中的bug可以被实时监控,又可在不借助第三方插件的基础上进行沟通。本发明一方面保证了bug全生命周期的监控,确保了客户可以随时获取最新的bug状态,提高工作效率;另一方面无需借助第三方工具进行沟通,减轻了沟通的繁琐程度,降低了沟通的成本;最后将这些功能全部集成在禅道的开源项目中,进一步提升了bug管理系统。
附图说明
图1为本发明bug实时监控沟通系统的功能示意图;
图2为本发明bug实时监控沟通方法的系统架构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面对本发明进行进一步详细说明。但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。
除非另有定义,本文所使用的所有的技术术语和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1所示,一种bug实时监控沟通系统,包括:
服务器端,所述服务器端包括建立连接模块、存储数据模块、监听消息模块;
客户端,所述客户端包括新建测试模块、开发账号模块、登录禅道系统模块、测试人员创建bug模块、开发人员与测试人员在线沟通bug模块、开发人员变更bug状态模块、测试人员回归并关闭bug模块;
所述服务器端与客户端建立通信信道,进行消息的传递。
其中,服务器端至少要完成建立连接、存储数据、监听消息三大功能,具体如下:
1)建立一个websocket连接,轮询监控是否有客户端连接或断开连接;
2)服务器端是一个信息收集和发送中心,所有客户端的信息通过rabbitmq都传至服务器端,再由服务器根据要求通过rabbitmq分发出去;
3)数据储存包括用户信息、bug信息等的存储。
另外,客户端要完成新建测试、开发账号、登录禅道系统、测试人员创建bug、开发人员与测试人员在线沟通bug、开发人员变更bug状态、测试人员回归并关闭bug六大功能,具体如下:
1)新建测试、开发账号:客户端与服务器端建立通信信道,向服务器发送新建用户的信息,接收来自服务器的信息进行注册;
2)登录禅道系统:客户端与服务器端建立通信信道,向服务器发送消息,完成禅道系统的登录;
3)测试人员创建bug:客户端完成bug的创建工作,通过rabbitmq向服务器发送bug创建消息;
4)开发人员与测试人员在线沟通bug:客户端通过rabbitmq完成信息的编辑、发送和接收等功能;
5)开发人员变更bug状态:客户端完成信息的变更操作,向服务器发送bug状态变更消息;
6)测试人员回归并关闭bug:客户端完成bug的回归和关闭操作。
如图2所示,一种bug实时监控沟通方法,包括以下步骤:
1)测试人员和开发人员在服务器上注册禅道账号;
2)测试人员提交bug后,服务器通过websocket开启bug全生命周期监听模式,并告知该人员监听此bug;
3)开发人员接收到该bug,并对该bug有疑问,点击在线沟通按钮,通过rabbitmq向服务器发送消息;
4)服务器通过rabbitmq把消息发送给监听此bug的测试人员;
5)开发人员与测试人员在线交流无误后,进行bug的修正;
6)开发人员修改bug后,在禅道系统进行bug状态的变更,并通过rabbitmq向服务器发送消息;
7)服务器把状态提醒消息通过rabbitmq发送给监控此bug的测试人员;
8)测试人员根据状态提醒消息进行bug的回归和关闭,并将bug变更状态通过rabbitmq发送至服务器;
9)服务器把消息通过rabbitmq发送给监听此bug的开发人员;
10)至此,bug的全生命周期监控结束。
本发明主要采用了websocket轮询技术实时监控bug列表的状态变更,采用rabbitmq消息队列技术进行消息的推送以及实时的沟通,完成了bug的实时监控以及在线沟通功能,并将这些功能集成到开源的禅道系统。具体具有如下优点:
1)采用websocket轮询技术,实时监控bug的状态,使用户可随时获得最新的bug动态;
2)采用rabbitmq消息队列技术进行实时的沟通,不再借助第三方插件进行沟通;
3)采用layui框架设计出简洁的实时聊天窗口,聊天窗口可悬浮于bug详情页;
4)由于禅道系统是基于b/s架构,为保证沟通的实时有效性,在服务端配置session过期时间为24h,保证用户全天24小时在线;
5)聊天数据存储采用redis缓存数据库,提高数据访问速度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。