說說自測與習(xí)慣

上周開始在公眾號寫文章了搁骑,算是鞭策自己記錄下工作生活的一個方法吧

啦啦啦德瑪西亞


做一只有抱負(fù)的喵


上周嘗試了一下用文字總結(jié)與回顧一天的工作與生活的感想,但是沒堅(jiān)持住,連續(xù)好幾天沒更新了,這次嘗試換一種形式繼續(xù)這件事情晒杈。

最近在做的事情

由于眾所周知的原因,我在最近的工作中加強(qiáng)了自測孔厉,減少了很多顯而易見的錯誤(代碼變量名拼寫錯誤)以及一些比較難發(fā)現(xiàn)的錯誤拯钻。我們雖然在平常的工作中強(qiáng)調(diào)開發(fā)測試的重要性,卻在執(zhí)行上不夠完備撰豺,有可能因?yàn)閞eview過代碼了好像沒什么問題粪般、部分場景難以覆蓋到的原因,產(chǎn)生了測試遺漏≈3茫現(xiàn)在看開發(fā)測試這件事情刊驴,還是很具備它的價值姿搜。

軟件質(zhì)量

良好地完成開發(fā)測試是保障軟件產(chǎn)品質(zhì)量的第一步寡润。當(dāng)一個程序員能夠持續(xù)不斷地按時交付高質(zhì)量的軟件,會給別人一種靠譜的感覺舅柜。這種靠譜的感覺是不能用其他能力所替代的梭纹,即使你能夠完成高大上的功能但是卻在程序編碼中犯下低級的錯誤,就如同建筑高樓卻在某個地方缺少了一面承重墻致份,這種情況反而會令他人憂心忡忡变抽。

同時,保證開發(fā)質(zhì)量也減少了團(tuán)隊(duì)的成本氮块。描述一個問題需要溝通成本;修復(fù)一個問題需要打斷原有的開發(fā)進(jìn)度绍载;對程序的重新打包部署需要額外的時間;問題的出現(xiàn)會延長版本周期并讓人們身心俱疲滔蝉。有計劃有效率地在開發(fā)階段進(jìn)行自測击儡,發(fā)現(xiàn)和處理問題,及早進(jìn)行溝通和反饋蝠引,都會大大提升工作的效率阳谍。

有關(guān)于代碼測試

有人說過蛀柴,可以把任何程序看做是處理不同if-else分支的代碼,問題只是如何把這些分支編寫得更加優(yōu)雅矫夯,而不是簡單堆砌鸽疾。那,也可以把對程序的測試看做是對if-else分支的檢查训貌,于是在測試?yán)碚摾锎嬖谝环N測試指標(biāo)——代碼覆蓋率制肮。

另外一種測試方式則是使用測試用例。根據(jù)用戶的使用場景旺订,構(gòu)造出正常以及不正常的測試用例(test case)弄企,并觀察程序能否給出我們預(yù)期的結(jié)果。比如一個函數(shù):

int divide(int a, int b){

return a / b;

}

這個函數(shù)的test case可以如下:

a = 2 ,b = 1 返回2

a = 2 ,b = 0 提示除數(shù)參數(shù)不能為0

……

等等区拳。根據(jù)上面的例子看顯然這個函數(shù)是有問題的拘领。

在開發(fā)自測的過程中,我們就可以根據(jù)這些檢查清單(checklist)執(zhí)行程序樱调,并進(jìn)行檢查约素,有條理地發(fā)現(xiàn)程序的問題。

方法的延伸

對檢查清單一條條執(zhí)行似乎太麻煩了笆凌,于是我們可以編寫單元測試用例圣猎,先確定單個模塊/函數(shù)是良好運(yùn)作的。同樣以上面的函數(shù)為例:

int TestAdd(AddInput input){

int result = add(input.a, input.b);

assert(result == input.result);

}

最后乞而,我們還會把用例組織成輸入?yún)?shù)和期待的輸出參數(shù)送悔,對模塊進(jìn)行自動化用例的測試。確保每次程序代碼變更后爪模,這些用例都能夠自動地執(zhí)行并返回結(jié)果欠啤,也就是對功能是否正常的回歸測試。也就是敏捷開發(fā)中的持續(xù)集成屋灌,which i dont quite understand洁段。

最后再說說測試

評價程序的質(zhì)量當(dāng)中有一條,程序的可測試性共郭。雖然不同場景下的程序可測試性參差不齊祠丝,但我相信,同樣的需求下除嘹,具有更強(qiáng)可測試性的代碼一般會更好写半,因?yàn)榭蓽y試性要求代碼設(shè)計能夠較好地對需求進(jìn)行正交分解,能夠區(qū)分不同的模塊尉咕,會具備更強(qiáng)的可維護(hù)性和可擴(kuò)展性叠蝇。當(dāng)然,在一些高性能需求下可能會對性能有所損耗龙考。

另外蟆肆,很多需求/代碼設(shè)計的問題矾睦,在思考如何測試的時候,也會露出端倪炎功。當(dāng)我們討論這個場景比較難被測試覆蓋到的時候枚冗,就應(yīng)該思考是不是本身的設(shè)計或是需求不合理。

