CRM系統(tǒng):Spring的軟件測試方法在超市CRM中的應(yīng)用
Spring的軟件測試方法在超市CRM中的應(yīng)用
徐金寶, 廖 雷, 鄧秀慧
(南京工程學(xué)院計算機工程學(xué)院,江蘇 南京, 211167)
摘 要:軟件測試是軟件工程生命周期中的重要環(huán)節(jié), Sp ring框架對軟件測試具有優(yōu)良的支撐. 將Sp ring的軟件測
試方法應(yīng)用到超市客戶關(guān)系管理系統(tǒng)中,對單元測試、集成測試兩個階段從模擬對象的應(yīng)用、業(yè)務(wù)層、控制器、持久
層的測試以及測試驅(qū)動開發(fā)管理等幾個方面進行分析,總結(jié)了在應(yīng)用軟件系統(tǒng)中,進行軟件測試的有效經(jīng)驗和手
段同時將面向切面編程思想應(yīng)用到超市客戶關(guān)系管理系統(tǒng)中,解決了傳統(tǒng)方法難以解決的問題,收到良好效果.
關(guān)鍵詞: Sp ring; 軟件測試; 客戶關(guān)系管理; 面向切面編程; 測試驅(qū)動開發(fā)
中圖分類號: TP311. 5 文獻標(biāo)識碼: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
基金項目: 南京工程學(xué)院科研基金項目(KXJ08071, KXJ08117)
作者簡介: 徐金寶(1970 - ) ,男,碩士,講師,研究方向為Java新技術(shù)與MIS研制、數(shù)據(jù)挖掘.
E2ma il: keeboo@163. com
當(dāng)前,輕量級的Java EE框架以其優(yōu)越的性能得到廣泛重視,中小規(guī)模甚至較大規(guī)模的管理信息系統(tǒng)
的開發(fā),都傾向于采用Struts + Sp ring + Hibernate ( SSH)的整合. 隨著業(yè)務(wù)復(fù)雜性的增加,開發(fā)出易于維護
和易于測試的系統(tǒng)具有重要意義[ 1 ] . 現(xiàn)在各種框架的設(shè)計,都是努力基于“軟件總線”的思想,以及在更高
層次上實現(xiàn)“高內(nèi)聚、低耦合”的原則. 傳統(tǒng)重量級的以EJB為核心的Java EE框架過于依賴應(yīng)用服務(wù)器、
設(shè)計成本高、難以測試和維護,而Sp ring采用普通的Java bean (稱為POJO) ,靈活運用控制反轉(zhuǎn)( Inversion
of Control, IoC) 、依賴注入(Dependency Injection, D I)以及面向切面編程(Aspect Oriented Programming,
AOP)的思想與機制,使得Sp ring成為一個優(yōu)秀的輕量級的Java EE框架, Sp ring可以對幾乎所有流行的其
他框架進行整合,同時對軟件測試有著良好的支持,并極力提倡測試驅(qū)動開發(fā)( TDD) ,以提高軟件開發(fā)的
效率[ 2 ] .
基于Java EE管理信息系統(tǒng)的測試工作量很大,原因一是業(yè)務(wù)本身的復(fù)雜性,二是各種框架之間的整
合以及版本兼容問題. 本文將Sp ring框架下對業(yè)務(wù)層、控制器、持久層的測試方法以及對TDD的支持、注
釋技術(shù)的運用等,靈活應(yīng)用到基于Struts + Sp ring + Hibernate的超市客戶關(guān)系管理系統(tǒng)的測試中,總結(jié)了
在較大規(guī)模管理信息系統(tǒng)中進行軟件測試的方法和經(jīng)驗.
1 相關(guān)知識簡介
111 超市客戶關(guān)系管理系統(tǒng)
CRM是通過對客戶資料的管理和分析,來提高客戶滿意度、發(fā)掘潛在客戶、保持老客戶,實現(xiàn)以客戶
為中心的業(yè)務(wù)流程,從而提高企業(yè)競爭力的一種手段. 超市客戶關(guān)系管理系統(tǒng)包括的功能有客戶管理、渠
道管理、銷售管理、費用管理、服務(wù)管理和競爭對手管理等,并且具有一些簡單的商業(yè)智能,如運用FP2Tree
關(guān)聯(lián)規(guī)則算法分析客戶購買行為、運用C 415分類算法進行客戶群體劃分等,并且可以用手機進行客戶資
料的查詢與更新. 該系統(tǒng)基于Struts + Sp ring + Hibernate的整合框架進行設(shè)計,明確遵循MVC模式,系統(tǒng)
劃分成模型層、視圖層和控制器層[ 3 - 4 ] .
112 軟件測試及測試工具JUnit
軟件測試是軟件工程生命周期中的重要環(huán)節(jié),測試為了盡可能多地發(fā)現(xiàn)軟件中的錯誤,而不是去證明
軟件正確.
從工程角度出發(fā),軟件測試可以分為單元測試、集成測試、系統(tǒng)測試和用戶測試,其中單元測試主要采
用白盒測試,集成測試、系統(tǒng)測試和用戶測試主要采用黑盒測試.
Sp ring框架下對測試驅(qū)動開發(fā)( TDD)有著良好的支持,先編寫測試用例,再填寫程序代碼,使得運行
結(jié)果與測試用例相一致,于是編程與測試均完成,這樣可以提高軟件開發(fā)效率,實現(xiàn)敏捷開發(fā).
目前流行的軟件測試工具有JUnit和testNG,本文以JUnit作為軟件測試工具. JUnit常用的接口和類
如下[ 5 ] :
test接口是testCase、testSuite的共同接口,使用組合器設(shè)計模式,用于運行測試和獲得測試結(jié)果. 該接
口的countTestCases( )方法返回測試用例的數(shù)量; run (TestResult result) 方法執(zhí)行測試過程.
testCase抽象類的setUp ( )和tearDown ( )方法實現(xiàn)測試用例的初始化和回收.
assert靜態(tài)類用來比較測試結(jié)果值與期望結(jié)果值之間的匹配. 常用的方法有assertEquals ( )判斷兩個
對象值是否相等; assertSame ( )判斷兩個對象是否來自同一引用; assertTrue ( )判斷結(jié)果是否為真.
testSuite,如果需要測試一組有關(guān)聯(lián)的測試,可以通過testSuite組裝多個testCase.
113 超市客戶關(guān)系管理系統(tǒng)的測試問題
對于超市CRM需要分層測試,每一層有自己的特點,需要針對性的測試,當(dāng)各個層次測試完畢后,將
各層結(jié)合起來進行聯(lián)合測試. 并且在超市CRM系統(tǒng)新的模塊開發(fā)中,應(yīng)盡量采用TDD思想,以提高開發(fā)
的效率. 基于Struts + Sp ring + Hibernate的輕量級的架構(gòu),無論是在開發(fā)中還是在測試中,有一個版本問
題,同一個框架的不同版本,有很大區(qū)別,甚至不兼容,這是必須予以特別重視的問題. 本文開發(fā)與測試環(huán)
境采用Struts 210、Sp ring 210、Hibernate 310、JUnit 410
強力推薦:
天柏客戶關(guān)系管理系統(tǒng)
天柏客戶關(guān)系管理系統(tǒng)(CRM)是一款集專業(yè)性、實用性、易用性為一體的純B/S架構(gòu)的CRM系統(tǒng),它基于以客戶為中心的協(xié)同管理思想和營銷理念,圍繞客戶生命周期的整個過程,針對不同價值的客戶實施以客戶滿意為目標(biāo)的營銷策略,通過企業(yè)級協(xié)同,有效的“發(fā)現(xiàn)、保持和留住客戶”,從而達(dá)到留住客戶、提高銷售,實現(xiàn)企業(yè)利潤最大化的目的。通過對客戶進行7P的深入分析,即客戶概況分析(Profiling)、客戶忠誠度分析(Persistency)、客戶利潤分析(Profitability)、客戶性能分析(Performance)、客戶未來分析(Prospecting)、客戶產(chǎn)品分析(Product)、客戶促銷分析(Promotion)以及改善與管理企業(yè)銷售、營銷、客戶服務(wù)和支持等與客戶關(guān)系有關(guān)的業(yè)務(wù)流程并提高各個環(huán)節(jié)的自動化程度,從而幫助企業(yè)達(dá)到縮短銷售周期、降低銷售成本、擴大銷售量、增加收入與盈利、搶占更多市場份額、尋求新的市場機會和銷售渠道,最終從根本上提升企業(yè)的核心競爭力,使得企業(yè)在當(dāng)前激烈的競爭環(huán)境中立于不敗之地。
關(guān)鍵詞:CRM,CRM系統(tǒng),CRM軟件,客戶關(guān)系管理,客戶管理軟件,客戶管理系統(tǒng),客戶關(guān)系管理軟件,客戶關(guān)系管理系統(tǒng)