偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么你的數(shù)據(jù)庫需要單元測試

數(shù)據(jù)庫 SQL Server
與工作端代碼一起創(chuàng)建的數(shù)據(jù)集定期包含業(yè)務(wù)基本原理的戰(zhàn)略部分。SQL是代碼。你應(yīng)該盡早批準(zhǔn)它,而且要徹底批準(zhǔn)。

與工作端代碼一起創(chuàng)建的數(shù)據(jù)集定期包含業(yè)務(wù)基本原理的戰(zhàn)略部分。SQL是代碼。你應(yīng)該盡早批準(zhǔn)它,而且要徹底批準(zhǔn)。

測試金字塔是有助于描述編程測試特征的一種顯著表示形式。當(dāng)您逐步實(shí)現(xiàn)更值得注意的段協(xié)調(diào)時(shí),您將繼續(xù)從許多確定的、快速的和非接觸的測試,轉(zhuǎn)向總體上批準(zhǔn)框架的越來越慢的全球測試。這在基本層面上是個(gè)好兆頭,但是很難澄清單元測試、連接測試和開始到完成測試之間的分離應(yīng)該如何工作。

結(jié)論:在金字塔的哪一層,哪一部分要協(xié)調(diào)進(jìn)行對比。您可能會(huì)認(rèn)為數(shù)據(jù)集在上層有一席之地,因?yàn)樗脑O(shè)置和運(yùn)行成本很高。然而,當(dāng)它包含需要逐項(xiàng)批準(zhǔn)的業(yè)務(wù)基本原理時(shí),在金字塔中較低的確定階段協(xié)調(diào)它也是一個(gè)好兆頭。它經(jīng)常需要那種徹底的批準(zhǔn),你不能把它留給幾次溫和的全球合并測試。然而,我們應(yīng)該先回顧一下單元測試的含義。

速度、單焦點(diǎn)和隔離

在VladimirKhorikov的《單元測試原理、實(shí)踐和模式》一書中,單元測試的三個(gè)必要條件是速度、單中心和斷開連接——如果測試不依賴于彼此的狀態(tài),它們可以平等運(yùn)行。單一中心只能找到:作為一個(gè)單獨(dú)的行為單位,而不是一個(gè)行為單位。主要方法支持——事實(shí)上是請求——被測試類和測試類之間的嚴(yán)格對應(yīng),而隨后的方法以公共API為中心,基本上不擔(dān)心批準(zhǔn)執(zhí)行細(xì)節(jié)。代碼單元方法希望您通過使用測試副本(derides和釘子)刪除被測試類外部的任何部分。這當(dāng)然適用于與信息庫的所有連接。行為單位法更冷靜,當(dāng)使用真品會(huì)降低執(zhí)行力時(shí),可能會(huì)使用測試對。

在檢查信息庫之前,應(yīng)該先研究一個(gè)模型,在這個(gè)模型中,協(xié)調(diào)單元測試中的彈簧設(shè)置是個(gè)好兆頭。想想這個(gè)基本的休息調(diào)節(jié)器:

假設(shè)我們需要批準(zhǔn)管理員客戶端獲得HTTP200響應(yīng),非管理員客戶端獲得401響應(yīng)。為了測試這一點(diǎn),我們需要打開一個(gè)Spring設(shè)置,它不難完成,但比普通的單元測試要慢。這是一個(gè)組合測試嗎?然而,從專業(yè)的角度來看,確實(shí),一個(gè)特別細(xì)粒度的測試具有單元測試的每一個(gè)特征。此外,沒有Spring設(shè)置的普通單元測試無法以任何方式、形狀或形式批準(zhǔn)預(yù)授權(quán)解釋中捕獲的業(yè)務(wù)規(guī)則。

回到我們的主題:為數(shù)據(jù)集代碼編寫相對細(xì)粒度的測試是否有利?與使用Spring運(yùn)行時(shí)相比,創(chuàng)建一個(gè)類似信息庫的庫要昂貴得多。這里有一個(gè)基本原則來幫助你確定這個(gè)選擇。一個(gè)逐項(xiàng)測試,作為普通形式的一個(gè)特性在本地運(yùn)行,如果有合理的可能性,它可以預(yù)防正在進(jìn)行的基本錯(cuò)誤,那么它將始終是有利的。

考慮到我們的批準(zhǔn)測試,適當(dāng)?shù)幕卮饘⑹?ldquo;是”。設(shè)置錯(cuò)誤很容易逃過所有人的注意,并導(dǎo)致重大安全泄漏。通過您自己的努力,提前測試以防止以后的復(fù)發(fā)對于所有基本的非無關(guān)緊要的代碼來說都是必須的。集團(tuán)外部提供并保持的資產(chǎn)條件是另一種情況。你可以更有效地讓他們進(jìn)入從開始到結(jié)束的階段,因?yàn)樵谀愕泥従訖C(jī)器上模仿局外人框架通常不會(huì)讓事情變得糟糕。盡管如此,這些情況并不構(gòu)成大多數(shù)情況。

如果有合理的可能性,逐點(diǎn)測試始終是有利的,它可以預(yù)防正在進(jìn)行的基本錯(cuò)誤。

SQL是代碼

