"代碼測試"對提交的測試軟件版本源代碼進行靜態代碼掃描和動態分析。白盒靜態掃描用來檢測源代碼是否符合公司要求或行業標準的編碼規則,集中生成掃描報告,從而確保代碼風格的一致性、更少的錯誤和更好的應用程序性能。另外,對于一些關鍵應用,可以根據要求,進行代碼的內存分析、性能分析,比如發現內存泄露、性能瓶頸等。通過一些專業化的工具,如 Logiscope、PurifyPlus、Appscan Source Edition、Fortify等等,進行代碼的掃描測試,而不需要去了解代碼自身的結構邏輯。
"功能測試",對軟件的各項功能進行測試,一般需要手工進行,但對于 Web 應用和基于圖形界面的應用,可以進行一些自動化測試,測試人員在第一次測試時錄制標準答案,以后在應用發生了修改以后,或者需要覆蓋更多測試環境情況下,調出第一次錄制的腳本,讓自動化功能測試工具自動運行,得出測試結果。目前業界常用的自動化功能/回歸測試工具有 RFT(Rational Functional Tester)和 QTP(Quick Test Professional)。
"性能測試"描述測試對象與性能相關的特征,并對其進行評價而執行的一類測試,如描述和評價測試對象的響應時間、吞吐量以及操作的可靠性和限制等特征。一般可以使用被測系統的動態監測報告、響應時間及吞吐量報告、百分位圖報告和各種性能比較報告,對被測對象進行性能測試。性能測試工具常見有 RPT(Rational Performance Tester)和 LoadRunner,可以有效地幫助性能測試工程師驗證系統的性能,識別和解決各種性能問題。
"安全測試"主要是針對 Web 應用進行安全檢測,防范人為濫用、網絡攻擊、病毒擴散、惡意竄改應用數據等。常用工具有 AppScan,對 Web 應用和 Web Services 進行自動化安全掃描,簡化企業發現和修復 Web 應用安全隱患的過程,根據發現的安全隱患,提出針對性的修復建議,形成多種符合法規、行業標準的報告,方便相關人員全面了解企業應用的安全狀況。
"測試數據管理"將測試數據作為測試資產,進行系統化的管理,支持測試數據的評估、核準、使用、評價和更新維護的循環往復過程。對于組織的復雜應用,可以考慮利用已有的真實數據,與運維團隊合作,全部或者部分地導出數據,進行數據篩選和內容模糊化處理。這樣的數據集類型豐富,比例和關聯關系更接近真實世界,是較為理想的系統模擬測試數據。這方面常用的工具有 Optim。
"虛擬測試"通過管理和創建虛擬應用的方式使得測試團隊在相關系統沒有就緒的情況也能夠進行測試。對于一個應用的復雜測試場景可能需要多個其它系統協作來進行,這時可以通過模擬其它測試應用來加快測試進度,集中力量于被測應用。這方面常用工具有 GHVIE(Green Hat Virtual Integration Environment),可對常用的消息中間件處理機制進行模擬。
"測試門戶和社區"提供測試中心的信息入口,所有人員都可以在這里找到測試中心的各項業務、管理和技術信息,并提供協作空間,比如可以為每個測試項目創建一個社區,社區中可以包含成員管理、文件共享、任務分派、共享書簽、博客、Wiki 等等功能,測試小組成員可以在社區中分享文檔、共同創作,對測試任務完成情況進行跟蹤維護等。規劃層、控制層和執行層中的各 IT 能力組件都可以在測試門戶中發布信息,如測試中心各級人員都能看到"質量度量和報告"組件中發布的績效報告。常見的工具有 Lotus Portal/Connection。
回頁首
基于云計算的信息化平臺
上面詳細描述了測試信息化平臺的 17個 IT 能力組件,為增強實現的靈活性和有效利用測試資源,這些 IT 能力組件可以采用云計算的方式來提供。下圖顯示了整個測試中心的云計算架構。
圖 3. 測試中心云計算架構
圖 3 大圖
測試信息化平臺應用和企業的業務應用都構建在云平臺之上。初期階段,也是目前最常用的云計算方式,測試中心整合所有的硬件服務器,形成"基礎架構云"(IaaS, Infrastructure as a Service),所有的 IT 能力組件都可以或逐步加入到云平臺上。隨著云平臺逐漸演進到平臺云(PaaS, Platform as a Service)和軟件云(Software as a Service),這些 IT 能力組件的實現方式也將同步演進。
回頁首
結束語
本文首先在討論 IT 技術發展的基礎上,引出了 IT 系統建設的主體之一 —— 測試中心自身的 IT 建建設問題,先分析了測試中心的定位和業務流程,給出信息化平臺的建設目標,基于這些目標,給出了測試中心的信息化平臺參考框架,分為規劃層、控制層和執行層,共有 17 個 IT 能力組件,然后對每個能力組件進行了詳細說明,列出各能力組件在市場上常用的工具平臺。IT 能力組件和常用工具組合如下圖所示。
圖 4. 常用的工具平臺
圖 4 大圖
實際采用哪個工具平臺來實現 IT 能力組件,不僅要考慮該工具的功能和性能,還要考慮它和其它工具平臺之間的集成,避免形成信息孤島。當一些工具平臺能集成到一起時,對應的 IT 能力就能相互促進,獲得更大效果,比如 Insight 和 DOORS、EPM、CQ、RQM 等等集成,自動收集數據,生成報表,不僅實現了測試質量度量和報告,還很好地展現了需求管理、項目管理、流程管理和測試管理這些 IT 能力,增加了他們的價值。
本文最后簡要介紹了測試信息化平臺與云計算的關系,給出了最常用的基于基礎架構云的 IT 能力組件實現方式。
在實踐中,各測試中心如何構建自己的信息化平臺?可以參照自身的 IT 建設現狀,以信息化平臺參考框架為藍圖,看看有哪些 IT 能力組件還沒有,然后根據組織需求的緊迫程度來設定 IT 信息化平臺建設路線圖,逐步提高測試中心 IT 水平,推動組織的健康發展。
致謝
本文在寫作過程中,得到了諸多同事和多家企業測試專家的協助和啟發,包括 IBM Rational 技術團隊姚炳雄、莊俊乾、程燕賓,全球業務服務部門陳偉、盧楊,系統技術部線濤,中國銀行軟件測試中心周起文,在此一并表示感謝!