數(shù)據(jù)項目在做什么,測試有何不同颗品?

很多同事問我肯尺,數(shù)據(jù)項目在做什么?怎么做的躯枢?數(shù)據(jù)項目的測試和非數(shù)據(jù)類的有什么不同则吟?

接下來,本文從數(shù)據(jù)項目的業(yè)務(wù)锄蹂、架構(gòu)氓仲、團隊、開發(fā)模式得糜、交付敬扛、測試6個方面談?wù)剶?shù)據(jù)類項目有哪些不同。

1朝抖、數(shù)據(jù)類項目的業(yè)務(wù)

數(shù)據(jù)項目的業(yè)務(wù)核心是通過數(shù)據(jù)來創(chuàng)新價值啥箭。數(shù)據(jù)、技術(shù)治宣、業(yè)務(wù)創(chuàng)新是項目的精髓急侥。

數(shù)據(jù)項目通過收集大量的數(shù)據(jù),結(jié)合各種技術(shù)手段對數(shù)據(jù)進行分析侮邀、建模坏怪,從而幫助企業(yè)創(chuàng)新價值,提高效益豌拙。

比如:收集客戶的歷史購買數(shù)據(jù)陕悬,通過數(shù)據(jù)分類、推薦算法等技術(shù)手段按傅,就能幫助企業(yè)更精準的投放或推銷用戶想買的商品捉超,大大提高企業(yè)收益胧卤。

真實案例,本人參與的一個異常檢測類的項目(簡稱ABC)拼岳,核心業(yè)務(wù)是對銀行的指標數(shù)據(jù)異常檢測枝誊、及時預(yù)警。(如圖1)

圖1. ABC項目業(yè)務(wù)模塊

【數(shù)據(jù)集】數(shù)據(jù)集模塊展示了所有的指標數(shù)據(jù)集目錄惜纸,后面會對這些指標數(shù)據(jù)集進行分析建模叶撒。

【建模】建模通道耐版,提供了多種數(shù)據(jù)處理工具和算法祠够,用戶可以自行組合配套使用。通過運行配好的模型粪牲,產(chǎn)生預(yù)警結(jié)果數(shù)據(jù)古瓤。

【結(jié)果查看】對不同等級的預(yù)警數(shù)據(jù)進行統(tǒng)計展示,有報表形式或圖表形式等腺阳。

ABC項目就是通過對指標數(shù)據(jù)進行建模(異常檢測算法+預(yù)警工具)落君,從而分析出指標數(shù)據(jù)的異常,及時預(yù)警亭引,幫助客戶盡早發(fā)現(xiàn)問題及時處理規(guī)避風險绎速。

簡言之,數(shù)據(jù)類項目的業(yè)務(wù)共通點都是數(shù)據(jù) + 技術(shù) => 價值焙蚓。

在這里強烈推薦凱哥的《精益數(shù)據(jù)創(chuàng)新工作坊》纹冤,在這個工作坊上能學到如何從數(shù)據(jù)中發(fā)現(xiàn)創(chuàng)新場景,如何把數(shù)據(jù)轉(zhuǎn)換成業(yè)務(wù)價值主届。工作坊通過桌游的方式展示赵哲,淺顯易懂待德。

2君丁、數(shù)據(jù)類項目技術(shù)層

數(shù)據(jù)項目的技術(shù)層是圍繞數(shù)據(jù)流的生命周期,自底向上分為三層将宪。數(shù)據(jù)收集->數(shù)據(jù)分析->結(jié)果展示绘闷。

自底向上:數(shù)據(jù)倉庫(最底層),數(shù)據(jù)建模(中間層)较坛,可視化展現(xiàn)(頂層)印蔗。

圖2. 技術(shù)自底向上三層

第一層:數(shù)據(jù)倉庫,從多種業(yè)務(wù)數(shù)據(jù)庫收集數(shù)據(jù)丑勤,經(jīng)過提取华嘹、加工、導入(ETL)法竞,存放在數(shù)據(jù)倉庫耙厚。

