發布之后,得到大家積極的響應,現在已收回近400份有效答卷。之前發布兩期劇透:
現在,是時候發布這次調查報告。由于內容比較多,分多次發布,并盡力在學界和工業界之間、大學和獨立科研院所之間進行一些對比分析,有于時間關系,這些分析很可能不到位,不妥之處,請多多包涵。
這次重點發布測試人員的地區和工作年限分布,以及結構化測試方法、基于需求的測試方法和基于模型測試方法的應用狀態,并在大學和軟件公司之間進行比較,大學和獨立科研院所之間的對比分析留在后續報道上。
調查時間:4月30日~5月14日,2016
1. 人員分布(還不如說測試友人分布軟件使用報告,哈哈):有三分之二的測試同仁來自軟件公司。讓我感到:來自獨立研究院所的測試人超過大學,還有4.2%來自其它,是自由職業者(咨詢顧問)、政府部門的公務員嗎?
2. 從區域分布看
北京排第一,是很自然的,但上海被廣東、江蘇超過,有一點點。另外,兩個直轄市(天津、重慶)就相對落后,位置靠后,而浙江(主要靠杭州)、四川(主要靠成都)、安徽(靠朋友多)、福建(靠廈門、福州)都比較靠前,遼寧(大連、沈陽)哪里去了?
3. 從軟件測試從事年限來看,分布還比較均勻,多數測試人工作年限在3-10年,但10年以上也占了22.52%,說明國內測試有良好的基礎了。
4. 在結構化(白盒)測試方法中,語句覆蓋居然低于分支、條件覆蓋,很。以前認為,很多公司都是以代碼行覆蓋率來衡量單元測試,目前來看,低于50%。巧的事,分支覆蓋和條件覆蓋居然完全一致,59.46%。令人高興的是,基本路徑覆蓋都超過50%,也有15%和18%基于MCDC(/ )、變量定義與引用 進行測試研究或實踐。
學界和工業界在代碼級測試中,基本一致,這是可以理解的,代碼雖然是實現業務,但也可以說遠離業務,兩界沒有大的Gap是合理的。只是工業界關注/應用MCDC要遠低于學界,也說明軟件領域對質量要求普遍比較低。
5. 在(黑盒)基于需求的測試方法中,等價類劃分方法和邊界值分析法最受歡迎,這完全在我們意料之中軟件使用報告,其次基于場景的方法、錯誤猜測或經驗方法,它們分別高達72.97%、64.56%,這說明手工測試、探索式測試方式在測試工作中占有較大比重,至少是不可少的。“基于場景的方法、錯誤猜測或經驗方法”這兩種方法,學術研究應該很少,但并沒有接近零,而仍然有較高42.86%和23.8%,也許是大學老師也了解,然后選上了。這里的是,“決策表(判定表)方法”使用很低,而且低于“因果圖方法”兩個百分點。從兩界對比看,學界研究因果圖很少,但決策表居然高于公司10個百分點,這點理解起來有些困難。只能理解,工業界應用方法偏少,只是用一些簡單的方法,偏復雜一些的方法就不想用。大家還有什么解釋與評論?
6. 基于模型測試(model based ,MBT)方法和技術不清楚的超過50%,說明MBT應用比較落后,大學不清楚的只占23.8%,而業界高達62%。“符號執行”差別最大,大學研究很多,企業只有3%人清楚,而業界和學界在“模型檢查”上倒是相當,這是讓人高興的事。在“定理證明”上,工業界巨人高于學術界3個點,這有些不尋常,也是讓人高興的事。
其實MBT并不神秘,因果圖、狀態圖、分類樹等可以歸為MBT,因為它們都是將問題抽象為符號表示,這樣絕大多數測試人還是應用過MBT的。
7. 針對MBT應用不夠好的原因,大學和工業界差別比較大,公司明顯感覺缺少專家指導,而學界有更多的嘗試(35.71%),而且比工業界更有信心。
(待續)