測試質量報告 為了更好的下乙個

2021-07-09 19:01:48 字數 2447 閱讀 4746

測試質量報告的幾個方面:

1.bug率(千行**產生的bug數量)

千行**數(即專案中產生或者改動了幾千行**)代表了專案的規模,bug數量從乙個側面反映了專案質量。將不同規模的專案進行平行地比較bug數量,是不合理的;所以以千行**數的bug率作為專案質量的衡量標準是比較合理的。

應當注意到,規模越大的專案,因為涉及到的專案範圍更廣,技術複雜度更高,所以產生bug的可能性就越高,bug數量與專案規模並不是線性比例的,而是介於線性和平方之間。或者這樣解釋,乙個10,000(1w)行**的專案,產生了10個bug,即千行**bug率為1;但是相對來說,100,000行**的專案,bug可能就為12了,即bug率為1.2了。在評價專案質量時,必須要考慮這個因素。

2.bug在時間上的分布(主要在什麼階段產生了bug,如果在最後的使用者驗收測試階段發現了大量的bug,則測試過程明顯不合理)

bug不但在數量上有一定的趨勢,而且在時間分布上也應當遵循乙個一般規律。比如在專案**凍結後,剛開始進行測試的階段,bug是處於上公升狀態的,隨著測試的進行和bug的修復以及因為修復bug而新引入的bug,bug數量會在一定時期維持乙個峰值;在測試的末期,新發現的bug數量顯著下降,趨於收斂。

這種規律用於**測試階段和整體質量,有一定的意義,如果在進行整合測試(integration testing)或者使用者交付測試(user accept testing)之前,bug的產生率還維持在高位或者沒有明顯的收斂,那麼有較大可能會有很多的問題遺留到線上才能發現和解決。

在進行專案質量分析的時候,如果有這方面的風險,要及早暴露出來。

3.bug在空間上的分布(哪些功能點產生了bug)

當然,bug在空間上的分布也有一定的規律。在背後支撐「bug的空間分布分析」的,是「程式的區域性性原理」;區域性性原理本意是指,程式訪問儲存介質時,有較高的可能性訪問一小塊空間內連續的儲存單元,這也是cache/快取/記憶體/硬碟等多級儲存方案設計的基石(包括當前的ssd/磁碟混合型的硬碟),如果乙個程式設計的不符合區域性性原理(或者採用的記憶體交換演算法不合理),就有可能造成記憶體的抖動。好,扯的有點遠,回到bug的空間分布上來,bug在空間上分布,也存在區域性性原理,即在某個點出現bug後,可能同一模組或者關係緊密的相鄰模組有更高的可能產生缺陷,對於測試來說,要更加關注,並投入更多的精力去進行測試覆蓋。

bug的區域性性原理,可能原因是,

1)在設計和編碼過程中,不同的模組可能是由不同的開發人員設計和開發,對某乙個模組的功能理解或者**水平受限,在某個範圍內可能會集中出現缺陷。

2)在修復缺陷時,更多的是修改掉這個問題,在整個功能鏈路上的考慮通常較少,一些歷史**往往存在「負負得正」的邏輯,如果盲目修復乙個模組內的缺陷,可能會導致上下游的某個環節出現問題,所以在修復缺陷時,有更大的可能在關聯**中引入缺陷。

測試報告中可體現上述問題,以便後續測試更加有針對性。

4.根據上述分布和歷史經驗以及專案的整體複雜度,對bug作出預期,還有多少問題遺留到線上

對上述問題分析完成後,需要進行相應的**,最重要的是未來執行過程中,哪些地方容易出問題;如果還有測試時間,在何種範圍需要加強測試。

5.對產生bug的部分重點關注,比如配置相應的監控

如果測試資源非常受限且有專案週期的要求,要根據測試報告,給出相應的建議,包括可能的線上效能監控/功能點監控/日誌監控等,以便出問題後及時發現,並參照當時的設計方案和測試方案進行問題的修復,將損失降低到最少。

這是質量報告最有價值的幾個點之一。

6.質量分析過程中的典型bug可進行重點覆盤

對於容易產生問題/經常產生問題的具有代表性的點,可以在質量報告中予以覆盤,這種覆盤的過程應當包含設計/開發/測試人員,甚至還可能包含產品團隊,這種典型bug的總結,覆盤和改進建議,是整個技術團隊進行技術成長的重要方式。

7.**整體覆蓋率

這種統計,可以發現相應的死**(永遠執行不到的**),也可以發現哪些地方測試相對薄弱,需要加強和補充。同時還可以對持續整合的覆蓋率進行統計。

8.安全檢測工具檢測出的問題及解決

**的靜態掃瞄,可以發現一部分問題,靜態分析工具分析出的許可權/資料庫注入/跨站等問題,其實都有具體的pattern可以匹配,這種問題發現後的修復也不會浪費太多的時間,但是整體帶來的效果是巨大的。

9.**規範檢測出的問題及解決

10.持續整合的變更以及運**況

如果存在持續整合,並且當次的專案改動對持續整合(continuous integration)有影響(包括刪除了某部分持續整合/ 修改持續整合的case/ 新增了持續整合的case),應當在質量報告中體現持續整合的變更情況,包括成功率/變化情況,以便考察另乙個維度上,專案的質量情況。

質量報告,其實是一次對專案的深度總結。

下乙個天亮

用起伏的背影 擋住哭泣的心 有些故事 不必說給 每個人聽 許多眼睛 看的太淺太近 錯過我沒被看見 那個自己 用簡單的言語 解開超載的心 有些情緒 是該說給 懂的人聽 你的熱淚 比我激動憐惜 我發誓要更努力 更有勇氣 等下乙個天亮 去上次牽手賞花那裡散步好嗎 有些積雪會自己融化 你的肩膀是我豁達的天堂...

下乙個排列

給定乙個若干整數的排列,給出按正數大小進行字典序從小到大排序後的下乙個排列。如果沒有下乙個排列,則輸出字典序最小的序列。樣例 左邊是原始排列,右邊是對應的下乙個排列。1,2,3 1,3,2 3,2,1 1,2,3 1,1,5 1,5,1 思路 1 先從右到左找到第乙個不屬於非最大字典序排列的元素l,...

下乙個排列

給定乙個若干整數的排列,給出按正數大小進行字典序從小到大排序後的下乙個排列。如果沒有下乙個排列,則輸出字典序最小的序列。左邊是原始排列,右邊是對應的下乙個排列。1,2,3 1,3,2 3,2,1 1,2,3 1,1,5 1,5,1 剛開始看這個題目沒有看懂,在網上蒐集一番資料後,懂得了題目想要做的事...