圖3.數(shù)據(jù)倉庫

第二層:數(shù)據(jù)建模强挫,數(shù)據(jù)處理通道(包含各類數(shù)據(jù)工具和算法);比如數(shù)據(jù)抽取工具薛躬、分類俯渤、聚類、推薦型宝、異常檢測算法等八匠。

第三層:結(jié)果展示(數(shù)據(jù)分析結(jié)果的展現(xiàn));展示方式也多種多樣趴酣,比如:報表梨树、儀表盤、各種圖表等等岖寞。

以ABC項目組為例劝萤,它的技術(shù)層也是自底向上三層 :

【數(shù)據(jù)倉庫】銀行各業(yè)務(wù)線上產(chǎn)生的業(yè)務(wù)指表數(shù)據(jù),經(jīng)過ETL后正式上線存放于數(shù)據(jù)倉庫慎璧,每期新的業(yè)務(wù)數(shù)據(jù)會定期同步到數(shù)倉床嫌。

【數(shù)據(jù)建模】數(shù)據(jù)倉庫的指標數(shù)據(jù)胸私,經(jīng)過分組抽取工具厌处、異常檢測算法、預(yù)警工具岁疼,產(chǎn)生最終預(yù)警等級結(jié)果阔涉。另外,數(shù)倉定期同步新的數(shù)據(jù)捷绒,模型也會及時運行產(chǎn)生新結(jié)果瑰排。

【結(jié)果展示/可視化】把經(jīng)過數(shù)據(jù)建模產(chǎn)生的預(yù)警結(jié)果通過界面可視化的方式展現(xiàn)給用戶,ABC項目用到的是熱點圖暖侨、柱狀圖椭住、趨勢圖,用戶能直觀清淅地看到哪里出了問題字逗。

3京郑、數(shù)據(jù)類項目團隊

項目團隊組成通常分為 :A、數(shù)倉團隊葫掉,B些举、數(shù)據(jù)應(yīng)用開發(fā)團隊,算法工程師團隊俭厚。

實例户魏,ABC項目組開發(fā)團隊是分三組 :

(1)數(shù)倉團隊: 主要是對銀行各業(yè)務(wù)數(shù)據(jù)收集、ETL同步到數(shù)據(jù)倉庫,他們的交付物就是數(shù)據(jù)倉庫上線的指標表叼丑,用于后面的分析建模资铡。

(2)算法工程師團隊: 算法工程師依據(jù)業(yè)務(wù)需求尋找開發(fā)適合的算法、產(chǎn)出物是一個個供基礎(chǔ)平臺調(diào)用的算法幢码。

(3)數(shù)據(jù)應(yīng)用開發(fā)團隊: 數(shù)據(jù)應(yīng)用和非數(shù)據(jù)項目應(yīng)用開發(fā)類似笤休,交付一個完整的應(yīng)用系統(tǒng)。數(shù)倉開發(fā)的源指標數(shù)據(jù)要在數(shù)據(jù)應(yīng)用基礎(chǔ)分析展示症副。

4店雅、項目開發(fā)模式

整個團隊采用的敏捷開發(fā)模式與非數(shù)據(jù)類項目一致。

ABC項目的三方團隊是獨立并行開發(fā)贞铣,但三方會頻繁溝通闹啦、及時拉通對齊業(yè)務(wù)和技術(shù)契約。

5辕坝、數(shù)據(jù)類項目交付

數(shù)據(jù)類項目交付物可分三類:A窍奋、數(shù)據(jù)倉庫發(fā)布數(shù)據(jù),B酱畅、數(shù)據(jù)工具和算法琳袄、C、數(shù)據(jù)基礎(chǔ)應(yīng)用。對于小型的數(shù)據(jù)類項目,很多時候三者合一视事。

