上次講到了“代碼行塘淑,一個(gè)被用壞的高端指標(biāo)”,也許標(biāo)題應(yīng)該改為 “代碼行,其實(shí)也可以很高大上”。本文將接著介紹一些你已聽(tīng)過(guò)的無(wú)數(shù)遍,且應(yīng)該“放棄的指標(biāo)”允睹。 從一個(gè)案例运准,重新思考指標(biāo)的應(yīng)用。
接下來(lái)缭受,和大家解密一個(gè)10年前胁澳,悍馬機(jī)器人項(xiàng)目的度量指標(biāo),看看HW的項(xiàng)目是如何進(jìn)行度量的米者。
在正式介紹之前韭畸,先說(shuō)一說(shuō)如何看待當(dāng)前知識(shí)大爆炸的年代。你曾經(jīng)或現(xiàn)在蔓搞,通過(guò)搜索引擎胰丁、線上線下、收費(fèi)的喂分、免費(fèi)的獲取大量的知識(shí)锦庸。如何把獲取的知識(shí)構(gòu)建自己的知識(shí)體系,不做認(rèn)知界的“王語(yǔ)嫣”蒲祈。這個(gè)甘萧,也許比度量本身更有用。
項(xiàng)目背景:這是一個(gè)全新的項(xiàng)目梆掸,從0開(kāi)始構(gòu)建扬卷,項(xiàng)目啟動(dòng)之后,客戶提供的一個(gè)叫OR的東西沥潭,給我們講解了一遍邀泉,后由開(kāi)發(fā)和測(cè)試人員共同編寫用戶故事嬉挡,并進(jìn)行反串講钝鸽,客戶項(xiàng)目經(jīng)理和總架構(gòu)師作為需求驗(yàn)收方聽(tīng)我們對(duì)用戶故事講解,理解存在差異的庞钢,及時(shí)提出修正或討論拔恰,這個(gè)過(guò)程持續(xù)了三周左右。 后面基本按迭代的方式進(jìn)行基括,在研發(fā)二個(gè)月后颜懊,我們還現(xiàn)場(chǎng)參觀了生產(chǎn)線,了解現(xiàn)在機(jī)器人的運(yùn)作方式风皿,回來(lái)后對(duì)一些場(chǎng)景進(jìn)行了修正河爹,這也是當(dāng)時(shí)客戶架構(gòu)師未識(shí)別到的。
我們來(lái)看一下桐款,當(dāng)時(shí)這個(gè)項(xiàng)目主要使用以下13個(gè)指標(biāo)進(jìn)行度量咸这。 本文著重介紹和代碼行作為基數(shù)參考的單元測(cè)試個(gè)數(shù)、CodeReview缺陷個(gè)數(shù)魔眨,SDV測(cè)試缺陷個(gè)數(shù)媳维,SIT測(cè)試缺陷個(gè)數(shù)酿雪,SDV用例個(gè)數(shù),SIT用例個(gè)數(shù)侄刽。
你是否覺(jué)得很奇怪指黎,我寫多少個(gè)單元測(cè)試、設(shè)計(jì)多少用例州丹、發(fā)現(xiàn)多少個(gè)缺陷醋安,與代碼行有啥關(guān)系?
你是否還發(fā)現(xiàn)墓毒,居然發(fā)現(xiàn)缺陷的數(shù)據(jù)還有一個(gè)最小值茬故,這又是什么神奇的東西。
為什么需要把千行代碼行(KLoc)作為參考:我個(gè)人理解這是一個(gè)經(jīng)驗(yàn)值蚁鳖,如果不以代碼行參考磺芭,我們估計(jì)只能憑想像我們的案例是否寫得差不多了,你是寫10個(gè)案例呢醉箕,還是100個(gè)案例呢钾腺,要不要繼續(xù)思考一下有沒(méi)漏什么呢,等等都是一個(gè)問(wèn)題讥裤。 當(dāng)然你寫夠了數(shù)放棒,也不代碼你就真的覆蓋全了,還是需要進(jìn)行評(píng)審的己英。
為什么要設(shè)計(jì)最小值:拿缺陷來(lái)說(shuō)间螟,我們相信,是個(gè)開(kāi)發(fā)就會(huì)埋下缺陷损肛,聰明的會(huì)埋下聰明的缺陷厢破,初級(jí)的會(huì)埋下低級(jí)的缺陷。沒(méi)有找到只是你還沒(méi)有發(fā)現(xiàn)治拿,并不是你不會(huì)犯錯(cuò)摩泪。
再來(lái)看看這幾個(gè)指標(biāo)的責(zé)任人
指標(biāo)責(zé)任人說(shuō)明
看到此處,你是否明白了什么劫谅?我能不能少寫幾行代碼见坑,實(shí)現(xiàn)同樣的功能。既節(jié)約自己尋找缺陷捏检、編寫SDV案例等的時(shí)間荞驴,也節(jié)約測(cè)試人員編寫案例和執(zhí)行案例時(shí)間。
如果哪位大哥有copy paste, 恭喜你贯城,開(kāi)發(fā)和測(cè)試是一樣受累的熊楼,這里不詳述。 測(cè)試也充分理解開(kāi)發(fā)冤狡, 若非必要孙蒙,他也不會(huì)難為自己项棠,一起加班努力提高質(zhì)量吧。
這些指標(biāo)如何落地挎峦,真心不太容易香追。我們是經(jīng)歷過(guò)一個(gè)痛苦的過(guò)程去學(xué)習(xí)才最后得以達(dá)成的。前置指標(biāo)達(dá)成坦胶,不能往后一步流程走透典。這又何嘗不是一個(gè)實(shí)實(shí)在在的質(zhì)量?jī)?nèi)健的案例。
團(tuán)隊(duì)里最開(kāi)心的事:開(kāi)發(fā)自己找到缺陷顿苇,測(cè)試自己找到缺陷峭咒,相互找到缺陷... 其實(shí)我們最開(kāi)心的事,這個(gè)缺陷不會(huì)在生產(chǎn)上發(fā)生纪岁。
相信你也許看明白了凑队,我們鼓勵(lì)發(fā)現(xiàn)缺陷,我們認(rèn)為本身就應(yīng)該有這么多缺陷是正常的幔翰,我們也不相信神話漩氨。我們同時(shí)指標(biāo)設(shè)計(jì)也是相互約束的,無(wú)公害的遗增,高度協(xié)同的叫惊。
不再贅述太多,如果對(duì)你有所感做修,請(qǐng)思考未來(lái)如何有效在你所在場(chǎng)景的度量霍狰。也期望你能夠成為高手,建立自己的知識(shí)體系饰及。借用一代宗師里面的一句話:見(jiàn)自己蔗坯,見(jiàn)天地,見(jiàn)眾生旋炒。
也以此文獻(xiàn)給一起在悍馬機(jī)器人項(xiàng)目上奮斗的15位兄弟姐妹步悠。一起讓代碼覆蓋率签杈、可維護(hù)指數(shù)超過(guò)了80%瘫镇。