株洲中車時(shí)代電氣股份有限公司 陳明奎 段 靜
軟件測(cè)試工作量估算方法在DCU測(cè)試中的應(yīng)用
株洲中車時(shí)代電氣股份有限公司 陳明奎 段 靜
DCU是列車牽引系統(tǒng)核心控制部件,在列車正式上線運(yùn)行前,需對(duì)DCU軟件進(jìn)行充分測(cè)試。軟件測(cè)試工作量的估算對(duì)于DCU測(cè)試工程化管理至關(guān)重要,為此,本文對(duì)目前較為常見的DCU工作量測(cè)試估算方法進(jìn)行介紹,提出提高估算準(zhǔn)確度的計(jì)算方法優(yōu)化策略,以某DCU測(cè)試項(xiàng)目為實(shí)際操作用例,進(jìn)行項(xiàng)目統(tǒng)計(jì)、測(cè)試設(shè)計(jì),和估計(jì)值與實(shí)際值之間的偏差結(jié)果分析,探討軟件測(cè)試工作量估算方法在DCU測(cè)試中的應(yīng)用方法。
DCU測(cè)試;軟件測(cè)試;工作量估算;估算方法
DCU(Driver Control Unit,傳動(dòng)控制單元)是列車牽引系統(tǒng)的核心控制部件之一,用于控制列車的變流器和牽引電機(jī),為保證列車安全運(yùn)行,在正式上線運(yùn)行前,需對(duì)DCU軟件進(jìn)行充分的測(cè)試。在DCU測(cè)試中的軟件測(cè)試工作量估算主要憑借以往經(jīng)驗(yàn),估算結(jié)果存在較大的誤差,為此本文從軟件測(cè)試估算量的原理入手,分析DCU軟件測(cè)試工作量估算的影響因素,探討軟件測(cè)試工作量估算在DCU測(cè)試中的作用,針對(duì)目前普遍采用的軟件測(cè)試估算工作量估算方法的優(yōu)缺點(diǎn)進(jìn)行分析,以便于更好的提出DCU測(cè)試中軟件測(cè)試工作量估算方法的解決方案。并通過實(shí)際用例進(jìn)行應(yīng)用,證明本文研究的軟件測(cè)試工作量估算方法可以提高DCU測(cè)試的準(zhǔn)確性。
軟件測(cè)試工作量估算要通過項(xiàng)目分析明確項(xiàng)目的整體規(guī)模,再估計(jì)軟件測(cè)試工作量的規(guī)模,最后得到軟件測(cè)試的生產(chǎn)率。軟件測(cè)試工作量的估算過程中會(huì)存在三種情況,一是工作量估算無誤差的理想化狀態(tài),二是工作量估算過程中因軟件測(cè)試原因?qū)е鹿浪愠霈F(xiàn)誤差,三是因軟件設(shè)計(jì)或開發(fā)存在缺陷導(dǎo)致估算出現(xiàn)誤差,所以引入軟件測(cè)試生產(chǎn)率,軟件測(cè)試工作量估算可以表示為:
其中w為軟件測(cè)試工作量,s為軟件項(xiàng)目測(cè)試規(guī)模,p為軟件測(cè)試生產(chǎn)率。
在軟件測(cè)試量估算前,首先需要了解軟件的整體規(guī)模,軟件需要測(cè)試的用例數(shù)量和測(cè)試要求難度,軟件規(guī)模是軟件測(cè)試工程量初步預(yù)估的基礎(chǔ),通過軟件規(guī)模的判斷可大體確定軟件開發(fā)的周期、難度及產(chǎn)生的費(fèi)用。測(cè)試用例是軟件功能與性能的用例參考,軟件測(cè)試用例在軟件測(cè)試工作量的影響方面主要是測(cè)試用例的可用性、精簡性、代表性、可執(zhí)行性和可重用性,這些都是影響軟件測(cè)試工作量估算的重要參考。
在一個(gè)軟件開發(fā)項(xiàng)目團(tuán)隊(duì)中,軟件測(cè)試工作量要占據(jù)軟件開發(fā)總工作量的40%以上,測(cè)試成本占總開銷的近50%。軟件開發(fā)中的成本、質(zhì)量與進(jìn)度之間的平衡關(guān)系對(duì)軟件項(xiàng)目的成敗具有直接的關(guān)系,而軟件測(cè)試則是平衡軟件開發(fā)各資源關(guān)系的重要方法。據(jù)統(tǒng)計(jì),目前有超過70%以上的軟件開發(fā)消耗成本在軟件測(cè)試方面,軟件測(cè)試的質(zhì)量關(guān)系軟件后期的應(yīng)用與維護(hù),為此軟件測(cè)試工作量的計(jì)算是軟件開發(fā)的數(shù)據(jù)重要支持,其準(zhǔn)確性關(guān)系到軟件開發(fā)的成敗。
基于規(guī)模的估算方法中可以采用功能點(diǎn)數(shù)的方式進(jìn)行度量,功能點(diǎn)數(shù)是把對(duì)表的輸入與輸出按照估算規(guī)則轉(zhuǎn)化為功能點(diǎn),對(duì)功能點(diǎn)數(shù)的工作量進(jìn)行累加的到軟件測(cè)試的總工作量。通常把測(cè)試用例的數(shù)量最小值作為程序功能點(diǎn)總數(shù)的1.15∧,測(cè)試用例的數(shù)量最大值等于程序功能點(diǎn)數(shù)的1.3∧,測(cè)試用例工作量的平均值相當(dāng)于程序功能點(diǎn)數(shù)的1.2∧。基于規(guī)模的估算方法在軟件測(cè)試中非常常見,其主要是由于方法簡單、工作量小,對(duì)于一般中小型測(cè)試項(xiàng)目具有較好的適用性。但是受估算參考籠統(tǒng)化、誤差離散化、歷史數(shù)據(jù)規(guī)?;蜆I(yè)務(wù)邏輯算法復(fù)雜化的影響,基于規(guī)模的估算方法存在應(yīng)用的局限性,并且受測(cè)試人員工作水平參差不齊的影響,在維護(hù)性項(xiàng)目中基于規(guī)模的估算方法工作量非常的龐大,估算的準(zhǔn)確性難以保證。
基于用例的估算方法是通過以往相同或者相似類型的軟件項(xiàng)目測(cè)試工作量來估算目標(biāo)軟件測(cè)試的工作量。基于用例的估算方法要求軟件測(cè)試必須具備參照的用例,根據(jù)用例所花費(fèi)的人力、物力和財(cái)力計(jì)算出目標(biāo)項(xiàng)目的工作量,用例可以為其中某個(gè)相似的模塊花費(fèi)的工作量,但是受編程人員和測(cè)試人員技術(shù)水平和工作能力差異性的影響,基于用例的估算方法在準(zhǔn)確性方面仍有所偏差,并且若是開發(fā)的軟件項(xiàng)目無參照用例則無法使用該方法。
基于項(xiàng)目的估算方法對(duì)軟件測(cè)試管理工作量與支持活動(dòng)工作量的要求較高,管理工作量和支持活動(dòng)工作量越高則軟件測(cè)試的準(zhǔn)確性就越大。以項(xiàng)目為基礎(chǔ)的估算方法是完全根據(jù)項(xiàng)目開展過程中產(chǎn)生的工作量進(jìn)行估算,其能夠較為真實(shí)的反映軟件開發(fā)的全過程,較為準(zhǔn)確的得到軟件測(cè)試的工作量,但是受軟件開發(fā)過程中變化情況的復(fù)雜性,基于項(xiàng)目的估算方法軟件測(cè)試工作量估算結(jié)果變動(dòng)非常大,在每個(gè)任務(wù)開展的過程中都存在諸多的不確定因素,這導(dǎo)致軟件測(cè)試人員需要經(jīng)常反復(fù)進(jìn)行測(cè)試,增加測(cè)試的工作量。
如果將測(cè)試人員的經(jīng)驗(yàn)、熟練度和穩(wěn)定性等按照等級(jí)劃分成為上、中、下三等,并對(duì)其賦權(quán)值為N上,N中和N下,則N上gt;N中g(shù)t;N下,N上+N中+N下=1,假定軟件測(cè)試工作量估算過程匯中無缺陷,軟件規(guī)模工作量設(shè)為A,N上的規(guī)模估算總和為X1,N中的規(guī)模估算總和為Y1,N下的規(guī)模估算總和為Z1,以加權(quán)算術(shù)平均法進(jìn)行計(jì)算得到軟件規(guī)模工作量為:
本文引入質(zhì)量估算模型對(duì)軟件測(cè)試工作量估算中存在的缺陷進(jìn)行計(jì)算,從外部軟件開發(fā)的需求、設(shè)計(jì)、編碼三方面存在的缺陷為中心,假設(shè)引入的總?cè)毕萘繛镠,則根據(jù)質(zhì)量估算模型得到公式:
其中,i為缺陷因子,j為缺陷類型,DI為驅(qū)動(dòng)因子,Aj是缺陷類型j的基線DI比率調(diào)整因子,(DI)ij為第j個(gè)類型與第i個(gè)因子的缺陷引入的驅(qū)動(dòng)因子。n為驅(qū)動(dòng)因子需要的成本參數(shù)。
表1 影響測(cè)試生產(chǎn)率因素及系數(shù)
軟件測(cè)試工作內(nèi)部也存在工作量估算的缺陷,以測(cè)試需求缺陷、測(cè)試設(shè)計(jì)缺陷和測(cè)試執(zhí)行缺陷三方面作為質(zhì)量估算模型參數(shù)得到軟測(cè)測(cè)試內(nèi)部缺陷總數(shù)為E,則根據(jù)質(zhì)量估算模型得到公式:
公式中,X為DI驅(qū)動(dòng)因子的個(gè)數(shù)。由此,可根據(jù)軟件規(guī)模工作量進(jìn)行內(nèi)部和外部的劃分,內(nèi)部工作量和外部工作量的總和減去因缺陷增加的規(guī)模,軟件測(cè)試工作量的值A(chǔ)’為:
將軟件測(cè)試工作量估算影響因素按照影響重要程度進(jìn)行等級(jí)劃分,并折算成系數(shù)得到軟件測(cè)試工作量估算影響因素系數(shù)表如表1所示。
將所有的影響因素生產(chǎn)率設(shè)為S,產(chǎn)生的折算系數(shù)和為O,則生產(chǎn)率可表示為:
軟件測(cè)試工作量為:
項(xiàng)目估算方法中軟件測(cè)試管理與支持活動(dòng)工作量是軟件測(cè)試工作量估算準(zhǔn)確性的保障。假設(shè)軟件測(cè)試中的測(cè)試人員熟練程度高的個(gè)數(shù)為a,其測(cè)試活動(dòng)所需的工作總量為Ma,測(cè)試支持活動(dòng)工作總量為Qa,測(cè)試人員熟練度為中的個(gè)數(shù)為b,其測(cè)試活動(dòng)所需的工作總量為Mb,測(cè)試支持活動(dòng)工作總量為Qb,測(cè)試人員熟練度為低的個(gè)數(shù)為c,其測(cè)試活動(dòng)所需的工作總量為Mc,測(cè)試支持活動(dòng)工作總量為Qc,則測(cè)試管理和支持活動(dòng)工作量分別為:
通過以上的優(yōu)化得到軟件的最后工作量估算實(shí)際值為:
本文以某地鐵DCU測(cè)試項(xiàng)目為例,采用DCU實(shí)時(shí)測(cè)試環(huán)境對(duì)軟件進(jìn)行測(cè)試,測(cè)試項(xiàng)點(diǎn)包括:上電初始化、方向處理功能、控制信號(hào)處理功能、變流器邏輯控制功能、牽引特性曲線功能、制動(dòng)特性曲線功能等26個(gè)測(cè)試項(xiàng)點(diǎn)。測(cè)試類型包括功能性測(cè)試、性能測(cè)試、接口測(cè)試、交互測(cè)試和文檔審查,環(huán)境數(shù)據(jù)分別進(jìn)行各類型的測(cè)試,參與測(cè)試人員共計(jì)3名,對(duì)測(cè)試人員工作量進(jìn)行估算,按照本文的軟件測(cè)試工作量估算優(yōu)化方法計(jì)算出DCU測(cè)試的工作總量。
測(cè)試人員技術(shù)水平按照以往工作經(jīng)歷劃分為高、中、低三個(gè)級(jí)別,讓測(cè)試人員分別采用基于規(guī)模的估算方法進(jìn)行軟件測(cè)試規(guī)模的預(yù)估,得到的結(jié)果如表2所示。
表2 軟件測(cè)試規(guī)模預(yù)估結(jié)果
以測(cè)試人員的技術(shù)水平進(jìn)行賦權(quán)值,分別表示為N1=0.5,N2=0.3,N3=0.2,得到軟件測(cè)試規(guī)模估算結(jié)果為:
根據(jù)表2得到DCU測(cè)試項(xiàng)目的測(cè)試人員測(cè)試設(shè)計(jì)生產(chǎn)率各因素的折算系數(shù)分別為:用例可重用性系數(shù)0.1,用例復(fù)雜度系數(shù)0.03,用例錯(cuò)誤密度系數(shù)為0.1,用例精簡性系數(shù)為0.1,測(cè)試人員技術(shù)水平系數(shù)為0.2。按測(cè)試執(zhí)行生產(chǎn)率計(jì)算各因素的折算系數(shù)分別為:復(fù)雜度系數(shù)為0.08,重用性系數(shù)為0.05,測(cè)試人員操作熟練度系數(shù)為0.1,精簡性為0.05,可執(zhí)行性系數(shù)為0.12,測(cè)試環(huán)境系數(shù)為0.1,測(cè)試工具系數(shù)為0.1,測(cè)試數(shù)據(jù)可用性系數(shù)為0.1,硬件穩(wěn)定性系數(shù)為0.1。為此得到DCU測(cè)試設(shè)計(jì)的生產(chǎn)率為:
測(cè)試人員人均測(cè)試生產(chǎn)執(zhí)行率為:
由此得到測(cè)試設(shè)計(jì)的工作量(人時(shí))為:
測(cè)試執(zhí)行的工作量為:
引入軟件測(cè)試管理工作量與支持活動(dòng)工作量,測(cè)試人員技術(shù)水平按照以往工作經(jīng)歷劃分為高、中、低三個(gè)級(jí)別,測(cè)試人員需要的管理工作量和支持活動(dòng)工作量如表3所示:
表3 管理工作量和支持活動(dòng)工作量(人時(shí))需求
得到軟件測(cè)試管理工作量(人時(shí))與支持活動(dòng)工作量(人時(shí))的結(jié)果分別為:
軟件測(cè)試總工作量(人時(shí))為:
以DCU測(cè)試項(xiàng)目實(shí)際測(cè)試工作量結(jié)果進(jìn)行參考,在測(cè)試過程中功能性測(cè)試、性能測(cè)試、接口測(cè)試、交互測(cè)試和文檔審查的統(tǒng)計(jì)、設(shè)計(jì)、執(zhí)行、管理與活動(dòng)支持的實(shí)際值,測(cè)試工作量實(shí)際結(jié)果如表4所示。
通過表4的測(cè)試結(jié)果與本文的總DCU測(cè)試預(yù)估值偏差約為15.43,工作量的估算值接近實(shí)際工作量,估算方法基本可以滿足實(shí)現(xiàn)預(yù)計(jì)的規(guī)模,可正確反映出DCU測(cè)試所需的人力、物力和財(cái)力,為項(xiàng)目開發(fā)工作量估算提供了可靠的支持。
表4 DCU測(cè)試項(xiàng)目實(shí)際工作量結(jié)果(此表格數(shù)據(jù)建議重新整理)
DCU(牽引控制單元)是機(jī)車、動(dòng)車、城軌的重要組成部件,對(duì)DCU軟件測(cè)試工作量的估算是保證項(xiàng)目實(shí)施的人力、物力、財(cái)力分配準(zhǔn)確性的關(guān)鍵,為此本文提出了軟件測(cè)試工作量估算方法優(yōu)化策略,將影響軟件測(cè)試工作量估算準(zhǔn)確性的因素折算成系數(shù),并將測(cè)試人員工作水平劃分出上、中、下三等,再加上測(cè)試管理工作量與支持活動(dòng)工作量,由此得到軟件工作量估算的公式。在以某地鐵DCU測(cè)試項(xiàng)目為例進(jìn)行實(shí)際測(cè)試工作量估算中,運(yùn)用優(yōu)化公式進(jìn)行計(jì)算得到的最后結(jié)果與工程實(shí)際的工作量結(jié)果幾乎接近,由此證明了該算法的可行。
[1]丁曉峰.地鐵車輛DCU牽引控制單元測(cè)試裝置[J].科研,2015(10):70-70.
[2]賀晉寧,杜偉偉,高靜.軟件自動(dòng)化測(cè)試的探索實(shí)踐[J].國外電子測(cè)量技術(shù),2016,35(7):1-4.
[3]亓卓亞.軟件項(xiàng)目中工作量估算方法的研究[J]辦公自動(dòng)化,2017(12):33-39.