騰訊 iOS 測試實踐

丁如敏, 王琳, 等

買這商品的人也買了...

商品描述

本書由騰訊QQ瀏覽器iPhone測試團隊撰寫,系統、深度地講解了iOS測試的系統方法論、新技術與常見的技巧與方法。全書分為3個部分:第一部分主要介紹了iOS測試的現狀、困境、測試流程、測試團隊的管理等;第二部分詳細講解了iOS的多項特色測試,包括標準化功能測試、立體化性能測試、兼容性測試、自動化測試等;第三部分講解了iOS的專項測試技術,包括缺陷分析技術、探索式測試技術、精準測試計劃等。

作者簡介

丁如敏
畢業於北京郵電大學,《騰訊Android自動化測試實踐》的作者之一,擁有10年以上軟件測試和項目管理的經驗,精通移動終端性能、自動化測試、敏捷測試等各種測試技術。在騰訊工作期間,帶領團隊共發明了50多項專利,開發了10多門內部培訓課程,喜歡挑戰軟件領域的各項前瞻技術,並有豐富的實踐經驗。
王琳,騰訊高級測試工程師,2012年中山大學碩士畢業後加入騰訊。積累了五年多的iOS客戶端測試經驗。在探索式測試方面有深入的研究和實踐,在測試過程的優化提升方面頗有心得。致力於將業界先進測試理論落地到iOS平台測試實踐中,實戰經驗豐富。

程春林
騰訊專項技術工程師,從事過傳統汽車行業、通信行業、互聯網軟件開發以及自動化測試開發工作,擁有海外工作經驗。目前任職於騰訊,負責手機QQ瀏覽器(iPhone)端專項測試工作,專注於iOS端自動化測試研發與實踐,並撰寫了多項iOS相關發明專利。

紀文靜
2015年西安電子科技大學碩士畢業後加入騰訊。入職後負責QQ瀏覽器(iPhone)端功能測試,主要致力於推動測試流程優化落地的工作,在缺陷分析方面有較豐富的經驗。

葉方正
2008年加入騰訊,專注於移動智能平台性能以及自動化測試。有10年以上的智能移動平台測試及開發的經驗,精通主流的智能移動平台性能測試和調優,以及各種工程工具開發和平台搭建。在騰訊工作期間,先後負責過手機QQ、手機QQ瀏覽器、騰訊微博、應用寶、手機管家等相關業務的測試。

張錦銘
畢業於中山大學數學系,2011年入職騰訊,專注於iOS端性能測試和自動化測試,有豐富的iOS自動化測試經驗,擁有性能和自動化測試相關的12項專利。目前負責QQ瀏覽器(iPhone)端的性能測試相關工作。

目錄大綱


前言

第一部分測試觀

第1章測試觀概述2 

1.1引言2 
1.2工程效率3 
1.2.1自動化測試4 
1.2.2靜態代碼分析5 
1.3品質管理7 
1.4測試分析12 
1.4.1黑盒測試分析12 
1.4.2白盒測試分析13 
1.5測試設計14 
1.5.1探索式測試14 
1.5.2基於模型的測試14 
1.6數據反推15 
1.6.1測試過程中的數據15 
1.6.2線上數據17 
1.7未來的測試19 
1.7.1線上數據挖掘19 
1.7.2人工智能21 
1.7.3眾測21 
1.8小結22 

第二部分iOS特色測試

第2章走進iOS24 

2.1引言24 
2.2 iOS平台的興起24 
2.3 iOS平台的特殊性25 
2.3.1證書25 
2.3.2越獄26 
2.3.3灰度27 
2.3.4 AppStore審核29 
2.3.5自動化測試工具30 
2.4小結30 

第3章iOS兼容性測試31 

3.1引言31 
3.2系統兼容32 
3.2.1新增功能32 
3.2.2接口差異32 
3.3機型兼容37 
3.3.1新增功能37 
3.3.2屏幕變化37 
3.3.3處理器差異38 
3.4測試原則39 
3.5小結41 

第4章iOS性能測試43 

4.1引言43 
4.2性能測試簡介44 
4.2 .1性能測試介入時間45 
4.2.2 iOS性能測試分類46 
4.3響應速度測試方法48 
4.3.1掐表計時法48 
4.3.2日誌計時法48 
4.3.3錄像分幀計時法49 
4.3.4網頁速度對比測試舉例51 
4.4穩定性測試55 
4.4.1測試框架介紹56 
4.4.2穩定性測試思路56 
4.4.3穩定性測試結果記錄60 
4.5流量測試方法62 
4.5.1系統流量統計方法62 
4.5.2數據包分析法63 
4.6電量測試方法66 
4.7內存測試方法67 
4.8流暢性測試70 
4.9小結71 

第5章iOS自動化測試入門72 

