论UT阶段
測試與開發這對立的命運啊
如果是對測試從業者心存鄙視的朋友啊,請關掉此頁,帶著偏見不好看的~
人生就像一個旅途,每個人看到風景不一樣,世界觀、人生觀、價值觀也就不同。不要試著去改變別人,因為你的觀點在他的世界里并沒有例子,或者例子在他世界里最后得到的結果與你相反的。
十年前看了一本軟件測試書籍,里面有一個理論:
-------------------------------
一個軟件的缺陷發現成分構成:8:[2=(2:8)]
8:2, 缺陷發現分成10成,其中8成是開發UT階段發現的,2成流到測試階段。
2=(2:8),測試階段這2成也看作一個10成,其中2成是測試階段發現的,8成是發布后客戶發現的。
-------------------------------
當時對這個理論是噗之以鼻,但現在對于從業測試八年的我來說,這特么 太真相、太事實。
就算多會功能,安全,性能,自動化,最多是把第二個比率加強到5:5。
所以總10成里一定有1~1.6成的缺陷流向生產環境,事實缺陷總是在軟件發布后被客戶發現并投訴的。
在下不會拋出這個命題求解。肯定存在一些大神可能有了解決方案,但絕對是獨有的。這世界還沒有賈維斯。
工作這么多年,觀察了許多許多,咳~也就是所接觸到的全部開發,其中僅有兩位能做到UT自己的代碼把這8成缺陷找完。可能是自身的層次不夠高,接觸不到更多的優秀開發大佬。
講講這兩位同事吧(心里其實想吐槽那些的,不過糟心,還是講講正能量),
七年前,剛參加工作,那時我也是一位開發,寫MFC前端,C/S項目,現在做了測試,慚愧!慚愧!??? 這位同事剛從部隊轉業出來,做事超級認真。他當時接到一個代碼量為兩周的大需求,花了七天,將流程圖,時序圖,詳設,偽代碼等文檔都實現了,接著三天寫完代碼。代碼三天搞定強大吧?但是,更強大的來了,看著他寫Gtest,一天把自己所有的函數的Gtest全干完,然后一個一個測試,把所有傳參場景都跑完了,無誤后才提交測試,我全程在邊上看他直播(想拍死當時的自己,坐這么近都沒感染到他的優秀)。測試果然沒發現幾個問題的。這種匠人精神,怎么說了!現在應該還有,不過估計都存在于大廠中。這位同事與我共事的第二年就三面HW進去了。
另一位平凡一點,在一家外包公司,此時我已經轉測試很久了,這位同事接了一個七天代碼量的活,第一天弄好詳設(后來才知道那詳設里面有測試用例),碼了五天代碼,后面兩天,一直在自己寫接口測試腳本,搭建環境做功能測試,連UI的測試都不放過,等到第七天轉測試給我。多數據提交經過七個階段,七個角色層層審核,最后發布信息的大流程,一次性冒煙通過(最近項目組是全部開發包括項目經理都問我冒煙測試是啥意思,呵~),沒有多余的話,三天測試,共測試了三輪功能,暴力測試,安全測試,共發了14個缺陷,嘖嘖~,上線后一直穩定。做完這個需求他就辭職了,理由是覺得周邊沒有一個懂他的人,沒有一個朋友。其實吧,是拿到了一個大offer,都懂都懂,嘿嘿~
感謝人生遇到過這兩位同事,朋友,匠人。
說完好的了啊,再說說那些的吧,唉~糟心~
近一年來,每天提缺陷10多個、腦補產品需求、教開發各種場景走流程、自己去抓取接口分析、給開發提供場景參數、還得去研究各種安全場景、測出一些低級的安全問題,然后軟件功能上線后,弄的雞飛狗跳的,天天緊急修復。能造成這樣的情況,代碼當然是毫無UT階段可言啦,設計文檔是啥東西,好吃么?
現在是這個潮流,快餐化、速食化,誰都不想把時間花在一些枯燥無味且自己看作沒用的事情上的。UT將會在一些層次被神話了、傳說了,是我層次太低吧。
最后想法:即然開發從業者都不把UT階段這8成做到的話,{8:[2=(2:8)]} = 10,那么這10成全壓在測試階段,測試階段僅能發現的缺陷是2~5成,還有5~8成是流向生產的。
可以想像,沒有開發嚴格的UT階段,一個軟件發布在理論上(多年經驗告訴我,需要替換成事實上)是存在著巨大的風險的。線上用戶便成付費測試人員。
開發者會說:’測試也可以UT呀’?
當然,這是對的,測試里面有UT工作者。但測試工作者分為功能,性能,自動化,UT(白盒),接口安全等方向。目前業內,90%都是功能 、自動化測試從業者。且大多數是速食小白。開發者如何要求測試普遍能UT呢?
總結
- 上一篇: 图片播放技术总结
- 下一篇: XmlPullParserExcepti