您的位置:軟件測試 >> 測試技術(shù) >> 測試精品文章
提高云計(jì)算中的軟件質(zhì)量
作者:Gavlin Pather(澤眾軟件原創(chuàng)翻譯) 發(fā)布時間:[ 2014/5/8 14:26:32 ] 推薦標(biāo)簽:云計(jì)算 QA 自動化測試

  單元測試
  為了確保開發(fā)中的云應(yīng)用的更高質(zhì)量,正在做測試的開發(fā)人員創(chuàng)建了可應(yīng)用的單元測試。單元測試提供了一些好處,諸如能夠無需等待其他可用單元可進(jìn)行測試,能夠以更低的成本來檢測和刪除軟件故障(比起在后期這么做)。對云應(yīng)用進(jìn)行單元測試的一個有效方法是使用各種基于桌面的云環(huán)境仿真器,如Microsoft Azure Compute和Storage Emulators,它們使開發(fā)人員能夠在本地運(yùn)行并測試他們的云應(yīng)用程序,而不是部署后再進(jìn)行測試。然后這些單元測試可以用于進(jìn)行回歸測試了,如果該軟件改變了,他們可以早點(diǎn)生效并大限度地減少對系統(tǒng)的不利影響。通常,輸入所有的可能去測試一個單元是不可行的,因?yàn)檩斎肟臻g太大以至無限。因此,我們需要一個標(biāo)準(zhǔn)來決定使用什么測試輸入及何時停止測試。

  自動化測試
  為了減少手動工作,測試人員或開發(fā)人員可以使用可以自動生成測試輸入以實(shí)現(xiàn)高結(jié)構(gòu)覆蓋的自動化測試生成工具。由于云應(yīng)用程序?qū)嶋H上是依靠云環(huán)境的應(yīng)用程序的,所以一個云應(yīng)用程序里被測單元的行為是依賴于單元輸入及云環(huán)境狀態(tài)的。使用存根云模型可以減輕這些問題。有了這樣的模型,可以用(能夠給云API方法調(diào)用提供一些默認(rèn)的或用戶定義的返回值的)假/存根云環(huán)境模擬真正的云環(huán)境了。一個圖形用戶界面(GUI )的自動化測試表現(xiàn)了在基于字符界面未被發(fā)現(xiàn)的顯著困難;少了很多命令行界面或編程接口(APIs )。圖形用戶界面往往是由復(fù)雜的組件構(gòu)成,而且往往在開發(fā)過程中被不斷地重新設(shè)計(jì)。發(fā)布能夠識別和操作圖形用戶界面的測試工具取得了顯著成功。Selenium與Sahi是實(shí)例。該GUI自動化測試可以由開發(fā)人員寫或具備適當(dāng)技能的測試人員寫。這些測試用例的深層開發(fā)是為了用戶體驗(yàn)和正確性。這些測試用例僅表示測試用例中的被操作對象。使用這些工具,你能通過錄制和重放或通過寫測試代碼來創(chuàng)建測試用例。如果編寫準(zhǔn)確,這些測試可以與在一個連續(xù)集成(CI)環(huán)境中創(chuàng)建并運(yùn)行的單元測試集成起來。所寫測試將可以和終端用戶一樣操縱一個瀏覽器。然而,并非所有的測試用例都可以,因?yàn)樵频臓顟B(tài)和環(huán)境不一樣。從源(例如:數(shù)據(jù)庫或文件)讀取數(shù)據(jù),將使得測試以幾種不同的方式運(yùn)行以呈現(xiàn)GUI,這允許文本字段的不同輸入和結(jié)果的驗(yàn)證,以便能夠點(diǎn)擊按鈕和下拉菜單,并且還能夠驗(yàn)證文本及屏幕上對象的位置。如果注意到任何差異,它能夠?qū)⒃搯栴}寫入(可以用來驗(yàn)證問題已被挖掘的)日志文件中。它多樣且能夠在多個瀏覽器的Web測試中運(yùn)行,這使你能夠攔截缺陷并輕松復(fù)制。自動化測試的這兩個方法將能夠比手動測試快得多地運(yùn)行測試用例,還能夠覆蓋更廣泛的測試環(huán)境和狀態(tài)。這些測試用例運(yùn)行期間挖掘的缺陷也可以在終用戶交互之前被修復(fù)和部署,從而獲得更好的用戶體驗(yàn)并減少人為錯誤。

  手動測試
  軟件測試的方法可以基于程序的形態(tài)及其實(shí)現(xiàn),或兩者兼有。所要求的基于形態(tài)的測試指導(dǎo)測試用例的選擇過程,并提供一種評估測試充分性的手段。另外,基于實(shí)現(xiàn)的測試側(cè)重于行使被測程序,因此充分性通常是指覆蓋程序結(jié)構(gòu)要素。測試可以在多個粒度級別進(jìn)行組件測試,集成測試和系統(tǒng)測試。一個更廣泛且快速增長的手工測試方法是探索性測試。在某些情況下,它可以比腳本測試更有效率。所有測試人員都會用到某種形式的探索性測試。隨著企業(yè)尋求更靈活及更具成本效益的方法去開發(fā)軟件,這種態(tài)度開始改變。其高度情境結(jié)構(gòu)可以使它在不經(jīng)意的觀察中看起來沒有任何結(jié)構(gòu)。

  “所以說,一段旅程要想夠得上探險(xiǎn),必須是可信的并有困難和風(fēng)險(xiǎn)的,還必須要有新發(fā)現(xiàn)。像板球一樣,對外行解釋起來有那么點(diǎn)困難。但有一個元素是重要的,事實(shí)上從探索早期開始嚴(yán)格地區(qū)分探索階段并嚴(yán)格采用“探索”一詞。很簡單,這是對科學(xué)的崇敬。”——選自John Keay的《The Permanent Book of Exploration》

  James Bach等人提到:探索性測試某種程度上來說是測試者主動控制測試設(shè)計(jì)的任一測試,因?yàn)槟切y試都被執(zhí)行了并使用了從通過測試設(shè)計(jì)新的更好的測試時獲得的信息。手工測試仍是大多數(shù)軟件開發(fā)工作的高度相關(guān)部分。這些人如測試人員的特性(包括創(chuàng)造力,智力,領(lǐng)域知識及有效識別各種問題的能力)使手動測試成為軟件測試的重要部分。

  結(jié)論
  總之,軟件測試作為一項(xiàng)云計(jì)算服務(wù)是相當(dāng)新穎的,要放下測試傳統(tǒng)或常規(guī)方式去適應(yīng)它,仍需要作出轉(zhuǎn)變。不同類型的測試方法,例如自動化測試,手工測試和單元測試已被用來在云中進(jìn)行測試時試著達(dá)到好的效果。把這些方法結(jié)合起來并基于云中還是會留下很多可以改進(jìn)的漏洞。仍然存在許多漏洞的原因是:需要獲得“云測試佳實(shí)踐指南”。隨著越來越多的應(yīng)用程序遷移到云中,我們對于它們將如何應(yīng)對在這樣的環(huán)境下進(jìn)行以及如何好地測試它們,測試什么,用什么方法測試什么都會有更好地理解。要使用什么自動化工具(如果必須是自動化的),要做單元測試嗎,或者它應(yīng)該是純手工測試嗎,這些問題都是公司需要做出的并具有增值收益的業(yè)務(wù)決策。
  為了實(shí)現(xiàn)云計(jì)算中軟件的更高質(zhì)量,需要一種新的關(guān)于如何測試軟件的思維方式,包括采取什么步驟以獲取佳結(jié)果。測試的傳統(tǒng)方法已經(jīng)給了測試人員和開發(fā)人員許多經(jīng)驗(yàn)教訓(xùn),并且隨著我們進(jìn)入一個多數(shù)應(yīng)用程序隨處可得的時代,確保所獲知識適應(yīng)且適合云計(jì)算成了他們的責(zé)任,當(dāng)然這也是利益相關(guān)者和業(yè)務(wù)管理的責(zé)任。

  版權(quán)聲明:本文出自 SPASVO澤眾軟件測試網(wǎng):http://www.misscakediy.com/news/html/201458143930.html

  原創(chuàng)作品,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd