軟件測(cè)試流程五個(gè)階段
軟件測(cè)試按照研發(fā)階段一般分為5個(gè)部分:?jiǎn)卧獪y(cè)試混弥、集成測(cè)試、確認(rèn)測(cè)試躬厌、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試掷酗,下面將不同階段需要的一些工作內(nèi)容做一下梳理希望可以幫助到大家。
//No.1//
單元測(cè)試
單元測(cè)試又稱為模塊測(cè)試窟哺,是針對(duì)軟件設(shè)計(jì)的最小單位程序模塊進(jìn)行正確性檢查的測(cè)試工作泻轰,單元測(cè)試需要從程序內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,多個(gè)模塊可以平行地獨(dú)立進(jìn)行單元測(cè)試且轨。
一浮声、單元測(cè)試的內(nèi)容
1虚婿、模塊接口測(cè)試
- 應(yīng)對(duì)通過所測(cè)模塊的數(shù)據(jù)流進(jìn)行測(cè)試
- 調(diào)用所測(cè)模塊時(shí)的輸入?yún)?shù)與模塊的形式參數(shù)的個(gè)數(shù)、屬性和順序是否匹配
- 所測(cè)模塊調(diào)用子模塊時(shí)泳挥,輸入子模塊的參數(shù)與子模塊的形式參數(shù)在個(gè)數(shù)然痊、屬性和順序上是否匹配。
- 輸出給標(biāo)準(zhǔn)函數(shù)的參數(shù)的個(gè)數(shù)屉符、屬性和順序是否正確剧浸。
- 全局變量的定義在各個(gè)模塊中是否一致。
- 當(dāng)模塊通過外部設(shè)備進(jìn)行輸入/輸出操作矗钟,文件屬性是否正確辛蚊、open和close語句是否正確,規(guī)定的I/O格式說明與I/O語句是否匹配真仲;緩沖區(qū)容量是否與記錄長(zhǎng)度匹配,在讀寫之前是否打開了文件初澎,讀寫之后是否關(guān)閉了文件秸应,對(duì)I/O錯(cuò)誤是否做了處理。
2碑宴、 局部數(shù)據(jù)結(jié)構(gòu)測(cè)試
- 局部數(shù)據(jù)結(jié)構(gòu)是最常見的錯(cuò)誤來源
- 不一致的數(shù)據(jù)類型
- 不正確或不一致的數(shù)據(jù)說明
- 使用尚未賦值或尚未初始化的變量
- 錯(cuò)誤的初始值或錯(cuò)誤的缺省值
3软啼、 路徑測(cè)試
運(yùn)算的優(yōu)先次序、常見的比較和控制流
4延柠、錯(cuò)誤處理測(cè)試
遇見出錯(cuò)的條件祸挪,并設(shè)置適當(dāng)?shù)某鲥e(cuò)處理
5、邊界測(cè)試
例如循環(huán)的次數(shù)贞间,最大或最小值
二贿条、單元測(cè)試步驟:
利用設(shè)計(jì)文檔設(shè)計(jì)測(cè)試用例;
創(chuàng)建被測(cè)模塊的樁模塊或驅(qū)動(dòng)模塊增热;
利用被測(cè)試模塊整以、驅(qū)動(dòng)模塊和樁模塊來建立測(cè)試環(huán)境,進(jìn)行測(cè)試
驅(qū)動(dòng)模塊:相當(dāng)于所測(cè)模塊的主程序峻仇,它接收測(cè)試數(shù)據(jù)公黑,把這些數(shù)據(jù)傳送給所測(cè)模塊,最后再輸出實(shí)際結(jié)果
樁模塊:用以代替所測(cè)模塊調(diào)用的子模塊摄咆。
//No.2//
集成測(cè)試
又稱為組裝測(cè)試或聯(lián)合測(cè)試凡蚜,在單元測(cè)試的基礎(chǔ)上,需要將所有模塊按照概要設(shè)計(jì)說明書和詳細(xì)設(shè)計(jì)說明書的要求進(jìn)行組裝吭从。
- 在把各個(gè)模塊連接起來的時(shí)候朝蜘,穿越各個(gè)模塊的接口的數(shù)據(jù)時(shí)候會(huì)丟失
- 一個(gè)模塊的功能是否會(huì)對(duì)另一個(gè)模塊的功能產(chǎn)生不利的影響
- 各個(gè)子功能組裝完成后,能否達(dá)到預(yù)期的父功能
- 全局?jǐn)?shù)據(jù)結(jié)構(gòu)是否有問題
- 單個(gè)模塊產(chǎn)生的誤差累計(jì)起來是否會(huì)放大
模塊組裝成系統(tǒng)的方式:一次性組裝方式和增殖式組裝方式
一影锈、一次性組裝方式
先對(duì)模塊分別進(jìn)行測(cè)試芹务,再把所有模塊組裝進(jìn)行測(cè)試
缺點(diǎn):發(fā)現(xiàn)錯(cuò)我不容易定位
二蝉绷、增值式組裝測(cè)試
先對(duì)一個(gè)個(gè)模塊進(jìn)行模塊測(cè)試,然后將這些模塊逐步組裝成系統(tǒng)枣抱,分為兩種方式:自頂向下的增殖方式和自底向上的增殖方式
1熔吗、自頂向下的增殖方式(不需要驅(qū)動(dòng)模塊)
將模塊銨系統(tǒng)程序結(jié)構(gòu),嚴(yán)控制層次自頂向下進(jìn)行組裝佳晶。
首先以主模塊作為被測(cè)模塊兼驅(qū)動(dòng)模塊桅狠,所有直屬主模塊的下屬模塊全部用樁模塊代替,對(duì)主模塊進(jìn)行測(cè)試轿秧。再采用深度優(yōu)先或廣度優(yōu)先的策略中跌,用實(shí)際模塊代替樁模塊,再用樁模塊代替它們的直接下屬模塊菇篡,與已經(jīng)測(cè)試的模塊構(gòu)成新的子系統(tǒng)漩符。然后進(jìn)行回歸測(cè)試。
2驱还、自底向上的增殖方式(不需要驅(qū)動(dòng)模塊)
由驅(qū)動(dòng)模塊控制最底層模塊的并行測(cè)試嗜暴。
3、混合增殖式
- 自頂向下增殖方式:
優(yōu)點(diǎn):能夠較早的發(fā)現(xiàn)主要控制方面的問題
缺點(diǎn):需要建立樁模塊议蟆,增加了一些附加的測(cè)試闷沥,涉及算法和輸入輸出的模塊一般在底層,這些底層模塊要到組裝和測(cè)試的后期才能發(fā)現(xiàn)咐容。一旦發(fā)現(xiàn)問題就會(huì)出現(xiàn)過多的回歸測(cè)試舆逃。
- 自底向上增殖方式:
優(yōu)點(diǎn):不需要建立樁模塊,建立驅(qū)動(dòng)模塊要比建立樁模塊要簡(jiǎn)單得多戳粒,同時(shí)涉及到算法已近輸入輸出的模塊要先測(cè)試路狮,把最容易出現(xiàn)問題的部分在早期解決。
缺點(diǎn):程序一直未能作為一個(gè)實(shí)體存在享郊,直到最后一個(gè)模塊加上才能形成一個(gè)實(shí)體,控制方面最后才能接觸览祖。
三、集成測(cè)試完成的標(biāo)志:
1炊琉、成功執(zhí)行了測(cè)試計(jì)劃中規(guī)定的所有集成測(cè)試
2展蒂、修改了所發(fā)現(xiàn)的錯(cuò)誤
3、測(cè)試結(jié)果通過專門小組的評(píng)審
4苔咪、集成測(cè)試需要提交的測(cè)試報(bào)告:
5锰悼、集成測(cè)試計(jì)劃、集成測(cè)試規(guī)格說明書以及集成測(cè)試分析報(bào)告
//No.3//
確認(rèn)測(cè)試
確認(rèn)測(cè)試的目標(biāo)是驗(yàn)證軟件的功能和性能以及其他特性是否與用戶的要求一致团赏。確認(rèn)測(cè)試一般包括有效性測(cè)試和軟件配置復(fù)查箕般。一般有第三方測(cè)試機(jī)構(gòu)進(jìn)行。
一舔清、進(jìn)行有效性測(cè)試
現(xiàn)軟件確認(rèn)要通過一系列黑盒測(cè)試丝里。確認(rèn)測(cè)試同樣需要制訂測(cè)試計(jì)劃和過程曲初,測(cè)試計(jì)劃應(yīng)規(guī)定測(cè)試的種類和測(cè)試進(jìn)度,測(cè)試過程則定義一些特殊的測(cè)試用例杯聚,旨在說明軟件與需求是否一致臼婆。
無是計(jì)劃還是過程,都應(yīng)該著重考慮軟件是否滿足合同規(guī)定的所有功能和性能幌绍,文檔資料是否完整颁褂、準(zhǔn)確人機(jī)界面和其他方面(例如,可移植性傀广、兼容性颁独、錯(cuò)誤恢復(fù)能力和可維護(hù)性等)是否令用戶滿意。
確認(rèn)測(cè)試的結(jié)果有兩種可能伪冰,一種是功能和性能指標(biāo)滿足軟件需求說明的要求誓酒,用戶可以接受;
另一種是軟件不滿足軟件需求說明的要求贮聂,用戶無法接受丰捷。項(xiàng)目進(jìn)行到這個(gè)階段才發(fā)現(xiàn)嚴(yán)重錯(cuò)誤和偏差一般很難在預(yù)定的工期內(nèi)改正,因此必須與用戶協(xié)商寂汇,尋求一個(gè)妥善解決問題的方法
二、軟件配置復(fù)查
保證軟件配置的所有成分齊全捣染,質(zhì)量都符合要求骄瓣。應(yīng)該遵守用戶手冊(cè)和操作手冊(cè)中的規(guī)定步驟。
No.4
系統(tǒng)測(cè)試
軟件作為計(jì)算機(jī)系統(tǒng)的一部分耍攘,與硬件榕栏、網(wǎng)絡(luò)、外設(shè)蕾各、支撐軟件扒磁、數(shù)據(jù)以及人員結(jié)合在一起,在實(shí)際或模擬環(huán)境下式曲,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行測(cè)試妨托,
目的在于與系統(tǒng)需求比較,發(fā)現(xiàn)問題
No.5
驗(yàn)收測(cè)試
以用戶為主的測(cè)試吝羞,軟件開發(fā)人員和質(zhì)量保證人員參加兰伤,由用戶設(shè)計(jì)測(cè)試用例。
不是對(duì)系統(tǒng)進(jìn)行全覆蓋測(cè)試钧排,而是對(duì)核心業(yè)務(wù)流程進(jìn)行測(cè)試敦腔。