從系統(tǒng)管理和組織的角度來看,您的信息庫可能類似于外部依賴,但是,當(dāng)它與使用它的代碼一起創(chuàng)建時(shí),它絕不是您正在構(gòu)建的框架的一個(gè)重要部分。SQL是代碼。它闡述了重要的業(yè)務(wù)原理。它可以將信息庫工作者作為透視圖、觸發(fā)器和存放技術(shù),也可以將自己顯示為散落在控制代碼中的SQL問題,或者狡猾地隱藏在Hibernate標(biāo)準(zhǔn)標(biāo)點(diǎn)符號(hào)中。但是,從長遠(yuǎn)來看,它是由信息庫工作人員破譯的,最好是在代碼移動(dòng)到客戶端確認(rèn)環(huán)境之前。

與Java相比,信息庫驅(qū)動(dòng)的風(fēng)險(xiǎn)投資應(yīng)用程序中的SQL代碼是獨(dú)一無二的。這絕不是一個(gè)解釋性的編程模型,它本質(zhì)上是有狀態(tài)的和頑強(qiáng)的。承認(rèn)測試不是一個(gè)客戶驅(qū)動(dòng)的小黃瓜情境,30個(gè)問題的結(jié)果是一個(gè)非常困難的問題。問題的成敗通常取決于數(shù)據(jù)集的早期條件。當(dāng)測試不能完全控制此狀態(tài)時(shí),信息庫測試變得異想天開。被測單元越溫和,控制這種狀態(tài)就越簡單。

在最后一節(jié)中,Psyche也是一個(gè)被破譯的詞。雖然Oracle的put-away方法不可能包含語言結(jié)構(gòu)錯(cuò)誤,但Java中粗糙的SQL在數(shù)據(jù)集上運(yùn)行時(shí)可能會(huì)出錯(cuò)。真相終究會(huì)揭曉的,所以快吃吧,不要當(dāng)甜點(diǎn)。

總而言之,沒有什么比不徹底測試您的信息庫關(guān)聯(lián)更糟糕的了。事實(shí)上,我們需要擴(kuò)展單元測試的含義,以包含運(yùn)行成本更高的測試,這使得真正的測試能夠?qū)⒁话阈问降臅r(shí)間保持在令人滿意的范圍內(nèi)。您可以使用的一些技術(shù)和系統(tǒng)將在后面的文章中討論,但是,現(xiàn)在讓我總結(jié)一下:

組織代碼的技巧

千萬不要把粗糙的SQL和控制原理放在一起。從理論上講,這些關(guān)聯(lián)隱藏在接口后面,并在測試期間偽造信息庫通信。不直接引用SQL的代碼不需要依賴運(yùn)行中的信息庫進(jìn)行測試,并且它不應(yīng)該對組名中包含SQL的任何內(nèi)容設(shè)置時(shí)間條件。

將上面描述的數(shù)據(jù)集通信的執(zhí)行放在提交類中,每種技術(shù)有一個(gè)問題。在這種粒度級(jí)別上,編寫逐點(diǎn)測試將表格帶到理想狀態(tài)并批準(zhǔn)結(jié)果要簡單得多。

如果您有許多信息基礎(chǔ)測試覆蓋了許多大綱,請考慮將數(shù)據(jù)集代碼分離成每個(gè)模式的獨(dú)立模塊,并使用它們自己的生成和交付。這樣,您只需要形成并測試受影響的模塊。為了實(shí)現(xiàn)這一點(diǎn),這些模塊應(yīng)該是近似耦合的,模式之間的條件不重要。

運(yùn)行/維護(hù)測試數(shù)據(jù)庫的分步說明

在類似的計(jì)算機(jī)上運(yùn)行信息庫的容器化格式副本。記憶很重要。表單交互處理的是創(chuàng)建和銷毀持有者,任何測試套件都不能使數(shù)據(jù)集處于骯臟的狀態(tài)。

為了避免對每一個(gè)試驗(yàn)做任何準(zhǔn)備,請考慮從附近的商店提供一個(gè)尖端的復(fù)制品,未填寫或有限制的測試信息。限制此設(shè)備信息的測量。一切都增加了維護(hù)負(fù)擔(dān),而且你還沒有進(jìn)行展覽測試。

 

責(zé)任編輯:趙寧寧 來源: 360機(jī)房
相關(guān)推薦

2022-02-21 07:54:28

單元測試編程開發(fā)

2017-04-07 13:45:02

PHP單元測試數(shù)據(jù)庫測試

2020-02-25 17:04:05

數(shù)據(jù)庫云原生分布式

2011-01-25 10:42:29

Visual Stud

2017-01-14 23:42:49

單元測試框架軟件測試

2022-06-30 09:20:32

單元測試測試

2020-02-19 15:01:30

數(shù)據(jù)庫SQL技術(shù)

2017-03-30 07:56:30

測試前端代碼

2021-07-10 13:48:43

Java單元工具

2025-04-03 11:04:40

2014-04-24 13:43:37

CC++單元測試框架

2023-07-26 08:58:45

Golang單元測試

2011-05-16 16:52:09

單元測試徹底測試

2020-03-17 08:29:29

數(shù)據(jù)庫備份技術(shù)

2023-07-28 10:27:48

Java單元測試

2023-04-14 09:04:07

測試TDBF單元測試

2017-01-14 23:26:17

單元測試JUnit測試

2017-01-16 12:12:29

單元測試JUnit

2011-06-14 15:56:42

單元測試

2022-05-12 09:37:03

測試JUnit開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)