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