顧濱兵,李軍鋒,朱佳良
(中國(guó)人民解放軍91404部隊(duì),河北 秦皇島 066000)
軟件測(cè)試是貫穿整個(gè)軟件開發(fā)生命周期,對(duì)軟件產(chǎn)品進(jìn)行驗(yàn)證和確認(rèn)的活動(dòng)過程,也是對(duì)軟件產(chǎn)品質(zhì)量持續(xù)的評(píng)估過程,其目的是盡快盡早地發(fā)現(xiàn)在軟件產(chǎn)品中所存在的各種問題,盡最大可能揭示軟件開發(fā)過程中所存在的產(chǎn)品質(zhì)量風(fēng)險(xiǎn)[1]。軟件工程實(shí)踐證明,軟件測(cè)試是檢驗(yàn)軟件質(zhì)量,把好軟件質(zhì)量關(guān)的關(guān)鍵手段。通過開展軟件測(cè)試,測(cè)試人員在軟件中發(fā)現(xiàn)并解決了大量軟件缺陷,軟件測(cè)試對(duì)軟件質(zhì)量提升作用十分明顯。
隨著軟件規(guī)模越來越大、結(jié)構(gòu)越來越復(fù)雜,軟件測(cè)試從伴隨軟件開發(fā)、發(fā)現(xiàn)軟件錯(cuò)誤的一項(xiàng)活動(dòng),向相對(duì)獨(dú)立、成熟方法、標(biāo)準(zhǔn)手段的專業(yè)方向發(fā)展。軟件測(cè)試已成為一個(gè)專業(yè),形成了專門的方法手段,遵循規(guī)范的流程規(guī)程。軟件測(cè)試通常按照被測(cè)軟件的不同類型特點(diǎn),分別采用靜態(tài)、動(dòng)態(tài)、白盒、黑盒等測(cè)試方法,單元測(cè)試、集成測(cè)試、配置項(xiàng)測(cè)試、系統(tǒng)測(cè)試等測(cè)試級(jí)別[2],并根據(jù)不同軟件制定針對(duì)性策略,按照不同次序?qū)浖_展測(cè)試。
軟件測(cè)試過程中,特別是對(duì)于大型復(fù)雜軟件,必須設(shè)置恰當(dāng)?shù)臏y(cè)試策略,選擇合適的測(cè)試工具和方法手段,合理分解和設(shè)計(jì)測(cè)試用例,有效搭建測(cè)試環(huán)境,才能優(yōu)質(zhì)高效地發(fā)現(xiàn)軟件問題,客觀評(píng)價(jià)質(zhì)量,完成測(cè)試任務(wù),而這些工作需要建立相應(yīng)標(biāo)準(zhǔn)統(tǒng)一的測(cè)試框架,這就是軟件測(cè)試架構(gòu)。
但目前,從單元測(cè)試到系統(tǒng)測(cè)試、從功能測(cè)試到非功能測(cè)試的傳統(tǒng)線性架構(gòu),不能體現(xiàn)軟件敏捷開發(fā)、快速迭代和柔性擴(kuò)展、高度復(fù)用等特點(diǎn),也不能體現(xiàn)軟件測(cè)試從層層遞進(jìn)向分級(jí)分類迭代式驗(yàn)證的發(fā)展新趨勢(shì)。為有效應(yīng)對(duì)軟件比重的快速增長(zhǎng)以及井噴式軟件測(cè)試需求,根據(jù)軟件敏捷開發(fā)和迭代升級(jí)特點(diǎn),設(shè)計(jì)了一種基于軟件、測(cè)試、缺陷“三域”鉸鏈的軟件測(cè)試新型架構(gòu),通過測(cè)試數(shù)據(jù)跨項(xiàng)目共享復(fù)用,能夠有效實(shí)施全過程敏捷測(cè)試,極大提升軟件測(cè)試質(zhì)效。
在大型軟件的測(cè)試中,軟件測(cè)試架構(gòu)對(duì)提高測(cè)試團(tuán)隊(duì)的技術(shù)能力,有效開展軟件測(cè)試,起著越來越關(guān)鍵的作用。雖然軟件測(cè)試架構(gòu)是一個(gè)新興概念,但像微軟、阿里巴巴集團(tuán)等軟件公司早就設(shè)置了軟件測(cè)試架構(gòu)師的職位,由軟件測(cè)試架構(gòu)師對(duì)軟件測(cè)試進(jìn)行規(guī)劃指導(dǎo)、整體設(shè)計(jì)、并統(tǒng)籌測(cè)試資源、安排各項(xiàng)測(cè)試活動(dòng)等。
最初,軟件測(cè)試作為輔助軟件編碼、提高軟件質(zhì)量的重要手段,其測(cè)試架構(gòu)高度依賴于軟件開發(fā)架構(gòu)。軟件測(cè)試為了與研發(fā)活動(dòng)相銜接,在軟件開發(fā)模型的基礎(chǔ)上,建立配套的軟件測(cè)試模型。目前常見的測(cè)試模型有V模型、W模型(見圖1)、H模型、X模型[3]、“跑道”模型[4]等。
圖1 W模型測(cè)試架構(gòu)
V模型強(qiáng)調(diào)了在整個(gè)軟件項(xiàng)目開發(fā)中需要經(jīng)歷的若干測(cè)試級(jí)別,并與開發(fā)級(jí)別對(duì)應(yīng)。W模型強(qiáng)調(diào)了測(cè)試計(jì)劃工作的先行和對(duì)系統(tǒng)需求,以及系統(tǒng)設(shè)計(jì)的測(cè)試。在H模型中,軟件測(cè)試活動(dòng)完全獨(dú)立,貫穿于整個(gè)軟件周期,與其他流程并發(fā)進(jìn)行。此外還有X模型,多根并行線代表著變更可以在各個(gè)部分發(fā)生,提高了迭代效率。雖然從H模型開始,軟件測(cè)試活動(dòng)獨(dú)立,但從測(cè)試模型構(gòu)建角度上講,還是與開發(fā)模型相互綁定的。
隨著軟件測(cè)試的進(jìn)一步發(fā)展,軟件測(cè)試相對(duì)于軟件研發(fā)進(jìn)一步獨(dú)立,2018年起,國(guó)內(nèi)首次提出軟件測(cè)試模型-“川模型”測(cè)試架構(gòu)[5],開始建立獨(dú)立的測(cè)試體系。“川模型”由3條相對(duì)獨(dú)立的測(cè)試實(shí)施流程組成,包括驗(yàn)收測(cè)試實(shí)施流程、需求級(jí)測(cè)試實(shí)施流程和業(yè)務(wù)級(jí)測(cè)試實(shí)施流程?!按P汀蓖怀鲶w現(xiàn)了測(cè)試活動(dòng)對(duì)質(zhì)量把控的重要性,站在測(cè)試者的角度,以測(cè)試來保證最終用戶的質(zhì)量認(rèn)可,體現(xiàn)測(cè)試先行的重要意義。
以上這些軟件測(cè)試模型主要考慮同一測(cè)試對(duì)象不同級(jí)別、不同類型測(cè)試的前后銜接與繼承關(guān)系,但未考慮與同類測(cè)試對(duì)象間的橫向關(guān)聯(lián)。實(shí)際上,同類軟件測(cè)試項(xiàng)目特別是同一領(lǐng)域的測(cè)試項(xiàng)目具有較強(qiáng)的關(guān)聯(lián)性和相似度,其數(shù)據(jù)具有很高的借鑒意義,必須將相關(guān)項(xiàng)目的測(cè)試先驗(yàn)數(shù)據(jù)納入本項(xiàng)目測(cè)試設(shè)計(jì),構(gòu)建啟發(fā)式的軟件測(cè)試架構(gòu)模式,最大程度上吸收已有測(cè)試經(jīng)驗(yàn),復(fù)用已有測(cè)試成果,才能滿足軟件敏捷開發(fā)和快速交付要求下,快速增長(zhǎng)的測(cè)試需求。對(duì)于軟件測(cè)評(píng)機(jī)構(gòu),雖然測(cè)試任務(wù)存在一定的不確定性和非延續(xù)性,但目前看來,隨著軟件測(cè)試領(lǐng)域不斷發(fā)展成熟,越專業(yè)的機(jī)構(gòu),主體業(yè)務(wù)越是相對(duì)固化,形成了對(duì)該專業(yè)領(lǐng)域的核心競(jìng)爭(zhēng)力,競(jìng)爭(zhēng)力來自經(jīng)驗(yàn)技術(shù)的不斷積累。因此,優(yōu)質(zhì)的軟件測(cè)評(píng)機(jī)構(gòu)往往高度重視專業(yè)領(lǐng)域測(cè)評(píng)技術(shù)總結(jié)沉淀,通過測(cè)試平臺(tái)建設(shè),建立測(cè)試數(shù)據(jù)共享機(jī)制,使已發(fā)現(xiàn)同類項(xiàng)目的典型軟件缺陷數(shù)據(jù)和測(cè)試數(shù)據(jù)等能用于指導(dǎo)后續(xù)測(cè)試,有效復(fù)用測(cè)試用例及相關(guān)測(cè)試資源,規(guī)避問題風(fēng)險(xiǎn),同時(shí)利用工程化方法預(yù)測(cè)軟件缺陷[6-7],可以大大提高測(cè)試精準(zhǔn)性。因此,建立更為高效適用的軟件測(cè)試架構(gòu),必要具備“測(cè)試知識(shí)”的積累應(yīng)用能力和數(shù)據(jù)共享復(fù)用能力。
軟件測(cè)試架構(gòu)的構(gòu)建由兩方面因素決定:一是被測(cè)軟件本身的技術(shù)特點(diǎn),二是軟件測(cè)試資源投向。
從被測(cè)軟件來看,軟件本身的功能、性能、系統(tǒng)架構(gòu)等決定了軟件如何被優(yōu)質(zhì)高效地測(cè)試,必須針對(duì)性制定測(cè)試計(jì)劃,進(jìn)行測(cè)試安排,例如軟件功能架構(gòu)情況決定了軟件功能測(cè)試項(xiàng)和測(cè)試用例的劃分、分解和設(shè)計(jì),從而確定合理的測(cè)試用例集。
從測(cè)試資源看,人工設(shè)計(jì)用例方式受人為因素的影響較大且日益不能滿足現(xiàn)有需求[8],必須根據(jù)軟件測(cè)試需求和要求,統(tǒng)籌考慮測(cè)試環(huán)境、測(cè)試工具、測(cè)試方法,并引入測(cè)試管理系統(tǒng)來提高測(cè)試自動(dòng)化水平。
在線形模型架構(gòu)基礎(chǔ)上,近年來國(guó)內(nèi)也提出以測(cè)試過程為中心,軟件質(zhì)量、測(cè)試團(tuán)隊(duì)、測(cè)試技術(shù)3要素鉸鏈構(gòu)建的軟件測(cè)試架構(gòu)[9],特別是針對(duì)專業(yè)領(lǐng)域所研究的人員素質(zhì)、工作流程與模型、測(cè)試技術(shù)和工具三個(gè)因素的公安交通管理信息系統(tǒng)軟件測(cè)試總體架構(gòu)[10],以及以高效可信、靈活賦能為目標(biāo)的雷達(dá)產(chǎn)品軟件測(cè)試框架[11]等,均主要從測(cè)試管理角度構(gòu)建,主要為發(fā)揮測(cè)試團(tuán)隊(duì)質(zhì)量?jī)?yōu)勢(shì),本文提出的軟件測(cè)試新架構(gòu)偏重于為發(fā)現(xiàn)軟件缺陷提高測(cè)試質(zhì)效而構(gòu)建軟件測(cè)試技術(shù)框架,但這些架構(gòu)的提出也有一定的借鑒意義。
當(dāng)前被測(cè)軟件系統(tǒng),不但規(guī)模上越來越復(fù)雜,還在交付周期上不斷壓縮。其為了迅速應(yīng)對(duì)使用需求和快速部署要求,往往采用分階段目標(biāo)設(shè)定、分階段設(shè)計(jì)實(shí)現(xiàn),分階段能力生成的研發(fā)方式,確保軟件能夠快速交付,并按計(jì)劃目標(biāo)不斷迭代優(yōu)化。在這種情況下,軟件測(cè)試架構(gòu)發(fā)展呈現(xiàn)以下的特點(diǎn)趨向:
1)確保測(cè)試先行,盡早發(fā)現(xiàn)問題,及時(shí)了解項(xiàng)目的測(cè)試風(fēng)險(xiǎn),及早制訂應(yīng)對(duì)方案,并使軟件測(cè)試貫穿軟件全壽命周期;
2)必須適應(yīng)軟件快速開發(fā)要求,在敏捷測(cè)試?yán)砟钕旅鞔_測(cè)試重點(diǎn),設(shè)置合理的測(cè)試策略,縮短軟件測(cè)試周期,提高測(cè)試效率;
3)打破軟件測(cè)試從單元測(cè)試到驗(yàn)收測(cè)試的傳統(tǒng)線性關(guān)系,支持在全壽命周期內(nèi)根據(jù)軟件變更進(jìn)行測(cè)試迭代,以應(yīng)對(duì)軟件需求變更調(diào)整和自身優(yōu)化升級(jí);
4)充分利用歷史經(jīng)驗(yàn),基于前序測(cè)試知識(shí),盡可能進(jìn)行測(cè)試用例復(fù)用,從而科學(xué)有效地實(shí)現(xiàn)分級(jí)分類迭代測(cè)試。
設(shè)計(jì)的基于軟件、測(cè)試、缺陷的軟件測(cè)試新架構(gòu)主要著眼于已有軟件測(cè)試數(shù)據(jù)的積累應(yīng)用,在軟件測(cè)試已形成的“知識(shí)”的啟發(fā)指導(dǎo)下,準(zhǔn)確應(yīng)對(duì)軟件測(cè)試需求,精準(zhǔn)投入測(cè)試資源,達(dá)到提高軟件測(cè)試質(zhì)效的目的。
當(dāng)前,傳統(tǒng)的軟件測(cè)試架構(gòu)雖然也試圖解決迭代測(cè)試的問題,但線性為主的架構(gòu)方式,以及不同軟件項(xiàng)目間測(cè)試信息關(guān)聯(lián)度低,未能充分挖掘數(shù)據(jù)信息內(nèi)在規(guī)律等現(xiàn)實(shí)情況,不可避免地導(dǎo)致大量軟件測(cè)試工作簡(jiǎn)單重復(fù)、無法跨項(xiàng)目復(fù)用歷史用例等。而之所以出現(xiàn)軟件測(cè)試數(shù)據(jù)無序累積,無法共享應(yīng)用,不能實(shí)現(xiàn)優(yōu)化迭代測(cè)試等問題,一個(gè)重要的原因就是缺少測(cè)試信息共性基礎(chǔ)標(biāo)準(zhǔn),未形成以共享復(fù)用為基礎(chǔ)的啟發(fā)式測(cè)試體系架構(gòu)。
本文提出的軟件測(cè)試新架構(gòu),在重新梳理軟件測(cè)試信息及其模型構(gòu)建的基礎(chǔ)上分析認(rèn)為,要在傳統(tǒng)的軟件測(cè)試架構(gòu)基礎(chǔ)上,重點(diǎn)針對(duì)由于軟件測(cè)試數(shù)據(jù)采編標(biāo)準(zhǔn)不統(tǒng)一、存儲(chǔ)管理無序化、自動(dòng)處理落地難,以及缺乏專業(yè)信息系統(tǒng)對(duì)軟件測(cè)試數(shù)據(jù)進(jìn)行常態(tài)化積累與常態(tài)化應(yīng)用等問題,著力推動(dòng)軟件測(cè)試數(shù)據(jù)共享復(fù)用、凝結(jié)測(cè)試經(jīng)驗(yàn)知識(shí),支撐迭代性測(cè)試。以軟件測(cè)試數(shù)據(jù)的采存管理、異構(gòu)融合、分析挖掘、交換共享等為基點(diǎn),提出了基于軟件、測(cè)試、缺陷 “三域”鉸鏈的“知識(shí)化”軟件測(cè)試新型架構(gòu),通過基于測(cè)試的軟件缺陷參數(shù)化表述模型,形成了軟件測(cè)試/試驗(yàn)數(shù)據(jù)關(guān)聯(lián)關(guān)系圖譜,突破了軟件試驗(yàn)數(shù)據(jù)聚類重組技術(shù)和軟件典型缺陷模式提取技術(shù),實(shí)現(xiàn)了軟件測(cè)試從隨機(jī)發(fā)散型向缺陷特征規(guī)律啟發(fā)型轉(zhuǎn)變,推動(dòng)軟件測(cè)試更加精準(zhǔn)深入高效。
按照CCSE2004發(fā)布的報(bào)告,軟件工程學(xué)科由10個(gè)知識(shí)域構(gòu)成:軟件需求、軟件設(shè)計(jì)、軟件構(gòu)造、軟件測(cè)試、軟件維護(hù)、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法、軟件質(zhì)量。對(duì)軟件測(cè)試信息的有效收集、表示和存儲(chǔ),不僅能為重復(fù)測(cè)試提供方便[12],但其根本目的是通過軟件測(cè)試方法改進(jìn),精準(zhǔn)發(fā)現(xiàn)軟件缺陷[13],快速提高軟件質(zhì)量。在傳統(tǒng)軟件工程知識(shí)域的基礎(chǔ)上,以建立軟件測(cè)試新型架構(gòu)為目標(biāo),測(cè)試信息劃分為3個(gè)獨(dú)立的域:被測(cè)軟件域、測(cè)試域、軟件缺陷域[14],在“三域”鉸鏈下對(duì)軟件測(cè)試信息進(jìn)行一系列“知識(shí)化”處理,形成軟件測(cè)試領(lǐng)域知識(shí)模型[15],最終制導(dǎo)構(gòu)建軟件一體化測(cè)評(píng)框架[16]。國(guó)內(nèi)提出基于軟件缺陷知識(shí)的測(cè)試框架[17],而這里提出的 三域鉸鏈“知識(shí)化”下的軟件測(cè)試新架構(gòu)更利于表述復(fù)用共享高效的測(cè)試解決方案。
軟件、測(cè)試、缺陷“三域”中,被測(cè)軟件域和測(cè)試域之間,在分析軟件測(cè)試信息時(shí),以歷史軟件測(cè)試項(xiàng)目的數(shù)據(jù)作為基礎(chǔ),并參考軟件測(cè)試項(xiàng)目數(shù)據(jù),對(duì)測(cè)試信息進(jìn)行自頂向下、層層細(xì)化的詳細(xì)分析,并通過測(cè)試人員及開發(fā)人員不同的視角進(jìn)行,從而得出各種分散的測(cè)試信息知識(shí)[18],構(gòu)建跨項(xiàng)目測(cè)試框架[19];其次,測(cè)試域與軟件缺陷域之間,測(cè)試需求、測(cè)試用例和測(cè)試發(fā)現(xiàn)的故障之間的映射關(guān)系具有復(fù)雜的多對(duì)多對(duì)應(yīng)關(guān)系[20]。在系統(tǒng)建立的測(cè)試數(shù)據(jù)庫的基礎(chǔ)上,進(jìn)行合理的統(tǒng)計(jì)分析和數(shù)據(jù)挖掘,獲得需要的數(shù)據(jù)[21]。把知識(shí)庫的結(jié)構(gòu)引入到軟件缺陷管理中,把缺陷分析從數(shù)據(jù)管理層面提升為知識(shí)管理層面,提取規(guī)則知識(shí),并生成能指導(dǎo)軟件測(cè)試工作的策略[21];再次,被測(cè)軟件域與軟件缺陷域之間,開展軟件故障模式分析,針對(duì)特定軟件的常見故障,歸納故障特征(包括故障類型、原因、現(xiàn)象等),形成軟件故障模式庫[22]。目的在于根據(jù)故障模式生成可能觸發(fā)軟件故障的異常測(cè)試數(shù)據(jù),并施加于被測(cè)軟件,從而對(duì)其進(jìn)行針對(duì)性的測(cè)試。
軟件測(cè)試新架構(gòu)構(gòu)建軟件、測(cè)試、缺陷三域鉸鏈的測(cè)試信息模型,如果沒有一致的信息模型定義,數(shù)據(jù)的交互和重用難度很大。測(cè)試信息模型要求通過創(chuàng)建一致的信息模型和信息接口,把與測(cè)試相關(guān)數(shù)據(jù)進(jìn)行信息的模型化,消除不同域內(nèi)數(shù)據(jù)和信息的表達(dá)差異,實(shí)現(xiàn)裝備軟件、測(cè)試資源和測(cè)試過程和測(cè)試結(jié)果各個(gè)域內(nèi)所有測(cè)試數(shù)據(jù)的共享和信息的有效融合,從而切實(shí)提高裝備軟件的測(cè)試與診斷能力。
通過總結(jié)“三域鉸鏈”的軟件測(cè)試信息規(guī)律,根據(jù)當(dāng)前軟件測(cè)試業(yè)務(wù)從隨機(jī)性向“知識(shí)化、啟發(fā)式”的發(fā)展需求,提出了基于軟件、測(cè)試、缺陷 “三域”鉸鏈的軟件測(cè)試技術(shù)架構(gòu)(見圖2)。
圖2 基于軟件、測(cè)試、缺陷“三域”鉸鏈的軟件測(cè)試技術(shù)架構(gòu)
該軟件測(cè)試新架構(gòu)的主要內(nèi)容是:
通過建立統(tǒng)一軟件測(cè)試技術(shù)框架和測(cè)試描述語言規(guī)范,實(shí)現(xiàn)軟件典型缺陷與測(cè)試樣例的描述標(biāo)準(zhǔn)化、結(jié)構(gòu)參數(shù)化(見圖3),消除不同域內(nèi)軟件測(cè)試數(shù)據(jù)的表達(dá)和組織差異,為軟件測(cè)試數(shù)據(jù)“采存管用”規(guī)范化、標(biāo)準(zhǔn)化、常態(tài)化奠定技術(shù)基礎(chǔ),提供由研發(fā)、測(cè)試等各階段、各方共享,用于測(cè)試的信息框架,實(shí)現(xiàn)測(cè)試信息的有效融合和復(fù)用。
建立基于測(cè)試視角的參數(shù)化軟件測(cè)試信息表述模型(見圖4),以測(cè)試視角為數(shù)據(jù)處理主要原則,將軟件、軟件測(cè)試項(xiàng)目、軟件缺陷等信息進(jìn)行參數(shù)化描述,建立信息模型,實(shí)現(xiàn)軟件測(cè)試數(shù)據(jù)、缺陷數(shù)據(jù)的聚類重組。
圖4 基于測(cè)試視角的參數(shù)化軟件測(cè)試信息表述模型
對(duì)于某一裝備領(lǐng)域比如說軟件密集的電子信息裝備等,軟件缺陷呈現(xiàn)重復(fù)性、規(guī)律性。軟件典型缺陷與測(cè)試樣例庫通過對(duì)軟件缺陷數(shù)據(jù)按“層次”進(jìn)行聚類重組,按軟件典型缺陷模式提取軟件缺陷知識(shí),顯式表述軟件缺陷及測(cè)試過程中呈現(xiàn)的規(guī)律,用于指導(dǎo)裝備軟件的研發(fā)、測(cè)試等工作,避免軟件歷史缺陷及類似缺陷的重復(fù)發(fā)生。
將以往的軟件缺陷數(shù)據(jù)按照測(cè)試視角以及應(yīng)用分層的思想進(jìn)行聚類重組,提取模式化的軟件典型缺陷(見表1)。
在面向測(cè)試視角的軟件缺陷信息模型基礎(chǔ)上,統(tǒng)一規(guī)范軟件缺陷數(shù)據(jù)和測(cè)試信息,消除不同域內(nèi)數(shù)據(jù)信息的表達(dá)差異,并易于分析軟件缺陷特征規(guī)律,實(shí)現(xiàn)軟件精準(zhǔn)測(cè)試。
1)測(cè)試需求分析精準(zhǔn)化:主要依托被測(cè)軟件知識(shí)庫實(shí)現(xiàn),利用軟件開發(fā)特征知識(shí)庫知識(shí)分析被測(cè)軟件技術(shù)特點(diǎn);利用軟件應(yīng)用場(chǎng)景知識(shí)庫知識(shí),分析測(cè)試背景,確定測(cè)試重點(diǎn)內(nèi)容;利用裝備及軟件關(guān)系知識(shí)庫,抽取裝備軟件間繼承依賴關(guān)系,分析歷史信息和測(cè)試軌跡,優(yōu)化調(diào)整測(cè)試策略。
2)測(cè)試策劃精準(zhǔn)化:主要依托測(cè)試過程知識(shí)庫,尤其是其中的測(cè)試環(huán)境條件知識(shí)庫,根據(jù)被測(cè)軟件實(shí)際情況,既可利用依賴項(xiàng)目抽取相關(guān)信息建立初始環(huán)境工具數(shù)據(jù)集,也可利用跨項(xiàng)目比對(duì),對(duì)已有測(cè)試環(huán)境搭建需求提報(bào)和測(cè)試工具選擇進(jìn)行精準(zhǔn)化的調(diào)整。
3)測(cè)試設(shè)計(jì)精準(zhǔn)化:主要依托軟件缺陷知識(shí)庫和測(cè)試過程知識(shí)庫,根據(jù)軟件質(zhì)量理論,功能類似、同一領(lǐng)域軟件的缺陷經(jīng)常呈現(xiàn)重復(fù)性、聚集性等規(guī)律特征,在航空航天、電子信息裝備等特定專業(yè)領(lǐng)域中的軟件進(jìn)行測(cè)試時(shí),可以通過知識(shí)化的缺陷數(shù)據(jù)和缺陷規(guī)律,通過吸收測(cè)試經(jīng)驗(yàn),復(fù)用測(cè)試用例,借鑒測(cè)試方法和測(cè)試手段應(yīng)用,指導(dǎo)軟件測(cè)試過程,充分發(fā)揮數(shù)據(jù)驅(qū)動(dòng)作用和倍增效應(yīng),實(shí)現(xiàn)測(cè)試投向的精準(zhǔn)化。
4)測(cè)試執(zhí)行精準(zhǔn)化:主要依托被測(cè)軟件知識(shí)庫、軟件缺陷知識(shí)庫與測(cè)試過程知識(shí)庫的關(guān)聯(lián)關(guān)系,吸收以往測(cè)試執(zhí)行經(jīng)驗(yàn),以測(cè)試數(shù)據(jù)采集、處理、分析為中心,利用知識(shí)反饋實(shí)現(xiàn)測(cè)試迭代,實(shí)現(xiàn)更有效的測(cè)試過程管理。
5)測(cè)試總結(jié)精準(zhǔn)化:主要依托軟件缺陷知識(shí)庫,評(píng)價(jià)遺留問題危害和后果,同時(shí)依托被測(cè)軟件知識(shí)庫,進(jìn)行同類裝備軟件質(zhì)量的橫向和縱向比較,真實(shí)反映當(dāng)前軟件的質(zhì)量情況。
要應(yīng)用軟件測(cè)試新架構(gòu),離不開軟件測(cè)試信息系統(tǒng)和數(shù)據(jù)共享平臺(tái)的支撐,必須實(shí)現(xiàn)軟件測(cè)試信息系統(tǒng)與測(cè)試新架構(gòu)的有效融合。通過建立統(tǒng)一的技術(shù)框架和信息表述規(guī)范,并在此基礎(chǔ)上設(shè)計(jì)軟件測(cè)試信息管理系統(tǒng),實(shí)現(xiàn)軟件測(cè)試數(shù)據(jù)、缺陷數(shù)據(jù)的完整準(zhǔn)確留存和優(yōu)質(zhì)高效共享,為加強(qiáng)軟件測(cè)試設(shè)計(jì)、優(yōu)化組織實(shí)施提供有效數(shù)據(jù)保障。
首先通過基于測(cè)試的軟件缺陷參數(shù)化表述模型和軟件測(cè)試結(jié)構(gòu)化描述語言規(guī)范,按照因素結(jié)構(gòu)分析法,區(qū)分固定變量、枚舉型變量、自由變量等要素設(shè)計(jì)數(shù)據(jù)采集界面,以及多源數(shù)據(jù)的融合整編,構(gòu)建了軟件典型缺陷與測(cè)試樣例共享平臺(tái)。
其次實(shí)現(xiàn)從軟件缺陷基本特征到各要素分類表述的數(shù)據(jù)組織,對(duì)軟件測(cè)試/試驗(yàn)數(shù)據(jù)進(jìn)行聚類重組。新的重組方式要更易按照軟件缺陷進(jìn)行檢索和統(tǒng)計(jì),形成測(cè)試知識(shí),實(shí)現(xiàn)數(shù)據(jù)標(biāo)準(zhǔn)化采編和共享復(fù)用,為軟件測(cè)試任務(wù)提供數(shù)據(jù)支撐。
再次是軟件測(cè)試信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。根據(jù)“被測(cè)軟件”、“測(cè)試”、“軟件缺陷”三域主題,確定主題應(yīng)該包含的數(shù)據(jù)。雖然各軟件測(cè)評(píng)機(jī)構(gòu)使用的測(cè)評(píng)實(shí)驗(yàn)室管理系統(tǒng)保存著大量測(cè)試數(shù)據(jù),但這些數(shù)據(jù)不能等同于圍繞軟件缺陷主題的數(shù)據(jù)?!败浖O(jiān)測(cè)人”、“測(cè)試的具體日期”等對(duì)軟件缺陷沒有直接的影響,可在系統(tǒng)中進(jìn)行字段切除。要將關(guān)于某一主題的、散落在其他軟件測(cè)試實(shí)驗(yàn)室管理系統(tǒng)中的信息組織進(jìn)來。例如“軟件缺陷”還存在于試驗(yàn)、研制的相關(guān)數(shù)據(jù)系統(tǒng)中,在進(jìn)行軟件缺陷的分析和統(tǒng)計(jì)時(shí),需要了解這一信息,由于這些信息包含了更多的裝備實(shí)際外場(chǎng)環(huán)境和使用背景,利用價(jià)值很高,就必須要將其組織進(jìn)來。不同的主題之間可能會(huì)出現(xiàn)相互重疊的信息,例如“軟件缺陷”與“測(cè)試項(xiàng)目”主題在具體的測(cè)試結(jié)果和測(cè)試過程信息方面有很多相互重疊的信息,這種重疊信息往往來源于兩個(gè)主題之間的聯(lián)系,例如,“軟件缺陷”主題與“測(cè)試項(xiàng)目”主題在測(cè)試項(xiàng)目編號(hào)和測(cè)試過程方面的相互重疊來源于軟件測(cè)評(píng)的實(shí)驗(yàn)室管理系統(tǒng)及相關(guān)的數(shù)據(jù)存儲(chǔ)處理系統(tǒng)。因此需要圍繞“軟件缺陷”這一主題重新進(jìn)行數(shù)據(jù)的組織。在數(shù)據(jù)組織基礎(chǔ)上采用軟件倉庫的相關(guān)工具對(duì)軟件測(cè)試信息管理系統(tǒng)(見圖5)進(jìn)行了設(shè)計(jì)和開發(fā)。
最后,應(yīng)用軟件測(cè)試信息管理系統(tǒng)和軟件測(cè)試新架構(gòu),進(jìn)行測(cè)試需求輔助分析,通過跨項(xiàng)目經(jīng)驗(yàn)借鑒優(yōu)化調(diào)整測(cè)試策略,快速完成軟件測(cè)試設(shè)計(jì),利用先驗(yàn)缺陷知識(shí)和測(cè)試知識(shí)指導(dǎo)用例設(shè)計(jì),通過跨項(xiàng)目關(guān)聯(lián)明確測(cè)試用例復(fù)用和篩選策略,在測(cè)試執(zhí)行中記錄重要和關(guān)鍵現(xiàn)象,與預(yù)期結(jié)果進(jìn)行比對(duì),在缺陷知識(shí)支持下進(jìn)行測(cè)試信息分析和缺陷匹配,確定軟件缺陷,分析定位原因,同時(shí)以質(zhì)量數(shù)據(jù)和質(zhì)量模型為基礎(chǔ)評(píng)估軟件質(zhì)量。
在實(shí)際工作中,建立了電子信息裝備軟件典型缺陷與測(cè)試樣例平臺(tái)和測(cè)試信息系統(tǒng),收錄了十多年的試驗(yàn)/測(cè)試數(shù)據(jù),已在多項(xiàng)測(cè)試任務(wù)和研制項(xiàng)目中得到應(yīng)用。在測(cè)試信息系統(tǒng)基礎(chǔ)上的軟件測(cè)試新架構(gòu),應(yīng)用于各項(xiàng)測(cè)試任務(wù)中,為改進(jìn)傳統(tǒng)軟件測(cè)試方式,精準(zhǔn)投放測(cè)試資源,提高測(cè)試質(zhì)效方面發(fā)揮作用明顯,在某型偵察系統(tǒng)中將軟件測(cè)評(píng)周期從6個(gè)月縮減至3個(gè)月。特別在某型裝備中根據(jù)已服役類似裝備的相關(guān)缺陷知識(shí),發(fā)現(xiàn)多年來一直未被發(fā)現(xiàn)的信號(hào)分選問題。并根據(jù)信號(hào)偵收不穩(wěn)定相關(guān)的測(cè)試數(shù)據(jù)分析,應(yīng)用缺陷知識(shí),成功測(cè)試出后續(xù)裝備存在的某判斷算法邏輯錯(cuò)誤的問題。
本項(xiàng)目為高效開展軟件試驗(yàn)工作,首次針對(duì)性地提出了軟件、測(cè)試、缺陷“三域”鉸鏈軟件測(cè)試新架構(gòu),通過構(gòu)建基于測(cè)試的軟件缺陷參數(shù)化表述模型、研發(fā)軟件測(cè)試信息管理系統(tǒng),收集了大量數(shù)據(jù),使軟件測(cè)試數(shù)據(jù)模型化、知識(shí)化,為更好、更深入開展軟件試驗(yàn)工作提供了有效技術(shù)支撐,推動(dòng)軟件測(cè)試/試驗(yàn)水平和效率的整體提高,并為裝備研制單位和使用單位提高研發(fā)質(zhì)量、快速診斷排故等提供較好數(shù)據(jù)服務(wù)。