首先是這基本的四個問題:什么是軟件生命,什么是軟件質量,什么是軟件危機和軟件缺陷。
  我們從頭慢慢說,學過軟件工程的人知道,書面定義軟件生命,是一個軟件從“系統定義,軟件計劃,需求分析,軟件設計,編程,測試,維護,廢止”的過程。具體含義去查書或者上網查一下好,這里不多說了。(但是我建議沒有學過的人要了解這些知識。)

  每一個國內的測試人員都聽過這樣一句話,測試不如開發的。我不得不承認現階段國內是有這樣的問題,但是我們可以看看,這個在測試發達和企業完全不正確,現在的軟件開發,已經不是單單強調編碼的時代了,他已經發展成一個工程化的過程。工程化的意義所在是在進行這下一步時,要確保上一步是正確的前提。也是說,軟件開發是一個:活動---結果----審核----再活動----再結果----…----正確結果。這樣的規范化工程式的過程,是由一個個教訓總結而來的。

  在整個開發過程中,分為3各部分:

  1、需求階段

  2、開發階段

  3、維護階段

  通過顏色的對應,你能很好的對應這三個階段的內容。

  這三個部分或者說階段,在軟件開發中占得比例是:設計15%,計劃20%,編碼20%,模塊測試20%,集成測試25%。這個數據是國際公認的,不是我自己說的。從數據看,大家一目了然,測試在軟件開發中的重要性不言而喻。而保證軟件開發在各個階段能夠正確的進行,得到正確的結果,只有靠測試。所以,測試是軟件開發重中之重的一個環節。可以說,沒有軟件測試,軟件開發將不可能進行下去。

  而在測試階段主要分為:單元測試,集成測試,確認測試,系統測試這四個部分。

  我們要這樣嚴格的進行工程化的過程為的是一個目的:保證軟件質量,書面是這樣定義的:“與一個產品或者服務是否能夠滿足其指定的或者蘊含的需求有關的性質與特征的總和”

  我估計這是直接翻譯的結果,讀起來很拗口,說白了是軟件要滿足要求。什么要求,是規定這個這個軟件是否合格的很多因素。我們一般分為三大類:產品運行,產品修改,產品轉移。

  前面提到,軟件開發之所以現在發展成了嚴格的工程化,是因為一個個血淋淋的教訓,大軟件飛速發展的階段,由于很多問題,造成了很多大的軟件開發事故,那段時期,我們面臨了軟件危機。很多深刻的教訓讓人們明白,我們必須要改變以往的開發方式。大家有興趣可以去看看那些案例。

  后是軟件缺陷,這個也是我們對于各種各樣的軟件問題進行的標示,讓我們能夠很好的識別,了解他們。

  好了,這是我們首先要了解的一些知識,從這冰山一角中,你慢慢會了解測試的廣大。慢慢走,堅持下去。