中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

大數(shù)據(jù)項(xiàng)目中的 QA 需要迎接新的挑戰(zhàn)

2020-12-04    來源:raincent

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
根據(jù) IDC 全球半年度大數(shù)據(jù)和分析支出指南的最新預(yù)測,到 2022 年全球大數(shù)據(jù)和業(yè)務(wù)分析解決方案的收入將達(dá)到 2600 億美元。在大數(shù)據(jù)和業(yè)務(wù)分析解決方案上投資增長最快的行業(yè)包括銀行(復(fù)合年增長率 13.3%)、醫(yī)療、保險(xiǎn)、證券和投資服務(wù)、電信,每個(gè)行業(yè)復(fù)合年增長率都是 12.8%。由此可見,大數(shù)據(jù)類項(xiàng)目在未來的地位將會越發(fā)重要,而作為 QA,在大數(shù)據(jù)項(xiàng)目急速擴(kuò)張的大背景下,也將迎來新的機(jī)遇和挑戰(zhàn)。

一、大數(shù)據(jù)項(xiàng)目的數(shù)據(jù)特點(diǎn)

大數(shù)據(jù)項(xiàng)目與傳統(tǒng)交付項(xiàng)目的不同之處在于其關(guān)注的重點(diǎn)為數(shù)據(jù)、算法而不再是用戶操作邏輯、頁面展示等,整個(gè)項(xiàng)目將圍繞數(shù)據(jù)質(zhì)量和算法結(jié)果耗費(fèi)大量精力。

項(xiàng)目涉及到大量各種格式的數(shù)據(jù),如圖像、平面文件、音頻等,其結(jié)構(gòu)和格式不盡相同。與傳統(tǒng)的交付類項(xiàng)目相比,大數(shù)據(jù)項(xiàng)目的數(shù)據(jù)量可能會大得多。其數(shù)據(jù)特點(diǎn)是 3 V – Volume,Velocity and Variety:

 

 

數(shù)量:收集的數(shù)據(jù)量很大,來自不同的來源來自不同的來源,如傳感器,上傳文件,商業(yè)交易等。

速度:數(shù)據(jù)以高速創(chuàng)建,必須快速處理。 如 RFID 標(biāo)簽,智能電表等儀器可以以前所未有的速度自動生成數(shù)據(jù)。

多樣性:數(shù)據(jù)有各種格式。它可以是音頻,視頻,數(shù)字,文本,電子郵件,衛(wèi)星圖像,大氣傳感器等。

大數(shù)據(jù)項(xiàng)目中的測試通常與數(shù)據(jù)測試,算法測試、功能測試以及性能測試有關(guān)。明確大數(shù)據(jù)項(xiàng)目中測試關(guān)鍵點(diǎn)將有助于項(xiàng)目的成功交付。

二、數(shù)據(jù)質(zhì)量至關(guān)重要

大數(shù)據(jù)項(xiàng)目中數(shù)據(jù)流轉(zhuǎn)是至關(guān)重要的一部分,從不同的數(shù)據(jù)源系統(tǒng)流入至運(yùn)算操作系統(tǒng)再流出至數(shù)據(jù)展示系統(tǒng)的過程中都要保障數(shù)據(jù)質(zhì)量。

數(shù)據(jù)質(zhì)量包括數(shù)據(jù)的 完整性、準(zhǔn)確性、一致性、及時(shí)性。

 

 

完整性:指數(shù)據(jù)記錄是否完整,是否存在缺失的情況。數(shù)據(jù)缺失包括整條記錄的缺失、某條記錄中字段信息的缺失。數(shù)據(jù)是否完整直接影響到數(shù)據(jù)統(tǒng)計(jì)結(jié)果,是數(shù)據(jù)質(zhì)量的基礎(chǔ)。

準(zhǔn)確性:指數(shù)據(jù)記錄的信息和數(shù)據(jù)是否準(zhǔn)確,是否存在異;蛘咤e(cuò)誤信息。

