評測,顧名思義,是評價和測試。因此,軟件評測師是通過編寫測試方案并按照測試方案和流程對軟件產(chǎn)品進行功能和性能測試,檢查產(chǎn)品是否有缺陷,性能是否穩(wěn)定,并給出相應(yīng)的評價的那些專業(yè)技術(shù)人員。作為軟件開發(fā)的重要環(huán)節(jié),軟件測試越來越受到人們的重視。隨著軟件開發(fā)規(guī)模的增大、復(fù)雜程度的增加,以尋找軟件中的錯誤為目的測試工作就顯得更加困難。為了盡可能多地找出程序中的錯誤,生產(chǎn)出高質(zhì)量的軟件產(chǎn)品,需要大量的軟件評測人員,因此軟件評測工程師就應(yīng)運而生了。
對軟件進行評價的基礎(chǔ)是測試,測試的過程就是找出與軟件功能和性能不一致的地方,并進行分析。軟件評測師的主要工作就是軟件測試。
軟件危機曾經(jīng)是軟件界甚至整個計算機界最熱門的話題。為了解決這場危機,軟件從業(yè)人員、專家和學(xué)者做出了大量的努力。軟件是由人來完成的,在目前的技術(shù) 上不能避免錯誤,有錯是軟件的屬性,是很難改變的。現(xiàn)在人們已經(jīng)逐步認識到所謂的軟件危機實際上僅是一種狀況,那就是軟件中有錯誤,正是這些錯誤導(dǎo)致了軟 件開發(fā)在成本、進度和質(zhì)量上的失控。因此,必須面對現(xiàn)實,避免軟件中錯誤的產(chǎn)生和消除已經(jīng)產(chǎn)生的錯誤,使程序中的錯誤密度達到盡可能低的程度。
實踐經(jīng)驗證明,軟件測試是軟件開發(fā)過程中的一個重要步驟,或者說測試應(yīng)該貫穿在軟件開發(fā)過程的每一個階段。軟件測試所起到的作用就是:能夠確保在軟件開發(fā)的過程中,隨時發(fā)現(xiàn)問題,方便開發(fā)人員及時修改。
軟件測試的最終目的是提交用戶一個高可用性產(chǎn)品,為了盡可能多地找出錯誤,測試的重點應(yīng)該是軟件比較復(fù)雜的部分或是以前出錯比較多的位置。為了給最終用戶提供具有一定可信度的質(zhì)量評價,測試的重點就應(yīng)該直接針對在實際應(yīng)用中會經(jīng)常用到的業(yè)務(wù)規(guī)則。
Grenford J. Myers在《The Art of Software Testing》一書對軟件測試有如下的觀點:
① 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;
② 測試是為了證明程序有錯,而不是證明程序無錯誤;
③ 一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;
④ 一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。
因此,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進。同時,這種分析也能幫助我們設(shè)計出有針對性的檢測方法,改善測試的有效性。另外,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。
對于軟件測試人員來說,其目標(biāo)和任務(wù)就是:
1、軟件測試員的基本目標(biāo)是發(fā)現(xiàn)軟件缺陷
軟件測試員的基本目標(biāo)是發(fā)現(xiàn)軟件缺陷,這是做好測試的首要條件。
2、軟件測試員追求的是盡可能早的找出軟件缺陷
因為軟件的修復(fù)費用,隨著軟件生命周期的推移,將數(shù)十倍的增長,所以軟件測試員應(yīng)盡可能早的找出軟件缺陷。對大型的軟件,在軟件開發(fā)的同時,就應(yīng)該有緊 隨其后的測試,如果等到產(chǎn)品已經(jīng)開發(fā)完畢才開始測試,非常有可能引起大量耗時費力的返工。怎樣才能有效的用這些方法盡早的發(fā)現(xiàn)軟件缺陷,需要大家在工作實 踐中不斷的摸索、總結(jié),進而不斷的提高自己的測試能力。
3、軟件測試員必需確保找出的軟件缺陷得以關(guān)閉
軟件測試人員必需確保找出的軟件缺陷得以關(guān)閉。關(guān)閉的含義不是要軟件缺陷在任何時候都必須得到修復(fù)。軟件測試員需要對自己找出的軟件缺陷保持一種平常 心,并不是辛苦找出的每個軟件缺陷都是必要修復(fù)的。可能是由于沒有足夠的時間、不算真正的軟件缺陷、修復(fù)的風(fēng)險太大等原因,產(chǎn)品開發(fā)小組可以決定對一些軟 件缺陷不作修復(fù)。
雖然軟件測試員需要對自己找出的軟件缺陷保持一種平常心,但同時又必須堅持有始有終的原則,跟蹤每一個軟件缺陷的處理 結(jié)果,確保軟件缺陷得以關(guān)閉。關(guān)閉軟件缺陷的前提可以是缺陷得以修復(fù)或決定不作修復(fù)。而缺陷是否需要修復(fù)的最終決定權(quán)在軟件的最終負責(zé)人,檢查缺陷得以關(guān) 閉的責(zé)任在測試人員。但值得指出的是,雖然測試工程師找出了錯誤,但決定是否修改的權(quán)限并不是在測試工程師手上的,最終是由項目經(jīng)理來決定的。
4、軟件測試員依據(jù)事實對軟件做出評價
軟件測試人員對軟件的測試結(jié)束后,通過對測試結(jié)果進行分析,然后實事求是地對軟件產(chǎn)品的功能和性能做出恰當(dāng)?shù)脑u價。