程鉞
【摘 要】隨著軟件行業(yè)的飛速發(fā)展。軟件產(chǎn)品已經(jīng)覆蓋了當(dāng)今社會諸多的領(lǐng)域,人們的日常生活也對某些軟件產(chǎn)生了依賴,于是對軟件質(zhì)量重要性的認(rèn)識也逐漸的增強(qiáng)。軟件測試這個行業(yè)開始被認(rèn)識,并在軟件管理流程中充當(dāng)起重要的地位。然而,軟件缺陷(即Bug)是伴隨軟件產(chǎn)品開發(fā)過程產(chǎn)生的敷衍品,不管是采用最新的技術(shù)還是更新?lián)Q代實(shí)現(xiàn)方法,都不可能完全消滅軟件缺陷。因此,在軟件開發(fā)過程中盡早的引入軟件測試來保證軟件質(zhì)量,降低軟件缺陷率,已經(jīng)得到軟件業(yè)的認(rèn)可。軟件開發(fā)的過程中的每一個階段都會有相應(yīng)的文檔和成果物,對這些文檔和成果進(jìn)行對應(yīng)的評審和測試,可以更早發(fā)現(xiàn)問題,及時找到與需求分析和項(xiàng)目計(jì)劃中不符合的內(nèi)容。對于軟件的缺陷我們希望能夠早發(fā)現(xiàn),早處理,這樣能夠大大減少傳統(tǒng)軟件測試在軟件產(chǎn)品成型后發(fā)現(xiàn)問題、修改問題所帶來的大量人力物力的浪費(fèi)。
【關(guān)鍵詞】軟件測試;軟件缺陷管理;文檔的測試和評審;軟件測試流程
1.基于開發(fā)過程的測試流程
根據(jù)軟件開發(fā)流程的特點(diǎn),軟件的開發(fā)流程可分為:產(chǎn)品立項(xiàng)、需求調(diào)研、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼&單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試幾個階段。
測試流程在項(xiàng)目立項(xiàng)時就與之同步啟動,并且覆蓋軟件開發(fā)的整個流程。這就要求在進(jìn)行軟件測試過程中要考慮審核和評審軟件開發(fā)過程中各個階段的文檔和產(chǎn)品。
在軟件測試流程中加入考慮對軟件開發(fā)流程各個階段文檔集產(chǎn)品的評審。那么就要對相應(yīng)的評審或測試結(jié)果進(jìn)行文檔化,形成新的軟件缺陷報(bào)告或記錄。項(xiàng)目組長或高層人員通過對這些文檔的閱讀,可以清楚地知道軟件在開發(fā)的各個階段存在的問題,能將因前期設(shè)計(jì)問題出現(xiàn)的軟件缺陷問題消除在萌芽狀態(tài),保證軟件開發(fā)效率和軟件質(zhì)量。
軟件測試的目的就是發(fā)現(xiàn)缺陷,而它的另一個經(jīng)濟(jì)目的是盡早發(fā)現(xiàn)缺陷,以降低修復(fù)或者售后的成本。事實(shí)上,許多統(tǒng)計(jì)資料表明,開發(fā)過程每前進(jìn)一步,發(fā)現(xiàn)和修復(fù)一個缺陷的平均成本要提高10倍。在代碼復(fù)查階段,平均1-2分種能發(fā)現(xiàn)和修復(fù)一個缺陷,在初始測試階段要10-20分鐘。在集成測試時要花費(fèi)1個小時或更多,在系統(tǒng)測試時要花10-40個小時。這就是為什么要在項(xiàng)目初期就要進(jìn)行文檔化和審核文檔的重要目的之一,在文檔階段發(fā)現(xiàn)文檔中需求方面和軟件功能方面的缺陷,如果及時修改可以避免在編碼階段發(fā)現(xiàn)和修改需要的大量人力和時間,是項(xiàng)目能按照既定計(jì)劃完成的保障。
文檔化的另一個重要目的是,它是軟件測試的根本依賴。無論是測試計(jì)劃還是測試用例都是根據(jù)需求文檔和詳細(xì)設(shè)計(jì)文檔編寫的。如果在測試階段修改需求文檔或設(shè)計(jì)文檔,那么相對的開發(fā)編碼、測試計(jì)劃和測試用例都要相應(yīng)的進(jìn)行修改,那么由此引發(fā)的人力和時間對整體項(xiàng)目來說都是巨大的風(fēng)險(xiǎn)。在早期的文檔的評審可以有效的降低整個項(xiàng)目的風(fēng)險(xiǎn)的同時,也會讓整個項(xiàng)目更加縝密。
2.軟件缺陷管理
軟件缺陷管理就是對軟件開發(fā)過程中所發(fā)現(xiàn)的軟件缺陷進(jìn)行跟蹤管理,并記錄軟件缺陷的狀態(tài)信息,保證每個被發(fā)現(xiàn)的軟件缺陷都能解決并關(guān)閉。軟件缺陷管理是軟件開發(fā)過程中項(xiàng)目管理流程中重要的組成部分。軟件測試流程管理其在本質(zhì)上就是軟件缺陷管理的文檔化、規(guī)范化流程。
軟件缺陷管理工具就是軟件測試和缺陷管理的最好幫手,軟件缺陷工具的主要優(yōu)點(diǎn)在于不用再擔(dān)心在項(xiàng)目過程中發(fā)現(xiàn)的缺陷無人認(rèn)領(lǐng)或者被忘記修改。每個缺陷從新建到被關(guān)閉的過程都是由它的作者負(fù)責(zé)推動的。那么試想需求缺陷由產(chǎn)品人員負(fù)責(zé),產(chǎn)品功能缺陷由測試人員跟蹤,由缺陷發(fā)現(xiàn)者主導(dǎo)協(xié)調(diào)好和開發(fā)人員的關(guān)系,讓開發(fā)人員能更有效的對軟件自身的缺陷形成有效的關(guān)注,減少開發(fā)人員在缺陷上的溝通成本,可以讓項(xiàng)目運(yùn)轉(zhuǎn)的更加順暢,讓缺陷解決過程中的成本得到有效的控制。軟件缺陷管理工具在軟件項(xiàng)目起到不可替代的作用,它的使用應(yīng)該從項(xiàng)目立項(xiàng)就跟測試人員一起介入項(xiàng)目中。
3.結(jié)束語
任何軟件開發(fā)組織想完全消滅軟件缺陷都是不現(xiàn)實(shí)的,也是不可能實(shí)現(xiàn)的。要想開發(fā)出高質(zhì)量的軟件產(chǎn)品,除了要有嚴(yán)格的開發(fā)流程和開發(fā)標(biāo)準(zhǔn)外。在軟件的開發(fā)過程中全程引入軟件質(zhì)量保障也是一種行之有效的手段。通過對軟件開發(fā)流程各個階段的文檔和產(chǎn)品的評審和測試,形成詳細(xì)的文檔化結(jié)果,是保障軟件產(chǎn)品質(zhì)量和減少后期工作量的有效管理方案。隨著軟件規(guī)模的不斷擴(kuò)大,軟件缺陷數(shù)量的不斷增加,這個管理方案的優(yōu)勢就會更為顯著。 [科]
【參考文獻(xiàn)】
[1]商惠華,張春雷,呂維先.基于FPA的軟件工程監(jiān)理方法[J].微計(jì)算機(jī)信息,2008(21).
[2]呂曉峰.軟件工程監(jiān)理的一般流程與監(jiān)理要點(diǎn)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2004(06).
[3]王鋒,張睿,張燕.軟件工程監(jiān)理的實(shí)施策略[J].信息技術(shù)與信息化,2004(05).
[4]聶林波,劉孟仁.軟件缺陷分類的研究.計(jì)算機(jī)應(yīng)用研究,2004(06).
[5]徐芳.軟件測試技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.
[6]張小松,王鈺等.軟件測試[M].北京:機(jī)械工業(yè)出版社,2006.