天天看點

你必須知道5個軟體測試發展階段

軟體測試是伴随着軟體開發的發展而發展的。從軟體測試出現到現在,軟體測試一共經曆了五個階段:

以調試為主的軟體測試

在20世紀50年代,随着計算機的誕生,利用計算機完成複雜、快速計算的計算機程式設計也随之出現。這時的需求和程式本身也遠遠沒有現在這麼複雜多變,但是已經有人在完成程式設計之後開始考慮“怎麼證明程式滿足了需求?”的問題。這時的測試還沒有明确的概念,主要是以調試為主,驗證程式是否滿足了需求。

以證明為主的軟體測試

很快在1957年,Charles Baker在《軟體測試發展》一書中就提出測試的概念,并且對調試和測試進行了區分:

1)調試(Debug),確定程式做了程式員想讓它做的事情。

2)測試(Testing),確定程式解決了它該解決的問題。

這時的計算機軟體數量、成本和複雜性都大幅度提升,測試的重要性也大大增強,測試的目不僅僅是驗證,而且要确認軟體是滿足需求的,也就是我們常說的“做了正确的事情”。

以破壞為主的軟體測試

1979年,C.J.Myers在《軟體測試之藝術》一書中給出了軟體測試的經典定義:

測試是為發現錯誤而執行程式的過程。

這個定義說明測試不僅要證明軟體做了正确的事情,也要保證它沒做不該做的事情。

是以好的測試用例是發現迄今為止尚未發現的錯誤的測試用例;成功的測試是發現了至今為止尚未發現的錯誤的測試。

這個階段的測試的目的主要是找出軟體中潛在的錯誤,是以說它是以破壞為主。這也使得軟體測試和軟體開發獨立開來,測試需要更為專業的人員進行,畢竟開發人員在心理上總是不願意給自己開發的軟體找錯。

以評估為主的軟體測試

在1983年,出現了V&V(驗證和确認)理論,測試被應用在整個軟體生命周期中。同時IEEE提出的軟體測試新的定義:

“使用人工或自動手段來運作或測定某個軟體系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差别”。

軟體測試以及測試工具在這個時期得到了快速的發展。

以預防為主的軟體測試

以預防為主是當下軟體測試的主流思想之一。

随着靈活開發被提出以來,測試驅動開發、自動化的持續內建和測試等技術的應用,都展現出人們不再滿足與編碼後對程式的驗證和确認,而是事先就通過測試來保證編寫的代碼的正确性。

從以調試為主到以預防為主,軟體測試已經發生了翻天覆地的變化。每每想到現在一些實施GJB5000初級的組織的内部測試竟然還是以調試為主,不僅讓人感慨GJB5000實施之路仍然任重道遠。

這正是:

  • 調試進化到預防,測試發展大變樣
  • 如若不能去發展,品質必然受影響

最後下面是我整理出來的一份軟體測試工程師發展方向知識架構體系圖。

你必須知道5個軟體測試發展階段

希望大家能在這個成長過程中收益良多。可以說,這個過程會讓你痛不欲生,但隻要你熬過去了。以後的生活就輕松很多。正所謂萬事開頭難,隻要邁出了第一步,你就已經成功了一半,古人說的好“不積跬步,無以至千裡。”等到完成之後再回顧這一段路程的時候,你肯定會感慨良多。

由于CSDN上傳圖檔大小有限,有需要的朋友可以關注我的公衆号:程式員二黑,回複1,即可擷取原圖。

下面是一份配套的軟體測試資源包:

你必須知道5個軟體測試發展階段

上面是一些配套資源,這些資源對于軟體測試的的朋友來說應該是最全面最完整的備戰倉庫,為了更好地整理每個子產品,我也參考了很多網上的優質博文和項目,力求不漏掉每一個知識點,很多朋友靠着這些内容進行複習,拿到了BATJ等大廠的offer,這個倉庫也已經幫助了很多的軟體測試的學習者,希望也能幫助到你。關注我的微信公衆号:程式員二黑,即可免費擷取!

最困難的時候,也就是我們離成功不遠的時候!如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們的群:785128166 大家一起讨論交流學習。

如果您覺得文章還不錯,請 點贊、分享、在看、收藏 一下,因為這将是我持續輸出更多優質文章的最強動力!

精彩推薦

在職阿裡6年,一個29歲女軟體測試工程師的心聲

拒絕B站邀約,從月薪3k到年薪47W,我的經驗值得每一個測試人借鑒

公司新來的阿裡p8,看了我做的APP和接口測試,甩給了我這份文檔