99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网
Swift
編程
Swift51.com
首頁
社區(qū)
▼
資訊
問答
分享
建議
開源代碼
Xcode下載
Swift教程
hot
登錄
注冊
當前位置:
首頁
> 分享
歡迎加入QQ討論群258996829
蘋果6袋
6
麥子學院
自動化測試原因分析
發(fā)布時間:2016-07-06 20:52 回復:0 查看:3356 最后回復:2016-07-06 20:52
無論你是軟件測試人員還是程序猿,
自動化測試學習
都是必要的,首先,你想想下面的場景:
你利用重構(gòu)之術(shù)讓代碼更簡潔, 可讀性更好,更高效,修改完成后,你泡上一杯清茶,躺在你的人體工學座椅上還在沉浸在剛才的美好之中, 這時QA找到你,
QA:請問你剛才提交代碼了嗎,
答曰:是的
QA: 你修改的那部分功能跑不通了,你沒有測試嗎
答曰:是嗎, 我看看
…..
子曰:一切沒有自動化測試的代碼重構(gòu)都是耍流氓。如果你重構(gòu)了代碼,卻破壞了基本的功能,縱使代碼再漂亮,性能再高,又有何用?
自動化測試
那么如何保證重構(gòu)不破壞既有的功能?答曰:測試。無論你是單元測試,功能測試,集成測試,還是嗶哩嗶哩測試,總之你需要盡一切可能去測試。重構(gòu)有一個個「點」(細胞)的重構(gòu),所以你需要單元測試;也有一個個「切面」(器官)的重構(gòu),所以你需要功能測試;當「切面」的改動甚大(器官移植),還需要集成測試…相關(guān)的測試是否存在決定了你能否重構(gòu);而測試所花費的時間直接決定了你是否會進行重構(gòu),以及以一個什么樣的頻率進行重構(gòu)。如果重構(gòu)了十行代碼,卻需要花費一個小時進行運行一次單元測試,那么你要么不會去重構(gòu)代碼,要么你重構(gòu)了不會去測試。
好的重構(gòu)發(fā)生在構(gòu)建系統(tǒng)的每時每刻,而非問題發(fā)生或者老板要求。如果重構(gòu)之后測試立刻會告知你結(jié)果,你會更有信心進行更多的重構(gòu),使其成為你工作生活的一部分。
你也許會質(zhì)疑:什么樣的單元測試可能會需要一個小時來完成?答曰:手工測試。這是為什么先驗條件不是「測試」,而是「自動化測試」。沒有自動化測試(以下簡稱測試),談重構(gòu)純屬扯淡。如果要重構(gòu)的環(huán)節(jié)測試覆蓋率不好,先想法提高覆蓋率。
TODO 測試驅(qū)動開發(fā)
在測試驅(qū)動開發(fā)(TDD)這本書也寫到,如何利用測試驅(qū)動開發(fā)。
總結(jié)
子曰:讀萬卷書不如行萬里路。行動起來吧, 用實踐說話,實踐是檢驗真理的唯一標準。如果根本沒有測試例,請先做好這個基本功再談重構(gòu)。
原文來自:jason’s blog
取消引用
您還未登錄,
請先登錄
提 問
熱門帖子
iDev 全平臺開發(fā)者大會門票免費送!限量10張!
蘋果Mac Pro垃圾桶 最低配的ME253CH
本人想買個蘋果電腦搞開發(fā),哪位大俠指點下
求助:failable initializer 'init(name:)' cannot override a non-failable initializer
為慶祝Swift發(fā)布1個月,雨燕社區(qū)正式上線。
在UITextFeild里輸入數(shù)據(jù),這個數(shù)據(jù)怎么做加減乘除?
Swift 高仿喜馬拉雅FM
要成為自由職業(yè)者?先要學會蘋果的Swift哦
用swift實現(xiàn)的調(diào)用系統(tǒng)相機,相冊的DEMO
關(guān)于嵌入式引用\()
Swift 教程
最新帖子
swift_5.3可以更新了
swift如何實現(xiàn)左滑刪除
IBM Swift Sandbox訪問
Thread 18: Fatal error: 'try!' expression unexpectedly raised an error: Error
跟隨手勢滑動的ScrollableTextField
Swift5.0什么時候出
什么時候出5.0
PerfectTemplate 無法編譯
WWDC19 蘋果宣布全新 UI 框架 SwiftUI
水平滾動視圖Carousel
Xcode 9.4下載
?
Copyright © 2017 Swift 編程 版權(quán)所有
推動 Swift 成為最受歡迎的編程語言!
友鏈、商務(wù)合作:service??swift51.com
手機版