KeyPoint
系統(tǒng)升級(jí)或回滾時(shí)需要保存并遷移數(shù)據(jù)
How
- 數(shù)據(jù)庫(kù)腳本化,即使用獨(dú)立腳本來(lái)初始化數(shù)據(jù)庫(kù),并數(shù)據(jù)遷移
- 增量式修改
版本控制,首先在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)版本號(hào),然后每次對(duì)數(shù)據(jù)庫(kù)修改時(shí)創(chuàng)建升級(jí)和回滾兩個(gè)腳本
添加新數(shù)據(jù)的回滾腳本簡(jiǎn)單,但是刪除的回滾數(shù)據(jù)就想對(duì)復(fù)雜,在從朱彪中刪除他們之前,讓腳本創(chuàng)建一個(gè)臨時(shí)表,把數(shù)據(jù)復(fù)制到其中 - 測(cè)試數(shù)據(jù)管理
為單元測(cè)試進(jìn)行數(shù)據(jù)庫(kù)模擬
Mock
Repository模式
三種測(cè)試設(shè)計(jì)(推薦第一種)
測(cè)試獨(dú)立,每個(gè)測(cè)試的數(shù)據(jù)只對(duì)本測(cè)試有效
適應(yīng)性測(cè)試,每次運(yùn)行先對(duì)環(huán)境檢查,然后使用其中得到的數(shù)據(jù)作為測(cè)試基礎(chǔ)
測(cè)試順序,按照順序執(zhí)行,下一個(gè)測(cè)試依賴上一個(gè)測(cè)試的結(jié)果
無(wú)論哪種,測(cè)試開(kāi)始時(shí)設(shè)置起始點(diǎn),測(cè)試結(jié)束時(shí)回到起始點(diǎn)可以避免測(cè)試間依賴
連貫的測(cè)試場(chǎng)景會(huì)增加維護(hù)成本 - 提交測(cè)試運(yùn)行要快,覆蓋多的實(shí)現(xiàn)細(xì)節(jié)來(lái)減少重構(gòu)風(fēng)險(xiǎn),避免數(shù)據(jù)驅(qū)動(dòng)測(cè)試
- 驗(yàn)收測(cè)試數(shù)據(jù)區(qū)分以下三類(lèi):
測(cè)試專屬數(shù)據(jù):代表測(cè)試用例細(xì)節(jié)
測(cè)試引用數(shù)據(jù):用于支持測(cè)試
應(yīng)用程序應(yīng)用數(shù)據(jù):與測(cè)試無(wú)關(guān),可設(shè)置為NULL,但本身要求存在