一致性:一般體現(xiàn)在跨度很大的數(shù)據(jù)倉庫體系中,當(dāng)體系中存在很多業(yè)務(wù)數(shù)據(jù)倉庫分支時(shí),對于同一份數(shù)據(jù)需要保持一致。比如用戶 ID,從在業(yè)務(wù)庫加工到數(shù)據(jù)倉庫,再到各個(gè)消費(fèi)節(jié)點(diǎn),必須都是同一種類型,長度也需要保持一致。

及時(shí)性:對于一些實(shí)時(shí)系統(tǒng),甚至一些業(yè)務(wù)系統(tǒng)可以及時(shí)的收集數(shù)據(jù)、展示數(shù)據(jù),給業(yè)務(wù)決策提供快速的支持和反饋,例如銷售日報(bào)。

除了上述四點(diǎn)之外,通常還會根據(jù)項(xiàng)目的實(shí)際情況進(jìn)行其他處理以保障數(shù)據(jù)質(zhì)量,例如數(shù)據(jù)去重、無效數(shù)據(jù)過濾等。

數(shù)據(jù)在數(shù)據(jù)系統(tǒng)中的流轉(zhuǎn)

在多數(shù)數(shù)據(jù)系統(tǒng)中數(shù)據(jù)以下圖的模式進(jìn)行流轉(zhuǎn),關(guān)注數(shù)據(jù)流轉(zhuǎn)過程中數(shù)據(jù)的質(zhì)量也是 QA 所面臨的一項(xiàng)重要挑戰(zhàn):

 

 

1. 數(shù)據(jù)從數(shù)據(jù)源流入到我們所構(gòu)建的大數(shù)據(jù)系統(tǒng)

數(shù)據(jù)從不同的數(shù)據(jù)源流入大數(shù)據(jù)系統(tǒng),一般數(shù)據(jù)源包括:其他數(shù)據(jù)系統(tǒng)、CSV 或 EXCEL 等文件、傳感器、掃描儀、日志等等。在從數(shù)據(jù)源流入大數(shù)據(jù)系統(tǒng)前需進(jìn)行數(shù)據(jù)清理,以確保得到正確的、需要的數(shù)據(jù)。在數(shù)據(jù)量極大的情況下,可能會引入 Hadoop(或類似的框架)。無論引入何種框架,都需數(shù)據(jù)從數(shù)據(jù)源中以高質(zhì)量的形式導(dǎo)入至我們所構(gòu)建的大數(shù)據(jù)系統(tǒng)中。為驗(yàn)證此步的數(shù)據(jù)流轉(zhuǎn),需要掌握 SQL、Hadoop 命令等,這就對 QA 提出了新的要求。

除此之外,在大數(shù)據(jù)項(xiàng)目的測試中,由于數(shù)據(jù)量非常龐大,若非特意進(jìn)行性能測試,通常只需選取有代表性的少量測試數(shù)據(jù)集進(jìn)行測試,以避免每次測試流程都耗費(fèi)過多時(shí)間。所謂有代表性,即這些數(shù)據(jù)能覆蓋全部的主要計(jì)算邏輯和大部分的邊界場景。

2. 在大數(shù)據(jù)系統(tǒng)中進(jìn)行運(yùn)算

數(shù)據(jù)進(jìn)入系統(tǒng)后,會對數(shù)據(jù)進(jìn)一步處理,在處理數(shù)據(jù)中可能會用到 Hive,Python 等。作為 QA 還需掌握以上技能,以便開發(fā)腳本來提取和處理數(shù)據(jù)來進(jìn)行測試。

