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