ABC項目組迭代交付、三部分支持獨立部署上線 :

(1)數(shù)倉發(fā)布數(shù)據(jù):指標數(shù)據(jù)泡嘴。每完成一個新的指標、會及時發(fā)布新指標到數(shù)倉、即完成上線。

(2)算法上線:Python算法仗考,有新的Python算法或已有算法的升級版,可獨立部署上線词爬。

(3)數(shù)據(jù)基礎(chǔ)應(yīng)用上線:ABC應(yīng)用系統(tǒng)秃嗜。 迭代交付ABC系統(tǒng)的新功能。


6缸夹、數(shù)據(jù)項目的測試

QA在數(shù)據(jù)項目中也是敏捷測試方式痪寻。提前反饋螺句、預(yù)防缺陷虽惭、及時響應(yīng)。每個故事卡的Review Story蛇尚、KickOff芽唇、DeskCheck、QA環(huán)境下測試、UAT環(huán)境驗證匆笤、生產(chǎn)環(huán)境下QA研侣,這些與非數(shù)據(jù)類項目是一樣的。不同的是在與每個環(huán)節(jié)更關(guān)注于數(shù)據(jù)的驗證炮捧,以及在數(shù)據(jù)量極大的情況下的測試庶诡。

6.1 測試類型方面

(1)功能測試

數(shù)據(jù)類項目不同的是: 數(shù)據(jù)的每個處理步驟都要及時驗證,要驗證數(shù)據(jù)的中間表咆课。非數(shù)據(jù)項目通常QA端對端驗證場景即可末誓。但在數(shù)據(jù)類項目中,數(shù)據(jù)的處理通道會很長书蚪,如果還是端對端驗證喇澡,反饋周期長、問題定位也困難殊校。所以數(shù)據(jù)類項目QA要深入到開發(fā)內(nèi)部晴玖,了解數(shù)據(jù)每一步處理過程,及時檢查驗證为流,提早反饋呕屎。

數(shù)據(jù)質(zhì)量的檢驗有這幾個維度:數(shù)據(jù)完整性、規(guī)范性敬察、一致性榨惰、準確性、唯一性静汤、關(guān)聯(lián)性琅催。參見洞見孫銘發(fā)表的《數(shù)質(zhì)量管理的一些思考》

另外,特別強調(diào)要用自己準備的最少的用例來驗證所有功能邏輯虫给,每一條數(shù)據(jù)覆蓋一個場景藤抡;而不是直接用類生產(chǎn)數(shù)據(jù)與自己SQL的結(jié)果對比驗證。為什么呢抹估?

第一缠黍、類生產(chǎn)數(shù)據(jù)表數(shù)據(jù)量很大,干擾項太多药蜻,并不清楚類生產(chǎn)上的數(shù)據(jù)有沒有覆蓋到了全部要驗證的測試點瓷式。

第二、自己寫的SQL又是否正確语泽。

(2)性能測試

數(shù)據(jù)類項目的數(shù)據(jù)量比非數(shù)據(jù)項目的數(shù)據(jù)量大很多倍贸典,以往非數(shù)據(jù)項目數(shù)據(jù)總量也就幾十或上百萬,單量也就幾萬踱卵; 然而廊驼,數(shù)據(jù)類項目的數(shù)據(jù)總量在千萬据过、億級別,單量也是上百萬妒挎。這種情況下绳锅,以往的一些技術(shù)方案根本承受不了如此大量級的數(shù)據(jù)處理。

數(shù)據(jù)類項目的性能測試注意以下幾點:

第一酝掩、分解鳞芙、再組合:模型中的每個工具和算法的性能都要單獨用最大數(shù)據(jù)量集檢驗一遍性能;組合后的性能也要驗證期虾。

第二积蜻、提早數(shù)據(jù)準備:特大數(shù)據(jù)量要提前寫腳本或用存儲過程來準備數(shù)據(jù),或用類生產(chǎn)數(shù)據(jù)生成性能測試數(shù)據(jù)彻消。

