?

基于框架的軟件測試性分析

2014-01-03 02:09陳君
中國信息化·學術版 2013年4期

陳君

【摘要】分析了基于框架的軟件產品線測試方法、當前的狀況以及相關的自動化測試工具,為確保軟件產品線的可靠性以及促使軟件生產在時間、成本和質量方面獲得顯著的改善提供了有力支持。

【關鍵詞】軟件產品線測試;面向對象的軟件測試:自動化工具支持

【中圖分類號】TP311

【文獻標識碼】A

【文章編號】1672-5158(2013)04-0003-02

軟件產品線是一套軟件密集型系統,它擁有一組能滿足特定需求的公共的、可管理的特性,并且是按預定義的方式由一組公共的核心資產開發而來。軟件產品線可以提供重用軟件資產,生產和開發一組類似系統的方法,使用這種方法可以有效地降低成本、縮短產品面世時間、提高軟件質量。它是軟件產業向大規模定制模式發展的一個重要途徑和方法。

面向對象的應用框架是一種軟件半成品,是軟件產品線的主干(backbone)??蚣芫哂泻軓姷念I域特性,是對問題領域共性的抽?。I域分析),它用一種抽象可擴展的方式描述產品線中所有產品的共性特征?;诳蚣艿拈_發方法把軟件復用提高到了設計層次,提高了軟件生產率。

在軟件開發過程中,測試是一項持續性活動,同時也是一項勞動密集型活動。傳統的面向對象的測試方法是產品線測試的基礎,因為軟件產品線,尤其是框架通常是用面向對象技術來進行設計和實施的。為了確??蚣艿目煽啃?,在應用它之前必須進行仔細的檢測。實踐中,通常是通過測試應用程序來測試框架,因而難以區分框架和應用程序的編碼錯誤。同時,當前測試框架和產品線的方法還非常不成熟,因此對成熟測試方法的需求十分迫切,測試過程也應獲得測試工具更多的支持。

1 面向對象的軟件系統測試

1.1 面向對象系統的測試方法與過程

為了保證軟件的質量和可靠性,應力求在分析、設計等各個開發階段,對軟件進行嚴格技術評審。近年來,測試的作用在很多組織中得以擴展,進而為軟件可靠性的評估提供技術支持。

面向對象技術產生更好的系統結構,更規范的編程風格,極大地優化了數據使用的安全性,提高了程序代碼的使用率,然而正是因為面向對象技術開發的軟件代碼重用率高,這就需要更嚴格的測試,避免錯誤的繁衍。

1.2 測試自動化和工具支持

近幾年來,許多研究工作者通過使用自動化的測試工具對軟件的質量進行保障研究。到現在為止自動化測試工具已經足夠完善了,完全可以應用自動化測試工具來大幅度地提高軟件測試的效率和質量。在使用自動化的測試工具的時候應盡早地開始測試工作,這樣可以使修改錯誤更加地容易和廉價,并且可以減少更正錯誤對軟件開發周期的影響。

自動化支持的一個關鍵因素是是否有用于所有測試交付物和工作產品的中心項目數據庫。這可以指的是測試管理系統,包括用于對測試進行保存、描述、文檔化和跟蹤,并且對測試目標和結果進行記錄、跟蹤、評審的輔助設施。好的工具可以使得這些信息很容易被項目組獲得,并且提供穩定的工作流支持來簡化和跟蹤軟件開發過程。

2 軟件產品線測試方法

在軟件產品線測試時雖然可以使用傳統面向對象的測試方法,但仍強烈需要一個明確定義的產品線測試過程和方法,包括工具支持。這是因為當一個產品線或多個產品線被測試時,一些具體問題就會暴露出來。例如規模問題,因為產品線中的所有應用都需要測試,這就使得產品線的測試要比單獨的產品測試要復雜得多。產品線測試的關鍵在于重用測試用例和測試件(Testwarc,指測試工作形成的產品),而不是將產品線中的每個軟件作為一個單獨的產品來進行測試。

2.1 軟件產品線測試

產品線測試關系到多個方面,包括回歸測試、非完整性項目測試和有效使用可重用的測試資產等等?;貧w測試是用來確認前期可正常工作的組件在面臨某些修改時,是否還能正確運行。產品線中的成員在共享許多共性特征的基礎上又各自變化,因此回歸測試適合于產品線或重用情況。與單個系統開發項目不同,測試也是可以重用于大多數產品中的活動,它本身產生可重用的核心資產。建立可重用的測試資產能使產品線測試擁有較高的成本效益比。

產品線測試也需要詳細規劃并給出一個明確定義的過程,把測試集成到過程的每個階段,以生產出高質量的產品。在產品線中組件被大量重用,有效的故障修復顯得尤其重要。領域工程中的缺陷使風險演變為問題,因為可重用資產中的缺陷蔓延到重用它的每個產品中。然而在軟件產品線方法中,測試不能很好地區分領域工程和應用工程任務。雖然根據V模型進行測試,但ISAPS、CAF和SEI提出的框架還是不能完全將V模型測試的各個階段集成到軟件開發中去。在實踐中,將測試過程集成到整個產品線過程中被證明是最棘手的問題。

產品線測試的主要問題可以從兩個方面來進行論述。在領域工程中測試核心資產時,測試者試圖減少應用測試,但卻很難保證軟件在不明確的用例情景下都正常運作;產品線中的成員在共享許多共性特征的基礎上又各自變化,測試者發現根據V模型進行集成和系統測試并不可行。而在應用工程中,在核心資產和其它應用測試的基礎上,測試者想使充分測試特定產品的費用最小化,但很難確定哪些已有測試結果是可以利用的,哪些產品測試是必須進行的。

