本文章轉(zhuǎn)載于搜狗測試
首先
什么是測試數(shù)據(jù)?
測試數(shù)據(jù)是為手動測試腳本中的變量提供現(xiàn)實數(shù)據(jù)值的相關(guān)數(shù)據(jù)記錄的集合。哎呀,本寶好帥回答問題好標(biāo)準(zhǔn),來來來親一個。(會不會掉粉?)
好了,明確了什么是測試數(shù)據(jù),咋們再來看,測試數(shù)據(jù)有哪些?
測試數(shù)據(jù)的來源有哪些?
途徑一
數(shù)據(jù)來源:直接復(fù)用開發(fā)使用的測試數(shù)據(jù)
獲取方法:取的開發(fā)數(shù)據(jù)庫的地址,直接拷貝數(shù)據(jù)庫表數(shù)據(jù),并將數(shù)據(jù)導(dǎo)入到自己的測試數(shù)據(jù)庫
途徑二
數(shù)據(jù)來源:直接復(fù)用線上的真實數(shù)據(jù)
獲取方法:尋求開發(fā)協(xié)助,拷貝線上數(shù)據(jù)到測試數(shù)據(jù)庫
注意:涉及到一些用戶數(shù)據(jù),可能會拒絕我們獲取線上數(shù)據(jù)
途徑三
數(shù)據(jù)來源:直接使用線上數(shù)據(jù)
獲取方法:數(shù)據(jù)庫連接的線上數(shù)據(jù)庫
注意:該情況出現(xiàn)的原因可能是開發(fā)給測試人員提供的環(huán)境使用的就是線上的數(shù)據(jù),也可能是線上直接驗證。當(dāng)項目不涉及修改操作時,也可能允許測試數(shù)據(jù)庫連接線上的數(shù)據(jù)庫。這種情況下要特別注意不要隨意更改不相干的內(nèi)容。
途徑四
數(shù)據(jù)來源:自行手動造數(shù)據(jù)
獲取方法:第一,對于沒有特殊要求的可以在測試數(shù)據(jù)庫中手動批量插入數(shù)據(jù);第二,在管理后臺手動填數(shù)據(jù)
途徑五
數(shù)據(jù)來源:請產(chǎn)品或運營為我們提供數(shù)據(jù)
獲取方法:請產(chǎn)品或運營為我們提供數(shù)據(jù)
注意:這種情況針對的是我們不能獲取真實數(shù)據(jù)但數(shù)據(jù)必須真實的項目
好了,做了鋪墊之后,下面可是正兒八經(jīng)的純干貨,給本寶夫張大你的big eyes看好了。
選擇什么樣的測試數(shù)據(jù)?
在談?wù)摰皆鯓舆x擇測試數(shù)據(jù),首先我們需要明確的一個問題是,你如何進(jìn)行測試某個功能或模塊.該模塊的輸入數(shù)據(jù)是什么?這樣咱們才能確定測試數(shù)據(jù),So,問題來了,在測試的某個模塊的時候,如何測試?請看下文。
1.選擇怎樣的測試手段?
數(shù)據(jù)準(zhǔn)備是接口測試過程中不可或缺的一步,也是花費時間很長的工作,因為程序的功能就是處理數(shù)據(jù),一個接口往往會從數(shù)據(jù)某一個階段開始處理的,測試這個接口前就必須準(zhǔn)備好它要處理的數(shù)據(jù),而數(shù)據(jù)又有可能依賴其他的數(shù)據(jù),這就提高了準(zhǔn)備數(shù)據(jù)的復(fù)雜度與難度,下面為數(shù)據(jù)準(zhǔn)備的兩種策略,以及各自的優(yōu)缺點。
形式
方法
優(yōu)點
缺點
適用
調(diào)用程序的API
程序提供了準(zhǔn)備數(shù)據(jù)的API接口,通過一系列的調(diào)用得到我們想要的過程數(shù)據(jù)
1、保證準(zhǔn)備數(shù)據(jù)正確性。
2、保證接口組合調(diào)用的正確性,起到集成測試的作用,保證業(yè)務(wù)的正確性。
3、靈活,重用性強(qiáng)。1、測試與開發(fā)如果是并行的話,基礎(chǔ)的接口的開發(fā),如果前面的接口出問題,會引起后續(xù)階段的接口測試的失敗。
2、準(zhǔn)備異常數(shù)據(jù)時,要寫大量的SQL手工就更改字段。
3、當(dāng)接口出現(xiàn)錯誤時,不能清楚地定位是要測試接口的問題還是準(zhǔn)備的數(shù)據(jù)接口的問題,依賴性太強(qiáng)。傾向于集成測試中使用
直接準(zhǔn)備數(shù)據(jù)
直接準(zhǔn)備需要的數(shù)據(jù)
1、測試數(shù)據(jù)與腳本分開,結(jié)構(gòu)清晰。
2、解決了前一種方式引發(fā)的三個問題。
3、數(shù)據(jù)直觀,可讀性強(qiáng)。1、需要對各個階段數(shù)據(jù)的合法值,非常清楚,測試過程中經(jīng)常會引測試數(shù)據(jù)的問題,導(dǎo)致執(zhí)行不通過。
2、當(dāng)出現(xiàn)大的變動時,數(shù)據(jù)更改的工作量比較大,靈活性較差,重用性差。單個接口的測試
2.需要準(zhǔn)備哪些數(shù)據(jù)?
明確了測試手段就自然知道了測試數(shù)據(jù)需要哪些了,咋們再結(jié)合用例來進(jìn)行數(shù)據(jù)的準(zhǔn)備,數(shù)據(jù)覆蓋用例即可。
例如:
如果使用調(diào)用api方式,按照業(yè)務(wù)邏輯,準(zhǔn)備入口數(shù)據(jù)即可。
如果是直接準(zhǔn)備數(shù)據(jù),需要將sql等數(shù)據(jù)提前準(zhǔn)備好。(sql數(shù)據(jù)的準(zhǔn)備是因為中間的各種數(shù)據(jù)業(yè)務(wù)邏輯處理過后,新的入口數(shù)據(jù)需要依賴庫中的數(shù)據(jù),比如說:退款接口的測試,在調(diào)用退款接口之前庫中必須先有付款數(shù)據(jù),如果進(jìn)行單獨的退款接口調(diào)用,就需要先將付款信息插入的相應(yīng)的各個表中)
3.注意事項
對于測試數(shù)據(jù)的來源和創(chuàng)建,要求符合真實環(huán)境。同時數(shù)據(jù)來源和輸出不影響其他模塊或環(huán)境。例如:將不真實的測試環(huán)境的數(shù)據(jù)引入到線上環(huán)境。
好了,今天的干貨就到此結(jié)束了,希望看文章的你,能在歡樂一笑的同時也能學(xué)到更多的專業(yè)知識。