《騰訊iOS測試實踐》一一1 2 工程效率

2021-09-23 14:40:10 字數 1725 閱讀 8992

總體來說,工程效率就是研發效率(包含測試效率)。這裡我們會把測試效率單獨提出來進行說明,因為這是與測試工程師相關度最大的工作。研發效率,其實就是讓產品上線的時間更快(在品質有保障的前提下),大多數時候是說與研發流程相關的(不侷限於敏捷流程,feature team研發模型),例如包含但不侷限於以下活動。

需求評審:需求評審機制以及更新通知,避免需求有改動而沒有及時同步到相關角色。

**質量:靜態**掃瞄,千行**缺陷率等。

架構評審:**架構的討論以及評審。

bug流程:bug生命週期,避免隨便修改bug狀態以及備註缺失。

code review:**評審,如果有**評審委員會就更好了。

dogfood:自己做的產品自己(專案各成員)先體驗。

showcase:完成某個特性,可以通過會議針對某個特性進行展示,一般由產品經理主持。

上面提到的活動,只有通過整個專案團隊(各個角色)的通力配合,才能更加高效。

再提一下測試效率,這大多數由測試工程師主導,也是測試工程師最主要的工作內容。測試效率包含但不侷限於以下這些活動。

測試週期:測試與研發週期是密切關聯的,包括迭代測試、整合測試、回歸測試、上線測試等,每個階段都要把握好測試效率和測試資源分配。

測試設計:包括需求覆蓋度、用例覆蓋度、用例執行效率等。

自動化測試:使用自動化執行的方式進行測試,可以快速得出測試結果,節省人力成本。

靜態**分析:使用一定的工具來對**進行靜態掃瞄,提前發現**隱藏的問題。

測試技術創新:通過對測試技術的創新,例如精準測試、機器學習等方式,來變更測試方式,大幅度提公升測試質量和效率。

接下來舉兩個例子具體看下。

1.2.1 自動化測試

自動化測試於20世紀90年代才開始逐漸成熟,特別是敏捷研發的流行以及推崇的tdd模式,自動化測試也逐漸流行起來。對於自動化測試,我們還是得多關注其投入產出比(roi),特別是對於ui自動化測試。業界自動化測試金字塔模型建議做單元測試或者介面測試多於ui自動化測試。關於自動化測試投入產出比,請參閱第6章介紹的內容。

對於ios平台上的自動化測試實踐,我們也有在不同方向上的嘗試(參見第5章),並都有不錯的收穫。相關自動化測試的開展還需要有一些自動化測試框架的支援(詳細自動化測試框架的內容會在第7章介紹),qq瀏覽器(iphone)測試團隊主要移植google開源的earlgrey框架來作為自動化測試的基礎框架。本節先簡單介紹幾種主流自動化測試型別。

bvt(build verification test)

業界現在流行持續交付的模式。那麼每次持續整合編譯出包後,自動化會執行一些基礎功能測試用例,保證版本基礎功能可用,而不會因為新**合入影響基礎功能。這部分主要介紹ui自動化測試,當然,隨著版本需求的變更,維護成本也會增加。但對於qq瀏覽器的ui變更還不是很頻繁,維護成本還相對可控,整體的投入產出也不錯,具體可參考第6章的內容。

圖1-2 scan-build工具發現**缺陷統計圖

採用infer工具發現**缺陷統計圖如圖1-3所示,共發現1275處缺陷。

圖1-3 infer工具發現**缺陷統計圖

每日構建版本時,配置工程會自動採用這兩款工具對工程**進行靜態**分析,這樣在測試任務前就能發現**缺陷,大大降低軟體缺陷修復成本。

《騰訊iOS測試實踐》一一1 4 測試分析

1.4.1 黑盒測試分析 黑盒測試是軟體測試的主要方法之一,也可以稱為功能測試 資料驅動測試或基於規格說明的測試。測試者無須了解程式的內部情況,無須掌握應用程式的 內部結構和程式語言的知識,只要知道程式的輸入 輸出和系統的功能即可。這是從使用者的角度針對軟體介面 功能及外部結構進行測試,而不考慮程式...

《騰訊iOS測試實踐》一一1 6 資料反推

1.6.1 測試過程中的資料 測試資料反推 充分利用各類測試資料的優化流程,進一步保障產品的質量。在各階段的測試過程中會產生大量資料,例如bug資料 測試通過率 回歸通過率等。那麼如何充分利用這些資料呢?前面已對已知bug以及未知bug進行了討論。現在換個角度,從bug產生的階段來分析,圖1 12是...

《騰訊iOS測試實踐》一一1 3 品質管理

圖1 4 瀏覽器品質體系 部分 關於產品品質的衡量,不少公司還是以bug來衡量的,下面先重點介紹bug維度。引用elisabeth hendrickson在文章 better testing worse quality?中的圖來說明 質量 的相關概念,如圖1 5所示。圖1 5 bug分析模型 圖1 ...