教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

什么是軟件測試?軟件測試崗位的發(fā)展歷史

更新時(shí)間:2020年12月01日14時(shí)08分 來源:傳智教育 瀏覽次數(shù):

在早期的軟件開發(fā)中,軟件大多是結(jié)構(gòu)簡單、功能有限的小規(guī)模軟件,那個(gè)時(shí)候的測試就等同于調(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ú)立的測試組織進(jìn)行獨(dú)立的測試。在這個(gè)階段,人們往往將開發(fā)完成的軟件產(chǎn)品進(jìn)行集中測試,由于還沒有形成測試方法論,對軟件測試也沒有明確定位與深入思考,測試主要是靠猜想和推斷,因此測試方法比較簡單,軟件交付后還是存在大量問題。

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

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

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

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

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

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

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

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

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


猜你喜歡:

軟件測試原則的6個(gè)基本原則

軟件缺陷處理流程包括哪些?

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

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

0 分享到:
和我們在線交談!