乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      傳統(tǒng)腳本測試的局限

       wuhancar 2019-05-30


      我們知道,傳統(tǒng)的測試一般是先根據(jù)需求文檔編寫出測試用例,而后由測試人員本人或他人再根據(jù)測試用例的具體描述步驟(腳本)進(jìn)行執(zhí)行與驗(yàn)證。這種已經(jīng)持續(xù)了幾十年的測試方法我們又稱之為腳本測試(Scripted Test,簡稱ST)。但是這幾年隨著敏捷開發(fā)的流行以及業(yè)務(wù)本身快速發(fā)展的需要,在開發(fā)速度不斷得到提升的同時(shí)測試卻慢慢變成了瓶頸,主要體現(xiàn)在下面兩點(diǎn):


      1. 傳統(tǒng)腳本測試的速度應(yīng)對敏捷快速交付的要求有些吃力。當(dāng)前大部分敏捷項(xiàng)目的迭代周期是1至2周,除掉需求和開發(fā)所需工時(shí),留給測試的時(shí)間少之又少。而在這么短的時(shí)間內(nèi)還需要經(jīng)?;ㄙM(fèi)大量的時(shí)間來編寫詳細(xì)的測試用例文檔,使得測試人員不得不用加班來解決時(shí)間不足的問題;


      2. 除此之外,頻繁變更的需求也導(dǎo)致測試人員需要大量的時(shí)間來更新和維護(hù)測試用例。而在上線時(shí)間的壓力下,測試人員經(jīng)常感到疲于奔命,壓力巨大。


      那么測試人員在這種敏捷開發(fā)的環(huán)境下到底如何應(yīng)對才能更加從容呢?敏捷測試專家Lisa Crispin在她的著作《敏捷軟件測試:測試人員與敏捷團(tuán)隊(duì)的實(shí)踐指南》一書中提到了解決思路,那就是大家所熟知的測試金字塔:

      測試金字塔最初的原型分三層,底層是單元測試,中間層是API測試,上層GUI自動化測試。后來Lisa在金字塔的塔尖再補(bǔ)上了一片“云”,這片“云”就是探索式測試(Exploratory Test,簡稱ET)。



      什么是探索式測試?


      那么究竟什么是探索式測試?不同的測試專家都曾經(jīng)對其下過定義,但最新的一種定義如下:
      探索式測試是一種強(qiáng)調(diào)測試人員的自由和責(zé)任以不斷優(yōu)化其工作價(jià)值的測試方法,它通過將學(xué)習(xí)、測試設(shè)計(jì)和測試執(zhí)行作為互相支持的活動在整個項(xiàng)目過程中并行執(zhí)行。



      如何解讀這個定義呢?筆者建議抓住三個重點(diǎn):
      首先,它不是新的測試技術(shù)而更像是新的測試模式或風(fēng)格。正如Scrum其本質(zhì)是把工作按批次來完成但具體的開發(fā)方法沒有變化一樣,探索式測試本身也是會使用到我們熟悉的如等價(jià)類、邊界值等測試技術(shù),同時(shí)探索式測試也可以被應(yīng)用到不同的測試階段中;



      其次,和敏捷宣言更強(qiáng)調(diào)個體一樣,探索式測試同樣強(qiáng)調(diào)測試人員個人的主觀能動性,在這點(diǎn)上探索式測試的觀點(diǎn)與敏捷不謀而合,盡管探索式測試概念的提出比敏捷還要早(探索式測試由CemKaner博士在1983年提出);


      最后,探索式測試把測試學(xué)習(xí)、測試設(shè)計(jì)和測試執(zhí)行這些在傳統(tǒng)腳本測試中需要分開不同階段來完成的任務(wù)并行的執(zhí)行。當(dāng)然,這里說的并行其實(shí)就是一個小的循環(huán)迭代,以此可以最快的得到反饋,并且指導(dǎo)優(yōu)化下一輪的迭代。在這里大家是不是覺得有點(diǎn)熟悉的味道?和Scrum的核心思想是否一致?


      其實(shí)探索式測試還有其它一些體現(xiàn)敏捷思想的地方,比如和敏捷輕文檔一樣,探索式測試不再要求詳細(xì)的測試用例文檔;再比如和Sprint有固定的時(shí)間盒一樣,后面介紹的Session-Based Test Management(簡稱SBTM)也是基于固定時(shí)間盒來完成等等,這里就不一一展開討論了。


      探索式測試和腳本測試有什么不同?


      腳本測試一般會分為兩個階段:第一階段根據(jù)需求、標(biāo)準(zhǔn)、測試規(guī)范等文檔先輸出測試計(jì)劃、測試用例等測試交付件;第二階段則根據(jù)之前準(zhǔn)備好的測試用例由本人或者他人對被測系統(tǒng)進(jìn)行操作來執(zhí)行測試,最終輸出測試報(bào)告、缺陷報(bào)告等。如下圖:

      而探索式測試只有一個階段,測試人員根據(jù)一切可能掌握的信息和資料,針對被測系統(tǒng)進(jìn)行學(xué)習(xí),在學(xué)習(xí)的同時(shí)一邊設(shè)計(jì)測試要點(diǎn)一邊進(jìn)行測試,最終得到相關(guān)測試結(jié)果。如下圖:

      那么對于這兩種不同測試的效果如何呢?我們來看一個掃雷的例子,如下圖所示:黑色四邊形框框代表是雷區(qū),而紅色小方塊則代表地雷。

      如果按照腳本測試的方法,如下圖所示,會看到測試按步就班,雖然能發(fā)現(xiàn)一部分地雷,但仍然還存在很多的地雷沒有被發(fā)現(xiàn)。

      而如果按照探索式測試的方法,會看到更加發(fā)散,覆蓋度更大,所以其效率更高,發(fā)現(xiàn)的地雷的也更多,如下圖:

      探索式測試是隨機(jī)測試嗎?


      很多人覺得,既然測試前不再需要提前準(zhǔn)備測試用例了,同時(shí)測試又要依靠個人的自由發(fā)揮,那不就變成隨機(jī)測試(Ad-Hoc Testing)了嗎? 為了解釋這個問題,我想給大家舉一個猜數(shù)字游戲的例子:


      你預(yù)先在心里想好一個1到100之間的數(shù)字(假如是66),讓我來猜。我可以問任何問題,而你只有兩種回答:是或者不是。然后你我之間通過不斷的問答,最后猜中那個數(shù)字,而問的問題次數(shù)越少得分越高。


      我可能會天馬行空,想到什么數(shù)字就問什么數(shù)字,比如問是不是80?是不是2?是不是60等等,這種沒有規(guī)律隨機(jī)猜測的方式就像隨機(jī)測試一樣,相對來說是比較難快速找到答案的。



      另外一種方式我會有策略,比如先問是否比50???這里得到的回答應(yīng)該是“否”。那么我就會根據(jù)之前這個回答來判斷答案一定在50-100之間,而在下一個問題的時(shí)候我就會根據(jù)二分法原則問是否比75小,從而層層縮小范圍。這種通過對前一個結(jié)果的反饋進(jìn)行分析然后指導(dǎo)和優(yōu)化重新設(shè)計(jì)問題的方式其實(shí)就是探索式測試的核心理念所在,它和沒有策略完全依靠隨機(jī)的方式是截然不同的。

      如何開展探索式測試?


      這里談的開展包括兩個層次:首先,我們需要知道什么時(shí)候采用探索式測試。筆者認(rèn)為無論是腳本測試還是探索式測試,都有其優(yōu)勢和劣勢。最好的方式是兩者能結(jié)合在一起。但是至于哪個為主哪個為輔則取決于不同的項(xiàng)目情況和環(huán)境。甚至有時(shí)在時(shí)間很短的情況下直接只使用探索式也是可行的。具體的分類如下:

      類別

      時(shí)間緊迫

      時(shí)間充裕

      需求不明確/變更頻繁

      探索式測試

      探索式測試為主、腳本測試為輔

      需求明確/變更少

      探索式測試為主、腳本測試為輔

      腳本測試為主、探索式測試為輔



      另外,對于具體執(zhí)行層面,我們會采用一種稱之為Session-Based Testing management(簡稱SBTM)的方法來進(jìn)行測試。關(guān)于SBTM術(shù)語的中文翻譯,史亮、高翔兩位老師在他們的著作《探索式測試實(shí)踐之路》中把它翻譯成“基于測程的測試管理”,有興趣的朋友可以去查閱。



      SBTM把整個測試工作分成了多個Session來完成,每個Session包含了下面幾個要點(diǎn):

      Charter:一個session所要完成的使命;

      Time Box:一段固定的不被打擾的時(shí)間段,一般為60-90分鐘;

      Reviewable Results:匯總的關(guān)于Session的結(jié)果測試報(bào)告,常見的是Session Sheet;

      Debriefing:測試人員與測試主管的匯報(bào)交流,就本次測試的發(fā)現(xiàn)進(jìn)行檢查,并且看看優(yōu)化改進(jìn)的地方。



      下面是埃森哲關(guān)于SBTM的一個簡單的測試流程,僅供各位讀者參考:

      總結(jié)


      探索式測試本身具備的敏捷特性,使得其非常契合應(yīng)用在敏捷開發(fā)項(xiàng)目中,可以看做是敏捷開發(fā)的最佳拍檔。當(dāng)然,探索式測試也不是能包治百病的靈丹妙藥,最關(guān)鍵還是需要測試人員了解學(xué)習(xí)探索式測試,同時(shí)愿意努力去嘗試和實(shí)踐,并且不斷去改進(jìn)和優(yōu)化它,因?yàn)檫@個世上不會有銀彈。


      參考:
      《探索式測試實(shí)踐之路》,史亮,高翔
      《埃森哲探索式測試方案》

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多