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

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

  在整個開發(fā)過程中,分為3各部分:

  1、需求階段

  2、開發(fā)階段

  3、維護階段

  通過顏色的對應(yīng),你能很好的對應(yīng)這三個階段的內(nèi)容。

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

  而在測試階段主要分為:單元測試,集成測試,確認(rèn)測試,系統(tǒng)測試這四個部分。

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

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

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

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

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