第三竿拆、重視大數(shù)據(jù)并發(fā):數(shù)據(jù)量大且又要并發(fā)處理,很容易性能瓶頸宾尚。

ABC項目組有一套獨立的性能測試環(huán)境丙笋,數(shù)據(jù)量級在客戶未來要支持的數(shù)量級上。而且在生產(chǎn)環(huán)境也準備了一套性能環(huán)境煌贴,用當前真實的數(shù)據(jù)來提前檢測當前代碼的性能情況御板。

(3)數(shù)據(jù)安全

數(shù)據(jù)類項目與非數(shù)據(jù)項目在安全方面不同的點:個人認為主要體現(xiàn)在數(shù)據(jù)粒度上。

數(shù)據(jù)類項目的數(shù)據(jù)安全劃分更細牛郑,涉及到對數(shù)據(jù)矩陣式的劃分安全粒度怠肋,哪行數(shù)據(jù)、哪列數(shù)據(jù)哪些人有權(quán)限淹朋。

除了企業(yè)業(yè)務(wù)上的對數(shù)據(jù)矩陣式的權(quán)限劃分笙各,還有國家政策等。比如識別哪些數(shù)據(jù)屬于敏感數(shù)據(jù)础芍,哪些保密數(shù)據(jù)等杈抢。

數(shù)據(jù)安全這部分涉及較少,需要更多的專家一起探討總結(jié)仑性。

6.2 各階段都檢驗

質(zhì)量把控要提前預(yù)防惶楼,及時驗證反饋。在數(shù)據(jù)項目的開發(fā)過程中诊杆,數(shù)據(jù)經(jīng)過了三個階段歼捐。每個階段都要介入驗證。

(1)數(shù)據(jù)倉庫階段

數(shù)據(jù)倉庫階段是驗證從各種不同業(yè)務(wù)數(shù)據(jù)源晨汹,經(jīng)過ETL后的數(shù)據(jù)質(zhì)量豹储。數(shù)據(jù)質(zhì)量維度:數(shù)據(jù)完整性、規(guī)范性宰缤、一致性颂翼、準確性晃洒、唯一性慨灭、關(guān)聯(lián)性朦乏。關(guān)注點仍有以上提到的功能、性能氧骤、安全呻疹。

(2)建模環(huán)節(jié)的驗證

分解每個工具單獨驗證,關(guān)注功能筹陵、性能刽锤、安全方面。單獨的工具和算法測試完成后朦佩,進行組合驗證并思。連通幾個工具和算法測試,從模型完整的端對端進行質(zhì)量檢驗语稠。連通后仍要關(guān)注性能宋彼。

對于模型的結(jié)果并不是0或1確定的答案,而是一個區(qū)間或概率仙畦,這種情況下如何準備你的測試集输涕,如何驗證。這個話題比較大慨畸,后續(xù)單獨探討莱坎。

(3)可視化展示階段

數(shù)據(jù)分析之后的可視化展示,這部分的驗證與非數(shù)據(jù)類項目一樣的寸士,唯獨需要多關(guān)注的是特大數(shù)據(jù)量的性能與數(shù)據(jù)展示的樣式檐什。

6.3 其他補充建議

(1)類生產(chǎn)數(shù)據(jù)的必要性。

數(shù)據(jù)類項目沒有生產(chǎn)脫敏數(shù)據(jù)的驗證弱卡,就像是紙上談兵厢汹,風險很高。

(2)盡早上線

數(shù)據(jù)類項目谐宙,線上的數(shù)據(jù)五花八門烫葬,會有我們預(yù)想不到的情況,風險很高凡蜻。一但數(shù)據(jù)有問題搭综,通常直接跑不通,上線宣告失敗划栓。強烈建議團隊正式開發(fā)用戶前提前上生產(chǎn)驗證兑巾,很多數(shù)據(jù)項目都是上生產(chǎn)用真實的數(shù)據(jù)測試驗證。

