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

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

什么是軟件測試?軟件測試崗位的發展歷史

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

在早期的軟件開發中,軟件大多是結構簡單、功能有限的小規模軟件,那個時候的測試就等同于調試。隨著計算機軟件技術的發展,調試慢慢成為軟件開發不可或缺的工作內容很多開發工具都集成了一些調試工具,但這個時候的調試還僅僅傾向于解決編譯、單個方法的問題。

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

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

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

1983年,IEEE在北卡羅納大學召開了首次關于軟件測試的技術會議,然后對軟件測試進行了如下定義:軟件測試是使用人工或自動手段運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清楚預期結果與實際結果之間的差異。

IEEE定義的軟件測試非常明確地提出了測試是為了檢驗軟件是否滿足需求,它是一門需要經過設計、開發和維護等完整階段的過程。

此后,軟件測試便進入了一個全新的時期,形成了各種測試方法、理論與技術,測試工具也開始廣泛使用,慢慢地形成了一個專門學科。

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

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

軟件測試發展過程

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


猜你喜歡:

軟件測試原則的6個基本原則

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

軟件開發模型有幾種?各自有什么特點?

中級軟件測試工程師培訓課程

0 分享到:
美女裸体无遮挡扒开尿囗,高冷男受用钢笔玩自己动漫,我妽让我满足她,9420高清完整版在线观看