軟件測(cè)試的誤區(qū)-測(cè)試行業(yè)有前途嗎?
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2011/9/6 9:44:06 ] 推薦標(biāo)簽:
隨著軟件測(cè)試對(duì)提高軟件質(zhì)量重要性的不斷提高,軟件測(cè)試也不斷受到重視。但是,國(guó)內(nèi)軟件測(cè)試過程的不規(guī)范,重視開發(fā)和輕視測(cè)試的現(xiàn)象依舊存在。因此,對(duì)于軟件測(cè)試的重要性、測(cè)試方法和測(cè)試過程等方面都存在很多不恰當(dāng)?shù)恼J(rèn)識(shí),這將會(huì)進(jìn)一步的影響軟件測(cè)試活動(dòng)的開展,并且阻礙軟件測(cè)試質(zhì)量的提高。下面簡(jiǎn)單列舉了幾種有代表性的對(duì)軟件測(cè)試的認(rèn)識(shí)誤區(qū),并作了相應(yīng)的分析和解釋。
誤區(qū)1:軟件開發(fā)完成后才進(jìn)行測(cè)試
在傳統(tǒng)的瀑布模型中,軟件項(xiàng)目主要有一下幾個(gè)階段組成:用戶需求、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和實(shí)現(xiàn)、測(cè)試以及運(yùn)行維護(hù)。由于軟件測(cè)試僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。因此人們一般認(rèn)為,軟件測(cè)試只是軟件編碼后的一個(gè)階段。
但隨著軟件測(cè)試業(yè)的發(fā)展,人們?cè)絹碓秸J(rèn)識(shí)到:軟件測(cè)試不應(yīng)只是軟件項(xiàng)目的收尾工作,而應(yīng)該在軟件生命周期的每一階段中都包含測(cè)試。軟件測(cè)試是貫穿于整個(gè)軟件開發(fā)生命周期的過程活動(dòng),包括軟件測(cè)試計(jì)劃、軟件測(cè)試需求分析、軟件測(cè)試用例設(shè)計(jì)、軟件測(cè)試執(zhí)行、軟件缺陷管理、軟件測(cè)試風(fēng)險(xiǎn)管理以及其他的一些軟件測(cè)試相關(guān)的活動(dòng)等等組成。在軟件項(xiàng)目的每個(gè)階段,都需要進(jìn)行不同目的和不同內(nèi)容的測(cè)試活動(dòng),以保證各個(gè)階段工作產(chǎn)品輸出的正確性。軟件測(cè)試的對(duì)象也不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計(jì)文檔等其他所有的軟件工作產(chǎn)品。軟件開發(fā)與軟件測(cè)試之間應(yīng)該是交互進(jìn)行的,比如單元編碼之后需要進(jìn)行單元測(cè)試,模塊組合之后進(jìn)行集成測(cè)試。
如果等到軟件編碼結(jié)束之后才進(jìn)行測(cè)試,測(cè)試的時(shí)間很有限,很難達(dá)到測(cè)試的覆蓋率要求和測(cè)試的質(zhì)量要求。同時(shí),假如在項(xiàng)目開發(fā)的后期,發(fā)現(xiàn)一些軟件需求階段和概要設(shè)計(jì)階段的錯(cuò)誤和問題,修改這些缺陷導(dǎo)致的成本將是非常高的。有資料表明:平均而言,如果在需求階段修正一個(gè)錯(cuò)誤的代價(jià)是1,那么,在設(shè)計(jì)階段是它的3-6倍,在編程階段是它的10倍,在內(nèi)部測(cè)試階段是它的20-40倍,在外部測(cè)試階段是它的30-70倍,而到了產(chǎn)品發(fā)布出去,這個(gè)數(shù)字是40-1000倍。修正錯(cuò)誤的代價(jià)不是隨著時(shí)間線性增長(zhǎng)的,而幾乎是呈指數(shù)增長(zhǎng)的。因此,應(yīng)盡早地不斷地進(jìn)行軟件測(cè)試,發(fā)現(xiàn)錯(cuò)誤并加以修正,而非軟件開發(fā)結(jié)束后才進(jìn)行測(cè)試。
誤區(qū)2:軟件發(fā)布后發(fā)現(xiàn)軟件問題,那是測(cè)試人員的責(zé)任
許多人認(rèn)為測(cè)試人員需要對(duì)發(fā)布的軟件質(zhì)量負(fù)責(zé),假如軟件到用戶后,發(fā)現(xiàn)很多的問題,那是測(cè)試人員的錯(cuò)和責(zé)任。這種認(rèn)識(shí)誤區(qū)非常打擊測(cè)試人員的積極性。軟件中的缺陷可能來自軟件開發(fā)過程中的任何一個(gè)過程,而對(duì)于軟件測(cè)試而言,只能證明軟件存在缺陷,而不能保證軟件沒有錯(cuò)誤。通過軟件測(cè)試,無法發(fā)現(xiàn)軟件中的所有錯(cuò)誤和缺陷。從軟件開發(fā)的角度看,軟件的高質(zhì)量不是軟件測(cè)試人員測(cè)出來的,而是需要軟件生命周期的各個(gè)過程共同來保證的。出現(xiàn)軟件錯(cuò)誤,不能簡(jiǎn)單地歸結(jié)為某一個(gè)人或某個(gè)團(tuán)隊(duì)的責(zé)任。比如有些錯(cuò)誤的產(chǎn)生可能不是技術(shù)原因,可能來自于混亂的項(xiàng)目管理;或者客戶發(fā)現(xiàn)軟件某些功能并沒有按照原有需求來實(shí)現(xiàn),換言之,軟件沒有完成客戶想做的操作,諸如此類問題很可能是軟件設(shè)計(jì)人員理解需求錯(cuò)誤致使設(shè)計(jì)不當(dāng)所引起的。
軟件的質(zhì)量,不僅僅只是測(cè)試人員的事情,軟件項(xiàng)目參與的所有人員都應(yīng)該關(guān)注軟件的質(zhì)量。軟件質(zhì)量的提高,需要每個(gè)項(xiàng)目人員的努力。測(cè)試只是提高軟件質(zhì)量的一個(gè)重要環(huán)節(jié),質(zhì)量保證應(yīng)該貫穿于整個(gè)軟件開發(fā)生命周期的所有的開發(fā)活動(dòng)、測(cè)試活動(dòng)、項(xiàng)目管理活動(dòng)等。同時(shí),采用合適的開發(fā)和測(cè)試過程,對(duì)改進(jìn)軟件質(zhì)量也能起到重要的作用。除了測(cè)試活動(dòng)外,同時(shí)應(yīng)該分析軟件項(xiàng)目的各個(gè)過程,從過程改進(jìn)方面尋找產(chǎn)生錯(cuò)誤的原因和改進(jìn)的措施。
誤區(qū)3:測(cè)試人員不需要具備很高的技能
不少軟件業(yè)人士認(rèn)為軟件測(cè)試行業(yè)對(duì)軟件測(cè)試人員的技能要求不高。認(rèn)為測(cè)試只是對(duì)照產(chǎn)品規(guī)格書操作軟件,發(fā)現(xiàn)軟件與規(guī)格說明不一致的地方,是沒有技術(shù)含量的工作。
這種觀點(diǎn)是錯(cuò)誤的,或者至少是步恰當(dāng)?shù)。隨著軟件測(cè)試行業(yè)的發(fā)展,測(cè)試不僅僅是運(yùn)行軟件發(fā)現(xiàn)缺陷的一個(gè)過程,而是從項(xiàng)目早期,測(cè)試人員開始介入,進(jìn)行測(cè)試需求分析、計(jì)劃測(cè)試等。這要求測(cè)試人員有很好的溝通能力、理解能力、分析問題能力,同時(shí)還必須對(duì)產(chǎn)品開發(fā)技術(shù)有一定的了解。
隨著軟件工程學(xué)的發(fā)展和軟件項(xiàng)目管理經(jīng)驗(yàn)的提高,軟件測(cè)試已經(jīng)形成了一個(gè)獨(dú)立的技術(shù)學(xué)科,演變成一個(gè)具有巨大市場(chǎng)需求的行業(yè)。軟件測(cè)試技術(shù)不斷更新和完善,新工具、新流程、新測(cè)試設(shè)計(jì)方法都在不斷更新,需要掌握和學(xué)習(xí)很多測(cè)試知識(shí)。所以,具有編程經(jīng)驗(yàn)的程序員不一定是一名的測(cè)試人員。軟件測(cè)試包括測(cè)試技術(shù)和管理兩個(gè)方面,完全掌握這兩個(gè)方面的內(nèi)容,需要很多測(cè)試實(shí)踐經(jīng)驗(yàn)和測(cè)試?yán)碚撝R(shí),需要我們不斷的學(xué)習(xí)。
誤區(qū)4:測(cè)試是測(cè)試人員的工作,和開發(fā)人員無關(guān)
我們提倡軟件測(cè)試盡早介入軟件項(xiàng)目,或者說我們提倡貫穿于整個(gè)軟件開發(fā)生命周期的測(cè)試。因此,在項(xiàng)目概念、需求和設(shè)計(jì)階段,軟件測(cè)試應(yīng)該介入項(xiàng)目中去。開發(fā)和測(cè)試是相輔相成的過程,需要軟件測(cè)試人員和程序員、系統(tǒng)分析員等項(xiàng)目其他成員保持密切的聯(lián)系,需要更多的交流和協(xié)調(diào),以便提高測(cè)試效率。在這些階段所發(fā)現(xiàn)的問題將有助于開發(fā)設(shè)計(jì)人員完善需求和設(shè)計(jì)。
在項(xiàng)目開發(fā)過程中,一般由開發(fā)人員針對(duì)模塊進(jìn)行白盒測(cè)試,這是早期的測(cè)試。后期對(duì)于測(cè)試人員所發(fā)現(xiàn)的缺陷,開發(fā)人員應(yīng)根據(jù)優(yōu)先級(jí)來進(jìn)行修復(fù),針對(duì)開發(fā)人員的修改,測(cè)試人員還要進(jìn)行再測(cè)試和回歸測(cè)試工作。因此,在整個(gè)項(xiàng)目過程當(dāng)中,測(cè)試也不僅僅是測(cè)試人員的事情,而是測(cè)試人員和開發(fā)人員緊密合作的過程。
誤區(qū)5:由項(xiàng)目進(jìn)度來決定測(cè)試工作量
規(guī)范的測(cè)試流程應(yīng)該是一個(gè)整體的連續(xù)的過程,包括測(cè)試計(jì)劃和控制、測(cè)試分析和設(shè)計(jì)、測(cè)試實(shí)現(xiàn)和執(zhí)行等階段。每一階段也應(yīng)有各自的規(guī)程。而大多數(shù)人對(duì)測(cè)試的理解往往是隨項(xiàng)目進(jìn)度而定,即離項(xiàng)目交付空余的時(shí)間多,多做測(cè)試;反之,則少做測(cè)試。這樣很可能導(dǎo)致測(cè)試時(shí)間緊張,從而可能放棄其中的一些測(cè)試,可能導(dǎo)致遺漏一些重要的缺陷,顯然這種做法存在非常大的風(fēng)險(xiǎn)。
測(cè)試進(jìn)度由項(xiàng)目開發(fā)進(jìn)度來確定,這個(gè)觀念很大程度上是因?yàn)椤皽y(cè)試是開發(fā)生命周期的一個(gè)階段”這個(gè)誤區(qū)造成的。實(shí)際上,我們一直強(qiáng)調(diào),測(cè)試是貫穿于整個(gè)軟件開發(fā)生命周期的。在制訂軟件項(xiàng)目計(jì)劃的同時(shí),需要規(guī)劃和制訂軟件測(cè)試的計(jì)劃。測(cè)試計(jì)劃的一個(gè)重要內(nèi)容是確定測(cè)試的進(jìn)度(也是測(cè)試時(shí)間和資源的安排)。因此,測(cè)試時(shí)間的多少,應(yīng)該在項(xiàng)目早期根據(jù)項(xiàng)目的特點(diǎn)和風(fēng)險(xiǎn)分析結(jié)果來確定,而不僅僅是決定于項(xiàng)目進(jìn)度。
誤區(qū)6:軟件測(cè)試是沒有前途的工作,只有開發(fā)人員是軟件高手
由于我國(guó)軟件整體開發(fā)能力比較低,軟件過程還不規(guī)范。項(xiàng)目的成功往往靠個(gè)別開發(fā)人員的能力,他們負(fù)責(zé)總體設(shè)計(jì)和程序詳細(xì)設(shè)計(jì),認(rèn)為軟件開發(fā)是編寫代碼,給人的印象往往是程序員是真正的牛人,具有很高的地位和待遇。因此,在這種環(huán)境下,軟件測(cè)試并不受重視,軟件測(cè)試人員的地位和待遇自然偏低了,甚至軟件測(cè)試變得可有可無。
隨著市場(chǎng)對(duì)軟件質(zhì)量要求的不斷提高,軟件測(cè)試將變得越來越重要,相應(yīng)的軟件測(cè)試人員的地位和待遇將會(huì)逐漸提高。在微軟等軟件過程比較規(guī)范的大公司,軟件測(cè)試人員的數(shù)量和待遇與程序員沒有多大差別,測(cè)試人員的待遇甚至比程序員還要高。軟件測(cè)試將會(huì)成為一個(gè)具有很大發(fā)展前景的行業(yè),軟件測(cè)試大有前途。市場(chǎng)需要更多具有豐富測(cè)試技術(shù)和管理經(jīng)驗(yàn)的測(cè)試人員,他們同樣是軟件專家。
誤區(qū)7:自動(dòng)化測(cè)試效率高,將取代軟件手工測(cè)試
測(cè)試自動(dòng)化在某些情況下可以提高測(cè)試的效率(比如完成重復(fù)的測(cè)試配置、模擬大虛擬用戶等),但是并不是所有的測(cè)試都適合自動(dòng)化,如程序需要處理的數(shù)據(jù)量不大、程序運(yùn)行的次數(shù)不多、或者測(cè)試需要一些人的主觀判斷(如界面測(cè)試)等,在這些情況下,自動(dòng)化測(cè)試可能并不是很好的選擇。
同時(shí),自動(dòng)化測(cè)試需要在前期投入大量的資源和工作量,同時(shí)需要維護(hù)的成本很高,包括環(huán)境的搭建、測(cè)試腳本的設(shè)計(jì)、維護(hù)等。因此,要具體情況具體分析,不能盲目推崇測(cè)試自動(dòng)化。
相關(guān)推薦

最新發(fā)布
性能測(cè)試之測(cè)試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測(cè)試是從什么時(shí)候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動(dòng)化測(cè)試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項(xiàng)目適合做自動(dòng)化?自動(dòng)化測(cè)試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測(cè)試工具測(cè)評(píng)
2020/7/17 8:52:11RPA機(jī)器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測(cè)試基本概念是怎么來的?軟件測(cè)試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10