SDK開發(fā)質(zhì)量保障經(jīng)驗總結(jié)

相比于APP的開發(fā)叠必,SDK的開發(fā)有些不同:
1、拓展性要求更高:SDK需要對外提供接口妹窖,無論是迭代還是重構(gòu)澜躺,原有接口都不能變更凑术,否則會對SDK使用者帶來兼容写穴、維護成本琼富;
2、質(zhì)量要求更高:SDK可能在各種業(yè)務場景中使用蜓萄,使用情況復雜俄讹;且如果有質(zhì)量問題時每個SDK使用方都需要升級,所以發(fā)布的SDK版本一定要是高質(zhì)量的版本绕德;
3患膛、測試難度更大:SDK很多時候只有接口沒有界面,對于測試來講既是黑盒耻蛇、又不確定SDK使用者怎么調(diào)用踪蹬,即使測試時沒問題也很難保證在業(yè)務中使用時沒有問題。

??對于1已有成熟的解決方案臣咖,有新需求或需求變動跃捣,新增接口并讓原接口過時即可。下面結(jié)合我實際負責SDK開發(fā)的經(jīng)歷夺蛇,談一談2和3疚漆,即如何保障SDK的開發(fā)質(zhì)量:
一、評審環(huán)節(jié):
??評審環(huán)節(jié)最為重要的是在滿足當前需求之外刁赦,還要基于對業(yè)務的理解娶聘,洞察可能的潛在需求,基于對需求的理解和洞察甚脉,設計接口和丸升。盡可能在SDK設計時就考慮到需求可能的變更情況,設計出職責明確牺氨、兼容性強的接口狡耻,避免因為需求變更導致接口的改動。比如下載接口的設計猴凹,一次可以添加一個下載任務夷狰,也可能有一次性添加多個下載任務的需求。
??除此之外郊霎,還需要為SDK制定版本號(在代碼中寫明版本沼头,而非在SDK名字上體現(xiàn))和一套錯誤碼,便于在SDK出問題時能夠快速定位問題歹篓。
??SDK設計完成后瘫证,需要要求APP需求方的開發(fā)人員一起參與評審,主要評審接口設計的合理性和易用性庄撮,確保達成一致后才進入開發(fā)環(huán)節(jié)背捌。

二、開發(fā)環(huán)節(jié):
??因為SDK的特殊性洞斯,質(zhì)量保障不能強依賴測試毡庆,既然SDK不好測,那就想辦法讓開發(fā)出來的SDK質(zhì)量有保障烙如、通過開發(fā)端提供測試工具簡化測試的工作么抗。
??靠譜的解決方案是為SDK開發(fā)Demo,Demo中演示每個接口的調(diào)用方式亚铁,并提供測試模式蝇刀,用于對接口的性能、安全性等測試徘溢。通過Demo既引導了APP開發(fā)人員盡可能按預期的方式使用接口吞琐,又為測試人員提供了方便,通過測試模式可以對各接口做性能然爆、安全等專項站粟,專項驗證SDK的質(zhì)量。如果SDK存在需要長時間運行等可能導致功耗問題的情況曾雕,需要通過多渠道打包生成多個Demo奴烙,通過專項驗證同時運行對整機性能的影響。
??為了便于開發(fā)者使用剖张,為SDK寫ReadMe切诀,介紹接口的使用方法、使用流程是必不可少的搔弄。

三趾牧、發(fā)布環(huán)節(jié):
??SDK的發(fā)布可以借鑒APP的發(fā)布流程,先和需求方拿一個APP聯(lián)調(diào)肯污,集成進APP灰度驗證SDK的質(zhì)量翘单,如果質(zhì)量OK再全量。

四蹦渣、維護環(huán)節(jié):
??為SDK設計一套單獨的異常采集方案哄芜,將SDK和APP的異常分開,避免因為SDK集成到APP中無法單獨統(tǒng)計SDK的異常率柬唯,通過統(tǒng)計SDK的異常率來衡量SDK的質(zhì)量认臊。

??剛開始接手SDK開發(fā)時情況是比較糟糕的,發(fā)布SDK版本時總是心驚膽戰(zhàn)锄奢,市場反饋有APP的問題時失晴,經(jīng)常聽到APP開發(fā)人員反饋這是SDK的問題剧腻。通過將上面的做法融入到流程和規(guī)范中,并不定期抽查團隊成員對流程和規(guī)范的遵守情況約束團隊遵守規(guī)范⊥科ǎ現(xiàn)在幾乎很難遇到之前那樣的情況了书在,一年下來因為SDK導致的嚴重問題最多有1-2次,SDK的異常率遠低于APP的異常率拆又。
??上述的總結(jié)只講了在開發(fā)過程中有真正實踐過的方法儒旬,并非完美方案,像通過單元測試保障SDK接口的穩(wěn)定性帖族、通過熱更新實現(xiàn)SDK補丁的動態(tài)更新都是有效保障SDK開發(fā)質(zhì)量的方法栈源。

下面是對這篇文章的總結(jié):
1、SDK相比于APP竖般,需要更為注重開發(fā)質(zhì)量甚垦;
2、保障SDK開發(fā)質(zhì)量的方法有:為SDK開發(fā)測試模式涣雕、輸出SDK使用Demo和說明文檔制轰、對SDK做專項測試、先灰度再全量胞谭、對SDK做異常采集垃杖;
3、SDK的開發(fā)丈屹,永遠是質(zhì)量第一调俘、效率第二。嚴格遵守流程和規(guī)范旺垒,只有這樣彩库,才不會陷入被使用方質(zhì)疑的境況,才有機會始終以實現(xiàn)新增需求而非維護為主先蒋。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末骇钦,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子竞漾,更是在濱河造成了極大的恐慌眯搭,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件业岁,死亡現(xiàn)場離奇詭異鳞仙,居然都是意外死亡,警方通過查閱死者的電腦和手機笔时,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門棍好,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事借笙“遣溃” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵业稼,是天一觀的道長盗痒。 經(jīng)常有香客問我,道長盼忌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任掂墓,我火速辦了婚禮谦纱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘君编。我一直安慰自己跨嘉,他們只是感情好,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布吃嘿。 她就那樣靜靜地躺著祠乃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兑燥。 梳的紋絲不亂的頭發(fā)上亮瓷,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機與錄音降瞳,去河邊找鬼嘱支。 笑死,一個胖子當著我的面吹牛挣饥,可吹牛的內(nèi)容都是我干的除师。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼扔枫,長吁一口氣:“原來是場噩夢啊……” “哼汛聚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起短荐,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤倚舀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后忍宋,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞄桨,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年讶踪,在試婚紗的時候發(fā)現(xiàn)自己被綠了芯侥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖柱查,靈堂內(nèi)的尸體忽然破棺而出廓俭,到底是詐尸還是另有隱情,我是刑警寧澤唉工,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布研乒,位于F島的核電站,受9級特大地震影響淋硝,放射性物質(zhì)發(fā)生泄漏雹熬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一谣膳、第九天 我趴在偏房一處隱蔽的房頂上張望竿报。 院中可真熱鬧,春花似錦继谚、人聲如沸烈菌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芽世。三九已至,卻和暖如春诡壁,著一層夾襖步出監(jiān)牢的瞬間济瓢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工妹卿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留葬荷,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓纽帖,卻偏偏與公主長得像宠漩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子懊直,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

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