2.2 當前產品線測試狀況

目前產品線測試的工作重心主要放在驗收和系統測試上。

但由于產品線中大量重用組件,因此它們的低級別測試(例如,單元級)也應該得到保證。換而言之,當前的研究和實踐主要集中在高級別的產品線測試上。假設傳統的面向對象的測試方法可以不做任何修改就用于產品線測試過程,那么這一假設存在許多疑點。例如,目前尚不清楚將使用哪一種面向對象的測試方法以及如何將之用于產品線測試,更加不清楚是否還需要新的、具體的產品線測試方法。

在基于框架的軟件產品線測試方法中,應用框架是產品線的核心,在所有應用從它產生之前就應該得到很好的測試。但是以框架為基礎的產品線的實際測試中,往往沒有使用產品線的任何信息。例如,諾基亞的移動瀏覽器產品線是按照如下要求進行產品線測試的:“產品線測試的復雜性要遠大于單個軟件產品的測試。必須測試在不同情景下的產品線。為了控制測試的復雜性,應縮減單個產品的測試,取而代之的是對整個產品線的測試。這樣才能保證測試的簡化以及產品質量”。

2.3 軟件產品線自動化測試及相關工具支持

在軟件產品線測試方法中,工具支持比在傳統面向對象測試中更加重要。這是因為包含數個相同體系結構的產品線測試規模要大于單個產品測試。當一個組織有幾個產品線時,規模的問題就更加突出。產品線的工具支持因使用可重用的測試資產可以減少費用,并且使復雜的測試過程更易于管理。

現今有許多成熟的測試工具,但是產品線和框架測試缺乏有效的工具支持。通常這些工具也能夠應用于產品線的測試,但它們只適用于像單元測試這樣低級別的測試。在產品線方面,需要詳細而精確的測試工具。測試工具應有效地管理可重用的測試資產。工具支持應從測試執行和測試結果的分析擴展到集成產品線測試的整個過程。

目前赫爾辛基大學已經開發出RITA工具。RITA是一個能覆蓋所有領域的測試支持工具。但是所有設計功能并沒有在RITA的第一版中完全實現。同時,RITA工具的焦點在于支持基于框架結構的低水平的白盒測試。

3 評測過程

3.1 評測類型

對電子商務易用性質量的衡量,它側重于提供同類產品之間可比的易用性質量數據,是黑箱方式的定量測試。

3.2 評測相關人員

可以由幾方面的易用性專業人員共同完成。軟件開發方可進行評測,為下一次開發提供歷史數據或者向采購方提供報告;采購方也可以通過評測的方式來驗證某個測試報告;還可由獨立的第三方易用性專業機構進行評測。報告主要供三類人員使用:

①軟件供應方的技術人員可以根據評測結果為下一版本的設計提供參考意見;

②采購方的管理和決策人員,他們根據評測結果做出產品采購決定;

③易用性專業人員,他們對評測的技術價值和產品的易用性質量進行評價,或者重復進行評測以驗證報告結果。

本次評測是由第三方測試機構進行評測的,報告目前是作為相關領域的易用性評測的研究之用,在條件成熟之后會考慮向其他幾方面的人員開放。

3.3 評測計劃

評測盡可能地接近實際的用戶、任務和環境,事先進行了使用環境分析,并據此制定了詳細的評測計劃,詳細地說明了電子商務的特征描述、環境、過程和指標體系。

3.4 評測環境

產品的易用性不僅取決于產品本身,還受使用環境的影響。使用環境包括以下幾方面:

(1)用戶特征。它包括知識背景、技能、經驗、學歷、年齡、體力等,有時還可按經驗、職務或能力來分組。

(2)使用產品的目標。產品的主要用途以及工作時間長短、強度等。

(3)社會物理環境。例如計算環境、溫濕度環境、法律環境、社會文化習慣環境等。

(4)在詳細分析使用環境的基礎上,設計出評測環境并在評測計劃中明確定義,并使評測環境具有使用環境的典型特征,包括:

①評測對象特征,如知識背景、技能、學歷、年齡等;

②評測任務,如符合電子商務網站的主要用途并覆蓋其主要功能,詳細規定任務要求和執行順序;

③評測的社會物理環境,如所使用的物理設備、軟件以及相關的物理和社會環境特征。

3.5 評測過程與數據收集

在評測開始前向測試對象介紹產品及測試內容和目的,然后讓測試對象熟悉測試環境。在測試過程中,為使測試環境符合使用環境,除了用戶在正常使用環境中所能得到的幫助外,不向他們提供任何額外幫助,同時使測試對象盡可能地放松。

在正式開始測試時,要向測試對象介紹測試任務和完成時間。在測試過程中,記錄人員針對任務完成情況和用戶滿意度,觀察并記錄各項測試數據,記錄測試對象遇到的具體問題。在測試結束時,征詢測試對象對產品的其他意見和建議。

3.6 數據的分析和解釋

對測試數據進行計算整理和分析,得出綜合評價。

4 結束語

軟件產品線受到越來越多的關注和研究,特別是在工業應用領域。但是產品線的測試所受到的關注還是很少。產品線需要一個詳細規劃的測試過程,它要能夠比較容易地被不同的產品線應用領域所采納和運用。然而,測試產品線是一項非常具有挑戰性的工作。因此迫切需要一些成熟的測試方法和工具。

參考文獻:

[1]王建輝.論軟件產品線技術[J].福建電腦,2007,(02)

[1]邵兵家電子商務[M].北京:高等教育再版社,2012

[2]王峰譯:Glenford J Myers.軟件測試的藝術[M].北京:機械工業出版社,2011

[3]林銳等:Web軟件用戶界面設計指南[M].北京:電子工業出版社,2012

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合