5.1引言72 
5.2自動化測試適用場景72 
5.3自動化測試框架73 
5.3.1接口自動化測試框架73 
5.3.2 UI自動化測試框架74 
5.4 XCTest自動化框架介紹75 
5.4.1框架集成75 
5.4.2接口測試78 
5.4.3 UI測試79 
5.4.4優缺點分析85 
5.5 KIF自動化框架介紹86 
5.5.1框架集成86 
5.5.2用例編寫89 
5.5.3優缺點分析92 
5.6小結93 

第6章iOS測試框架二次開發94 

6.1引言94 
6.1.1二次開發總體架構94 
6.1.2整體部署圖9 4 
6.1.3整體架構圖95 
6.1.4架構分析96 
6.2底層驅動層97 
6.2.1 XCTest接口封裝97 
6.2.2消息處理模塊101 
6.2.3驅動模塊104 
6.3中間層113 
6.3.1控件調用封裝層113 
6.3.2截圖模塊115 
6.3.3日誌處理模塊118 
6.4應用層121 
6.4.1自動化腳本121 
6.4.2配置文件123 
6.4.3日誌分析系統123 
6.4.4風險點128 
6.5截圖智能分析130 
6.5. 1 OpenCV簡介130 
6.5.2 OpenCV模板識別130 
6.5.3 OpenCV實踐過程132 
6.6自動化持續集成135 
6.6.1 Jenkins簡介135 
6.6.2 Jenkins特點135 
6.6.3使用方式135 
6.6.4配置Job137 
6.7自動化實踐效果139 
6.7.1部署情況139 
6.7.2投入產出比139 
6.7.3運營數據140 
6.8小結142 

第7章iOS精準測試143 

7.1引言143 
7.1.1傳統測試遇到的問題143 
7.1.2敏捷模型的挑戰144 
7.1.3解決方案145 
7.2精準測試概念146 
7.2.1業界的精準測試概念146 
7.2.2我們自己的理解146 
7.3傳統測試到精準測試的演變148 
7.3.1精準測試與傳統測試的對比148 
7.3.2精準測試滿足敏捷需求149 
7.4精準測試實踐之路149 
7.4.1精準測試總體架構圖149 
7.4.2代碼分析150 
7.4.3用例關係庫154 
7.4.4 SVN代碼變化監控分析156 
7.4.5精準自動化方案158 
7.4.6精準實現流程小結159 
7.4.7精準實踐流程160 
7.4.8精準解決問題164 
7.5小結165 

第三部分通用測試實踐

第8章探索式測試168 

8.1引言168 
8.2探索式測試的發展史168 
8.2.1 ET 1.0169 
8.2.2 ET 1.5169 
8.2.3 ET 2.0169 
8.2.4 ET 3.0170 
8.3探索式測試入門實踐170 
8.3.1實踐前提171 
8.3.2實踐過程174 
8.3.3實踐後續177 
8.4研發各個階段的實踐形式179 
8.4.1測試設計179 
8.4.2迭代測試181 
8.4.3集成測試182 
8.4.4回歸測試185 
8.4.5上線測試186 
8.5實踐效果展示187 
8.6探索式測試的答疑189 
8.6. 1理論方面的問題189 
8.6.2實踐過程的問題189 
8.6.3提升方面的問題190 
8.7小結190 

第9章標準化測試191 

9.1引言191 
9.2功能測試的困惑191 
9.2.1手工測試 現狀191 
9.2.2黑盒測試困境192 
9.2.3外包測試模式192 
9.3測試分析模型192 
9.3.1 ACC模型193 
9.3.2 HTSM模型193 
9.3.3 SBTM模型194 
9.3.4漫遊模型194 
9.3.5場景模型196 
9.4點線面測試體系197 
9.4.1建築模型197 
9.4.2責任分工199 
9.4.3三個標準化200 
9.5實踐案例202 
9.5.1承載體和價值點提煉202 
9.5.2細化承載體和價值點204 
9.5.3變量因子及策略205 
9.5.4動態測試測程210 
9.5.5測試閉環215 
9.6收益評估216 
9.6.1充分利用動態思維216 
9.6.2建立用戶角度測試模型217 
9.6.3測試過程及管理優化218 
9.7小結220 

第10章缺陷分析221 

10.1引言221 
10.2缺陷理論基礎221 
10.2.1缺陷的定義221 
10.2.2缺陷的屬性222 
10.2.3缺陷的修復成本222 
10.3缺陷定位(逆向分析)223 
10.3.1望224 
10.3.2聞224 
10.3.3問225 
10.3.4切226 
10.4缺陷報告(正向演進)226 
10.4.1缺陷現象—缺陷影響227 
10.4.2復現路徑—測試思想228 
10.4.3缺陷原理—代碼 關注229 
10.4.4缺陷思考—擴展總結231 
10.5討論分析232 
10.5.1投入產出比233 
10.5.2適用人群234 
10.5.3適用階段234 
10.6小結234 

後記235 
附錄A參考引用及擴展閱讀238 
附錄B相關網址收錄239