大數(shù)據(jù)系統(tǒng)中對數(shù)據(jù)的處理會包括邏輯處理和算法挖掘兩種。前者更偏向于業(yè)務(wù)處理,后者更偏向于數(shù)據(jù)挖掘或機(jī)器學(xué)習(xí)的算法。例如,假設(shè)某系統(tǒng)是對未來三天的天氣進(jìn)行預(yù)測,其用于進(jìn)行模型訓(xùn)練的數(shù)據(jù)包括天氣、溫度、日期、城市等,在開發(fā)系統(tǒng)時(shí),開發(fā)人員首先將全部數(shù)據(jù)按照城市進(jìn)行分組,然后將不同城市的數(shù)據(jù)輸入到機(jī)器學(xué)習(xí)算法中進(jìn)行預(yù)測。在該系統(tǒng)中“按城市進(jìn)行分組”即為邏輯處理,“用機(jī)器學(xué)習(xí)算法進(jìn)行預(yù)測”即為算法挖掘。這是一個(gè)簡化的例子,通常應(yīng)用程序會更加復(fù)雜,在該系統(tǒng)中對于邏輯處理部分可按照傳統(tǒng)測試方法進(jìn)行測試,對于算法挖掘部分則需重點(diǎn)關(guān)注輸入至算法的數(shù)據(jù)的正確性以及輸出結(jié)果的各項(xiàng)指標(biāo)表現(xiàn)。

然后將處理后的數(shù)據(jù)存儲在數(shù)據(jù)倉庫中。在將數(shù)據(jù)存儲在數(shù)據(jù)倉庫中之后,可再次對其進(jìn)行驗(yàn)證,以確保它與經(jīng)過數(shù)據(jù)系統(tǒng)運(yùn)算后生成的數(shù)據(jù)一致。

3. 數(shù)據(jù)結(jié)果展示

通常最后一步會將數(shù)據(jù)暴露給業(yè)務(wù)人員或下游使用者,通過可視化或者數(shù)據(jù)接口的形式進(jìn)行輸出,以便產(chǎn)生業(yè)務(wù)價(jià)值?赡軙褂蒙虡I(yè)智能工具,或者由業(yè)務(wù)人員使用 R、Python 等語言進(jìn)行數(shù)據(jù)分析,因此有必要對該輸出結(jié)果進(jìn)行驗(yàn)證。若通過 Web 頁面將數(shù)據(jù)以可視化圖表的形式展露給客戶,就需要對 Web 頁面進(jìn)行測試,若通過 Report 的形式報(bào)告給客戶,就必須對生成的 Report 進(jìn)行測試。此步除了驗(yàn)證數(shù)據(jù)的準(zhǔn)確性、完整性外,可能還需要驗(yàn)證數(shù)據(jù)的及時(shí)性。比如直播墻需要對數(shù)據(jù)統(tǒng)計(jì)結(jié)果進(jìn)行實(shí)時(shí)展示,業(yè)務(wù)報(bào)表可能需要當(dāng)天或當(dāng)周進(jìn)行展示,需滿足系統(tǒng)有不同的時(shí)限要求。

以實(shí)際項(xiàng)目為例進(jìn)行簡單介紹

根據(jù)項(xiàng)目的不同,以上的架構(gòu)可能會有細(xì)節(jié)上的不同,下面以實(shí)際項(xiàng)目為例進(jìn)行簡單的介紹。

例如,在某智慧物流項(xiàng)目中,需對物流訂單進(jìn)行路徑規(guī)劃,將全部的物流訂單(包括接貨訂單和送貨訂單)分配給各個(gè)貨車司機(jī),根據(jù)訂單的接貨地址和送貨地址以及訂單的時(shí)間要求對每個(gè)貨車司機(jī)的訂單進(jìn)行路徑規(guī)劃。優(yōu)化的目標(biāo)是在限制時(shí)間內(nèi)從發(fā)貨人手中收取全部貨物并將貨物全部送收貨人手里,且盡可能使路徑總和最小化。其系統(tǒng)結(jié)構(gòu)按照數(shù)據(jù)流轉(zhuǎn)可以大致按以下方式劃分:

 

 

根據(jù)數(shù)據(jù)在系統(tǒng)中的流轉(zhuǎn)從左至右來看,測試注意點(diǎn)包括以下幾方面:

上傳文件校驗(yàn),確保不會有異常數(shù)據(jù)流入后續(xù)的存儲及運(yùn)算系統(tǒng)中。

數(shù)據(jù)從數(shù)據(jù)源流入數(shù)據(jù)庫時(shí)的完整性、準(zhǔn)確性,確保其從 CSV 或 Excel 文件中讀取的數(shù)據(jù)以正確的格式完整的進(jìn)入到了數(shù)據(jù)系統(tǒng)的存儲空間。

