現(xiàn)狀
軟件開發(fā)中出現(xiàn)錯(cuò)誤或缺陷的機(jī)會(huì)越來越多,市場(chǎng)對(duì)軟件質(zhì)量重要性的認(rèn)識(shí)逐漸增強(qiáng)。所以,軟件測(cè)試在軟件項(xiàng)目實(shí)施過程中的重要性日益突出。但是,現(xiàn)實(shí)情況是,與軟件編程比較,軟件測(cè)試的地位和作用,還沒有真正受到重視,對(duì)于很多人(甚至是軟件項(xiàng)目組的技術(shù)人員)還存在對(duì)軟件測(cè)試的認(rèn)識(shí)誤區(qū),這進(jìn)一步影響了軟件測(cè)試活動(dòng)開展和真正提高軟件測(cè)試質(zhì)量。
?。?)誤區(qū)之一:軟件開發(fā)完成后進(jìn)行軟件測(cè)試
人們一般認(rèn)為,軟件項(xiàng)目要經(jīng)過以下幾個(gè)階段:需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),軟件編碼,軟件測(cè)試,軟件發(fā)布。據(jù)此,認(rèn)為軟件測(cè)試只是軟件編碼后的一個(gè)過程。這是不了解軟件測(cè)試周期的錯(cuò)誤認(rèn)識(shí)。軟件測(cè)試是一個(gè)系列過程活動(dòng),包括軟件測(cè)試需求分析,測(cè)試計(jì)劃設(shè)計(jì),測(cè)試用例設(shè)計(jì),執(zhí)行測(cè)試。因此,軟件測(cè)試貫穿于軟件項(xiàng)目的整個(gè)生命過程。在軟件項(xiàng)目的每一個(gè)階段都要進(jìn)行不同目的和內(nèi)容的測(cè)試活動(dòng),以保證各個(gè)階段的正確性。軟件測(cè)試的對(duì)象不僅僅是軟件代碼,還包括軟件需求文檔和設(shè)計(jì)文檔。軟件開發(fā)與軟件測(cè)試應(yīng)該是交互進(jìn)行的,例如,單元編碼需要單元測(cè)試,模塊組合階段需要集成測(cè)試。如果等到軟件編碼結(jié)束后才進(jìn)行測(cè)試,那么,測(cè)試的時(shí)間將會(huì)很短,測(cè)試的覆蓋面將很不全面,測(cè)試的效果也將大打折扣。更嚴(yán)重的是如果此時(shí)發(fā)現(xiàn)了軟件需求階段或概要設(shè)計(jì)階段的錯(cuò)誤,如果要修復(fù)該類錯(cuò)誤,將會(huì)耗費(fèi)大量的時(shí)間和人力。
?。?)誤區(qū)之二:軟件發(fā)布后如果發(fā)現(xiàn)質(zhì)量問題,那是軟件測(cè)試人員的錯(cuò)
這種認(rèn)識(shí)很打擊軟件測(cè)試人員的積極性。軟件中的錯(cuò)誤可能來自軟件項(xiàng)目中的各個(gè)過程,軟件測(cè)試只能確認(rèn)軟件存在錯(cuò)誤,不能保證軟件沒有錯(cuò)誤,因?yàn)閺母旧现v,軟件測(cè)試不可能發(fā)現(xiàn)全部的錯(cuò)誤。從軟件開發(fā)的角度看,軟件的高質(zhì)量不是軟件測(cè)試人員測(cè)出來的,是靠軟件生命周期的各個(gè)過程中設(shè)計(jì)出來的。出現(xiàn)軟件錯(cuò)誤,不能簡(jiǎn)單地歸結(jié)為某一個(gè)人的責(zé)任,有些錯(cuò)誤的產(chǎn)生可能不是技術(shù)原因,可能來自于混亂的項(xiàng)目管理。應(yīng)該分析軟件項(xiàng)目的各個(gè)過程,從過程改進(jìn)方面尋找產(chǎn)生錯(cuò)誤的原因和改進(jìn)的措施。
?。?)誤區(qū)之三:軟件測(cè)試要求不高,隨便找個(gè)人做都行.,,,....
很多人都認(rèn)為軟件測(cè)試就是安裝和運(yùn)行程序,點(diǎn)點(diǎn)鼠標(biāo),按按鍵盤的工作。這是由于不了解軟件測(cè)試的具體技術(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)的程序員不一定是一名優(yōu)秀的測(cè)試工程師。軟件測(cè)試包括測(cè)試技術(shù)和管理兩個(gè)方面,完全掌握這兩個(gè)方面的內(nèi)容,需要很多測(cè)試實(shí)踐經(jīng)驗(yàn)和不斷學(xué)習(xí)精神。
?。?)誤區(qū)之四:軟件測(cè)試是測(cè)試人員的事情,與程序員無關(guān)
開發(fā)和測(cè)試是相輔相成的過程,需要軟件測(cè)試人員、程序員和系統(tǒng)分析師等保持密切的聯(lián)系,需要更多的交流和協(xié)調(diào),以便提高測(cè)試效率。另外,對(duì)于單元測(cè)試主要應(yīng)該由程序員完成,必要時(shí)測(cè)試人員可以幫助設(shè)計(jì)測(cè)試樣例。對(duì)于測(cè)試中發(fā)現(xiàn)的軟件錯(cuò)誤,很多需要程序員通過修改編碼才能修復(fù)。程序員可以通過有目的的分析軟件錯(cuò)誤的類型、數(shù)量,找出產(chǎn)生錯(cuò)誤的位置和原因,以便在今后的編程中避免同樣的錯(cuò)誤,積累編程經(jīng)驗(yàn),提高編程能力。
?。?)誤區(qū)之五:項(xiàng)目進(jìn)度吃緊時(shí)少做些測(cè)試,時(shí)間富裕時(shí)多做測(cè)試
這是不重視軟件測(cè)試的表現(xiàn),也是軟件項(xiàng)目過程管理混亂的表現(xiàn),必然會(huì)降低軟件測(cè)試的質(zhì)量。一個(gè)軟件項(xiàng)目的順利實(shí)現(xiàn)需要有合理的項(xiàng)目進(jìn)度計(jì)劃,其中包括合理的測(cè)試計(jì)劃,對(duì)項(xiàng)目實(shí)施過程中的任何問題,都要有風(fēng)險(xiǎn)分析和相應(yīng)的對(duì)策,不要因?yàn)殚_發(fā)進(jìn)度的延期而簡(jiǎn)單的縮短測(cè)試時(shí)間、人力和資源。因?yàn)榭s短測(cè)試時(shí)間帶來的測(cè)試不完整,對(duì)項(xiàng)目質(zhì)量的下降引起的潛在風(fēng)險(xiǎn),往往造成更大的浪費(fèi)。克服這種現(xiàn)象的最好辦法是加強(qiáng)軟件過程的計(jì)劃和控制,包括軟件測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試執(zhí)行、測(cè)試度量和測(cè)試控制。
前景
隨著軟件產(chǎn)業(yè)的發(fā)展,軟件產(chǎn)品的質(zhì)量控制與質(zhì)量管理正逐漸成為軟件企業(yè)生存與發(fā)展的核心。幾乎每個(gè)大中型IT企業(yè)的軟件產(chǎn)品在發(fā)布前都需要大量的質(zhì)量控制、測(cè)試和文檔工作,而這些工作必須依靠擁有嫻熟技術(shù)的專業(yè)軟件人才來完成。軟件測(cè)試工程師就是這樣的一個(gè)企業(yè)重頭角色。業(yè)內(nèi)人士分析,該類職位的需求主要集中在沿海發(fā)達(dá)城市,其中北京和上海的需求量分別占去33%和29%。民企需求量最大,占19%,外商獨(dú)資歐美類企業(yè)需求排列第二,占15%。然而,現(xiàn)狀是:一方面企業(yè)對(duì)高質(zhì)量的測(cè)試工程師需求量越來越大越大,另一方面國(guó)內(nèi)原來對(duì)測(cè)試工程師的職業(yè)重視程度不夠,使許多人不了解測(cè)試工程師具體是從事什么工作。這使得許多IT公司只能通過在實(shí)際工作中進(jìn)行淘汰的方式對(duì)測(cè)試工程師進(jìn)行篩選,因此國(guó)內(nèi)在短期將出現(xiàn)測(cè)試工程師嚴(yán)重短缺的現(xiàn)象。根據(jù)對(duì)網(wǎng)絡(luò)招聘IT人才情況的了解,許多正在招聘軟件測(cè)試工程師的企業(yè)很少能夠在招聘會(huì)上順利招到合適的人才。在具體工作過程中,測(cè)試工程師的工作是利用測(cè)試工具按照測(cè)試方案和流程對(duì)產(chǎn)品進(jìn)行功能和性能測(cè)試,甚至根據(jù)需要編寫不同的測(cè)試用例,設(shè)計(jì)和維護(hù)測(cè)試系統(tǒng),對(duì)測(cè)試方案可能出現(xiàn)的問題進(jìn)行分析和評(píng)估。對(duì)軟件測(cè)試工程師而言,必須具有高度的工作責(zé)任心和自信心。任何嚴(yán)格的測(cè)試必須是一種實(shí)事求是的測(cè)試,因?yàn)樗P(guān)系到一個(gè)產(chǎn)品的質(zhì)量問題,而測(cè)試工程師則是產(chǎn)品出貨前的把關(guān)人,所以,沒有專業(yè)的技術(shù)水準(zhǔn)是無法勝任這項(xiàng)工作的。同時(shí),由于測(cè)試工作一般由多個(gè)測(cè)試工程師共同完成,并且測(cè)試部門一般要與其他部門的人員進(jìn)行較多的溝通,所以要求測(cè)試工程師不但要有較強(qiáng)的技術(shù)能力而且要有較強(qiáng)的溝通能力。
涉及問題
程序測(cè)試的過程具有破壞性
人類的活動(dòng)具有高度的目的性,建立適當(dāng)?shù)哪繕?biāo)具有重要的心理作用。如果我們的目的是要證明程序中沒有錯(cuò)誤,那我們就會(huì)不自覺地朝這個(gè)方向去做;也就是說,我們會(huì)傾向于挑選那些使程序出錯(cuò)的可能性較小的測(cè)試數(shù)據(jù)。另一方面,如果我們的目標(biāo)是要證明程序中有錯(cuò),那就會(huì)選擇一些易于發(fā)現(xiàn)程序所含錯(cuò)誤的測(cè)試數(shù)據(jù)。而后一種態(tài)度會(huì)比前者給程序增添更多的價(jià)值。
日常工作
熟悉軟件測(cè)試流程,有智能產(chǎn)品/網(wǎng)絡(luò)應(yīng)用經(jīng)驗(yàn)者優(yōu)先考慮;
熟悉軟件測(cè)試?yán)碚摵头椒?,能夠熟練?yīng)用多種測(cè)試工具;
熟悉 C/C++/C#/Java編程, 有網(wǎng)絡(luò)協(xié)議測(cè)試經(jīng)驗(yàn);
有較強(qiáng)的邏輯分析能力和學(xué)習(xí)能力,具備較強(qiáng)的總結(jié)能力;
熱愛軟件測(cè)試工作,可以勝任重復(fù)性工作。
編寫用例
軟件測(cè)試員是指根據(jù)測(cè)試計(jì)劃和測(cè)試方案進(jìn)行軟件測(cè)試;能夠針對(duì)軟件需求開發(fā)測(cè)試模型,制定測(cè)試方案,安排測(cè)試計(jì)劃,并對(duì)測(cè)試項(xiàng)目進(jìn)行管理的專業(yè)人員。每一階段的測(cè)試都是為了減少軟件的bug和提升軟件的功能需求,所以測(cè)試人員必須具備良好的編程功底。
專業(yè)優(yōu)勢(shì)
?。?)就業(yè)競(jìng)爭(zhēng)小
人才供不應(yīng)求讓軟件測(cè)試人員的就業(yè)競(jìng)爭(zhēng)壓力明顯小于同類其它職業(yè),有利于從業(yè)者的身心健康。另外,由于軟件測(cè)試在我國(guó)起步較晚,獨(dú)立設(shè)置測(cè)試部門、對(duì)測(cè)試人員有強(qiáng)烈需求的多為獨(dú)具慧眼的大中型IT企業(yè)。軟件測(cè)試人才不需要在小企業(yè)積累經(jīng)驗(yàn)就能獲得知名企業(yè)的入門通行證,工作起點(diǎn)高于同類其它職業(yè)。
?。?)高薪
剛?cè)胄械能浖y(cè)試人員,起步的月薪就在3000-5000元左右,遠(yuǎn)高于同齡人2000元的薪資水平,隨著工作經(jīng)驗(yàn)的豐富以及能力的提升,這份薪水將一路看漲。
?。?)就業(yè)質(zhì)量高
與其他IT職位相比,軟件測(cè)試人員最大的優(yōu)勢(shì)就是發(fā)展方向太多了。由于工作的特殊性,測(cè)試人員不但需要對(duì)軟件的質(zhì)量進(jìn)行檢測(cè),而且對(duì)于軟件項(xiàng)目的立項(xiàng)、管理、售前、售后等領(lǐng)域都要涉及。在此過程中,測(cè)試人員不僅提升了專業(yè)的軟件測(cè)試技能,還能接觸到各行各業(yè),從而為自己的多元化發(fā)展奠定了基礎(chǔ)。
(4)無性別歧視
如果把軟件開發(fā)領(lǐng)域比作"男子單打",那么,軟件測(cè)試領(lǐng)域就是"混合雙打"。由于工作的特殊性,軟件測(cè)試人員更要具有認(rèn)真、耐心、細(xì)致、敏感等個(gè)性元素,而這在一定程度上與女性的個(gè)性氣質(zhì)相吻合。據(jù)了解,很多IT企業(yè)中軟件測(cè)試人員的比例更趨向男女平衡,甚至出現(xiàn)女性員工成主流的情況。
學(xué)習(xí)方法
自學(xué),去相關(guān)網(wǎng)站學(xué)習(xí)基礎(chǔ)的計(jì)算機(jī)語言,收集軟件測(cè)試教程學(xué)習(xí)。
參加培訓(xùn)機(jī)構(gòu)進(jìn)行專業(yè)的培訓(xùn)與實(shí)踐。
自動(dòng)化成為軟件安全測(cè)試的常態(tài)
測(cè)試需要覆蓋到企業(yè)應(yīng)用程序產(chǎn)品線的所有應(yīng)用。通常,首先是去【問】風(fēng)險(xiǎn)最大的應(yīng)用是哪個(gè)?"并且一個(gè)個(gè)單獨(dú)查看。但是如果所有的低風(fēng)險(xiǎn)應(yīng)用程序加起來有無數(shù)漏洞,也會(huì)造成災(zāi)難。
配對(duì),但是要更為靈活,測(cè)試人員需要將代碼自動(dòng)化的任務(wù)留給開發(fā)人員。這是開發(fā)人員得到反饋?zhàn)顬檠杆俚姆绞?,如果我們讓測(cè)試人員整天做自動(dòng)測(cè)試,這是浪費(fèi)時(shí)間。相反,應(yīng)該讓測(cè)試人員和開發(fā)人員配對(duì),并且?guī)椭麄儯ㄩ_發(fā)人員)學(xué)習(xí)如何進(jìn)行測(cè)試。一個(gè)優(yōu)秀的測(cè)試人員能給團(tuán)隊(duì)帶來什么?很多很多。
配對(duì),然后真正的配對(duì),就像mob編程團(tuán)隊(duì)一樣。在mob編程里,一組有六到八名開發(fā)人員,他們集中到一個(gè)屋子里,一起狂熱地寫代碼。其實(shí)這一理念也可以用在測(cè)試上(有人稱之為mob測(cè)試),或者作為將測(cè)試人員和開發(fā)人員集中到同一個(gè)房間的方式,來一起找到解決問題的方法。