首頁技術(shù)文章正文

軟件測(cè)試的發(fā)展歷程

更新時(shí)間:2020-12-01 來源:黑馬程序員 瀏覽量:

在早期的軟件開發(fā)中,軟件大多是結(jié)構(gòu)簡(jiǎn)單、功能有限的小規(guī)模軟件,那個(gè)時(shí)候的測(cè)試就等同于調(diào)試。隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,調(diào)試慢慢成為軟件開發(fā)不可或缺的工作內(nèi)容很多開發(fā)工具都集成了一些調(diào)試工具,但這個(gè)時(shí)候的調(diào)試還僅僅傾向于解決編譯、單個(gè)方法的問題。

到20世紀(jì)50年代左右,隨著軟件規(guī)模越來越大,人們逐漸意識(shí)到僅僅依靠調(diào)試還不夠還需要驗(yàn)證接口邏輯、功能模塊、不同功能模塊之間的耦合等,因此需要引入一個(gè)獨(dú)立的測(cè)試組織進(jìn)行獨(dú)立的測(cè)試。在這個(gè)階段,人們往往將開發(fā)完成的軟件產(chǎn)品進(jìn)行集中測(cè)試,由于還沒有形成測(cè)試方法論,對(duì)軟件測(cè)試也沒有明確定位與深入思考,測(cè)試主要是靠猜想和推斷,因此測(cè)試方法比較簡(jiǎn)單,軟件交付后還是存在大量問題。

經(jīng)歷這一階段后,人們慢慢開始思考軟件測(cè)試的真正意義。1973年,黑澤爾(Hetzel博士第一次對(duì)軟件測(cè)試進(jìn)行了定義:軟件測(cè)試是對(duì)程序或系統(tǒng)能否完成特定任務(wù)建立信心的過程。這個(gè)觀點(diǎn)在一段時(shí)間內(nèi)比較盛行,但隨著軟件質(zhì)量概念的提出,它又不太適用了。1983年,黑澤爾(Hertel)博士對(duì)其進(jìn)行了修改:軟件測(cè)試是一項(xiàng)鑒定程序或系統(tǒng)的屬性或能力的活動(dòng),其目的在于保證軟件產(chǎn)品的質(zhì)量。思想一旦爆發(fā),就會(huì)呈現(xiàn)出百家爭(zhēng)鳴的景象,這一時(shí)期,很多軟件工程師或博士都提出了自己對(duì)軟件測(cè)試的理解與定義。

G.J.梅耶斯(G.J.Meyers)博士認(rèn)為“軟件測(cè)試是為了尋找錯(cuò)誤而執(zhí)行程序的過程”,相對(duì)于測(cè)試是為了證明程序中不存在錯(cuò)誤,他的觀點(diǎn)是正確的。

1983年,IEEE在北卡羅納大學(xué)召開了首次關(guān)于軟件測(cè)試的技術(shù)會(huì)議,然后對(duì)軟件測(cè)試進(jìn)行了如下定義:軟件測(cè)試是使用人工或自動(dòng)手段運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清楚預(yù)期結(jié)果與實(shí)際結(jié)果之間的差異。

IEEE定義的軟件測(cè)試非常明確地提出了測(cè)試是為了檢驗(yàn)軟件是否滿足需求,它是一門需要經(jīng)過設(shè)計(jì)、開發(fā)和維護(hù)等完整階段的過程。

此后,軟件測(cè)試便進(jìn)入了一個(gè)全新的時(shí)期,形成了各種測(cè)試方法、理論與技術(shù),測(cè)試工具也開始廣泛使用,慢慢地形成了一個(gè)專門學(xué)科。

雖然軟件測(cè)試得到了長(zhǎng)足的發(fā)展,但相比于軟件開發(fā),它的發(fā)展還是相對(duì)不足,測(cè)試工作幾乎全部是在軟件功能模塊完成或者整個(gè)軟件產(chǎn)品完成之后才開始進(jìn)行,這樣發(fā)現(xiàn)軟件缺陷之后,開發(fā)人員再進(jìn)行修改,會(huì)消耗大量的人力、物力成本。20世紀(jì)90年代后興起敏捷模型的軟件開發(fā)模式,促使人們對(duì)軟件測(cè)試重新進(jìn)行了思考,更多的人傾向于軟件開發(fā)與軟件測(cè)試的融合,即不再是軟件完成之后再進(jìn)行測(cè)試,而是從軟件需求分析階段,測(cè)試人員就參與其中,了解整個(gè)軟件的需求、設(shè)計(jì)等,測(cè)試人員甚至可以提前開發(fā)測(cè)試代碼,這也是我們?cè)诿艚菽P椭兴岬降摹伴_發(fā)未動(dòng),測(cè)試先行”。軟件開發(fā)與測(cè)試融合,雖然兩者的界限變得模糊,但軟件開發(fā)與測(cè)試工作的效率都得到了極大的提高,這種工作模式至今依然盛行。

歸結(jié)起來,軟件測(cè)試的發(fā)展過程可使用下面的一張圖來表示。

軟件測(cè)試發(fā)展過程

如今,隨著人工智能與大數(shù)據(jù)時(shí)代的到來,軟件測(cè)試更是受到越來越多的重視,但現(xiàn)在軟件測(cè)試工作還依然沿用20世紀(jì)的方法、理論與思想成果,并沒有突破性、革命性的進(jìn)展。未來,隨著軟件開發(fā)模型與技術(shù)的發(fā)展,軟件測(cè)試的思想與方法勢(shì)必也會(huì)出現(xiàn)里程碑式的變化,這需要更多熱愛軟件測(cè)試的人員積極投入研究。


猜你喜歡:

軟件測(cè)試原則:業(yè)界公認(rèn)的6個(gè)軟件測(cè)試基本原則

軟件測(cè)試是干什么的?軟件測(cè)試的目的是什么?

軟件開發(fā)模型有幾種?各自有什么特點(diǎn)?

中級(jí)軟件測(cè)試工程師培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!