數(shù)據(jù)庫中數(shù)據(jù)按照業(yè)務(wù)邏輯進(jìn)行處理后被正確的輸入到算法中。

算法邏輯。

用戶可見的數(shù)據(jù)信息是準(zhǔn)確有序的按照算法運(yùn)算結(jié)果呈現(xiàn)給終端用戶的。

異常情況處理,如數(shù)據(jù)傳輸過程中突然中斷、輸入給算法的數(shù)據(jù)過大或過小等情況。

總而言之,數(shù)據(jù)在系統(tǒng)的各個(gè)部分進(jìn)行流轉(zhuǎn),需根據(jù)系統(tǒng)的架構(gòu)、業(yè)務(wù)的邏輯等,從準(zhǔn)確性、完整性、一致性、及時(shí)性幾個(gè)方面保障數(shù)據(jù)的質(zhì)量。

三、驗(yàn)證算法的結(jié)果

對于算法結(jié)果的驗(yàn)證是數(shù)據(jù)類項(xiàng)目中遇到另一個(gè)挑戰(zhàn),在這里我按照以往的項(xiàng)目經(jīng)驗(yàn)總結(jié)了“三、二、一”:三個(gè)已踐行,二個(gè)待實(shí)現(xiàn),一個(gè)貫穿始終。

三個(gè)已踐行

 

 

1. 確保每步邏輯正確

在敏捷實(shí)踐中對于需求的拆分和追蹤是以 Story 的形式進(jìn)行的,數(shù)據(jù)項(xiàng)目中尤其要確認(rèn)好每一個(gè) Story 的輸入數(shù)據(jù)樣式、輸出數(shù)據(jù)樣式來確保在開發(fā)過程中各個(gè) Story 之間可以順利銜接,在輔以 Kick Off 和 Desk Check 等敏捷實(shí)踐,確保 Dev、BA、QA 對于需求的理解一致。

算法部分一般是調(diào)用外部的包直接實(shí)現(xiàn)的,一般假設(shè)這部分的實(shí)現(xiàn)邏輯沒有問題,故重點(diǎn)需關(guān)注輸入至算法的數(shù)據(jù)。

2. 向用戶或者業(yè)務(wù)人員展示結(jié)果

 

 

若在進(jìn)行探索研究階段就已經(jīng)輸出完整的數(shù)據(jù)處理邏輯和算法處理過程,且其結(jié)果得到驗(yàn)證,項(xiàng)目內(nèi)容主要是對該研究結(jié)果進(jìn)行工程實(shí)現(xiàn),則需保障工程實(shí)現(xiàn)過程中的質(zhì)量。該情況下,保障質(zhì)量的方法是把工程實(shí)現(xiàn)系統(tǒng)和在探索研究階段輸出的結(jié)果進(jìn)行對比,這也是在幫助客戶進(jìn)行工程實(shí)現(xiàn)時(shí)較為常用的一種方法。

算法有固定的輸出結(jié)果,比如數(shù)據(jù)分析類項(xiàng)目中需要統(tǒng)計(jì)某類訂單的數(shù)量,可以采用構(gòu)建測試數(shù)據(jù)和預(yù)期輸出數(shù)據(jù),判斷系統(tǒng)輸出結(jié)果是否與預(yù)期相同的方法。

沒有研究階段的輸出結(jié)果,也沒有固定的輸出,比如智慧物流系統(tǒng)里路徑規(guī)劃,我們采取的方案是將結(jié)果展示給貨司機(jī),讓他們?nèi)?shí)際按照路線送貨,由真正的用戶來判斷是否是其想要的結(jié)果。類似于這種結(jié)果無法由開發(fā)團(tuán)隊(duì)直接判斷的,需盡早且持續(xù)的將結(jié)果展示給用戶或相關(guān)業(yè)務(wù)人員,請其對算法結(jié)果進(jìn)行反饋。

3. 不同數(shù)據(jù)集多次驗(yàn)證。

