軟件測試自動化的新進展
如今的電子設備中所包含的軟件代碼量動輒達到數百萬行。用不了幾年,設備軟件代碼量又會成倍增長。因此SQA (Software quality assurance,軟件質量保證)比以往任何時候都更為關鍵,也更加困難。為了將設備質量缺陷消滅在萌芽狀態,從而大幅降低設備上市后的風險,電子設備制造商需要更先進的工具來管理、監控和優化其質量保證工作。
而長期以來,軟件測試是整個設備軟件生命周期中最薄弱的環節。由于缺乏有效的測試解決方案,設備制造商不得不自己拼湊各種測試小工具,不僅要花費大量的時間,而且使用成本也很高。可喜的是目前,市場上出現了一些專門針對此類矛盾的測試解決方案。基于此類產品,設備制造商可將其SQA(軟件質量保證)自動化水平大大提升,從而從整體上改善軟件代碼質量,縮短代碼測試周期。
為了滿足軟件測試與質量保證的特殊需求,設備制造商發布了各種測試自動化解決方案――如美國風河公司的Wind River Test Management,其設計目標就是幫助設備制造商大幅縮短測試時間、壓低產品開發成本,并且更快地將新產品投放市場。其中,Test Management套件則是一個可擴展的分布式軟件測試系統,支持動態測試和缺陷快速辨識。此外,它還將能夠實現軟件質量控制(QA)流程的自動化,從而全面提高代碼質量。
解決方案中可擴展的分布式測試框架部分,可以把設備軟件開發人員與質量保證人員整合起來,形成一個智能化的協作型工作流程,從而使得整個開發與質量保證團隊可以有效地實施測試和性能分析,并且快速解決在測試過程中發現的問題。而且,這個新的測試流程一旦形成,就可以重復性地運作,使軟件測試、缺陷檢測和糾正工作越來越順暢。此類系統中有一個非常好的機制來支持整個團隊共享測試數據,打破了開發團隊與測試團隊之間的隔閡,從而極大地提高了協作水平。例如,當QA人員發現一個問題,開發人員立刻就可以獲得詳細的日志(Log)和故障數據,很快地在自己的開發環境中再現發生問題環境。
總結一下,大部分的各種軟件測試自動化解決方案主要通過以下4個方面來加速軟件測試進程:
第一、測試。提升功能、性能和代碼覆蓋方面的測試效率;
第二、自動化。自動實現嵌入軟件加載,自動部署測試套件;
第三、診斷。利用診斷數據從根本上實現缺陷、死鎖和崩潰原因的隔離;
第四、解決。直接采用打補丁的方式解決問題,不需要系統重建,從而節省了寶貴的QA時間資源。
如果一個測試人員可以同時編寫、執行和管理更多的測試項目,他就可以發現更多的缺陷。軟件測試套件提供一個更容易創建、訪問和部署測試的框架,而且解除了與遠程設備互連和報告結果是所遇到的種種麻煩。此類套件還可以幫助測試人員組織和分配工作量,一邊他們在同一個時間段里面完成更多的測試任務。最有意思的是,軟件可以幫助測試人員編寫出更高水平的測試任務,發現更多的缺陷。
許多QA團隊只是把產品作為“黑箱”來進行測試,因為以這種方式他們不必花精力去理解軟件代碼的細節。采用類似Wind River Test Management的此類套件,QA團隊可以采用效率更高的“白箱”法,了解更多的內部結構,卻不必耗費太多的時間去了解代碼細節。例如,測試人員可以觀察代碼覆蓋概貌,標示出尚未進行測試的那些功能模塊,然后采用“故障注入(fault injection)”技術設定新的條件去執行和測試這些功能。
在使用此類測試軟件的過程中建立的測試及數據庫可以方便地用于設備投入使用后的支持與服務。例如,Wind River Field Diagnostics模塊是Wind River Test Management套件中的一個產品,能為技術人員提供一個用于監控設備運行狀態和健康度的綜合平臺,便于快速地診斷和修復設備故障。它將設備的運作信息以加密的方式進行采集和管理,能夠支持上千個客戶端設備的同時部署,同時它基于安全的標準化等級體系架構,全面支持各種關系數據庫、J2EE應用服務器和Web Service技術,實現了企業級的可擴展性。在產品投入使用后,可以支持產品用戶和OEM廠商協作進行維修維護。這種方法將DSO (Device Software Optimization,設備軟件優化)的概念從產品的研發階段延伸到了產品的使用和售后服務階段。
結束語
軟件是一項高復雜度的、不斷演變的產品。軟件管理、監控和質量測試的方法與過程也是不斷變化的,而且常常是難以捉摸的。因此,軟件測試和質量保證是設備制造商的一項嚴重的挑戰。大量的設備制造商都表示,軟件測試是他們產品研發工作中最大的痛點(Pain Point),軟件質量保證是一個持續變化并且難以達到的目標。通過具備上述功能的一些套件,設備制造商將會大幅縮短測試時間、壓低產品開發成本,并且更快地將新產品投放市場。同時,它還可以提高軟件質量控制(QA)流程的自動化程度,全面提高代碼質量。
評論