宏光
摘 要:針對(duì)軟件測試人力資源分配問題,研究最優(yōu)的人力資源分配方法,并給出利用計(jì)算機(jī)實(shí)現(xiàn)的相應(yīng)的具體算法。
關(guān)鍵詞:軟件測試;人力資源分配;最優(yōu)算法;軟件的可靠性
一、問題的提出
在當(dāng)今信息網(wǎng)絡(luò)的社會(huì)里,由于信息與經(jīng)營的一體化使各行各業(yè)對(duì)計(jì)算機(jī)的依存性越來越大,這就造成了對(duì)計(jì)算機(jī)軟件的需求量逐年增加。軟件開發(fā)周期正向短工期化的方向發(fā)展,如何排除軟件在開發(fā)過程中所產(chǎn)生的故障因素,這就必然考慮測試人力的最優(yōu)分配問題。
二、分配原理
測試工程是軟件開發(fā)的結(jié)尾工程,它分三個(gè)連續(xù)階段:單元測試(單體、模塊)、結(jié)合測試、綜合測試(系統(tǒng)運(yùn)用)。單體測試是對(duì)軟件設(shè)計(jì)階段按功能分割的各模塊分別獨(dú)立地進(jìn)行測試;結(jié)合測試是將各模塊結(jié)合起來后測試其是否能正確地進(jìn)行數(shù)據(jù)的I/O操作;結(jié)合測試是對(duì)所有的系統(tǒng)模塊結(jié)合起來,測試它們能否按用戶的需求規(guī)格進(jìn)行動(dòng)作。
分配方法:(1)設(shè)總測試人力量Q 事先確定;(2)測試軟件由M個(gè)相對(duì)獨(dú)立的模塊構(gòu)成,并且可根據(jù)軟件的可靠度增長模型推算出各模塊殘存的差錯(cuò)數(shù);(3)對(duì)各模塊最優(yōu)分配既定測試總?cè)肆α縌 的原則是分配能使軟件內(nèi)殘存差錯(cuò)數(shù)盡可能最少;根據(jù)人力型軟件可靠度增長模型來解決最優(yōu)分配問題,投入測試人力量與發(fā)現(xiàn)差錯(cuò)數(shù)關(guān)系式:
(其中a>0,1>r>0) (1-1)
至于軟件整體及各模塊的可靠性評(píng)價(jià)基準(zhǔn)尺度則采用NHPP模型的殘存差錯(cuò)數(shù)期望值:
所以由(1-1)式可定義測試時(shí)刻t 的殘存差錯(cuò)數(shù)的期望值為:
其中測試工程投入測試人力以工時(shí)數(shù)或CPU小時(shí)表示,分配給模塊i(i=1,2,…,M)的測試人力量用q*表示,于是可由qi(i=1,2,…,M)代換(1-2)式中的w(t):
(1-2)
式子中各參數(shù)的意義為:
:測試開始前模塊i內(nèi)潛在差錯(cuò)總數(shù)期望值;
:對(duì)模塊i的單元測試人力差錯(cuò)發(fā)現(xiàn)率;
:分配給模塊i的測試人力量。
所以軟件整體殘存差錯(cuò)總數(shù)期望值可由(1-3)式推出:
(1-3)
如果將以上測試人力最優(yōu)分配問題用數(shù)學(xué)表達(dá)式來表示則有:
(1-4)
其中是模塊i的重要程度、程序設(shè)計(jì)的復(fù)雜程度等因素而確定的對(duì)模塊i的加權(quán)值,但對(duì)(1-4)還要附加如下限制條件:
(1-5)
式中Q 表示事先測算的既定測試總?cè)肆α俊?/p>
下面我們的目標(biāo)就是推出滿足(1-5)式條件下(1-4)式所表示的分配給各模塊的測試人力量(i=1,2,…,M)
其次引入一個(gè)Lagrange乘數(shù)以便解(1-4)和(1-5)的最適解問題,即:
(1-6)
那么,具有最適解的必要條件:
(1-7)
就是說最佳解必須滿足上述方程,由此可解得最適解為:
(1-7)
這里(i=1,2,…,M)據(jù)(1-5)、(1-6),可由下式給出:
(1-9)
在此,設(shè)各模塊排列次序?yàn)椋?/p>
(1-10)
這個(gè)排列次序意味著對(duì)各模塊分配的測試人力量是按發(fā)現(xiàn)差錯(cuò)從難到易的模塊
順序來進(jìn)行的。
三、最優(yōu)分配算法
根據(jù)以上分析,顯然,具有(1-8)式所表示的最佳解的充分條件是有(1-5)的曲線凸特性和(1-6)的直線性,因此,可按以下算法算出最佳分配量(i = 1,
2,…,M):
1.推算關(guān)于M個(gè)測試模塊的參數(shù)、和權(quán)值(i=1,2,…,M),以及設(shè)定測試開始時(shí)根據(jù)預(yù)測決定的總測試人力Q;
2.設(shè)定初始值K=0;
3.進(jìn)行(1-8)、(1-9)式的有關(guān)計(jì)算
4.如果對(duì)于所有i都有qi≥0則去執(zhí)行第6 步;
5.令<0 的模塊I(I=M-K,M-K+1,…,M)的=0 使K=K+1 后轉(zhuǎn)去執(zhí)行第3步;
6.輸出最優(yōu)分配量(i=1,2,…,M)
參考文獻(xiàn)
[1]趙曉華著:計(jì)算機(jī)可靠性與質(zhì)量管理.北京,中國經(jīng)濟(jì)出版社,2000.8
[2]張海藩著:軟件工程.北京,清華大學(xué)出版社,1999.2
[3]H.ohtera and S.Yamaha《 Optinal allocation and control problem for software testingresources》,IEEETrans. Reliability,Vol.R-39,NO.2(June,1990)
[4]山田茂 大寺浩志著:《リァトゲヱの信賴性》,SRC,車子(1990)
(作者單位:神華銷售集團(tuán)錫林浩特能源銷售有限公司)