設(shè)計(jì)不同的數(shù)據(jù)集進(jìn)行驗(yàn)證,驗(yàn)證算法在不同數(shù)據(jù)下的表現(xiàn),探究算法的邊界。比如上文中提到的智慧物流項(xiàng)目可能適用于上海的場景,不一定適用于北京的場景,因?yàn)樵撍惴ㄓ糜谟?xùn)練的歷史數(shù)據(jù)多為上海地區(qū)數(shù)據(jù)。

兩個(gè)待實(shí)現(xiàn)

 

 

1. 以最終目標(biāo)為依據(jù)

比如智慧物流,最終的目標(biāo)是降低成本、提高收入。所以算法本身的指標(biāo),比如靈敏度,召回率都不是最終的計(jì)算,甚至路程都不是最終的目標(biāo)?梢栽O(shè)定一個(gè) f(x)= 總收入 - 總成本,目標(biāo)為總成本最低。再比如滴滴的推薦算法,加了一個(gè)滴滴司機(jī)提供的反饋信息,這個(gè)信息只包括一條“你會不會把這個(gè) app 推薦給朋友”。該推薦算法的目標(biāo)為提高司機(jī)的滿意度以推廣軟件,即為司機(jī)將算法推薦給朋友的數(shù)量。

2. 線上迭代驗(yàn)證

模型的驗(yàn)證指標(biāo),比如召回率,靈敏度等,作為一個(gè)指標(biāo)放到線上去做驗(yàn)證。對于上線的模型選取部分測試數(shù)據(jù)對其進(jìn)行迭代驗(yàn)證,在不滿足指標(biāo)的情況下發(fā)出告警。該情況可能是由于隨著時(shí)間的推移,用于訓(xùn)練的歷史數(shù)據(jù)已經(jīng)不再適應(yīng)新的情形導(dǎo)致,需要算法工程師重新對其進(jìn)行評估。

一個(gè)貫穿始終的注意點(diǎn)

 

 

真實(shí)數(shù)據(jù)對于系統(tǒng)的驗(yàn)證非常重要,人為構(gòu)造的數(shù)據(jù)無論是在分布形態(tài)還是異常場景覆蓋上都比不上真實(shí)的生產(chǎn)數(shù)據(jù)。測試數(shù)據(jù)分布不同于真實(shí)數(shù)據(jù)時(shí),可能會導(dǎo)致算法在測試階段表現(xiàn)良好,而在進(jìn)入到生產(chǎn)系統(tǒng)后表現(xiàn)欠佳。在測試數(shù)據(jù)構(gòu)造困難的情況下,由于測試數(shù)據(jù)對異常場景的覆蓋不足,在進(jìn)入生產(chǎn)系統(tǒng)引入真實(shí)數(shù)據(jù)后,甚至有可能會導(dǎo)致算法實(shí)效或系統(tǒng)崩潰等嚴(yán)重后果。

而實(shí)際項(xiàng)目中,獲取可用于測試的真實(shí)數(shù)據(jù),往往也是一大挑戰(zhàn)。通常在將真實(shí)數(shù)據(jù)引入測試環(huán)節(jié)前還需進(jìn)行至關(guān)重要的一步:數(shù)據(jù)脫敏。由于真實(shí)數(shù)據(jù)中包含了大量的機(jī)密信息,故在將真實(shí)數(shù)據(jù)用于測試前通常會將如身份證號、電話、價(jià)錢等敏感信息進(jìn)行脫敏處理。

作者介紹:

王薇,ThoughtWorks 軟件質(zhì)量分析師,有物流、銷售、通信等不同領(lǐng)域下大數(shù)據(jù)類項(xiàng)目測試經(jīng)驗(yàn),擅長敏捷軟件開發(fā)模式下的質(zhì)量保障。

本文轉(zhuǎn)載自 ThoughtWorks 洞見。

原文鏈接:https://insights.thoughtworks.cn/qa-in-big-data-project/

標(biāo)簽: 大數(shù)據(jù)項(xiàng)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:不要再讓數(shù)據(jù)科學(xué)家管理 Kubernetes 集群了

下一篇:在數(shù)據(jù)科學(xué)領(lǐng)域,為什么 Python 比 R 更好?