打開BOSS應用軟件測試的死結[3] 軟件測試
二、第二步:通過回歸測試確保新業務上線
所謂“新上線業務功能導致原有正常業務功能出錯”,實際上就是“回歸測試”做得不夠,或者說,回歸測試就是為了預防這種問題的發生才被提出來。
1.要做好的具體工作
嚴格來說,軟件開發/集成商正式發布的軟件,在經過大量的測試后,會形成一個針對該軟件的測試用例庫,其中的測試用例覆蓋了現有的全部軟件功能。而當增加一個新業務功能,針對該新業務功能本身,固然要做測試,但為了驗證該新業務功能的代碼或配置信息是否對原有功能產生消極影響,還必須經過完整的回歸測試。從實際操作的角度來看,開發/集成商和運營商需要這些具體工作。
1)開發/集成商建立完整的測試用例庫,并執行自動化的回歸測試。為了確保新業務上線,能對原有功能執行嚴格的回歸測試,必須能將回歸測試自動化,并且這種自動化是依賴于原有功能的完整測試用例庫的基礎之上。沒有完整、涵蓋原有軟件所有功能的測試用例庫,就不可能知道要執行哪些回歸測試;沒有對回歸測試自動化,不可能手工執行工作量如此巨大的回歸測試,也就不可能真正做到“嚴格”。
2)營商搭建完整的回歸測試環境,并執行必要的回歸確認測試。一般來說,運營商在新業務功能上線前,均會對新業務功能本身進行確認測試。但即使在開發/集成商做過嚴格的功能回歸測試后,運營商仍然還需要對其進行必要的回歸確認測試,尤其是針對相關聯的業務功能來說更加如此。實際上,回歸確認測試工作量往往數倍于新功能本身的確認測試,所以這部分工作不能忽視。
2.工作落實建議
第一個工作實際上是以第一步“加強上線前開發/集成商的軟件測試”的所有工作內容為基礎。沒有完整而務實的測試工作流程,就不可能有完整的測試用例庫;沒有自動化回歸測試工具,就無法錄制這些測試用例的自動化回歸測試腳本(開發/集成商自行編碼實現自動回歸測試,工作量一樣很大,不現實),也就不可能進行嚴格的回歸測試(對于BOSS這樣的大型應用軟件,回歸測試是不可能通過手工測試能夠做好的)。做不到第一步中的五點工作內容,“執行嚴格的回歸測試”將會成為一句空談。
第二個工作,一方面需要運營商提供設備、開發/集成商負責搭建并維護一套完整的測試環境。另一方面,作為客戶,運營商在安排新業務功能的確認測試工作量和工作時間時,要充分考慮到回歸確認測試。如果不承認這個必要的工作,往往不可避免會出現“新上線業務功能導致原有正常業務功能出錯”這樣的問題。
三、第三步:通過性能測試保證系統支撐能力
1.要做好的具體工作
之所以出現系統性能越來越差,越來越慢,直至某天系統開始宕機這樣的現象,完全是因為隨著系統新業務功能的不斷開通,以及系統支撐用戶量、數據量的增長,沒有量化地把握系統支撐能力變化趨勢,從而無法掌控系統支撐能力的發展所致。為此,需要做好以下這些工作。
1)對新上線業務功能執行量化的性能測試和分析。由于缺乏新上線業務功能對生產系統產生多大影響的量化性能測試和分析結果,所以無法把握新功能所消耗部分的系統資源所代表的設備成本。而通過對所有新上線業務功能的量化性能測試和分析,就可以做到心中有數,準確地掌控系統荷載情況的變化趨勢,從而及早地預測出系統支撐能力的“臨界點”。
2)及時對新業務發展或系統支撐能力做出調整。僅僅有了上述的工作基礎,仍然不能徹底解決問題,還需要將這些量化的數據作為決策的依據,是在系統支撐能力限制下有選擇的調整新業務的實現方式,還是及時、有計劃地擴充系統支撐能力,都是必須要執行的工作內容。
2.工作落實建議
對于第一項工作,在運營商提供完整測試環境和工具軟件的前提下,開發/集成商應當在運營商的明確要求下,認真落實執行這個工作要求,并定期向運營商提交量化的測試分析數據,以及針對業務實現方式或系統擴容的實際可行的調整建議。
在開發/集成商做好第一個工作內容的基礎上,運營商要做到的,就是及時關注這些測試分析數據和調整建議,并有計劃地安排和落實執行。只有這樣通過雙方的共同努力,才能確保應用系統的真正穩定可靠運行。
總結
總的來說,切實做好第一步工作,或者說解決好第一個問題,才是打開BOSS應用軟件測試死結的關鍵所在。沒有了第一步的落實執行,后兩步的工作缺乏基礎,就顯得空洞而不務實。而做好第一步的工作,關鍵是開發/集成商和運營商雙方面的努力:一方面開發/集成商要在管理上建立完整而實用的測試流程并確保執行,和培養合格的測試隊伍;另一方面運營商要在系統建設之初就充分考慮測試環境方案,以及要求開發/集成商引入并使用好相應的自動回歸和性能測試工具。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/