软件测试自动化框架
??????????????????????????????????????????????????????????????????????????????
??????? 早在1997年,我工作過的一些系統驗證測試(SVT)和功能驗證測試(FVT)的組織已經明白,為了適應未來的新項目,他們需要減少每個現有項目的資源。為此目的,這些組織創建了專責小組,以研究如何降低測試的費用。這個專責小組主要關注兩個區域上的改進,它們是重用和自動化。對我們來說,重用涉及多個測試之間的公共功能的共享庫能力。因此,針對本文的目的,測試就是執行一個程序來確認另一個程序的行為。而自動化主要指去除人與過程之間的交互,并替換為機器或程序控制。在我們的事例中,這個過程就是軟件測試。通過重用和自動化,我們計劃減少測試所需的那些資源(如硬件、人或者時間等)。
??????? 為了說明我們遇到的這些問題,以及我們提到的解決方案,這里,我使用一個曾經進行過SVT(系統驗證測試)的產品作為例子。這個產品是IBM OS/2 WARP*電子商務(e-Business)服務器,它不僅包含了基礎的操作系統(OS/2*--Operating System/2*),也包括了一個局域網(LAN)內部的文件和打印服務器(也就是LAN服務器),以及Web服務器、Java虛擬機(JMV)等等。測試這樣的產品是一件令人畏懼且耗時的工作。而我們所做的任何改進,其目的都是要降低這項工作的復雜度,讓它變得更為可行。
??????? 為此目的,我們會設計測試序列(test suite)對產品的相同區域進行確認測試。此處,我們會討論一個特別的測試序列,它就是人們所熟知的“食人魔(Ogre--引申為耗費大量的人力物力)”測試序列。我們設計的這個測試序列用來執行LAN服務器和基礎OS/2的負載和壓力測試。食人魔是“著名的”資源密集測試序列,而我們嘗試著利用自動化來幫助我們減少測試所需的硬件、人員和時間的數量。
??????? 根據我們的要求,降低我們所創建的測試的復雜度并將其自動化成了我們最需要關注的方面,因此,我們查找了IBM和測試業界內的一些現有的解決方案。然而,這些解決方案中沒有一個是符合我們要求的,于是我們自己開發了一個新的方案,它就是軟件測試自動化框架(STAF)。本文將會探索STAF的設計,并講解STAF是如何實現重用的,以及如何使用STAF來自動化并改進我們的Ogre測試序列。另外,STAF提供的這個解決方案也具有相當的靈活性,這在后文中會有表現。最后,這項技術會為大多數測試組織所采用,以加強他們的測試過程的效率。
遇到的問題
??????? 圖1描繪了一個軟件測試周期。其中,計劃由被測試產品的特征分析和測試工作的詳細范圍這兩部分組成。設計則包括了文件和確認產品所需的測試細節。開發涉及對實際測試的創建或修改。執行則與實際測試的運行有關。分析或復查是對測試結果和測試工作有效性的評估,此評估會作為下一個測試周期的計劃階段所使用的依據。
???????????????
??????? 重用側重于對測試周期中開發部分的改進,以及對設計部分的小程度改進。自動化側重于對測試周期中執行部分的改進。雖然每個產品的測試周期都是不同的,但通常大多數的人工都花在了執行上,接著是開發,然后是設計、計劃和分析或復查。通過改進(或提高)我們的重用和自動化水平,我們可以對測試周期中這些耗時費力的工作產生積極地影響。
轉載于:https://www.cnblogs.com/junzhongxu/archive/2008/07/11/1240564.html
總結
- 上一篇: PHP中操作MySQL的一些要注意的问题
- 下一篇: (收藏)[Unix] vi基本操作方法