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