新闻资讯

NEWS

公司新闻
行业新闻

CRM系统:Spring的软件测试方法在超市CRM中的应用

Spring的软件测试方法在超市CRM中的应用 徐金宝, 廖 雷, 邓秀慧 (南京工程学院计算机工程学院,江苏 南京, 211167) 摘 要:软件测试是软件工程生命周期中的重要环节, Sp ring框架对软件测试具有优良的支撑. 将Sp ring的软件测 试方法应用到超市客户关系管理系统中,对单元测试、集成测试两个阶段从模拟对象的应用、业务层、控制器、持久 层的测试以及测试驱动开发管理等几个方面进行分析,总结了在应用软件系统中,进行软件测试的有效经验和手 段同时将面向切面编程思想应用到超市客户关系管理系统中,解决了传统方法难以解决的问题,收到良好效果. 关键词: Sp ring; 软件测试; 客户关系管理; 面向切面编程; 测试驱动开发 中图分类号: TP311. 5   文献标识码:A Applica tion of Spr ing Software TestingMethod to Customer Rela tionshipManagement in Supermarkets XU J in2bao, L IAO Lei, DENG Xiu2hui ( School of Computer Engineering, Nanjing Institute of Technology, Nanjing 211167, China) Abstract: Sp ring frame is of great use to software testingwhich constitutes one of the critical phases of life cycle of software engineering. Sp ring software testing method was app lied to supermarket customer relationship management system ( S2CRM) for the purpose of unit testing and integration testing, focusing on mock object app lication, business layer, controller, persistence layer testing and test - driven developmentmanagement. This paper summarized the experience and effective method of software testing in app lied software systems based on the testing results. Furthermore, the idea of aspect2oriented p rogram was emp loyed to solve p roblemswith regard to customer relationship management in supermarkets which were difficult to address through the use of traditionalmethod. It is p roved that the result is satisfactory. Key words: Sp ring; software testing; customer relationship management; aspect2oriented p rogram; test2driven development 收稿日期: 2008 - 12 - 28;修回日期: 2009 - 02 - 11 基金项目: 南京工程学院科研基金项目(KXJ08071, KXJ08117) 作者简介: 徐金宝(1970 - ) ,男,硕士,讲师,研究方向为Java新技术与MIS研制、数据挖掘. E2ma il: keeboo@163. com   当前,轻量级的Java EE框架以其优越的性能得到广泛重视,中小规模甚至较大规模的管理信息系统 的开发,都倾向于采用Struts + Sp ring + Hibernate ( SSH)的整合. 随着业务复杂性的增加,开发出易于维护 和易于测试的系统具有重要意义[ 1 ] . 现在各种框架的设计,都是努力基于“软件总线”的思想,以及在更高 层次上实现“高内聚、低耦合”的原则. 传统重量级的以EJB为核心的Java EE框架过于依赖应用服务器、 设计成本高、难以测试和维护,而Sp ring采用普通的Java bean (称为POJO) ,灵活运用控制反转( Inversion of Control, IoC) 、依赖注入(Dependency Injection, D I)以及面向切面编程(Aspect Oriented Programming, AOP)的思想与机制,使得Sp ring成为一个优秀的轻量级的Java EE框架, Sp ring可以对几乎所有流行的其 他框架进行整合,同时对软件测试有着良好的支持,并极力提倡测试驱动开发( TDD) ,以提高软件开发的 效率[ 2 ] . 基于Java EE管理信息系统的测试工作量很大,原因一是业务本身的复杂性,二是各种框架之间的整 合以及版本兼容问题. 本文将Sp ring框架下对业务层、控制器、持久层的测试方法以及对TDD的支持、注 释技术的运用等,灵活应用到基于Struts + Sp ring + Hibernate的超市客户关系管理系统的测试中,总结了 在较大规模管理信息系统中进行软件测试的方法和经验. 1 相关知识简介 111 超市客户关系管理系统   CRM是通过对客户资料的管理和分析,来提高客户满意度、发掘潜在客户、保持老客户,实现以客户 为中心的业务流程,从而提高企业竞争力的一种手段. 超市客户关系管理系统包括的功能有客户管理、渠 道管理、销售管理、费用管理、服务管理和竞争对手管理等,并且具有一些简单的商业智能,如运用FP2Tree 关联规则算法分析客户购买行为、运用C 415分类算法进行客户群体划分等,并且可以用手机进行客户资 料的查询与更新. 该系统基于Struts + Sp ring + Hibernate的整合框架进行设计,明确遵循MVC模式,系统 划分成模型层、视图层和控制器层[ 3 - 4 ] . 112 软件测试及测试工具JUnit 软件测试是软件工程生命周期中的重要环节,测试为了尽可能多地发现软件中的错误,而不是去证明 软件正确. 从工程角度出发,软件测试可以分为单元测试、集成测试、系统测试和用户测试,其中单元测试主要采 用白盒测试,集成测试、系统测试和用户测试主要采用黑盒测试. Sp ring框架下对测试驱动开发( TDD)有着良好的支持,先编写测试用例,再填写程序代码,使得运行 结果与测试用例相一致,于是编程与测试均完成,这样可以提高软件开发效率,实现敏捷开发. 目前流行的软件测试工具有JUnit和testNG,本文以JUnit作为软件测试工具. JUnit常用的接口和类 如下[ 5 ] : test接口是testCase、testSuite的共同接口,使用组合器设计模式,用于运行测试和获得测试结果. 该接 口的countTestCases( )方法返回测试用例的数量; run (TestResult result) 方法执行测试过程. testCase抽象类的setUp ( )和tearDown ( )方法实现测试用例的初始化和回收. assert静态类用来比较测试结果值与期望结果值之间的匹配. 常用的方法有assertEquals ( )判断两个 对象值是否相等; assertSame ( )判断两个对象是否来自同一引用; assertTrue ( )判断结果是否为真. testSuite,如果需要测试一组有关联的测试,可以通过testSuite组装多个testCase. 113 超市客户关系管理系统的测试问题 对于超市CRM需要分层测试,每一层有自己的特点,需要针对性的测试,当各个层次测试完毕后,将 各层结合起来进行联合测试. 并且在超市CRM系统新的模块开发中,应尽量采用TDD思想,以提高开发 的效率. 基于Struts + Sp ring + Hibernate的轻量级的架构,无论是在开发中还是在测试中,有一个版本问 题,同一个框架的不同版本,有很大区别,甚至不兼容,这是必须予以特别重视的问题. 本文开发与测试环 境采用Struts 210、Sp ring 210、Hibernate 310、JUnit 410 强力推荐: 天柏客户关系管理系统 天柏客户关系管理系统(CRM)是一款集专业性、实用性、易用性为一体的纯B/S架构的CRM系统,它基于以客户为中心的协同管理思想和营销理念,围绕客户生命周期的整个过程,针对不同价值的客户实施以客户满意为目标的营销策略,通过企业级协同,有效的“发现、保持和留住客户”,从而达到留住客户、提高销售,实现企业利润最大化的目的。通过对客户进行7P的深入分析,即客户概况分析(Profiling)、客户忠诚度分析(Persistency)、客户利润分析(Profitability)、客户性能分析(Performance)、客户未来分析(Prospecting)、客户产品分析(Product)、客户促销分析(Promotion)以及改善与管理企业销售、营销、客户服务和支持等与客户关系有关的业务流程并提高各个环节的自动化程度,从而帮助企业达到缩短销售周期、降低销售成本、扩大销售量、增加收入与盈利、抢占更多市场份额、寻求新的市场机会和销售渠道,最终从根本上提升企业的核心竞争力,使得企业在当前激烈的竞争环境中立于不败之地。 关键词:CRM,CRM系统,CRM软件,客户关系管理,客户管理软件,客户管理系统,客户关系管理软件,客户关系管理系统