在之前的文章里我們講了很多種測(cè)試了,那么在測(cè)試中肯定會(huì)發(fā)現(xiàn)缺陷的,發(fā)現(xiàn)缺陷后我們一般會(huì)將缺陷轉(zhuǎn)給相應(yīng)的開發(fā)去處理盈包,那么開發(fā)處理完成后要怎么辦呢?將缺陷轉(zhuǎn)到測(cè)試處再次測(cè)試醇王。這個(gè)再次測(cè)試就是我們今天的主角了----回歸測(cè)試呢燥。回歸測(cè)試這部分內(nèi)容我們從何為回歸測(cè)試寓娩,為什么要回歸測(cè)試叛氨,回歸測(cè)試的范圍以及怎樣回歸測(cè)試四個(gè)方面來逐一揭開他的神秘面紗。
何為回歸測(cè)試棘伴?
回歸測(cè)試是指修改了舊代碼后寞埠,重新對(duì)相應(yīng)缺陷(bug)以及相關(guān)功能點(diǎn)進(jìn)行測(cè)試以確認(rèn)修改有效且修改沒有引入新的錯(cuò)誤或?qū)е缕渌a產(chǎn)生錯(cuò)誤。
這里要注意的是我們bug修訂后不只要重新測(cè)試這個(gè)bug焊夸,還要重新測(cè)試與這個(gè)功能點(diǎn)甚至是代碼塊相關(guān)的部分仁连。
為什么要做回歸測(cè)試?
先來看一個(gè)例子:
假如我們買了一個(gè)桌子,回來按照說明書組裝阱穗,組裝完成后發(fā)現(xiàn)桌角少了一個(gè)輪子饭冬,跟客服溝通,客服答應(yīng)給我們重新寄回一個(gè)輪子揪阶;過了3天我們收到了輪子昌抠,發(fā)現(xiàn)輪子與這個(gè)桌子不匹配,裝不上鲁僚。
這種事情大家應(yīng)該都不陌生炊苫,大家一般都怎么處理的?特別生氣與客服再次溝通冰沙?直接要求退貨并且差評(píng)侨艾?取消關(guān)注再也不購(gòu)買?如上處理對(duì)商家來說可能或多或少都造成了損失拓挥,比如:多余付了幾次的郵費(fèi)唠梨、可能損失了1個(gè)客戶、可能損失信譽(yù)度等等撞叽。如此場(chǎng)景都是商家最不希望的結(jié)果姻成。那如果商家在寄出前能反復(fù)確認(rèn)插龄,仔細(xì)核對(duì)后再發(fā)給用戶,這個(gè)問題是不是就能很大程度避免呢科展?軟件過程與這個(gè)很相似呢均牢,我們來具體了解下。
在軟件生命周期中, 只要軟件發(fā)生了改變才睹,就可能給該軟件帶來問題徘跪。通常軟件的改變是因?yàn)榘l(fā)現(xiàn)了錯(cuò)誤所以做了修改,也可能是因?yàn)樵诩苫蚓S護(hù)階段加入新的功能琅攘。那么
?????? · 當(dāng)缺陷被發(fā)現(xiàn)時(shí)垮庐, 如果錯(cuò)誤跟蹤與管理系統(tǒng)不夠完善,就可能會(huì)遺漏對(duì)這些錯(cuò)誤的修改;
?????? · 當(dāng)開發(fā)者對(duì)缺陷理解的不夠透徹, 也可能導(dǎo)致所做的修改只修正了錯(cuò)誤的外在表現(xiàn)坞琴,而沒有修復(fù)錯(cuò)誤本身從而造成修改失敗;
?????? · 修改還有可能產(chǎn)生副作用從而導(dǎo)致軟件未被修改的部分產(chǎn)生新的問題哨查,使本工作正常的功能產(chǎn)生錯(cuò)誤。
?????? · 同樣, 在有新代碼加入軟件的時(shí)候, 除了新加入的代碼中有可能含有錯(cuò)誤外新代碼還有可能對(duì)原有的代碼帶來影響剧辐。
基于以上的種種原因寒亥,每當(dāng)軟件發(fā)生變化時(shí),我們就必須重新測(cè)試現(xiàn)有的功能或者說相關(guān)功能荧关,以便:
?????? · 確定修改是否達(dá)到了預(yù)期的目的溉奕;
?????? · 檢查修改是否損害了原有的正常功能。
另外忍啤,還需要補(bǔ)充新的測(cè)試用例來測(cè)試新的或被修改了的功能加勤。
綜上所述:為了驗(yàn)證修改的正確性及其影響就需要進(jìn)行回歸測(cè)試。
回歸測(cè)試的范圍
在前兩節(jié)其實(shí)我們都有反復(fù)提到過同波,回歸測(cè)試不僅是要:
?????? · 測(cè)試被修訂的bug或者新功能鳄梅;
?????? · 還要測(cè)試與其相關(guān)的已有功能。
具體原因在為什么部分我們已經(jīng)做了詳細(xì)描述参萄,這里不再贅述卫枝。
由于篇幅限制煎饼,今天就先到這里讹挎,剩余部分請(qǐng)期待下篇!Bye~