增加測(cè)試數(shù)據(jù)供應(yīng)壓力的五個(gè)趨勢(shì)
譯文【51CTO.com快譯】隨著對(duì)豐富且合規(guī)的數(shù)據(jù)的需求不斷增加,測(cè)試數(shù)據(jù)供應(yīng)的壓力必須變得更加自動(dòng)化、自給自足,并對(duì)變化作出反應(yīng)。
如今,任何測(cè)試數(shù)據(jù)解決方案都必須能夠以前所未有的速度滿足更大容量、更多種類和更復(fù)雜的數(shù)據(jù)需求。通常這種緊迫的需求并不總是得到企業(yè)的充分理解,可能會(huì)產(chǎn)生負(fù)面后果,其中包括:
(1)不斷增長(zhǎng)的測(cè)試瓶頸。
(2)測(cè)試失敗的增加。
(3)整體軟件開發(fā)生命周期 (SDLC)的生產(chǎn)力損失。
(4)不斷增加的基礎(chǔ)設(shè)施成本。
(5)持續(xù)不斷的合規(guī)風(fēng)險(xiǎn)。
有許多因素導(dǎo)致本已緊張的測(cè)試數(shù)據(jù)服務(wù)壓力增加。本文考慮了增加當(dāng)今測(cè)試數(shù)據(jù)需求的頻率、數(shù)量和復(fù)雜性的相關(guān)趨勢(shì)。這些新的和持續(xù)的趨勢(shì)可以分為五種,而企業(yè)在設(shè)計(jì)強(qiáng)大的測(cè)試數(shù)據(jù)解決方案時(shí)必須考慮以下這些因素:
(1)相互關(guān)聯(lián)的數(shù)據(jù)類型的復(fù)雜性。
(2)系統(tǒng)、環(huán)境和生產(chǎn)數(shù)據(jù)變化的速度和幅度。
(3)測(cè)試和開發(fā)之間更大程度的并行化。
(4)在測(cè)試中采用自動(dòng)化以及“數(shù)據(jù)請(qǐng)求者”的性質(zhì)不斷變化。
(5)不斷變化的合規(guī)要求。
這些相關(guān)因素對(duì)軟件交付速度和質(zhì)量構(gòu)成的潛在風(fēng)險(xiǎn)要求超越過時(shí)的測(cè)試數(shù)據(jù)“供應(yīng)”實(shí)踐。它需要采用一個(gè)自動(dòng)化的解決方案,能夠即時(shí)滿足新的和不斷發(fā)展的測(cè)試數(shù)據(jù)請(qǐng)求。這種并行團(tuán)隊(duì)、測(cè)試和框架按需自備數(shù)據(jù)的能力是測(cè)試數(shù)據(jù)管理(TDM)和測(cè)試數(shù)據(jù)自動(dòng)化(TDA)之間的主要區(qū)別。
首先,需要了解一些給已經(jīng)很緊張的測(cè)試數(shù)據(jù)供應(yīng)服務(wù)增加壓力的因素。
1.相關(guān)數(shù)據(jù)源的復(fù)雜性
如今的測(cè)試數(shù)據(jù)解決方案無法將孤立的數(shù)據(jù)填充到數(shù)量有限的數(shù)據(jù)庫(kù)和文件類型中。與其相反,測(cè)試和開發(fā)需要豐富且合規(guī)的數(shù)據(jù),這些數(shù)據(jù)始終涵蓋眾多傳統(tǒng)技術(shù)和尖端技術(shù)。
這種集成的、相互關(guān)聯(lián)的數(shù)據(jù)是集成和端到端測(cè)試所必需的,但會(huì)顯著地增加測(cè)試所需數(shù)據(jù)的復(fù)雜性。企業(yè)軟件和IT的一系列趨勢(shì)導(dǎo)致當(dāng)今企業(yè)使用的數(shù)據(jù)類型激增。它們包括:
(1)正在從傳統(tǒng)基礎(chǔ)設(shè)施轉(zhuǎn)向基于網(wǎng)絡(luò)和云計(jì)算的基礎(chǔ)設(shè)施。
(2)大數(shù)據(jù)和人工智能的出現(xiàn),以及相關(guān)的數(shù)據(jù)存儲(chǔ)、分析和處理技術(shù)。這通常包括開源技術(shù),如Apache Hadoop、Spark、Kafka和Solr。
(3)采用新的數(shù)據(jù)庫(kù)和文件類型。這包括像Neo4j這樣的圖形數(shù)據(jù)庫(kù),以及采用近年來出現(xiàn)的數(shù)據(jù)庫(kù),例如MariaDB和Firebird。
(4)API和消息層在當(dāng)今至關(guān)重要。這導(dǎo)致需要?jiǎng)?chuàng)建消息數(shù)據(jù),例如XML文件,以及行業(yè)特定的格式和標(biāo)準(zhǔn)。
(5)商業(yè)智能技術(shù)的不斷演進(jìn)。
(6)微服務(wù)的采用。
雖然企業(yè)不斷采用新技術(shù),但這些新興數(shù)據(jù)類型并不能完全替代現(xiàn)有的遺留組件。遷移需要時(shí)間,很少有企業(yè)能夠一次性替換其技術(shù)堆棧的所有元素。
因此,在企業(yè)的不同部分中發(fā)現(xiàn)混合使用的新舊數(shù)據(jù)類型是很常見的。例如,企業(yè)的不同部分可能使用現(xiàn)代的、基于云計(jì)算的技術(shù),而其他部分則使用存儲(chǔ)在大型機(jī)和中端系統(tǒng)上的專有數(shù)據(jù)類型。新舊數(shù)據(jù)通常必須使用當(dāng)今可用的接口范圍進(jìn)行交互和集成:當(dāng)今的測(cè)試需要跨越多種技術(shù)的數(shù)據(jù)的集成組合。
因此,任何測(cè)試數(shù)據(jù)解決方案通常都必須能夠?yàn)楸纫酝佣鄻踊募夹g(shù)分析、操作和創(chuàng)建集成數(shù)據(jù)。它應(yīng)該配備廣泛且可擴(kuò)展的連接器,并且必須能夠在不同的文件、數(shù)據(jù)庫(kù)和應(yīng)用程序之間協(xié)同創(chuàng)建集成數(shù)據(jù)。
數(shù)據(jù)類型的多樣性和復(fù)雜性增加了當(dāng)今數(shù)據(jù)請(qǐng)求的復(fù)雜性,因?yàn)闇y(cè)試人員和開發(fā)人員需要跨各種技術(shù)無縫鏈接的集成數(shù)據(jù)。與此同時(shí),數(shù)據(jù)請(qǐng)求的速度和演變正在增長(zhǎng),提高了當(dāng)今數(shù)據(jù)請(qǐng)求的速度和多樣性。
2.迭代交付、敏捷軟件開發(fā)和持續(xù)集成(CI)/持續(xù)交付(CD)
軟件交付的幾個(gè)趨勢(shì)增加了測(cè)試和開發(fā)所需數(shù)據(jù)的變化率,這增加了測(cè)試數(shù)據(jù)供應(yīng)的壓力。這些趨勢(shì)加快了系統(tǒng)、環(huán)境和生產(chǎn)行為變化的速度和幅度,需要新的和日益多樣化的測(cè)試數(shù)據(jù)。這些措施包括:
(1)迭代交付的興起,新版本和更新在幾天或幾周內(nèi)獲得,而不是幾個(gè)月或幾年。
(2)采用敏捷軟件開發(fā)實(shí)踐,強(qiáng)調(diào)增量更改和并行化。
(3)在DevOps管道和持續(xù)集成(CI)/持續(xù)交付(CD)中增加自動(dòng)化和新技術(shù),使快速變化能夠持續(xù)開發(fā)并集成到現(xiàn)有系統(tǒng)中。
每次快速更改都會(huì)使現(xiàn)有數(shù)據(jù)經(jīng)常變得過時(shí)。現(xiàn)有數(shù)據(jù)可能與最新的系統(tǒng)邏輯和數(shù)據(jù)結(jié)構(gòu)不匹配。與此同時(shí),由于歷史數(shù)據(jù)缺乏測(cè)試新邏輯或更新邏輯所需的數(shù)據(jù)組合,因此覆蓋范圍出現(xiàn)了差距。雖然測(cè)試覆蓋率的差距會(huì)導(dǎo)致錯(cuò)誤,但不一致或無效的組合會(huì)導(dǎo)致測(cè)試失敗和出現(xiàn)瓶頸。
上面列出的三個(gè)措施也增加了數(shù)據(jù)請(qǐng)求的速度和數(shù)量,因?yàn)槊總€(gè)措施都強(qiáng)調(diào)并行工作方式。測(cè)試數(shù)據(jù)解決方案不能再為有限數(shù)量的團(tuán)隊(duì)提供相對(duì)靜態(tài)的數(shù)據(jù)集。與其相反,必須向眾多跨職能團(tuán)隊(duì)和自動(dòng)化框架提供最新數(shù)據(jù):如今,測(cè)試數(shù)據(jù)通常必須同時(shí)提供給眾多團(tuán)隊(duì)和框架。
當(dāng)今的任何測(cè)試數(shù)據(jù)解決方案通常都必須能夠以并行化開發(fā)團(tuán)隊(duì)開發(fā)復(fù)雜系統(tǒng)的速度提供最新和完整的數(shù)據(jù)。而測(cè)試和開發(fā)需要不斷變化的數(shù)據(jù)集,這些數(shù)據(jù)集可以并行和動(dòng)態(tài)地使用。此外,按需數(shù)據(jù)必須完全版本化,能夠測(cè)試版本化系統(tǒng)組件的不同組合。
3.容器化、源代碼控制和易于重用的代碼
如今對(duì)復(fù)雜系統(tǒng)改變的幅度可能比以往任何時(shí)候都大。這對(duì)緩慢和過度的數(shù)據(jù)供應(yīng)提出了挑戰(zhàn),因?yàn)榇罅繑?shù)據(jù)可能需要根據(jù)快速的系統(tǒng)變化進(jìn)行更新或替換。
開發(fā)中的一系列實(shí)踐增加了系統(tǒng)更改的速度和規(guī)模。容器化、源代碼控制和易于重用的代碼庫(kù)的采用使開發(fā)人員能夠以閃電般的速度翻錄和替換代碼。他們可以輕松部署新的工具和技術(shù),開發(fā)出由快速變化的組件構(gòu)成的錯(cuò)綜復(fù)雜的系統(tǒng)。
當(dāng)今的測(cè)試數(shù)據(jù)解決方案必須能夠根據(jù)這些變化對(duì)相關(guān)系統(tǒng)組件的巨大影響提供一致的測(cè)試數(shù)據(jù)的旅程。數(shù)據(jù)分配必須按照開發(fā)人員對(duì)可重用和容器化組件進(jìn)行細(xì)分和更改的速度進(jìn)行。
這通常需要更緊密地耦合系統(tǒng)需求、測(cè)試和代碼,根據(jù)整個(gè)軟件開發(fā)生命周期 (SDLC)的變化快速確定需要哪些數(shù)據(jù)。否則,由于測(cè)試人員和開發(fā)人員缺乏在迭代中交付的經(jīng)過嚴(yán)格測(cè)試軟件所需的最新數(shù)據(jù),就會(huì)出現(xiàn)測(cè)試瓶頸和錯(cuò)誤。
4.測(cè)試自動(dòng)化
測(cè)試自動(dòng)化是另一個(gè)關(guān)鍵發(fā)展,它增加了測(cè)試和開發(fā)中對(duì)最新數(shù)據(jù)的持續(xù)需求。
測(cè)試執(zhí)行自動(dòng)化和持續(xù)集成(CI)/持續(xù)交付(CD)顯著地提高了數(shù)據(jù)請(qǐng)求的速度和數(shù)量。數(shù)據(jù)處理的框架比測(cè)試人員更快地讀取數(shù)據(jù),通常在夜間和周末運(yùn)行大型測(cè)試套件。此外,相同的測(cè)試通常是并行化的,從而增加了對(duì)數(shù)據(jù)的需求。
除了提高需要測(cè)試數(shù)據(jù)的速度之外,自動(dòng)化測(cè)試進(jìn)一步加劇了與不準(zhǔn)確數(shù)據(jù)供應(yīng)相關(guān)的挑戰(zhàn)。而腳本測(cè)試不如測(cè)試人員寬容,如果數(shù)據(jù)不完整、無效或丟失,他們可以調(diào)整測(cè)試。如果數(shù)據(jù)無效、過時(shí)或丟失,自動(dòng)化測(cè)試可能會(huì)終止。這增加了測(cè)試和開發(fā)的瓶頸,因?yàn)樵谧詣?dòng)化測(cè)試期間bug識(shí)別的錯(cuò)誤需要調(diào)查。
測(cè)試自動(dòng)化已經(jīng)改變了當(dāng)今測(cè)試數(shù)據(jù)請(qǐng)求者的性質(zhì)。當(dāng)今有效的測(cè)試數(shù)據(jù)解決方案通常應(yīng)該為測(cè)試人員和開發(fā)人員以及測(cè)試自動(dòng)化框架和持續(xù)集成(CI)/持續(xù)交付(CD)管道等技術(shù)提供按需訪問的功能。人員和程序都應(yīng)該能夠即時(shí)參數(shù)化和觸發(fā)測(cè)試數(shù)據(jù)作業(yè)。這是傳統(tǒng)測(cè)試數(shù)據(jù)管理和測(cè)試數(shù)據(jù)自動(dòng)化之間的另一個(gè)主要區(qū)別。
5.不斷發(fā)展的數(shù)據(jù)隱私要求
使測(cè)試數(shù)據(jù)“最佳實(shí)踐”變得復(fù)雜并要求修訂的發(fā)展在于數(shù)據(jù)隱私要求和法規(guī)。
歐盟GDPR法規(guī)已經(jīng)引導(dǎo)企業(yè)禁止在測(cè)試中使用原始生產(chǎn)數(shù)據(jù),因?yàn)樗麄儽仨氉袷馗鼑?yán)格的數(shù)據(jù)處理規(guī)則。這些規(guī)則通常會(huì)限制數(shù)據(jù)的使用方式、使用對(duì)象以及使用時(shí)間。
歐盟GDPR等立法也對(duì)傳統(tǒng)測(cè)試數(shù)據(jù)優(yōu)秀實(shí)踐提出了特殊的挑戰(zhàn)。如今的企業(yè)可能需要立即定位、復(fù)制和刪除個(gè)人數(shù)據(jù)的每個(gè)副本。這通常需要對(duì)數(shù)據(jù)在測(cè)試和開發(fā)中的使用方式進(jìn)行更嚴(yán)格的控制和監(jiān)督,以及實(shí)施在非生產(chǎn)環(huán)境中定位數(shù)據(jù)的快速可靠機(jī)制。通常情況下,一種更安全、更簡(jiǎn)單的方法是避免將敏感信息復(fù)制到安全性較低、控制較少的測(cè)試和開發(fā)環(huán)境中。
雖然歐盟GDPR法規(guī)在許多方面是數(shù)據(jù)隱私的分水嶺,但它并不是孤立的發(fā)展。它反映了更廣泛的全球法規(guī)發(fā)展方向,許多國(guó)家已經(jīng)批準(zhǔn)了與歐盟GDPR類似的法規(guī)。這些國(guó)家的法規(guī)可能會(huì)對(duì)測(cè)試中的數(shù)據(jù)使用產(chǎn)生類似的影響。其中包括英國(guó)GDPR、加拿大CCPA、印度PDPB和巴西LGPD等法規(guī)。
不斷變化的數(shù)據(jù)隱私要求會(huì)增加管理測(cè)試數(shù)據(jù)的復(fù)雜性,以及對(duì)非生產(chǎn)環(huán)境中數(shù)據(jù)所需的總體控制程度。已經(jīng)在努力向測(cè)試人員和開發(fā)人員提供足夠種類和數(shù)量的數(shù)據(jù)的企業(yè)可能并不會(huì)接受無法提供數(shù)據(jù)的想法,更不用說必須刪除和限制現(xiàn)有測(cè)試數(shù)據(jù)。然而,違規(guī)的后果可能非常嚴(yán)重。
測(cè)試數(shù)據(jù)自動(dòng)化和人工智能的前景
許多新的和持續(xù)的趨勢(shì)意味著當(dāng)今在測(cè)試和開發(fā)中需要更多數(shù)量和更多種類的數(shù)據(jù)。本文只確定了其中一些因素,其中包括:
(1)相互關(guān)聯(lián)的數(shù)據(jù)源和目標(biāo)的出現(xiàn),需要一致且錯(cuò)綜復(fù)雜的數(shù)據(jù)。
(2)系統(tǒng)、環(huán)境和生產(chǎn)變化的速度和幅度加大,需要新的和不斷發(fā)展的數(shù)據(jù)用于測(cè)試和開發(fā)。
(3)跨測(cè)試和開發(fā)的更大程度的并行化,需要按需和并行地提供大量數(shù)據(jù)。
(4)在測(cè)試中采用自動(dòng)化技術(shù),改變了“數(shù)據(jù)請(qǐng)求者”的性質(zhì),需要更多數(shù)量和種類的準(zhǔn)確數(shù)據(jù)。
(5)不斷發(fā)展的數(shù)據(jù)隱私法規(guī),要求加強(qiáng)對(duì)敏感數(shù)據(jù)在非生產(chǎn)環(huán)境中使用的方式和時(shí)間進(jìn)行管理。
這些趨勢(shì)增加了本已緊張的測(cè)試數(shù)據(jù)供應(yīng)服務(wù)的壓力,增加了延遲,并降低了測(cè)試和開發(fā)的質(zhì)量。因此,這需要修訂測(cè)試數(shù)據(jù)的優(yōu)秀實(shí)踐。
原文標(biāo)題:5 Trends Increasing the Pressure on Test Data Provisioning,作者:Thomas Pryce
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】