軟件測試管理系統(tǒng)分析
時間:2022-02-12 14:43:52
導語:軟件測試管理系統(tǒng)分析一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:軟件測試在國內(nèi)的發(fā)展非常快速,它是保證一個軟件產(chǎn)品質(zhì)量的重要手段,因此各種各樣的軟件測試管理系統(tǒng)也相繼應需求而生。J2EE+FlexSoftwareTestingManagementSystem(JFTest)功能簡單實用、結(jié)構(gòu)靈活而且簡潔輕量、精致的軟件測試管理系統(tǒng),本論文主要介紹了JFTest軟件測試管理系統(tǒng)的多個項目子模塊、MVC三層模式與插件式設(shè)計的混合開發(fā)架構(gòu)的實現(xiàn),闡述自己對J2EE+Flex開發(fā)模式的一點看法,并提出了一種擴展辦法,在結(jié)構(gòu)化層次、理清系統(tǒng)業(yè)務(wù)模型和優(yōu)化業(yè)務(wù)模型的重用性的基礎(chǔ)上,結(jié)合插件式設(shè)計式開發(fā),簡化開發(fā)模型,降低框架的復雜度,讓框架更容易實現(xiàn),并提高擴展的靈活性,實現(xiàn)系統(tǒng)模塊之間的松耦合和互相調(diào)用,使得系統(tǒng)適應多變的業(yè)務(wù)需求。
關(guān)鍵詞:插件式開發(fā);Test;Flex;JFTest
軟件測試就是利用測試工具按照測試方案和流程對產(chǎn)品進行功能和性能測試,甚至根據(jù)需要編寫不同的測試工具,設(shè)計和維護測試系統(tǒng),對測試方案可能出現(xiàn)的問題進行分析和評估。執(zhí)行測試用例后,需要跟蹤故障,以確保開發(fā)的產(chǎn)品適合需求。隨著軟件測試的重要性日益漸顯,如何更好的管理開發(fā)與測試之間的溝通,以及及時監(jiān)控產(chǎn)品的質(zhì)量報告,讓這個管理過程軟件信息化。這就需要一些軟件測試的管理系統(tǒng)來維護,因此與基于J2EE+Flex技術(shù)的軟件測試管理系統(tǒng)的開發(fā)目的和需求相迎合。
1需求分析
FTest軟件測試管理系統(tǒng)設(shè)計目的旨在建立一個以J2EE+Flex+MySQL為基礎(chǔ),功能簡單實用、結(jié)構(gòu)靈活而且簡潔輕量、精致的軟件測試管理系統(tǒng)。主要應用目標是小型的開發(fā)團隊在軟件開發(fā)的過程中對軟件的測試,在開發(fā)與測試人員之間的交流進行管理,能夠滿足不同的用戶角色(如團隊領(lǐng)導、開發(fā)和測試人員)的工作需要,提供了足夠靈活的接口去實現(xiàn)上述需求的關(guān)鍵,各個環(huán)節(jié)通過網(wǎng)絡(luò)實現(xiàn)了對共享數(shù)據(jù)的及時訪問,避免了由于數(shù)據(jù)分散而導致的數(shù)據(jù)不一致現(xiàn)象的發(fā)生。本系統(tǒng)包括:主要包括配置管理、缺陷管理和測試流程制定與管理及項目管理功能等等。插件式開發(fā)功能:事件和消息處理機制。部分功能用例分析如下。
1.1配置管理
管理員在配置管理模塊對相關(guān)的內(nèi)容,進行瀏覽配置信息、添加配置信息、刪除配置信息、編輯配置信息、查詢配置信息等操作。提取編輯配置信息時不一定要修改所屬項目的分類。配置管理用例圖如1所示。
1.2Bug管理
管理員對Bug管理相應的內(nèi)容,進行瀏覽Bug信息、添加新的Bug信息、編輯Bug信息、刪除Bug信息和查詢Bug信息的操作。其中添加新的Bug信息時可以選擇直接分配任務(wù)對改Bug進行處理,提取編輯Bug信息用例時不一定會修改所屬項目、優(yōu)先級、類型和狀態(tài)如圖2所示。
1.3Bug處理
管理員對Bug處理相應的內(nèi)容,進行瀏覽Bug處理信息、編輯Bug處理信息和查詢Bug處理信息;其中提取編輯Bug處理信息時不一定會修改流程狀態(tài)或狀態(tài)如圖3所示。
2系統(tǒng)設(shè)計
2.1插件式設(shè)計
基于插件式設(shè)計比起許多設(shè)計模式更簡單,更容易理解。各種基于插件設(shè)計的架構(gòu)都有自己的特色,但從總體架構(gòu)上看,其模型都大同小異。基于插件設(shè)計的應用程序由應用程序框架、插件接口、插件和公共項目類庫四部分組成。應用程序框架負責應用程序的整體運作,它清楚程序整個流程,但并不知道每個過程具體要做什么。它在適當?shù)臅r候調(diào)用一些插件,來完成真正的功能。插件接口是一個協(xié)議。插件按照這個協(xié)議實現(xiàn)出來,就可以加入到應用程序中來。當然,對于復雜的系統(tǒng),插件接口可能有多個,各自具有獨立的功能。插件是完成實際功能的實體,實現(xiàn)了要求的插件接口。盡管實現(xiàn)什么以及怎么實現(xiàn),完全是插件自己的自由。在實際情況來,一般還是有些限制,因為插件接口本身可能就是一個限制。如,實現(xiàn)編譯功能的插件,自然不能實現(xiàn)成一個聊天功能的插件。公共項目類庫是一組函數(shù)或者類,應用程序框架和插件都可以調(diào)用。它通常是一個獨立的庫。應用程序框架本身是公用的,是代碼復用的一種方式。但并不是所有可復用代碼都可以放在框架中,特別是插件會用到的公共代碼,那會造成插件對框架的依賴。把這些公共代碼提取到一個獨立的庫中,是一種好的方法。
2.2開發(fā)設(shè)計模型的改進
2.2.1系統(tǒng)整體模式架構(gòu)為更好地體現(xiàn)出系統(tǒng)的靈活性和可擴展性,本系統(tǒng)采用了MVC三層模式開發(fā)和插件設(shè)計的混合開發(fā)模式,實現(xiàn)表現(xiàn)層和業(yè)務(wù)層的分離。客戶端由Flex的事件處理(Event)和Fabrication的消息(Notification)處理的機制實現(xiàn)View層的功能,服務(wù)端使用Hibernate充當Model層,Spring實現(xiàn)Controller層的功能,對服務(wù)端的Model層的數(shù)據(jù)進行操作,并發(fā)布Services接口,供Flex的客戶端調(diào)用。如圖5所示。Flex客戶端與Java服務(wù)端之間的通信是基于BlazeDS使用RemoteObject方式進行數(shù)據(jù)交互。然而在系統(tǒng)的Flex客戶端也是一個MVC結(jié)構(gòu)的開發(fā)模式,F(xiàn)lex客戶端使用Fabrication框架又進行了MVC三層劃分。跟Java服務(wù)端進行交互的調(diào)用接口放在了Model層的proxy完成,使用消息(Notification)的機制在Controller層由command調(diào)用proxy的具體方法,具體的視圖的展現(xiàn)由View層的mediator完成。基于Fabrication框架下設(shè)計的Flex客戶端,把子功能都當一個獨立的小項目來開發(fā)設(shè)計,在Flex中我們稱作Module。主程序整體達到了松耦合的設(shè)計,我們把公共的函數(shù)或者類抽取在公共項目中進行提供給子模塊項目進行引用。每個模塊都有它自己的獨立性,而跨模塊之間的互通信,在此設(shè)計模式下設(shè)計的程序也能完全實現(xiàn)。跨模塊的通信,可以通過Fabrication提供的RouteNotification發(fā)送相應的消息命令,執(zhí)行我們的相關(guān)任務(wù)。Java服務(wù)端通過BlazeDS這個中間件,能實現(xiàn)我們Flex與Java端的數(shù)據(jù)進行互通。通過BlazeDS,我們把Java服務(wù)端需要提供給外界調(diào)用的接口進行暴露,而且能具體到接口里面的每一個方法是否允許被訪問的控制。2.2.2插件式開發(fā)架構(gòu)初始化模型,主程序系統(tǒng)提供通用插件接口系統(tǒng)函數(shù)庫或類庫裝載完畢,準備初始化插件,通常在插件被加載時調(diào)用。至于插件(子模塊)要完成什么功能,要插到哪里,在執(zhí)行LaunchCommand后決定,它調(diào)用公共項目模塊里的方法把自己注冊到主程序中某個位置。而專用插件接口,這些插件接口是專用的,看到它的接口函數(shù)說明。
2.3核心模塊設(shè)計
整個軟件測試管理系統(tǒng)的分析設(shè)計、系統(tǒng)基本架構(gòu)和模塊結(jié)構(gòu)。分析了MVC三層模式,分析插件式設(shè)計的開發(fā)模型,結(jié)合插件式開發(fā)模型,提出一種擴展辦法,簡化應用框架的復雜度,讓框架更容易實現(xiàn),并提高擴展的靈活性,系統(tǒng)的子模塊實現(xiàn)了WEB模式和AIR桌面富客戶端的自由集成。盡管提出一種結(jié)合插件式設(shè)計的開發(fā)模型,為系統(tǒng)提出一種擴展辦法,但一種開發(fā)模型并不能解決所有的問題,而且還需要付出相應的代價和努力,還有許多仍待解決的缺陷和不足。事實上,MVC三層模式和插件式開發(fā)模型都有一個共通點,就是文件和庫管理繁瑣,隨著開發(fā)過程的深入,插件式開發(fā)模式下會產(chǎn)生許多子項目,而基于插件式設(shè)計開發(fā)下,就需要管理公共項目、主程序庫等文件。構(gòu)建系統(tǒng)需要花費不少時間,多虧如此,在實現(xiàn)系統(tǒng)過程中,我花了不少精力和時間在項目的集成研究中。同時,插件式開發(fā)在插件接口上的問題也如出一轍,問題同樣出于插件接口的管理,放置插件接口的地方和時機的考慮并不容易;插件接口越多、可開發(fā)的插件種類就越多,不同種類的插件可能對應用程序造成的許多不同問題;插件越多,系統(tǒng)的資源開銷就越大等。
3總結(jié)
JFTest軟件測試管理系統(tǒng)中,是采用了MVC設(shè)計模式,它是一個經(jīng)過考驗的真正的軟件設(shè)計模型,它可以使程序成為可維護的、模塊化的和快速開發(fā)的包。使用分離的模型(Model)、視圖(View)和控制器(Controller)組織的程序是輕便的。新的特性很容易就被加入,舊的程序換上新的外觀也是一下子的功夫。模塊化和分離的設(shè)計使得開發(fā)者和設(shè)計者能夠同時工作,這包括了快速原型的能力。分離的設(shè)計令開發(fā)者可以修改應用的一部分而不會影響到其它部分,而且本系統(tǒng)最大的特點是能實現(xiàn)可持續(xù)的子模塊集成。
參考文獻
[1]曹金明,F(xiàn)lex4SDK新特性[EB/OL].
[2]JoshuaNoble,ToddAnderson,GarthBraithwaite,MarcoCasario,andRichTretola.《Flex4CookBook》PublishedbyO’ReillyMedia
[3]陶勇,李曉軍.HibernateORM最佳實戰(zhàn)[M].清華大學出版社.2007.
[4]肖新鳳,張毅,葉惠卿.“互聯(lián)網(wǎng)+”背景下基于微課的翻轉(zhuǎn)課堂個性化自主學習實踐研究[J].中國現(xiàn)代教育裝備2018(15):74-76
作者:肖新鳳 單位:廣東環(huán)境保護工程職業(yè)學院