ABC項目在正式開放給用戶之前忠荞,是在生產(chǎn)環(huán)境直接做的UAT測試蒋歌。當時客戶要求三個月后上線開放給用戶帅掘,團隊內(nèi)部確定了三次上線(最后那次是正式上線),為了下生產(chǎn)提前驗證堂油。事實上修档,確實在第一次下生產(chǎn)發(fā)現(xiàn)了嚴重的問題,預(yù)想的數(shù)據(jù)和真實數(shù)據(jù)有偏差府框,模型被Block吱窝。

(3)數(shù)據(jù)監(jiān)控

數(shù)據(jù)類項目的監(jiān)控除了監(jiān)控日志、資源使用情況迫靖、用戶行為等照激,還要關(guān)注數(shù)據(jù)膨脹的速度盹牧、數(shù)據(jù)被使用情況俩垃,從而融合到后期需求優(yōu)化中。

(4)數(shù)據(jù)庫不同字段類型

涉及到數(shù)據(jù)庫中存放的數(shù)據(jù)驗證時欢策,一定要所有不同字段類型都要測試吆寨。在ABC項目的抽取工具測試時,20多種字段類型全部進行抽取踩寇,結(jié)果發(fā)現(xiàn)datatime類型的字段經(jīng)過抽取工具出了問題啄清。

(5)QA要與開發(fā)更深入交流

QA不僅要了解業(yè)務(wù),還有更熟悉架構(gòu)俺孙。因為你要清楚數(shù)據(jù)的具體流向,清楚它的每一步處理邏輯荣茫,才能更準確地測試、更快速地定位场靴。

(6)QA Get數(shù)據(jù)庫技能

數(shù)據(jù)類項目中啡莉,QA頻繁關(guān)注數(shù)據(jù)庫中間表,而且還要各種準備數(shù)據(jù)旨剥、驗證數(shù)據(jù)和寫SQL魄咕。


以上所有是本人的一些思考與總結(jié),希望和大家一起學習交流蚌父。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哮兰,一起剝皮案震驚了整個濱河市毛萌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌喝滞,老刑警劉巖阁将,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異囤躁,居然都是意外死亡冀痕,警方通過查閱死者的電腦和手機荔睹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門狸演,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人僻他,你說我怎么就攤上這事宵距。” “怎么了吨拗?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵满哪,是天一觀的道長。 經(jīng)常有香客問我劝篷,道長哨鸭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任娇妓,我火速辦了婚禮像鸡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哈恰。我一直安慰自己只估,他們只是感情好,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布着绷。 她就那樣靜靜地躺著蛔钙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荠医。 梳的紋絲不亂的頭發(fā)上吁脱,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音彬向,去河邊找鬼兼贡。 笑死,一個胖子當著我的面吹牛幢泼,可吹牛的內(nèi)容都是我干的紧显。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼缕棵,長吁一口氣:“原來是場噩夢啊……” “哼孵班!你這毒婦竟也來了涉兽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤篙程,失蹤者是張志新(化名)和其女友劉穎枷畏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虱饿,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡拥诡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了氮发。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渴肉。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖爽冕,靈堂內(nèi)的尸體忽然破棺而出仇祭,到底是詐尸還是另有隱情,我是刑警寧澤颈畸,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布乌奇,位于F島的核電站,受9級特大地震影響眯娱,放射性物質(zhì)發(fā)生泄漏礁苗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一徙缴、第九天 我趴在偏房一處隱蔽的房頂上張望试伙。 院中可真熱鬧,春花似錦娜搂、人聲如沸迁霎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽考廉。三九已至,卻和暖如春携御,著一層夾襖步出監(jiān)牢的瞬間昌粤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工啄刹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留涮坐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓誓军,卻偏偏與公主長得像袱讹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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