>
學(xué)校機(jī)構(gòu) >
北京尚腦互聯(lián)軟件測(cè)試培訓(xùn)中心 >
學(xué)習(xí)資訊>
創(chuàng)建自動(dòng)化功能測(cè)試的基本原則
創(chuàng)建自動(dòng)化功能測(cè)試的基本原則
174 2017-05-23
每個(gè)實(shí)行持續(xù)交付的項(xiàng)目,都有生產(chǎn)流水線的元素,如持續(xù)集成和自動(dòng)化測(cè)試。這些測(cè)試是在不同層面進(jìn)行的,從單元測(cè)試到冒煙測(cè)試再到功能測(cè)試。自動(dòng)化功能測(cè)試的優(yōu)點(diǎn)之一是可重復(fù)性和可預(yù)測(cè)的執(zhí)行時(shí)間。出于這個(gè)原因,它應(yīng)該作為軟件質(zhì)量的每一個(gè)構(gòu)建之后的指標(biāo)。功能測(cè)試自動(dòng)化往往會(huì)成為一個(gè)瓶頸,所以你應(yīng)該熟悉一下如何創(chuàng)建這樣的測(cè)試的基本原則。
首先設(shè)計(jì)你的測(cè)試測(cè)試集合可以比作盆景樹(shù)。最初的時(shí)候,我們照顧樹(shù)根和樹(shù)干。我們選擇會(huì)成長(zhǎng)的主要分支,我們每天都細(xì)心照料這棵樹(shù)并等待它長(zhǎng)出健康的葉子。我們可以以類似的方式繼續(xù)測(cè)試。我們建一個(gè)將負(fù)責(zé)應(yīng)用程序主要功能(例如:開(kāi)啟)的基類。根據(jù)說(shuō)明,我們先明確將被測(cè)試覆蓋的應(yīng)用程序的主要功能,然后每天我們?cè)趫?zhí)行測(cè)試的時(shí)候都添加更多平行測(cè)試。每一個(gè)支持測(cè)試(例如創(chuàng)建一個(gè)新的用戶)的方法都需要與測(cè)試分離——讓我們?cè)趩为?dú)的類里面來(lái)實(shí)現(xiàn)。你應(yīng)該在包括了應(yīng)用程序主要功能的目錄里保持類。去建一個(gè)規(guī)定很多功能共有方法的抽象類是很好的做法。如果你正在測(cè)試Web應(yīng)用程序,就用頁(yè)面對(duì)象設(shè)計(jì)模式。該模式里,一個(gè)類及其方法對(duì)應(yīng)了單個(gè)頁(yè)面的功能或一個(gè)大型網(wǎng)頁(yè)里單個(gè)頁(yè)面上的一個(gè)元素。無(wú)需事事自動(dòng)化自動(dòng)化花費(fèi)很多,所以你應(yīng)該主要測(cè)試應(yīng)用程序的主要功能。某些測(cè)試可以快速輕松地手動(dòng)完成,且潛在腳本可能難以實(shí)現(xiàn)。值得用到自動(dòng)化的是那些繁瑣的需要被重復(fù)很多次的,和那些需要大量數(shù)據(jù)驗(yàn)證的測(cè)試工作。寫(xiě)短測(cè)試在一個(gè)或多個(gè)測(cè)試失敗的情況下,開(kāi)發(fā)團(tuán)隊(duì)的任何成員都應(yīng)該能夠輕松地找到錯(cuò)誤的原因。出于這個(gè)原因,每個(gè)測(cè)試方法里應(yīng)該最多有5個(gè)斷言,并且每個(gè)方法都必須提供的測(cè)試操作的完整記錄。明智的做法是使用BDD(行為驅(qū)動(dòng)開(kāi)發(fā))技術(shù),但是當(dāng)你沒(méi)有用一個(gè)特定的測(cè)試框架時(shí),你應(yīng)該把接下來(lái)的測(cè)試步驟放詍ents
//given//when
//then下。創(chuàng)建獨(dú)立測(cè)試在測(cè)試類中的每個(gè)方法應(yīng)該是一個(gè)獨(dú)立的實(shí)體,而不是依賴于其他測(cè)試。我們應(yīng)該能夠在任何時(shí)間運(yùn)行單個(gè)測(cè)試。否則,這樣的測(cè)試用例集將來(lái)維護(hù)起來(lái)就會(huì)很貴——必須定期跟蹤和更新測(cè)試之間的聯(lián)系。很多時(shí)候,測(cè)試需要一定的前提條件來(lái)滿足。這些條件不應(yīng)該用外部方法,應(yīng)該在試驗(yàn)開(kāi)始時(shí)運(yùn)行。如果這些條件和測(cè)試類的所有方法一樣,它們就可以被放在一開(kāi)始進(jìn)行的方法里(例如:在JUnit中被標(biāo)記為@
BeforeClass)。關(guān)注可讀性源代碼應(yīng)該是自我記錄的,而寫(xiě)下以下幾行代碼的每個(gè)利益相關(guān)者應(yīng)該明白測(cè)試在做什么,為什么它被這么寫(xiě)。盡量避免在源代碼注釋,因?yàn)樗脖仨毐桓?。這值得花比平常多一點(diǎn)的時(shí)間來(lái)命名方法,從而使你的代碼更易讀。再看看行為驅(qū)動(dòng)開(kāi)發(fā)技術(shù),每個(gè)測(cè)試方法都應(yīng)以單詞“應(yīng)該”開(kāi)始,而不是“測(cè)試”。根據(jù)這一慣例,我們馬上就可以明白一個(gè)特定的方法測(cè)試什么內(nèi)容了,它在分析測(cè)試報(bào)告時(shí)特別有用。
請(qǐng)聯(lián)系網(wǎng)站客服,了解詳細(xì)的課程信息~
優(yōu)質(zhì)、便捷、省心
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號(hào)
獵學(xué)網(wǎng)服務(wù)號(hào)