單元測(cè)試
為了確保開(kāi)發(fā)中的云應(yīng)用的更高質(zhì)量,正在做測(cè)試的開(kāi)發(fā)人員創(chuàng)建了可應(yīng)用的單元測(cè)試。單元測(cè)試提供了一些好處,諸如能夠無(wú)需等待其他可用單元可進(jìn)行測(cè)試,能夠以更低的成本來(lái)檢測(cè)和刪除軟件故障(比起在后期這么做)。對(duì)云應(yīng)用進(jìn)行單元測(cè)試的一個(gè)有效方法是使用各種基于桌面的云環(huán)境仿真器,如Microsoft Azure Compute和Storage Emulators,它們使開(kāi)發(fā)人員能夠在本地運(yùn)行并測(cè)試他們的云應(yīng)用程序,而不是部署后再進(jìn)行測(cè)試。然后這些單元測(cè)試可以用于進(jìn)行回歸測(cè)試了,如果該軟件改變了,他們可以早點(diǎn)生效并大限度地減少對(duì)系統(tǒng)的不利影響。通常,輸入所有的可能去測(cè)試一個(gè)單元是不可行的,因?yàn)檩斎肟臻g太大以至無(wú)限。因此,我們需要一個(gè)標(biāo)準(zhǔn)來(lái)決定使用什么測(cè)試輸入及何時(shí)停止測(cè)試。
自動(dòng)化測(cè)試
為了減少手動(dòng)工作,測(cè)試人員或開(kāi)發(fā)人員可以使用可以自動(dòng)生成測(cè)試輸入以實(shí)現(xiàn)高結(jié)構(gòu)覆蓋的自動(dòng)化測(cè)試生成工具。由于云應(yīng)用程序?qū)嶋H上是依靠云環(huán)境的應(yīng)用程序的,所以一個(gè)云應(yīng)用程序里被測(cè)單元的行為是依賴于單元輸入及云環(huán)境狀態(tài)的。使用存根云模型可以減輕這些問(wèn)題。有了這樣的模型,可以用(能夠給云API方法調(diào)用提供一些默認(rèn)的或用戶定義的返回值的)假/存根云環(huán)境模擬真正的云環(huán)境了。一個(gè)圖形用戶界面(GUI )的自動(dòng)化測(cè)試表現(xiàn)了在基于字符界面未被發(fā)現(xiàn)的顯著困難;少了很多命令行界面或編程接口(APIs )。圖形用戶界面往往是由復(fù)雜的組件構(gòu)成,而且往往在開(kāi)發(fā)過(guò)程中被不斷地重新設(shè)計(jì)。發(fā)布能夠識(shí)別和操作圖形用戶界面的測(cè)試工具取得了顯著成功。Selenium與Sahi是實(shí)例。該GUI自動(dòng)化測(cè)試可以由開(kāi)發(fā)人員寫(xiě)或具備適當(dāng)技能的測(cè)試人員寫(xiě)。這些測(cè)試用例的深層開(kāi)發(fā)是為了用戶體驗(yàn)和正確性。這些測(cè)試用例僅表示測(cè)試用例中的被操作對(duì)象。使用這些工具,你能通過(guò)錄制和重放或通過(guò)寫(xiě)測(cè)試代碼來(lái)創(chuàng)建測(cè)試用例。如果編寫(xiě)準(zhǔn)確,這些測(cè)試可以與在一個(gè)連續(xù)集成(CI)環(huán)境中創(chuàng)建并運(yùn)行的單元測(cè)試集成起來(lái)。所寫(xiě)測(cè)試將可以和終端用戶一樣操縱一個(gè)瀏覽器。然而,并非所有的測(cè)試用例都可以,因?yàn)樵频臓顟B(tài)和環(huán)境不一樣。從源(例如:數(shù)據(jù)庫(kù)或文件)讀取數(shù)據(jù),將使得測(cè)試以幾種不同的方式運(yùn)行以呈現(xiàn)GUI,這允許文本字段的不同輸入和結(jié)果的驗(yàn)證,以便能夠點(diǎn)擊按鈕和下拉菜單,并且還能夠驗(yàn)證文本及屏幕上對(duì)象的位置。如果注意到任何差異,它能夠?qū)⒃搯?wèn)題寫(xiě)入(可以用來(lái)驗(yàn)證問(wèn)題已被挖掘的)日志文件中。它多樣且能夠在多個(gè)瀏覽器的Web測(cè)試中運(yùn)行,這使你能夠攔截缺陷并輕松復(fù)制。自動(dòng)化測(cè)試的這兩個(gè)方法將能夠比手動(dòng)測(cè)試快得多地運(yùn)行測(cè)試用例,還能夠覆蓋更廣泛的測(cè)試環(huán)境和狀態(tài)。這些測(cè)試用例運(yùn)行期間挖掘的缺陷也可以在終用戶交互之前被修復(fù)和部署,從而獲得更好的用戶體驗(yàn)并減少人為錯(cuò)誤。
手動(dòng)測(cè)試
軟件測(cè)試的方法可以基于程序的形態(tài)及其實(shí)現(xiàn),或兩者兼有。所要求的基于形態(tài)的測(cè)試指導(dǎo)測(cè)試用例的選擇過(guò)程,并提供一種評(píng)估測(cè)試充分性的手段。另外,基于實(shí)現(xiàn)的測(cè)試側(cè)重于行使被測(cè)程序,因此充分性通常是指覆蓋程序結(jié)構(gòu)要素。測(cè)試可以在多個(gè)粒度級(jí)別進(jìn)行組件測(cè)試,集成測(cè)試和系統(tǒng)測(cè)試。一個(gè)更廣泛且快速增長(zhǎng)的手工測(cè)試方法是探索性測(cè)試。在某些情況下,它可以比腳本測(cè)試更有效率。所有測(cè)試人員都會(huì)用到某種形式的探索性測(cè)試。隨著企業(yè)尋求更靈活及更具成本效益的方法去開(kāi)發(fā)軟件,這種態(tài)度開(kāi)始改變。其高度情境結(jié)構(gòu)可以使它在不經(jīng)意的觀察中看起來(lái)沒(méi)有任何結(jié)構(gòu)。
“所以說(shuō),一段旅程要想夠得上探險(xiǎn),必須是可信的并有困難和風(fēng)險(xiǎn)的,還必須要有新發(fā)現(xiàn)。像板球一樣,對(duì)外行解釋起來(lái)有那么點(diǎn)困難。但有一個(gè)元素是重要的,事實(shí)上從探索早期開(kāi)始嚴(yán)格地區(qū)分探索階段并嚴(yán)格采用“探索”一詞。很簡(jiǎn)單,這是對(duì)科學(xué)的崇敬。”——選自John Keay的《The Permanent Book of Exploration》
James Bach等人提到:探索性測(cè)試某種程度上來(lái)說(shuō)是測(cè)試者主動(dòng)控制測(cè)試設(shè)計(jì)的任一測(cè)試,因?yàn)槟切y(cè)試都被執(zhí)行了并使用了從通過(guò)測(cè)試設(shè)計(jì)新的更好的測(cè)試時(shí)獲得的信息。手工測(cè)試仍是大多數(shù)軟件開(kāi)發(fā)工作的高度相關(guān)部分。這些人如測(cè)試人員的特性(包括創(chuàng)造力,智力,領(lǐng)域知識(shí)及有效識(shí)別各種問(wèn)題的能力)使手動(dòng)測(cè)試成為軟件測(cè)試的重要部分。
結(jié)論
總之,軟件測(cè)試作為一項(xiàng)云計(jì)算服務(wù)是相當(dāng)新穎的,要放下測(cè)試傳統(tǒng)或常規(guī)方式去適應(yīng)它,仍需要作出轉(zhuǎn)變。不同類型的測(cè)試方法,例如自動(dòng)化測(cè)試,手工測(cè)試和單元測(cè)試已被用來(lái)在云中進(jìn)行測(cè)試時(shí)試著達(dá)到好的效果。把這些方法結(jié)合起來(lái)并基于云中還是會(huì)留下很多可以改進(jìn)的漏洞。仍然存在許多漏洞的原因是:需要獲得“云測(cè)試佳實(shí)踐指南”。隨著越來(lái)越多的應(yīng)用程序遷移到云中,我們對(duì)于它們將如何應(yīng)對(duì)在這樣的環(huán)境下進(jìn)行以及如何好地測(cè)試它們,測(cè)試什么,用什么方法測(cè)試什么都會(huì)有更好地理解。要使用什么自動(dòng)化工具(如果必須是自動(dòng)化的),要做單元測(cè)試嗎,或者它應(yīng)該是純手工測(cè)試嗎,這些問(wèn)題都是公司需要做出的并具有增值收益的業(yè)務(wù)決策。
為了實(shí)現(xiàn)云計(jì)算中軟件的更高質(zhì)量,需要一種新的關(guān)于如何測(cè)試軟件的思維方式,包括采取什么步驟以獲取佳結(jié)果。測(cè)試的傳統(tǒng)方法已經(jīng)給了測(cè)試人員和開(kāi)發(fā)人員許多經(jīng)驗(yàn)教訓(xùn),并且隨著我們進(jìn)入一個(gè)多數(shù)應(yīng)用程序隨處可得的時(shí)代,確保所獲知識(shí)適應(yīng)且適合云計(jì)算成了他們的責(zé)任,當(dāng)然這也是利益相關(guān)者和業(yè)務(wù)管理的責(zé)任。
版權(quán)聲明:本文出自 SPASVO澤眾軟件測(cè)試網(wǎng):http://dytjszp.cn/news/html/201458143930.html
原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。