開發(fā)階段的自我檢查 之 單元測試

開發(fā)階段的自我檢查 之 單元測試

Q:開發(fā)階段我們可以進(jìn)行哪些自我檢查呢?

?? 例如:剛寫好一個(gè)輪播圖組件

? 我們會造一些輪播圖的數(shù)據(jù) > 跑一把 看看效果

? 修改一下數(shù)據(jù) 只有一張圖片 > 重新加載 看下效果

? 數(shù)據(jù)為空 > 重新加載 看下效果

? 換用不同尺寸的圖片 > 再次進(jìn)入 看下效果

是的 在開發(fā)階段我們經(jīng)常會做代碼的自我檢查

A:從開發(fā)的過程來分 我們可以把開發(fā)階段的自我檢查劃分為:

test func > test class > test service || test UI

相應(yīng)的我們可以在開發(fā)階段進(jìn)行:

func test > class test > service test || UI test

從后往前看 我們是否可以更系統(tǒng)的進(jìn)行開發(fā)階段的自我檢查:

1??UI Test我們做的很多 => 開發(fā)完畢 > mock數(shù)據(jù) > 人肉看一下不同數(shù)據(jù)時(shí) UI和功能是否正常

2??service test匾南?=> 服務(wù)端通過接口測試做的比較多

3?? 再往前看 class test & func test => 不易觸及 進(jìn)行自我檢查的次數(shù)比較少


當(dāng)你的輸出是一個(gè)App ?? 我們可以通過UI進(jìn)行直接的交互

當(dāng)你的輸出是一個(gè)Service ?? 我們可以通過接口進(jìn)行直接的交互

當(dāng)你的輸出是一個(gè)Class or function ?? 我們可以通過什么進(jìn)行直接的交互呢?

如果你是AFNetworking的作者 如何進(jìn)行測試?

1?? 寫一個(gè)Example App 通過人機(jī)交互的方式 進(jìn)行每一項(xiàng)功能的驗(yàn)證?

2?? 通過單元測試框架 調(diào)用每一個(gè)待測試的方法 進(jìn)行功能的驗(yàn)證

今天我們的主題就是這里

通過單元測試 我們可以方便系統(tǒng)的進(jìn)行 func test & class test

從而可以更系統(tǒng)的進(jìn)行開發(fā)階段的自我檢查 交付測試團(tuán)隊(duì)更加健壯的產(chǎn)出

什么是單元測試呢?

1?? 最小可測單元_測試自己寫的對外提供功能or計(jì)算過程

2?? 不是為了發(fā)現(xiàn)bug,是為了提高開發(fā)效率,為了我們代碼健康的可持續(xù)發(fā)展

?? 一些調(diào)試很久的疑難問題 往往根源是一些簡單低級的小錯(cuò)誤引起的

單元測試的優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

1?? 單元測試能保證在加入新功能或修改舊功能時(shí)代碼的正確性

2?? 單元測試保證在整個(gè)開發(fā)流程中代碼都會被測試诲锹,更容易及早發(fā)現(xiàn)問題古劲,降低風(fēng)險(xiǎn)

場景:

1?? 發(fā)版前修改了基礎(chǔ)組件的某個(gè)功能 ?? 通過單元測試 可以方便低成本的進(jìn)行回歸測試

2?? 代碼重構(gòu)后 ?? 功能影響的摸底與評估

3?? 開發(fā)過程中 直接測試某個(gè)方法 ?? 無需build & run整個(gè)工程

缺點(diǎn):

單元測試不能減少研發(fā)的代碼量肴敛,反而會花費(fèi)很多精力在編寫單元測試上艾君,增加了開發(fā)成本采够,而且對開發(fā)人員的要求也會更高

單元測試由誰來寫?

最好是開發(fā)者本人

如何寫單元測試?

每一個(gè)Test Case的寫法有三個(gè)步驟:①M(fèi)ock對象,準(zhǔn)備測試數(shù)據(jù)冰垄。②調(diào)用要測試的目標(biāo)API蹬癌。③驗(yàn)證輸出和行為是否正確

iOS項(xiàng)目如何進(jìn)行單元測試呢?

1?? XCTest in XCode

2?? Kiwi for OC (3rd framework)

3?? Quick for Swift or OC (3rd framework)

XCTest Demo:

TestCaseWritenByXCTest

Quick Demo:

TestCaseWritenByQuick

單元測試應(yīng)用案例(學(xué)習(xí)樣本)

XCTestWorkInAF
QuickWorkinRAC

單元測試落地計(jì)劃:

1?? 基礎(chǔ)服務(wù) 覆蓋

2?? 公共組件 覆蓋

3?? 基礎(chǔ)業(yè)務(wù)viewModel 覆蓋

4?? 重要業(yè)務(wù)viewModel 覆蓋

參考資料:

1?? iOS單元測試基本介紹

2?? Quick

3?? Quick使用配置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市虹茶,隨后出現(xiàn)的幾起案子逝薪,更是在濱河造成了極大的恐慌,老刑警劉巖蝴罪,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件董济,死亡現(xiàn)場離奇詭異,居然都是意外死亡要门,警方通過查閱死者的電腦和手機(jī)虏肾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欢搜,“玉大人封豪,你說我怎么就攤上這事】癯玻” “怎么了撑毛?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長唧领。 經(jīng)常有香客問我藻雌,道長,這世上最難降的妖魔是什么斩个? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任胯杭,我火速辦了婚禮,結(jié)果婚禮上受啥,老公的妹妹穿的比我還像新娘做个。我一直安慰自己,他們只是感情好滚局,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布居暖。 她就那樣靜靜地躺著,像睡著了一般藤肢。 火紅的嫁衣襯著肌膚如雪太闺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天嘁圈,我揣著相機(jī)與錄音省骂,去河邊找鬼蟀淮。 笑死,一個(gè)胖子當(dāng)著我的面吹牛钞澳,可吹牛的內(nèi)容都是我干的怠惶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼轧粟,長吁一口氣:“原來是場噩夢啊……” “哼策治!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起兰吟,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤览妖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后揽祥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讽膏,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年拄丰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了府树。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡料按,死狀恐怖奄侠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情载矿,我是刑警寧澤垄潮,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站闷盔,受9級特大地震影響弯洗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逢勾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一牡整、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧溺拱,春花似錦逃贝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至句占,卻和暖如春沪摄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工卓起, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凹炸。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓戏阅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親啤它。 傳聞我的和親對象是個(gè)殘疾皇子奕筐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)变骡,斷路器离赫,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評論 25 707
  • 簡介 測試目的:模擬多種可能性,減少錯(cuò)誤塌碌,增強(qiáng)健壯性渊胸,提高穩(wěn)定性。 測試種類:在iOS中的通常分為單元測試和UI測...
    i順頌時(shí)宜閱讀 9,122評論 0 39
  • 5 | 體驗(yàn)艾爾水村傳統(tǒng)生活 文萊河兩岸分布有30座高腳屋村落台妆,充滿鄉(xiāng)野氣息翎猛,被稱為艾爾水村。這里的人幾乎都延續(xù)著...
    Shirley唐一泓閱讀 208評論 0 0
  • 我那時(shí)候是多么不喜歡說話啊接剩,像一個(gè)剛見到世界的小老鼠切厘,膽怯無措又慌張。 模糊的玩具懊缺,很大的操場疫稿,戴方形眼鏡的老師,...
    會走路的電梯閱讀 105評論 0 0