3.1 文檔模板
1. 《測試計劃模板》
2. 《測試需求模板》
3. 《測試需求變更通知單》
4. 《測試用例模板》
5. 《測試執行記錄模板》
6. 《缺陷跟蹤彙總表模板》
7. 《缺陷記錄單模板》
8. 《軟件測試分析報告模板》
3.2 需求變更控制
3.2.1 需求變更控制的條件
1. 在測試計劃階段,如果系統需求有變動,如果該需求已經制定,則只需更改該需求即可,如果該需求尚未制定,則根據變更後的系統需求制定測試需求。
2. 在符合以下條件時可以進行需求變更:
A. 測試計劃階段已經結束,測試需求已經確認並簽字;
B. 測試執行階段尚未正式開始;
3. 如果測試執行階段出現系統需求變更,而該變更對系統影響不大的話,可以填寫備忘記錄,在下一次測試項目中進行變更。
4. 如果測試執行階段出現系統需求變更,而該變更對系統影響較大而必須變更的話,雙方PM要就此達成認可,並填寫備忘錄,然後執行需求變更流程。如果需要暫停或中止當前測試執行過程,則需要更改協議並修正測試計劃。
3.2.2 需求變更流程:
1. 發包方的需求發生變更,由發包方項目負責人向承包方項目負責人提出需求變更要求,填寫《測試需求變更通知單》,並提供相應變更內容資料或指派人員提供變更內容;
2. 發包方項目負責人收到變更申請表後,制定測試分析人員進行測試需求變更;
3. 被指定的測試分析人員根據發包方提供的需求變更資料進行測試需求變更,如果是發包方指派人員提供變更內容則根據發包方指派人員提供的內容進行測試需求變更;
4. 被指定的測試分析人員在測試需求變更完成後通過承包方項目負責人通知發包方需求變更完成
5. 發包方項目負責人得到通知後指定其需求人員對變更的測試需求進行Review和確認;
6. 變更的測試需求被確認後,承包方項目負責人指派測試設計人員根據變更的需求修改測試用例或重新設計測試用例;
7. 在此之後的測試執行中使用修改後或重新設計的測試用例。
3.3 Rayleigh曲線的計算及其應用
3.3.1 Rayleigh曲線的計算公式
多數軟件開發週期中所發現的問題都遵循Rayleigh曲線。Rayleigh曲線表示了某個時間週期內所發現問題隨時間的變化趨勢。其公式爲:
f(t)=(2/t)*(t/c)2*(e-(t/c)**2)
其中,
c=tm* √ 2
e=2.71828 tm-Rayleigh曲線達到最大值時t的值
以上曲線下方所覆蓋面積的總和,就是所有問題的總和,即f(t)的積分函數(也稱爲”累計分佈函數“):
F(t)=l-(e -(t/c)**2 )
該曲線將無限接近於1
3.3.2 實際應用
由於多數軟件開發週期中發現的問題都遵循Rayleigh曲線分佈,在軟件產品交付給最終用戶使用之前,就可以利用該曲線預測出未來發生的問題個數。
例如:
下面是某軟件開發週期中發現的問題個數分佈圖:
-I0:t=1,9problems found
-I1:t=2,12problems found
-I2:t=3,17problems found
-UT:t=4,10problems found
-CT:t=5,6problems found
-ST:t=6,3problems found
-----------------------------------------------------------------------------------
小計:截至ST階段(系統測試)爲止,該軟件產品已發現57個問題。
問:在該軟件提交最終用戶之後(FP階段),可能還會發現多少問題?
解:
1. 因爲tm定義爲Rayleigh曲線達到最大值時t的值,而在此例中,在I2階段所發現的問題個數最多,I2階段對應於t=3,所以此處tm=3。
本例中參數c的計算爲:c= tm * √ 2=3*1.41=4.23
2.在t=6(ST階段結束時),使用公式F(t)=1-(e -(t/c)**2 )
F(6)=1-e*(-(6/4.23)**2)=1-e-99=1-2.71828-99=1-(0.135)=0.865=86.5%
3. t=6時,實際已發現的錯誤總數爲57
57/86.5%=所有錯誤總數/100%
因此所有錯誤總數=66
4. 所有錯誤總數-至今已發現的問題數=66-57=9
即,交付給用戶使用的軟件中,可能還存在9個問題。