軟件測試是軟件工程中的一個重要部分,它貫穿于整個軟件開發(fā)生命周期,是軟件質(zhì)量保證的關(guān)鍵手段。隨著軟件產(chǎn)業(yè)高速發(fā)展,從事軟件測試的技術(shù)人員也愈來愈多。
軟件測試工程師在工作環(huán)境、自身能力和價值創(chuàng)造等方面的提升,對企業(yè)軟件開發(fā)組織和個人成長之路都有重要意義。在通往軟件測試的成長之路上,涉及測試能力培養(yǎng)、測試心理調(diào)適、測試與開發(fā)團(tuán)隊間的協(xié)作溝通等內(nèi)容。一個測試新人如何通過組織培養(yǎng)和自身努力,逐步成長為中高級測試工程師或測試管理者,是需要邁過很多關(guān)口的。
下面我們一起來探討一下軟件測試工程師的成長之路上“過五關(guān)”。包括“心理關(guān)”、“業(yè)務(wù)關(guān)”、“技術(shù)關(guān)”、“專業(yè)關(guān)”和管理關(guān)。
一、心理關(guān)
在當(dāng)前的軟件行業(yè)中,由于軟件公司規(guī)模大小不同,對軟件研發(fā)的投入和重視程度也不相同,有部分中小公司對質(zhì)量的概念薄弱,以致于軟件測試也常常被忽略或不受重視。行業(yè)內(nèi)還有不少老古董開發(fā)人員對測試有偏見和誤解,認(rèn)為只有不會編程或技術(shù)弱的才去做測試。
剛從事軟件測試工作的人員如果一開始就進(jìn)入了一個中小型公司,在開始時,常常心理上不適應(yīng)。這種不適感來自于自身技術(shù)薄弱、公司沒正式的測試部門、開發(fā)流程不規(guī)范以及公司領(lǐng)導(dǎo)對測試的不重視等多種因素。很多軟件測試人員從心理上占了弱勢,就自覺地把自己當(dāng)成開發(fā)人員的下級去溝通,長此以往,在整個開發(fā)工作中就很被動,總被開發(fā)人員支配,被開發(fā)牽著鼻子走。如果遇到這種情況,我們除了在心理上接受并忍耐著配合完成工作,但也應(yīng)該努力提高自己的工作質(zhì)量和效率,提出更多有建設(shè)性的意見幫助開發(fā)團(tuán)隊一起改進(jìn),去贏得開發(fā)團(tuán)隊的尊重和重視,不能總是這么被動地順從不合理流程。
實際上開發(fā)和測試是軟件工程中并行的兩條線,同等重要,所以我們在工作中心態(tài)要平和,要自己對自己有信心。
二、 業(yè)務(wù)關(guān)
在軟件測試中,功能測試是最基礎(chǔ)也是最重要的,要做好功能測試,就必須對被測系統(tǒng)要實現(xiàn)的業(yè)務(wù)功能非常熟悉。掌握被測軟件系統(tǒng)所涉及的業(yè)務(wù)知識對每個測試人員都很重要。快速學(xué)習(xí)并掌握各種流程及業(yè)務(wù)知識才能設(shè)計出具有深度和廣度的測試用例,并高效地執(zhí)行測試,這是測試人員必須有的基本功,測試人員必須過“業(yè)務(wù)關(guān)”。
一個測試工程師長期從事某一個行業(yè)領(lǐng)域的測試工作,他通過“業(yè)務(wù)關(guān)”的有效途徑是先學(xué)習(xí)和掌握“行業(yè)通用業(yè)務(wù)知識”。例如:銀行核心業(yè)務(wù)系統(tǒng)、電信計費(fèi)系統(tǒng)、稅收征收系統(tǒng)、財務(wù)軟件等我們都分別把它們叫做對應(yīng)的某個行業(yè)。
三、技術(shù)關(guān)
強(qiáng)調(diào)精通業(yè)務(wù)知識不等于不用掌握技術(shù)。事實上,測試是一個技術(shù)性很強(qiáng)的工作。與開發(fā)工程師相比,測試工程師需要掌握的技術(shù)范疇要廣闊得多,只是在技術(shù)深度方面有所不同。
一般來講,測試工程師要掌握系統(tǒng)使用和系統(tǒng)管理方面的技術(shù),包括以下幾方面:
1)各種操作系統(tǒng)安裝、配置和系統(tǒng)管理;
2)各種數(shù)據(jù)庫管理系統(tǒng)的安裝、配置和系統(tǒng)管理、數(shù)據(jù)庫的使用(SQL);
3)各種中間件的安裝、配置和管理;
4)計算機(jī)網(wǎng)絡(luò)的配置和系統(tǒng)管理;
5)上述系統(tǒng)的綜合管理和應(yīng)用,其中最高級別的要算性能測試的性能調(diào)優(yōu)工作,這一般是高級性能測試專家才具備的能力,一般測試工程師和開發(fā)工程師都難以企及。
所以資深的高級測試不比開發(fā)差,往往比一般開發(fā)能力更強(qiáng)。
除了以上一些常用要掌握的,測試工程師還需掌握這些專業(yè)的工具和技術(shù)。不僅要會使用,而且還要會腳本開發(fā),能夠獨立地完成自動化或性能測試工作。
中高級測試工程師同樣需要熟悉一兩種編程語言和測試腳本開發(fā)。
無論開發(fā)還是測試工程師,我們都不可能精通每一項技術(shù),但常用的我們要熟悉,至少能精通一兩種。在實際測試工作中多培養(yǎng)解決技術(shù)問題的能力,遇到什么問題時再加強(qiáng)相關(guān)知識的學(xué)習(xí),也就是什么不懂就拿起來學(xué)。多去開展一些技術(shù)攻關(guān)活動,這樣做的事多了,技術(shù)能力自然就會大大提高,這也是過技術(shù)關(guān)的關(guān)鍵所在。
四、專業(yè)關(guān)
對于測試工程師來講,前面的過“心理關(guān)”、“業(yè)務(wù)關(guān)”、“技術(shù)關(guān)”都是為過“專業(yè)關(guān)”打下基礎(chǔ)。測試質(zhì)量如何才是我們真正的能力體現(xiàn)。測試的能力體現(xiàn)在以下這些方面:
1)測試分析能力
測試分析就是根據(jù)軟件需求的設(shè)計,結(jié)合項目各方面情況,編寫軟件測試需求和制定測試策略。測試分析能力最考驗測試人員的能力,是高級測試經(jīng)理區(qū)別于一般測試工程師的地方,也是測試人員能夠影響、引導(dǎo)和驅(qū)動開發(fā)組的地方(否則測試就會被開發(fā)人員牽著鼻子走)。
測試分析能力不是一朝一夕得來的,需要長期實踐工作中去培養(yǎng)。
2)測試計劃能力
測試計劃能力反應(yīng)的是項目管理能力,所以一個好的測試經(jīng)理一定具備較強(qiáng)的項目管理能力。軟件測試是軟件工程中的重要部分,測試也需要用工程的方法科學(xué)地組織和管理,所以制定測試計劃需要掌握軟件測試過程模型。
3)測試設(shè)計能力
測試設(shè)計是根據(jù)測試需求進(jìn)行測試方案設(shè)計和測試用例開發(fā)的過程。軟件測試主要是根據(jù)測試方案和測試用例來執(zhí)行的,所以一套簡潔高效的測試用例是做好測試的關(guān)鍵所在。測試設(shè)計人員最核心、最關(guān)鍵、最重要的能力測試工程師必須掌握測試方案設(shè)計的過程和方法,精通測試用例的設(shè)計方法。
4)測試執(zhí)行能力
測試執(zhí)行能力就是動手能力,是測試人員發(fā)現(xiàn)bug的重要環(huán)節(jié)。動手能力除了包括“技術(shù)關(guān)”中要求的系統(tǒng)安裝、環(huán)境配置等技術(shù)能力外,還包括直接與測試相關(guān)的測試數(shù)據(jù)準(zhǔn)備、具體測試執(zhí)行、測試結(jié)果檢查、缺陷發(fā)現(xiàn)、判斷、記錄、分析定位、報告總結(jié)編寫等能力。這些工作繁瑣又繁重,需要測試人員保持精力集中、思維敏捷。如何在測試過程中找到一些高效的辦法,對測試人員來說是一個很大的挑戰(zhàn)。
能力強(qiáng)高級別的測試執(zhí)行能力還包括隨機(jī)測試的探索測試能力,即在測。測試用例之外進(jìn)行延伸性的探索測試,從而發(fā)現(xiàn)日常測試工作中找不到的bug。這有時需要靈感,但更多是趨于經(jīng)驗直覺去判斷。這也是高級測試和普通測試人員的力的區(qū)別。
五、管理關(guān)
我們在這里只談作為一個測試工程師的管理關(guān)。很多測試人員認(rèn)為自己只是個小小測試員,管理的事跟自己不相關(guān)。其實管理不是經(jīng)理們的專利,測試工程師也需具備某些管理能力。測試工程師的管理能力主要體現(xiàn)在兩個方面:團(tuán)隊協(xié)作和個人管理。軟件測試工作的特點包括受支配的、被動的、涉及面很廣,需要和不同部門的其它團(tuán)隊成員打交道。這些特點要求測試工程師應(yīng)具備較強(qiáng)的團(tuán)隊協(xié)作精神,測試工程師要更積極主動地開展工作,做好溝通和協(xié)調(diào)工作。具體體現(xiàn)在以下方面的溝通能力:
(a) 與項目成員的溝通協(xié)作
從上面我們看到測試工程師需要學(xué)習(xí)和了解的知識很多,有些是通過看資料,操作運(yùn)行軟件獲得,但更多的信息需要與項目成員交流才能得到。所以測試工程師在與開發(fā)人員協(xié)作過程中,要有自信,即要堅持原則,又要靈活應(yīng)變,這些都需要通過工作磨練才能做到。
(b)與測試經(jīng)理的溝通
與直接上級測試經(jīng)理溝通很重要。仔細(xì)領(lǐng)會測試經(jīng)理交待的測試任務(wù),不理解的要問,進(jìn)到任務(wù)和要求明確,不折不扣地完成任務(wù),并及時向測試經(jīng)理報告完成情況;遇到問題時要主動匯報,不讓問題停滯在自己手中,自己決定不了的事,不要擅自作主,要通過匯報和協(xié)商的方式確定。這些都是最基本的工作方法和要求。
(c)個人工作管理
管理好自己的時間和任務(wù),提高個人生產(chǎn)能力。個人的時間和精力是有限的,而測試任務(wù)是并發(fā)和繁重的,如何提高個人生產(chǎn)力就需要計劃好自己的時間,把大計劃分成小計劃逐步去完成。
總之測試工程師的管理關(guān)是一個長期自我修練的過程。通過自我修煉形成:有責(zé)任心、主動積極進(jìn)取的工作態(tài)度、耐心、細(xì)致、規(guī)范、溝通、計劃、總結(jié)、改進(jìn)等。
-
測試工程師
+關(guān)注
關(guān)注
6文章
124瀏覽量
12471
發(fā)布評論請先 登錄
相關(guān)推薦
評論