不論是“敏捷開發”還是“極限編程”都可以加速軟件的開發周期,增強用戶的滿意度。其中成功的“妙訣”在于將軟件測試與開發緊密集成,并貫穿于軟件生命周期。
國際化軟件的開發周期與面向單一語言用戶的軟件產品相似,包括多個相互聯系的階段:業務分析、需求定義、架構設計、軟件編碼、軟件測試、文檔寫作、發布。每一個階段的產品和文檔都對最終產品的質量產生或大或小的影響。為了提供高質量的國際化軟件,不僅需要把測試盡早融入到項目開發流程中,而且廣泛采用外包測試的方式。
國際化軟件的復雜性,用戶的多樣性決定了軟件外包的必要性。在各種外包類型中,軟件測試外包非常流行。外包測試并不是隨機的、無序的把軟件測試“拋”給外包測試服務公司,而是采取“智能外包(Smartsouce)”的方式,確定需要外包的內容和程度、尋找最佳外包測試服務公司、保持價格和質量的最佳平衡。
“智能外包”測試成功的關鍵在于軟件開發商和外包測試服務公司之間的有效知識傳遞和項目過程管理,包括詳細的軟件規格說明、測試文檔和測試流程,具有熟練技能的外包測試團隊,軟件開發商和測試服務公司的有效交流、進度跟蹤和質量度量。
大型國際化軟件的開發實踐表明,外包測試和開發的無縫集成是降低軟件開發成本,保證軟件質量,縮短發布日期的有效方法。這種無縫集成體現在軟件外包測試從項目開始直到項目發布和維護的全系列過程。
1.業務分析
任何國際化項目在立項階段都需要進行市場調查和產品定位等的業務分析,并且形成規范的立項建議書,論述開發軟件產品的充分理由。國際化軟件必須具有長遠的測試策略,這種測試策略必須是明確的、可度量的、可實現的,以此改進流程,確保流程的正確性,定義度量成功的指標。
2.需求定義
軟件開發的最終目標是開發的軟件滿足用戶的需求和期望。為了獲得用戶的真實需求,負責軟件測試的團隊要和最終用戶直接交流,并且分析競爭對手產品的功能特性,確定產品可用性測試需求。根據用戶需求制訂產品需求和確認測試需求,確保最終產品符合用戶的期望。
軟件產品的功能需求是需求定義要重視的一個方面,它指明軟件能夠做什么,即有哪些功能和特性。在需求定義階段,需要確定驗證測試策略,采用質量保證和其他測試方法,檢測“是否正確地開發了軟件”。對于國際化軟件,這個階段需要確定國際化設計方法,測試團隊要確保設計的軟件具有充分的適應性,易于全球發布。
3.架構設計
架構設計階段,軟件測試團隊依據軟件概要設計和詳細設計規格說明,輔助開發團隊選擇和優化軟件的架構設計,確保架構設計融入了當前軟件設計的最佳實踐經驗。提供有效集成測試策略,確保軟件各個模塊集成的有效性,并且使國際化設計需求融入架構設集中。
4.軟件開發
軟件開發階段與軟件測試緊密相連。通過外包測試,不僅可以節約資金,還可改進軟件質量,提高流程成熟度。通過軟件國際化外包測試,盡早發現軟件國際化設計的缺陷,為軟件本地化處理掃除障礙。
不論采用的瀑布式、極限編程還是迭代開發技術,軟件的模塊測試(或者單元測試)都是需要測試人員與開發人員密切配合執行的測試。此外還需要集成測試、系統測試。對于某些軟件可能還需要負載測試、基準測試、交互測試等多種測試類型,以保證測試覆蓋軟件涉及的全部技術層面。
5.軟件測試
軟件發布前需要執行全面的軟件測試,盡可能的消除軟件缺陷。通過外包測試的綜合的、階段性的測試方法,評估軟件開發商的當前流程,開始和實現測試方案,并且通過周期性的設計和反饋,持續優化測試方案。
這種外包測試方式特別適用于全球存在多個開發團隊的軟件開發商,通過采用企業內部網(Intranet)發布全部相關的度量數據和項目進度,不同地區的團隊都能看到整個項目過程、應用程序開發環境等進展情況。
大型軟件外包測試服務公司使用外包項目管理系統,軟件開發商和外包測試團隊依靠這個管理系統,可以快速的提出問題、處理反饋、提出解決辦法。外包項目管理系統是一個可以不斷優化的、快速、安全訪問的知識資源庫,包括服務等級協議(SLA)、測試工作說明(SOW)、項目合同、進展狀態報告的歷史紀錄等與測試項目有關的內容。全球團隊只要擁有登錄帳號就可以共享管理系統的文件、日歷、應用程序和項目進度等信息。
6.文檔寫作
軟件文檔是大型國際化軟件的組成之一,包括用戶手冊、聯機幫助、市場宣傳資料等。大型軟件外包服務公司內部都開發了軟件內容管理系統(CMS),設有專門的內容寫作團隊,為軟件開發商提供多種形式的文檔內容寫作、排版、測試等一條龍服務。內容寫作可能是網頁形式,也可能是多媒體課件,
需要印刷的產品文檔,包裝材料和市場宣傳材料等。通過提供專業的內容寫作服務,使得內容與應用程序有效集成,增強用戶的體驗,也降低了軟件開發商的成本。
7.發布
在軟件發布前主動修正軟件的缺陷比發布后修正代價要小很多。完整的可用性測試可以模擬用戶的體驗,其中軟件的界面設計是用戶體驗的主要部分,影響用戶是否樂于接受新軟件。
國際化軟件需要發布多個語言的本地化版本,本地化軟件是否能夠適應特定國家和地區的文化、法律、語言和特定功能要求都是影響軟件可用性的因素。另外,軟件的兼容性測試和交互操作測試可以確保國際化軟件可以在世界不同國家和地區的不同軟、硬件系統上平穩運行,軟件發布前需要執行這些類型的測試。
大型軟件外包測試服務公司可以提供靈活的、系統的本地化軟件外包測試的最佳實踐,
采用核心工具和技術,提供可以度量的、一致的本地化外包測試服務,利用專業的壓力或負載測試工具,保證軟件在真實的壓力環境下的功能和性能,指導用戶交互操作,提供專業的培訓服務。
文章來源于領測軟件測試網 http://www.kjueaiud.com/