最近讀的書

看完三體后蛇损,剛好在kindle上看到了《The Power Of Habit》這本書想到之前tiny叔有安利過這本書赁温,我便毫不猶豫地入了。

大部分的閱讀都是在上班的地鐵上完成的淤齐,目前讀了55%左右股囊,看完了個人和公司行為習(xí)慣部分。

看過的基本全英暢銷書都愛在樹上穿插故事與訪談更啄,滿滿地深入淺出的味道稚疹,所以也容易流暢地閱讀。前幾章主要講述了:

習(xí)慣的產(chǎn)生機(jī)制祭务。神奇的是内狗,它是與記憶無關(guān)的。即使腦補(bǔ)受損導(dǎo)致不能產(chǎn)生新的記憶的人也存在習(xí)慣行為义锥,也能夠產(chǎn)生新的習(xí)慣柳沙。

習(xí)慣行為的三部曲,渴望(craving)-行為(routine)-獎勵(reward)拌倍。

改變習(xí)慣行為的方法赂鲤,用同樣的渴望和獎勵,改變行為來達(dá)到改變習(xí)慣的目的柱恤。

……

習(xí)慣是個神奇的事物数初。有些我們需要咬牙完成的事情,只要養(yǎng)成了相應(yīng)的習(xí)慣膨更,可能輕輕松松不知不覺就能夠完成了妙真。書中提到缴允,自制力也是一種類似體力的資源荚守,當(dāng)我們使用自制力完成一件事情的時候,會消耗它练般;那么我們可能就沒有足夠的韌性去完成另一件事情了矗漾。把一些重要不緊急的事情作為我們的日常習(xí)慣來完成,假以時日薄料,我們必將受益良多敞贡。

不過養(yǎng)成習(xí)慣是件需要自制力的事情,這兩年新養(yǎng)成的習(xí)慣大概也只有跑步摄职、閱讀英文讀物/技術(shù)文章誊役,記賬理財获列、時間計劃管理(GTD)這些事情還顯得斷斷續(xù)續(xù)。

最后的吐槽

kindle的詞典加載越來越慢了這是什么鬼啊查生詞都好慢啊好想換voyage啊

減肥增肌一塊腹肌啥時候變八塊呢蛔垢?

nozuonodie我又要失眠了

把lol卸掉的我又有更多時間學(xué)習(xí)和健身了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末击孩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鹏漆,更是在濱河造成了極大的恐慌巩梢,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艺玲,死亡現(xiàn)場離奇詭異括蝠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)饭聚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進(jìn)店門忌警,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秒梳,你說我怎么就攤上這事慨蓝。” “怎么了端幼?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵礼烈,是天一觀的道長。 經(jīng)常有香客問我婆跑,道長此熬,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任滑进,我火速辦了婚禮犀忱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘扶关。我一直安慰自己阴汇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布节槐。 她就那樣靜靜地躺著搀庶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铜异。 梳的紋絲不亂的頭發(fā)上哥倔,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天,我揣著相機(jī)與錄音揍庄,去河邊找鬼咆蒿。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沃测。 我是一名探鬼主播缭黔,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蒂破!你這毒婦竟也來了试浙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤寞蚌,失蹤者是張志新(化名)和其女友劉穎田巴,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挟秤,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡壹哺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了艘刚。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片管宵。...
    茶點(diǎn)故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖攀甚,靈堂內(nèi)的尸體忽然破棺而出箩朴,到底是詐尸還是另有隱情,我是刑警寧澤秋度,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布炸庞,位于F島的核電站,受9級特大地震影響荚斯,放射性物質(zhì)發(fā)生泄漏埠居。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一事期、第九天 我趴在偏房一處隱蔽的房頂上張望滥壕。 院中可真熱鬧,春花似錦兽泣、人聲如沸绎橘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽称鳞。三九已至,卻和暖如春牵敷,著一層夾襖步出監(jiān)牢的瞬間胡岔,已是汗流浹背法希。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工枷餐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苫亦。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓毛肋,卻偏偏與公主長得像怨咪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子润匙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評論 2 351

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理诗眨,服務(wù)發(fā)現(xiàn),斷路器孕讳,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,858評論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法匠楚,類相關(guān)的語法,內(nèi)部類的語法厂财,繼承相關(guān)的語法芋簿,異常的語法,線程的語...
    子非魚_t_閱讀 31,602評論 18 399
  • 還記得三十年前的那場雪嗎璃饱? 還記得二十年前的那場電影嗎与斤? 還記得十年前的那次喬遷新居嗎? 還記得今年的這場寒流嗎荚恶?...
    你背影的影子閱讀 335評論 0 0
  • 金無足赤撩穿,人無完人,沒有絕對完美的老板谒撼,老板也是人食寡,也有各種缺點(diǎn),但是廓潜,有幾種老板絕對不能跟冻河,萬一不幸跟了...
    落雪若梅閱讀 1,321評論 0 0