qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          敏捷測(cè)試?yán)碚撘约皩?shí)踐(2)

           所謂的V模型,其實(shí)是對(duì)瀑布模型的一種修改,也算一個(gè)Change吧,詳見下圖:

            由于瀑布模型對(duì)于軟件的需求分析與設(shè)計(jì)階段考慮不足,導(dǎo)致可能會(huì)出現(xiàn)嚴(yán)重的設(shè)計(jì)問題,最后交付到客戶手里才會(huì)被發(fā)現(xiàn),所以V模型就考慮到這點(diǎn),針對(duì)開發(fā)的各個(gè)過程都會(huì)有相應(yīng)的測(cè)試環(huán)節(jié),比如用戶需求會(huì)對(duì)應(yīng)驗(yàn)收測(cè)試,需求分析和系統(tǒng)設(shè)計(jì)會(huì)對(duì)應(yīng)確認(rèn)測(cè)試和系統(tǒng)測(cè)試等等(詳見上表),這樣子起碼在交付前會(huì)把用戶需求方面的問題覆蓋到,不太會(huì)出現(xiàn)說這個(gè)產(chǎn)品不是客戶想要的這種問題。

            但是缺點(diǎn)也是顯而易見的,跟瀑布模型一樣,測(cè)試過程還是放在了最后環(huán)節(jié),雖然可以滿足客戶的需求,但是問題都只能到最后階段才能被發(fā)現(xiàn),必然會(huì)導(dǎo)致上面瀑布模型發(fā)生相同情況,也就是成本和時(shí)間的增加,所以V模型充其量也只能是瀑布模型的2.0版本。(不過好歹已經(jīng)有了Change,我相信在那個(gè)年代的背景呀,已經(jīng)算挺不錯(cuò)了,已經(jīng)考慮到需要對(duì)需求分析這些進(jìn)行測(cè)試了)

            當(dāng)然,時(shí)代總是在不斷地變化之中,你不懂得Change,那唯一的結(jié)局就是落后,落后就要挨打,有多少曾經(jīng)風(fēng)光的軟件公司在今天已經(jīng)找不到蹤影,活下來的公司都是能不斷適應(yīng)時(shí)代改變而改變的公司。

            V模型雖然比瀑布模型稍微先進(jìn)那么一點(diǎn),但是總是沒法跟得上時(shí)代的進(jìn)步,因?yàn)橛鞋F(xiàn)在看來顯而易見的缺點(diǎn)(當(dāng)然,這里得說一下,即使在現(xiàn)在,瀑布模型和V模型還是有其用武之地,特別是那種對(duì)質(zhì)量看得非常嚴(yán)格,基本上方案定了不會(huì)有改動(dòng)的行業(yè),所以它們沒有被淘汰,我這里講的Change其實(shí)更多是針對(duì)敏捷開發(fā)的公司的,這類公司其實(shí)以前就應(yīng)該敏捷,只是那個(gè)時(shí)候沒敏捷的想法,但是它們的開發(fā)流程總是有敏捷的需求,所以這個(gè)流程總是在Change中,并且不斷地去適應(yīng)和反過來推動(dòng)它們的流程的繼續(xù)發(fā)展。)

            上面講了這么多,大家已經(jīng)知道了瀑布模型和V模型對(duì)于需要敏捷的公司有一個(gè)致命傷了,也就是他們的測(cè)試環(huán)節(jié)總是放在開發(fā)完成后,從而導(dǎo)致了所有的Bug都是只能在最后才能被發(fā)現(xiàn),客觀上增加了產(chǎn)品是否能按時(shí)和正確地發(fā)布的風(fēng)險(xiǎn)。既然知道了問題所在,咱們的過程分析管理人員們也不是蓋的,紛紛想出了高招。

            首先來介紹一下W模型(見下圖),W模型其實(shí)是有兩個(gè)V模型組成,其實(shí)也就是雙V了,看起來像W就叫做W模型了,W模型強(qiáng)調(diào)測(cè)試需要和開發(fā)同步進(jìn)行,開發(fā)包括哪幾個(gè)步驟,測(cè)試就需要測(cè)哪幾個(gè)步驟,更重要一點(diǎn)是需要同步進(jìn)行,也就是說你做完這一步我就需要測(cè)掉這一步,那開發(fā)的步驟也無非就包括了需求、設(shè)計(jì)和代碼了,所以這些步驟都進(jìn)行測(cè)試。



           一看W模型,我就覺得這個(gè)模型已經(jīng)很現(xiàn)代了,因?yàn)樗K于把測(cè)試環(huán)節(jié)解放出來了,可以說是一個(gè)革命性的改變,把大家一直認(rèn)為開發(fā)最后一步的測(cè)試環(huán)節(jié),提到了跟開發(fā)同步的環(huán)節(jié),并且把測(cè)試環(huán)節(jié)擴(kuò)展到了需求和設(shè)計(jì)環(huán)節(jié),這個(gè)理念已經(jīng)跟現(xiàn)在的測(cè)試?yán)砟钜粯恿恕?/p>

            在W模型中,當(dāng)客戶需求出來后,測(cè)試就會(huì)開始介入,看看需求里寫的是不是就是客戶當(dāng)時(shí)所說;在設(shè)計(jì)完成后,看看設(shè)計(jì)文檔是不是真實(shí)地反映了客戶需求精神;在開發(fā)完成后,就開始單元測(cè)試,集成測(cè)試,確認(rèn)測(cè)試,集成測(cè)試和驗(yàn)收測(cè)試。這樣子的話,基本上也就解決了前面瀑布模型和V模型碰到的問題。(能提出這個(gè)模型的研究員,我覺得很厲害,贊一下?。?/p>

            當(dāng)然說了優(yōu)點(diǎn)還是得說一下缺點(diǎn),W模型雖然把測(cè)試與開發(fā)過程同步進(jìn)行了,但是總是有前后關(guān)系,也就是一個(gè)過程完全完成后,才能進(jìn)行下一個(gè)階段,比如說需求過程完全做完以后,再去由測(cè)試去研究是否符合客戶要求,然后才能開始設(shè)計(jì)階段;設(shè)計(jì)工作完全完成后,再檢查設(shè)計(jì)文檔是否真正體現(xiàn)客戶的需求,然后再開始編碼階段。。。。。。,這樣子的話,簡(jiǎn)單的軟件還行,但是一旦一個(gè)軟件很復(fù)雜,需求可能會(huì)經(jīng)常變更,這個(gè)模型就不知道怎么處理這種變更,因?yàn)樗J(rèn)為需求處理完了就完了,以后不會(huì)再有變更;設(shè)計(jì)驗(yàn)證過了就Ok了,以后不會(huì)再有變化。如果某一天,已經(jīng)在進(jìn)行單元測(cè)試了,突然客戶一個(gè)需求改了,或者加了一個(gè)新功能,這個(gè)模型看著就蒙了,如果是經(jīng)常有更改的話,這個(gè)模型就瘋了,呵呵。

            其他還有幾種著名模型,比如H模型和X模型,都是對(duì)瀑布模型和V模型進(jìn)行了不錯(cuò)的更新,當(dāng)然也還是有其局限性,上面W模型存在的問題還是沒法解決。

            不過,時(shí)代還在繼續(xù)發(fā)展,還有More Change等著咱們呢,且繼續(xù)聽下回分解。

            (未完待續(xù))


          posted on 2011-11-15 14:18 順其自然EVO 閱讀(140) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 崇左市| 喜德县| 乃东县| 大港区| 分宜县| 惠水县| 吉水县| 九龙县| 准格尔旗| 伊宁县| 松溪县| 黑水县| 尖扎县| 通州区| 太仆寺旗| 方正县| 凉城县| 天台县| 慈溪市| 林甸县| 通山县| 包头市| 临汾市| 吴桥县| 新宁县| 林甸县| 绵阳市| 南京市| 贵南县| 微山县| 曲周县| 崇仁县| 大渡口区| 新绛县| 绥芬河市| 平果县| 黑水县| 蓬安县| 红原县| 长顺县| 余庆县|