前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件測試論文主題范文,僅供參考,歡迎閱讀并收藏。
目前制定實現規范并比較適用于復用的組件模型有CORBA/ORB、COM/ActiveX、JavaBean以及.NET等。通過對以上組件模型的研究與對比,本系統選定.NET中的WindowsForms作為本實時測控軟件的組件模型,使用.NETFramework的公共語言運行時,組件都建立在一個共同的底層基礎上,不再定義使用復雜的管道接口,對象可以直接交互訪問,有利于組件的自由配置,同時,利用.NET技術的分層結構特點,采用“搭積本”的方式生產軟件,大大提高軟件開發效率。
2基于組件技術的實時測控軟件開發
2.1軟件架構設計
在組件技術中,一個組件就是一個接口集,它通過接口對功能進行封裝。因此,對于同一個應用程序架構,只要其使用的接口集合不變,即可通過更換支持同樣接口集的組件來獲得不同應用,也可重復利用同一個組件或對組件進行二次開發。而基于組件建立的軟件架構和應用開發,其最大優點在于可以復用的應用結構和軟件單元。實時測控軟件主要是對實時測控數據的處理、評估和顯示,而測控數據主要包括光測、雷測、遙測及GPS測量等類型,其處理過程通常包括數據采集、數據解析、數據處理和結果評估等四個部分,針對以上4種數據類型,在基于組件技術思想下,其處理架構可統一進行設計,如圖1所示。針對靶場測控系統中光測、雷測、遙測及GPS測量等數據處理應用,通過將數據采集組件、數據解析組件、數據處理組件、結果評估組件替換成相應功能的組件,即可實現在保持軟件架構不變的前提下開發出不同的應用系統。
2.2基于組件技術的軟件升級維護
組件接口是對某一功能的一套抽象描述,具有封裝性,它通過接口與其功能實現分離開了,并以接口作為客戶與組件(或組件之間)交互的唯一方式,因此,只要保持接口不變,就可以將系統中的組件用新的組件替換,以隨時進行系統升級維護。下面以實時測控數據處理軟件中的雷測數據處理應用為例,其軟件的架構如圖2所示。當需要對系統進行升級維護時,在軟件架構完全保持不變的前提下,對具體的組件進行替換,只要保持接口不變,程序無需重新編譯鏈接,系統即可通過使用更新后組件中的新接口來獲得新特性,從而實現系統的升級維護。
2.3利用組件復用技術實現軟件功能擴展
組件復用是利用已有組件創建新組件,即通過第三方產品來構建自己產品。組件復用是通過包容和聚合來實現的,包容時外部組件包含內部組件的接口,它由外部組件接收此調用請求再交由內部組件來處理,聚合時外部組件直接調用內部組件的接口,它讓內部組件直接處理該調用請求。在C++語言,通過在外部組件中增加內部組件接口,并把調用請求轉發給內部組件即可實現包容,對于聚合,在內部組件中維護一個外部組件接口指針(如m_pUnknownOuter),通過委托機制,讓內部組件接口提出的查詢接口請求由一個委托接口轉發至外部組件,再由外部組件接口查詢內部組件。這樣就可以實現一致的訪問,即不管是通過外部組件的接口,還是內部組件的接口,都可以查詢到內外組件所支持的接口集合。在實際應用中,軟件開發不僅有大量的、功能強大的商業化組件可以使用,而且有應用廣泛的、成熟的靶場測控系統專用組件可以使用,如組件化的數據接收、量綱復用、坐標轉換、濾波平滑、精度評估等功能模塊。因此,利用好組件復用技術可以有效擴展靶場測控數據處理系統的軟件功能,對于靶場測控系統建設具有重要的現實意義。
3結束語
關鍵詞:CMS;軟件測試;對策;問題
一、CMS簡介及軟件測試原則
CMS是英文Content Management System的縮寫,中文含義“內容管理系統”,該系統具有多種現存的優秀模版,在軟件開發或者網站制作中可以起到很大的促進作用,能夠有效提高開發速度、減少開發費用。
軟件測試是軟件工程中的一個概念,是指軟件測試人員采用人工或自動的方式對開發的軟件進行測試,旨在發現其中的問題既未達到設計要求的部分或者發現實際結果和預期設計結果的差別。軟件測試不僅僅在于發現問題,更重要的在于改進問題。當發現問題以后,測試人員會及時與設計人員聯系進行溝通,解決問題。軟件測試必須遵循六個原則:考慮用戶需求是軟件測試的首要原則;在真正的軟件測試開始之前就要制定完整細致的測試計劃;采用Pareto原則進行測試;軟件測試應從小到大,首先從小模塊開始,逐漸向大模塊發展;軟件測試采用抽樣檢測方式,窮舉檢測室是不可能實現的;軟件測試最好由第三方或者非設計人員進行測試以確保軟件測試的客觀和準確性;過分和不充分的測試是不合理的,測試時應選取適當的測試案例,能達到測試目的即可。軟件測試的內容主要包括:正確性測試;容錯性測試;性能與效率測試;易用性測試;文檔測試。
二、CMS軟件測試中存在的問題
本文以某公司的購物軟件為例進行,下面簡稱該軟件開發為S項目。S項目是該公司接手制作的一個大型的客戶到客戶的網絡購物系統,可以提供商家開店及客戶購買服務。在軟件設計與開發過程中需要不斷進行軟件測試,同時也出現了很多問題。
1.軟件測試與開發數據間存在相互影響
軟件測試人員與開發人員使用的是同一個數據庫,所以在測試與開發過程中兩組人員工作時產生的數據都保存到同一個數據庫,這樣就出現了使用混亂。測試人員在進行測試時產生的數據將對開發人員的工作帶來不便,開發人員工作時產生的數據同時影響測試人員的進程。雖然這種問題不會導致系統癱瘓等大的問題,但是有時會因為出現因為某個公用數據的問題而導致原本設定好的系統運行方式而無法執行。
2.各組測試人員缺乏交流
該公司S項目中的購物系統是一個很大的系統項目,所以開發和測試人員很多,為了明確職責,這些人員分工細密,同時也正是由于細致的分工導致人員之間交流的缺乏。首先開發人員和測試人員缺乏交流,這直接導致開發與測試脫節,很多簡單技術問題被放大,需要浪費很大的人力物力財力才能解決。比如在進行系統開發時,客戶的要求開發人員需要對系統設計進行改編,但是由于龐大的人員系統的存在,改信息不可能及時傳遞到測試人員手里,因此測試人員仍采用預定測試數據對系統進行測試,測試結果肯定是不正確的,因此測試人員需要花很大的努力尋找錯誤源。
3.不同的測試環境導致系統異常情況出現
該公司的S項目完成以后首先在江蘇省蘇州市公司進行測試,通過測試后再已送到日本總公司進行第二次的測試。由于日本和中國不同測試環境的存在,可能出現一些異常情況。有些系統模塊在蘇州可通過測試,但是在日本公司卻不能通過出現錯誤。這些錯誤也許是因為測試工具的不同造成,也許是因為日本和中國網絡服務器的不同造成,但是最終結果是軟件測試沒有獲得通過。
4.系統需求的不斷變更
系統開發之前需要進行需求分析和軟件可行性分析,只有在確定了軟件需求以后軟件開發公司才會進行開發。但是意外總是存在的,客戶是有頭腦有思想的人,所以在軟件開發過程中經常出現需求變動,尤其像該公司S項目一樣大型的購物軟件系統,消費者需求在變,軟件也要跟著進行改變。需求變更帶來的損失是巨大的,需求的每次變更都需要組織軟件開發與測試人員開會商討后期事宜,浪費時間。
三、問題對策
針對上述軟件測試中的四項問題,本文將給出具有針對性的解決策略。
針對測試人員與開發人員數據庫共用問題,可在系統進行開發之前就先設計出兩個數據庫,開發人員和軟件測試人員分別使用不同數據庫數據。
針對各組人員缺乏交流問題可以采取的措施有:定期召開圓桌會議,各組人員進行工作交流;公司可組織召開一些文體活動,增進交流等。
針對環境不同導致的測試結果不同可采用的方法是在蘇州公司設置一臺測試服務器,在日本設置兩臺。在蘇州通過測試以后將服務器內容拷貝到日本的第一臺服務器,通過以后再在第二臺上進行測試。
針對系統需求不斷改變的問題可在系統開發之前進行詳細的需求分析與調查,明確客戶需求。同時軟件測試人員參加設計開發人員的例會,去發現系統要修改的內容,從而及時更新測試方案。
四、結語
軟件測試對于提高軟件開發過程的效率和成果質量具有重要作用,也是唯一可以確定開發出來的軟件質量的方式。近年來隨著軟件工程技術的不斷發展,軟件測試技術也得到了一定的發展,各種測試技術不斷涌現,使得軟件測試更加準確和高效。但是在實際的軟件測試技術選擇上要根據具體情況具體分析,力求既完成了軟件測試也要注意經濟合理性。本文以公司實例為研究對象,對該公司采用的CMS軟件測試方法進行研究,對其中存在的問題及缺陷一一闡述,并提出了具有針對性的解決方案,對于相似案例的研究具有重要的啟發意義。
參考文獻:
[1]楊根興,宗宇偉.軟件測試不確定性研究及解決途徑[J].計算機工程.2004(07)