做了十年軟件測試,感悟都在這里!
文章鏈接:https://mp.weixin.qq.com/s/syMn2j46p1mdYynxtJPwlg
做了那么久測試,你真的知道測試是做什么的嗎?
測試人員的工作
看到這個(gè)問題,你是不是覺得有點(diǎn)傻?事實(shí)上,其實(shí)有很多與我們合作的同事并不清楚。下面我們以一個(gè)完整的項(xiàng)目,來介紹一下測試人員的工作究竟有哪些。
(1)項(xiàng)目立項(xiàng),需求產(chǎn)出
很多人都在強(qiáng)調(diào)要測試前置,可是這是有條件的,如果你不按項(xiàng)目流程來走,都開發(fā)完相應(yīng)的功能了才告訴測試,測試如何前置啊?所以在項(xiàng)目立項(xiàng)后,需求產(chǎn)出階段要進(jìn)行需求評審,確定好開發(fā)人員,測試人員,一起參與需求評審會議,此時(shí)三方人員根據(jù)各自的經(jīng)驗(yàn)和專長,來討論一下需求。開發(fā)從技術(shù)實(shí)現(xiàn)角度,測試從用戶角度來對需求提出自己的意見,力爭通過需求評審達(dá)到三方意見一致。一起排出項(xiàng)目周期及各個(gè)環(huán)節(jié)的關(guān)鍵日期,交付物等。
(2)需求開發(fā),測試用例編寫
在開發(fā)人員開發(fā)需求的時(shí)候,測試人員必須確定測試方案,編寫相應(yīng)的測試用例,通過xmind,
excel編寫冒煙測試用例,或者通過編碼來編寫冒煙測試用例,以供開發(fā)提測的時(shí)候進(jìn)行自測;同時(shí)編寫全面的測試用例,組織三方人員進(jìn)行用例評審,進(jìn)行測試必要的前期準(zhǔn)備,如測試數(shù)據(jù),測試環(huán)境等,監(jiān)控項(xiàng)目周期各個(gè)環(huán)節(jié)執(zhí)行的情況,如果出現(xiàn)任何風(fēng)險(xiǎn)及時(shí)預(yù)警。
(3)代碼提測,測試階段
在開發(fā)提測后,需要進(jìn)行測試驗(yàn)收,驗(yàn)證冒煙測試用例的執(zhí)行情況。如果冒煙測試通過,則需要借助于各種測試工具,測試代碼,測試平臺等進(jìn)行具體的測試工作。如果有特殊的需要,則去開發(fā)相應(yīng)的測試工具,添加自動化測試用例或是測試平臺的新功能等;同時(shí)需要了解開發(fā)的代碼實(shí)現(xiàn)原理,評估出影響范圍,進(jìn)行必要的回歸測試。評估bug的級別,與相關(guān)人員進(jìn)行交流和跟蹤問題。
(4)上線與交付
在測試環(huán)境,仿真或是沙箱下測試完成后,就到了上線與交付階段了。如果公司有完整的測試平臺可以直接上線,或是由運(yùn)維的同學(xué)進(jìn)行上線的話,就根據(jù)流程準(zhǔn)備相應(yīng)的資料,安排上線。上線完成后,在線上回歸相應(yīng)的功能,以及可能影響到的功能。
職業(yè)技能之溝通技能
當(dāng)然,上面都是按項(xiàng)目工程的流程來進(jìn)行的工作,其他還有很多軟技能也是非常必要的:
(1)項(xiàng)目立項(xiàng),需求產(chǎn)出
當(dāng)你遇到一個(gè)bug的時(shí)候,如何恰當(dāng)?shù)靥醔ug?如果你用的是bug管理平臺,那就把bug描述清楚,復(fù)現(xiàn)步驟寫詳細(xì)點(diǎn)兒。
但是要給開發(fā)人面反饋的時(shí)候,如果一個(gè)開發(fā)人員比較活躍開朗,容易交流,就事論事描述清楚即可;如果一個(gè)開發(fā)人員技術(shù)相當(dāng)牛,但是不愛交流的話,你就應(yīng)該說:“我發(fā)現(xiàn)一個(gè)和需求不一樣的地方,是不是我測試有問題,你能不能看一下?”讓他自己發(fā)現(xiàn)問題比較容易接受。
(2)總結(jié)經(jīng)驗(yàn),指導(dǎo)未來
在平時(shí)工作中要善于總結(jié)問題,在后面遇到同樣的問題的時(shí)候能快速解決。總結(jié)與相關(guān)部門合作的經(jīng)驗(yàn),比如哪個(gè)部門的人比較墨跡,需要提前溝通;哪個(gè)人在合并代碼,提交的時(shí)候容易出錯(cuò),就需要重點(diǎn)關(guān)注等等。
測試人員的工作還是比較復(fù)雜的,能大能小,大可以包羅萬象,項(xiàng)目經(jīng)理,公司CTO的職責(zé);小只需要借助于測試手段,驗(yàn)證一下需求即可。
職業(yè)技能之技術(shù)技能
其次,測試人員需要具備哪些能力呢?我是這樣認(rèn)為的,這個(gè)行業(yè)入門容易,但想要玩轉(zhuǎn)測試,這就對一個(gè)人的綜合素質(zhì)要求比較高了。
根據(jù)招聘崗位描述和個(gè)人發(fā)展經(jīng)驗(yàn)來看,測試的技術(shù)是要求越來越高:
1、基本測試技能
最初的功能測試要求基本的測試技能:如需求分析,會通過如邊界值法,條件覆蓋等手段來編寫測試用例,測試環(huán)境的部署(有的時(shí)候也不需要部署環(huán)境),Bug的定位與準(zhǔn)確描述,Bug驗(yàn)證及回歸測試等。加上一些與人溝通和交流的技巧,簡單的測試管理工具如jira的使用,基本就能勝任測試工作。
2、腳本編寫和工具的使用
隨著業(yè)務(wù)的發(fā)展,會有不同場景需要一些重復(fù)性的工作,或是大量數(shù)據(jù)日志的處理,此時(shí)就需要通過編寫一些腳本代碼,如python, shell等來處理這些工作。
同時(shí)會引入如PostMan, LR, Jemter,
QTP等等的工具來輔助測試,進(jìn)而達(dá)到提高效率和擴(kuò)大測試覆蓋面的目的。當(dāng)然我們測試人員就需要具備相應(yīng)的編碼能力,以及快速學(xué)習(xí)各種工具,或是可定制化合適的測試計(jì)劃的能力;此時(shí)如果你有這樣的能力,會很受歡迎的。
3、自動化測試實(shí)施與開展
具體不知道是從什么時(shí)候開始,招聘測試的崗位要求上都會有這么一條“會自動化測試”,可是進(jìn)入工作后是否真得進(jìn)行自動化測試,那就不得而知。
但是要做自動化測試,就需要具備熟練使用測試框架如phpunit,unittest,junit,TestNG,Webdriver,Appium等主流的框架,或是其他公司開源的二次開發(fā)的框架,如Macaca,KIF等;而且不管是什么自動化測試(接口自動化測試,Web自動化測試,App自動化測試,Service自動化測試),最終都會做成持續(xù)化集成(CI)=測試框架+測試用例+Jenkins+Report。
當(dāng)然也有對開源框架做二次開發(fā),集成業(yè)務(wù)邏輯函數(shù),用例管理,測試計(jì)劃管理,日志管理,報(bào)告生成等功能于一身,形成新的測試框架的。
4、測試平臺的開發(fā)
在有一定的技術(shù)積累的前提下,秉承互聯(lián)網(wǎng)整合資源的傳統(tǒng),測試行業(yè)也開始了整合各種測試資源。如先前公司做的環(huán)境管理平臺(整合代碼管理,環(huán)境部署,自動化測試,上線流程等),服務(wù)化管理平臺(整合服務(wù)開發(fā)與部署,服務(wù)的執(zhí)行與管理,測試用例與測試計(jì)劃管理,業(yè)務(wù)測試流程管理等)等各種平臺,方便大家通過平臺進(jìn)行一站式測試,降低測試成本,提高測試質(zhì)量和效率。
此時(shí)就要求測試人員具備通過平時(shí)的工作提取平臺需求的能力;網(wǎng)站開發(fā)能力通過一門編碼語言如java,
python,php等開發(fā)后端服務(wù),前端如Bootstrap+jquery,vue等框架設(shè)計(jì)前端頁面;前后端聯(lián)調(diào)與測試的能力;網(wǎng)站部署與運(yùn)維的能力,如apache,
tomcat, mysql, mongodb, docker等等。
要想做好測試平臺的開發(fā),幾乎要掌握軟件工程涉及的各個(gè)環(huán)節(jié),雖然不需要精通但是最低也要會使用,集各家所長于一身,才能形成自己的一套拳路,立于不敗之地。
5、測試架構(gòu)與綜合能力
當(dāng)你的技術(shù)達(dá)到一定的能力,在公司工作年限夠久,很受領(lǐng)導(dǎo)重視的時(shí)候,就會相應(yīng)地走到管理崗位。但目前的管理也越來越難做了,不僅要求管理要有套路,還要求技術(shù)上要有方向。所以要求你有測試架構(gòu)能力,你對于目前的測試工作有什么想法?準(zhǔn)備引入什么技術(shù)或是方案來提高測試效率?投入產(chǎn)出比如何?
還要注意團(tuán)隊(duì)的發(fā)展,就算你的架構(gòu)能力再強(qiáng),沒有具體的實(shí)施人員,也很難實(shí)現(xiàn)的。一頭狼帶著一群羊也沒有什么戰(zhàn)斗力的,所以要有計(jì)劃的提高團(tuán)隊(duì)的整體能力,最終形成群狼效率,頭狼一聲吼,群狼去沖殺。
在群狼中也要進(jìn)行詳細(xì)的分工,保證核心員工的戰(zhàn)力。誰擅長沖鋒,誰擅長廝殺,誰又擅長斷后?要安排到正確的位置,防止因?yàn)榘才挪划?dāng)造成整體團(tuán)隊(duì)?wèi)?zhàn)力的下降。同時(shí)還要在合適的時(shí)機(jī)表揚(yáng)戰(zhàn)將,給其更多的肉,因?yàn)閼?zhàn)力強(qiáng)勁的員工如果受委屈了,會隨時(shí)離開團(tuán)隊(duì)的,他的發(fā)展空間很大,到哪兒都有發(fā)揮的機(jī)會。
如果一個(gè)團(tuán)隊(duì)缺少戰(zhàn)力強(qiáng)勁的戰(zhàn)將,執(zhí)行力低下,最后只能維持基本的生存,頭狼再好的想法也很難實(shí)現(xiàn)。
測試心得
測試是地處中原,輻射八方的一個(gè)行業(yè)。怎么可能會有瓶頸之說呢?以功能測試為中心,進(jìn)行引入各種測試工具,測試腳本,自動化測試,測試平臺等等。
同時(shí)我們需要了解業(yè)務(wù)需求的來源,內(nèi)容;開發(fā)人員代碼架構(gòu),實(shí)現(xiàn)的原理與影響范圍;運(yùn)維人員的部署,打包發(fā)版與相應(yīng)的問題處理;銷售人員的銷售效果與客戶反饋,以及最終這個(gè)需求對公司戰(zhàn)略目標(biāo)和發(fā)展方向的影響。而不僅僅是發(fā)現(xiàn)bug,驗(yàn)證bug的工作?
你目前都關(guān)注這些方向了嗎?還是天天在坐井觀天,抱怨連連呢?還是應(yīng)該靜下心來,好好思考測試究竟應(yīng)該如何做,相應(yīng)的方面有沒有做到?這是一個(gè)互聯(lián)網(wǎng)行業(yè),涉及的內(nèi)容浩如煙海,具體的技術(shù)更新更是日新月異,怎么可能沒有東西可學(xué)呢?
只有你具備了相當(dāng)牛X的能力,再會過的更加自由,今年當(dāng)一年半載的測試,明年就去做幾個(gè)月的開發(fā)玩玩,后年可能去做個(gè)產(chǎn)品經(jīng)理,嘗一下鮮也未嘗不可嘛!此時(shí)就不用擔(dān)心就業(yè)機(jī)會,薪資待遇,加班等問題了,而且隨著你的能力越來越強(qiáng),就不會自傲自滿,否則你的能力根本無法提升。
道法自然,沒事多學(xué)點(diǎn)東西;選擇你所愛的,愛你所選擇的;使自己和家人過的開心快樂,比什么都強(qiáng)!
——內(nèi)容引自微信公眾號《隔壁老王說測試》https://mp.weixin.qq.com/s/syMn2j46p1mdYynxtJPwlg