敏捷測(cè)試?yán)碚撘约皩?shí)踐(3)
現(xiàn)在先來(lái)總結(jié)一下到底上面說(shuō)的模型存在著哪些問(wèn)題:
1、客戶生氣地說(shuō):這個(gè)產(chǎn)品好像不是我們想要的吧!早知你們給我這樣子的產(chǎn)品,我才不會(huì)下單了,你們也早點(diǎn)跟我說(shuō)這個(gè)產(chǎn)品是這樣子,到現(xiàn)在才給我看,浪費(fèi)我時(shí)間,精力,我不買(mǎi)了!(客戶到交付后來(lái)發(fā)現(xiàn)產(chǎn)品與當(dāng)初他們提的需求不一致,所以很生氣,后果很嚴(yán)重)
2、設(shè)計(jì)團(tuán)隊(duì)激動(dòng)地說(shuō):都開(kāi)發(fā)了這么長(zhǎng)時(shí)間了,你們還要改功能加功能啊,這樣子會(huì)影響到很多其他功能的,會(huì)影響最后發(fā)布時(shí)間的,而且最后的質(zhì)量如何,我不能保證。(老兄,我出錢(qián)買(mǎi)你們產(chǎn)品的好吧,我想加什么功能改什么功能當(dāng)然得給我弄好,不然我不付錢(qián)了!)
3、開(kāi)發(fā)人員暴跳如雷地說(shuō):你們這幫測(cè)試,早不提晚不提,總是在最后要發(fā)布前給我們提這么多Bug,是不是存心給我們找茬啊!要是不能準(zhǔn)時(shí)發(fā)布,你們負(fù)責(zé)啊!(測(cè)試人員委屈地說(shuō):我們也想能早點(diǎn)發(fā)現(xiàn)這個(gè)Bug,早點(diǎn)修好這個(gè)Bug啊,但是之前你們也沒(méi)我Build測(cè)啊!)
就這樣,不斷地出現(xiàn)相互的抱怨,也就是所謂的矛盾,哲學(xué)上說(shuō),矛盾是事物發(fā)展的動(dòng)力,所以這些矛盾的出現(xiàn),也就是預(yù)示著,我們需要有解決這些矛盾的方法,很慶幸,我們的很多前輩已經(jīng)幫我們解決了這方面的問(wèn)題,準(zhǔn)確地說(shuō)是從理論上解決了這種問(wèn)題,且聽(tīng)我慢慢道來(lái)。
首先,對(duì)于客戶能否得到自己想要的產(chǎn)品這個(gè)問(wèn)題,以前得不到的原因無(wú)非就是兩點(diǎn):
第一個(gè)就是我們一開(kāi)始設(shè)計(jì)的需求點(diǎn)其實(shí)跟客戶所想要的需求不一致。這一點(diǎn),我們可以通過(guò)需求設(shè)計(jì)完成后馬上跟客戶確認(rèn)就可以解決。
第二點(diǎn)就是客戶只能等到最后時(shí)刻才能看到這個(gè)產(chǎn)品,也就意味著,即使他們發(fā)現(xiàn)自己以前的想法是不對(duì)的,想要改一下自己的想法卻來(lái)不及了,因?yàn)楫a(chǎn)品已經(jīng)出來(lái)了,再去改可能又要等很長(zhǎng)時(shí)間了,這個(gè)誰(shuí)也拖不起。這一點(diǎn),我們可以通過(guò)經(jīng)常給客戶交付一個(gè)可用的Build,讓客戶去看已經(jīng)實(shí)現(xiàn)的功能,來(lái)研究是否還需要更改。
而對(duì)于我們的設(shè)計(jì)團(tuán)隊(duì)來(lái)說(shuō),上面的第二點(diǎn)也正好可以解決他們的問(wèn)題,由于有可用的Build,所以我們?cè)O(shè)計(jì)好的功能一做完就可以馬上讓客戶看到,一旦要修改些什么,就不會(huì)再像以前那樣由于所有功能點(diǎn)都做完了,改一個(gè)就牽一發(fā)而動(dòng)全身了,這點(diǎn)也類似之前說(shuō)的,一個(gè)Bug發(fā)現(xiàn)的越早修得成本越低。
而對(duì)于咱們的開(kāi)發(fā)人員和測(cè)試人員而言,為了幫助客戶得到自己想要的產(chǎn)品,也需要做些改變,不過(guò)也很簡(jiǎn)單,幾句話而已,開(kāi)發(fā)完成一個(gè)功能以后,測(cè)試人員就要測(cè)試這個(gè)功能,然后開(kāi)發(fā)人員需要把發(fā)現(xiàn)的Bug馬上修掉,最后測(cè)試需要把修復(fù)的Bug確認(rèn)修復(fù)。這樣子的話,就可以解決以前最后階段才能開(kāi)展測(cè)試,才能發(fā)現(xiàn)大量Bug,導(dǎo)致發(fā)布成本增加、延期等不確定因素的發(fā)生。
當(dāng)然,這里還有一點(diǎn)必須說(shuō)一下,即使采用了新方法,成本增加,時(shí)間延期這種事情還是有可能發(fā)生,但是新的方法可以讓你預(yù)測(cè)到可能發(fā)生的成本與時(shí)間問(wèn)題,不會(huì)像以前那樣到最后時(shí)刻才會(huì)發(fā)現(xiàn),這樣子對(duì)于領(lǐng)導(dǎo)層做決策還是會(huì)有很大幫助的。
講到這里,大家應(yīng)該發(fā)現(xiàn),測(cè)試流程已經(jīng)完全與開(kāi)發(fā)流程并行了,之前說(shuō)的W模型雖然也會(huì)有并行,但是只是屬于“偽并行”,因?yàn)樗枰粋€(gè)階段結(jié)束才能進(jìn)行下個(gè)階段,比如開(kāi)發(fā)完所有的功能以后才能開(kāi)始測(cè)試,而對(duì)于這個(gè)模型,測(cè)試自始至終一直在參與著測(cè)試,不會(huì)去管哪個(gè)階段是否完成,只在乎哪個(gè)功能已經(jīng)設(shè)計(jì)好,已經(jīng)開(kāi)發(fā)好。對(duì)于設(shè)計(jì)好的功能,測(cè)試?yán)镆灿袑iT(mén)的設(shè)計(jì)測(cè)試工程師(Design QA)去專門(mén)檢查這個(gè)設(shè)計(jì)是否符合客戶的要求,甚至?xí)ズ涂蛻糇鰷贤ǎ粚?duì)于開(kāi)發(fā)好的功能,一方面代碼完成后開(kāi)發(fā)需要馬上進(jìn)行單元測(cè)試,然后專職測(cè)試人員拿到Daily Build以后就要馬上常規(guī)測(cè)試,看看是否工作,發(fā)現(xiàn)嚴(yán)重Bug馬上提上去讓開(kāi)發(fā)修;最后所有功能都已經(jīng)確認(rèn)和測(cè)試完畢后,測(cè)試人員還要再繼續(xù)進(jìn)行集成測(cè)試、系統(tǒng)測(cè)試和壓力測(cè)試等等;甚至到了后來(lái)的維護(hù)階段還需要測(cè)試人員繼續(xù)參與,因?yàn)楹芏嗉夹g(shù)支持人員對(duì)產(chǎn)品沒(méi)有測(cè)試人員了解地多,所以碰到難的問(wèn)題,還需要測(cè)試人員的幫忙。
所以從一開(kāi)始的設(shè)計(jì)到最后的發(fā)布,測(cè)試人員一直全程參與著,這個(gè)跟以前的模式已經(jīng)有了非常大的改變了,對(duì)測(cè)試人員的要求和壓力已經(jīng)是不可同日而語(yǔ)了。這個(gè)新的模式也就是敏捷測(cè)試模式的雛形了,當(dāng)然還并非完全的敏捷測(cè)試模式,所以我暫時(shí)先把它稱之為準(zhǔn)敏捷模式。
既然有了準(zhǔn)敏捷模式,那什么才是真正的敏捷測(cè)試模式呢?呵呵,還是聽(tīng)下回分解吧。
(未完待續(xù))
posted on 2011-11-16 13:09 順其自然EVO 閱讀(119) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