论文部分内容阅读
用户Bug反馈系统在软件开发中的作用是至关重要的,它们给用户提供机会来报告缺陷和问题,而测试人员和开发人员根据用户的反馈来发现和解决问题,从而使软件能够更好地满足用户需求。目前国内外的大部分企业都为旗下的产品配备了不同规模的用户反馈系统,也存在一些开源Bug追踪系统,如Bugzilla等。Bugzilla功能完备且强大,但是配置繁琐,性能差,速度慢,且用户界面友好性差。部分企业的用户Bug反馈系统过于简单,功能不够完善,用户提交的Bug质量低且重复Bug多,测试人员处理用户Bug得到的收效小。也有部分大型企业拥有众多产品,Bug反馈系统复杂,查找Bug提交入口很难。Adobe Bug反馈系统结合了Adobe公司的应用背景、国内外其他Bug反馈系统的优缺点和用户Bug相关研究成果,提出如下解决方案,很好地解决了上述问题:该系统将Adobe所有产品都集成在同一个系统中以简化Adobe Bug反馈的入口,并且根据不同产品提供不同提示来引导用户提交信息完整的高质量Bug,该系统通过整合已有Bug和引入搜索功能来减少重复Bug的录入,并且通过强化用户与测试人员之间的沟通和互动来缩短Bug解决周期。本文主要描述了Adobe Bug反馈系统的分析、设计和实现。Adobe Bug反馈系统采用经典的三层架构,包括表示层、业务逻辑层和数据持久层,结合了开源框架Struts, Spring, Hibernate。为了避免重复Bug的录入,系统使用Solr实现搜索功能,并且采用了Bug Group和Sliding Window的搜索策略。考虑到数据的备份和复制,Mysql数据库采用一主一从的结构设计。Adobe Bug反馈系统实现后,在一定程度上提高了用户Bug的质量,减少了重复Bug的录入,进而提高了测试人员解决Bug的效率,为公司节约了一定的测试成本。