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軟件,客戶關系管理,客戶管理軟件,客戶管理系統,客戶關系管理軟件,客戶關系管理系統