您的位置:軟件測(cè)試 >> 測(cè)試技術(shù) >> 測(cè)試精品文章
測(cè)試數(shù)據(jù)管理:創(chuàng)造性的解決方案
作者:Mario Matthee(澤眾軟件原創(chuàng)翻譯) 發(fā)布時(shí)間:[ 2014/10/20 15:41:16 ] 推薦標(biāo)簽:數(shù)據(jù)管理 軟件測(cè)試
Mario Matthee是一名測(cè)試員,顧問(wèn),認(rèn)證Scrum大師以及非常不合格的山地摩托車車手(正在學(xué)習(xí)中)。他熱衷于將年輕的IT專家引進(jìn)軟件測(cè)試的世界。他還是開(kāi)普敦測(cè)試自動(dòng)化用戶組的創(chuàng)始成員之一。畢業(yè)于(南非)開(kāi)普半島科技大學(xué),他是動(dòng)態(tài)可視技術(shù)公司的軟件質(zhì)量保證部的主管。

 

  測(cè)試數(shù)據(jù)管理可能是測(cè)試專家職業(yè)生涯中要面臨的大挑戰(zhàn)之一。還沒(méi)有碰上測(cè)試數(shù)據(jù)緊缺或不完整測(cè)試數(shù)據(jù)的人算是相當(dāng)幸運(yùn)的。

  我們并不孤單
  缺少測(cè)試數(shù)據(jù)會(huì)影響開(kāi)發(fā)員。幾年前,我的一個(gè)任務(wù)里,開(kāi)發(fā)員不得不猜測(cè)什么數(shù)據(jù)會(huì)進(jìn)入數(shù)據(jù)庫(kù)。在把他的代碼給測(cè)試團(tuán)隊(duì)前,他沒(méi)有開(kāi)始某種測(cè)試的環(huán)境?梢韵胂,測(cè)試階段也有災(zāi)難。因此該項(xiàng)目開(kāi)始后被中止近三年一點(diǎn)也不奇怪;蛟S這不是中止的主要原因,但是一個(gè)成因。數(shù)據(jù)對(duì)任何系統(tǒng)都重要且是測(cè)試一個(gè)系統(tǒng)的關(guān)鍵因素。數(shù)據(jù)為系統(tǒng)提供環(huán)境,,沒(méi)有環(huán)境,開(kāi)始測(cè)試階段值得商榷了。

  我們真的需要它嗎?
  我們后退一步。我們?yōu)槭裁葱枰獪y(cè)試數(shù)據(jù)且我們?cè)撛趺从?jì)劃去使用它?對(duì)于初學(xué)者,沒(méi)有數(shù)據(jù),你只測(cè)試應(yīng)用程序的GUI。以典型GUI為例,我們測(cè)試屏幕上的控件:按鈕,下拉菜單,文本框等。即使這些測(cè)試會(huì)被限制,使得從前端GUI無(wú)法到達(dá)某些屏幕或功能, 因?yàn)闆](méi)有輸入正確數(shù)據(jù)。為了遵循系統(tǒng)中的某些流程,需要具體數(shù)據(jù)。我們需要測(cè)試數(shù)據(jù)以確保企業(yè)規(guī)定被測(cè)且系統(tǒng)中不同流程被執(zhí)行。想象一下沒(méi)有數(shù)據(jù)的測(cè)試報(bào)告,我們開(kāi)始測(cè)試了嗎?

  測(cè)試數(shù)據(jù)操作
  為了讓測(cè)試數(shù)據(jù)有效,我們需要在上面CRUD(創(chuàng)建,讀取,升級(jí)和刪除)。測(cè)試專家面臨的大挑戰(zhàn)之一是與第三方的集成。大多數(shù)情況下,測(cè)試數(shù)據(jù)只被讀取,且數(shù)據(jù)數(shù)目被限。另一個(gè)潛在噩夢(mèng)是第三方應(yīng)用程序供應(yīng)商不提前通知改變測(cè)試數(shù)據(jù)。讓第三方應(yīng)用程序供應(yīng)商保證你能獲取他們的數(shù)據(jù)庫(kù)聞所未聞。沒(méi)什么阻止我們請(qǐng)求,但隨時(shí)做好你的請(qǐng)求被拒絕的準(zhǔn)備吧。測(cè)試數(shù)據(jù)及其管理對(duì)手工和自動(dòng)化測(cè)試都很重要。兩種情況中,測(cè)試專家旨在預(yù)測(cè)他們基于(他們?cè)谙到y(tǒng)中輸入的)數(shù)據(jù)的預(yù)期結(jié)果。多數(shù)情況中,測(cè)試專家無(wú)法創(chuàng)建或操作數(shù)據(jù)進(jìn)入所要求狀態(tài)。如果無(wú)法發(fā)現(xiàn)測(cè)試數(shù)據(jù),無(wú)法執(zhí)行測(cè)試用例。

  一個(gè)真實(shí)的例子
  讓我將我早期職業(yè)生涯中所經(jīng)歷的一次真實(shí)問(wèn)題為你細(xì)細(xì)道來(lái)。我們不得不測(cè)試并將顧客管理系統(tǒng)自動(dòng)化。一個(gè)單獨(dú)的顧客賬戶上可以執(zhí)行100多個(gè)不同的任務(wù)。比如鎖定賬戶,解鎖賬戶,查看余額,查看賬戶明細(xì),激活郵箱,升級(jí)郵箱……
  測(cè)試數(shù)據(jù)的問(wèn)題是測(cè)試團(tuán)隊(duì)被賦予某些賬號(hào)范圍可以使用下游第三方相應(yīng)測(cè)試數(shù)據(jù)。所以你可以創(chuàng)建你自己的測(cè)試數(shù)據(jù)并開(kāi)始利用它,但你無(wú)法進(jìn)行整個(gè)端到端的測(cè)試,因?yàn)樾聰?shù)據(jù)不會(huì)在下游系統(tǒng)上。
  只有有限范圍為了測(cè)試而被配置在下游系統(tǒng)上。所以你的測(cè)試會(huì)受限。
  下個(gè)問(wèn)題是測(cè)試員開(kāi)始分享賬號(hào),或不請(qǐng)求或協(xié)調(diào)測(cè)試使用測(cè)試數(shù)據(jù)。這導(dǎo)致應(yīng)該解鎖的賬戶被鎖,或擁有某些程序包的賬戶某天可以改變未來(lái)。測(cè)試同一個(gè)系統(tǒng)的不同功能時(shí)的不一致使一個(gè)有16名測(cè)試員的團(tuán)隊(duì)受到了挫折。
  澄清一點(diǎn),并不是所有手工測(cè)試都被影響了,但自動(dòng)化確實(shí)是異常噩夢(mèng)。自動(dòng)化可以查詢數(shù)據(jù)并找到數(shù)據(jù)以供使用,但問(wèn)題是,有時(shí)候數(shù)據(jù)在那有時(shí)卻不在,因?yàn)榱硪魂?duì)成員不斷在改變數(shù)據(jù)。自動(dòng)化的一個(gè)優(yōu)勢(shì)是在測(cè)試執(zhí)行前搜索數(shù)據(jù)。這種情況下,自動(dòng)化運(yùn)行變得不可信了。我們無(wú)法預(yù)測(cè)開(kāi)始一次一整夜的自動(dòng)化運(yùn)行的測(cè)試數(shù)據(jù)是否充足。如果你無(wú)法在數(shù)據(jù)庫(kù)中找到數(shù)據(jù),好的辦法是你自己創(chuàng)建數(shù)據(jù)。在這兒我不得不強(qiáng)調(diào)一下數(shù)據(jù)完整性的重要性:通過(guò)前端或通過(guò)執(zhí)行,數(shù)據(jù)庫(kù)上的某些失序的儲(chǔ)存過(guò)程會(huì)破壞數(shù)據(jù)。
  這會(huì)進(jìn)一步阻礙測(cè)試工作并有可能造成由測(cè)試團(tuán)隊(duì)而不是開(kāi)發(fā)團(tuán)隊(duì)引起的缺陷。讓開(kāi)發(fā)員判定缺陷原因很耗錢,后卻發(fā)現(xiàn)是測(cè)試團(tuán)隊(duì)自己破壞的。于是測(cè)試發(fā)布進(jìn)程放緩了,自動(dòng)化無(wú)法給投資滿意的回報(bào)。
  作為一個(gè)測(cè)試團(tuán)隊(duì),我們逐步擴(kuò)大問(wèn)題,并請(qǐng)求設(shè)計(jì)師想出一個(gè)解決方案。幾次會(huì)議后,制定出了一個(gè)計(jì)劃。因?yàn)槟菚r(shí)候想不出一個(gè)更好的詞,我們稱這個(gè)解決方案為“香草腳本”。那么它是干什么的呢?它是一個(gè)基本消除了系統(tǒng)外特定顧客數(shù)的所有數(shù)據(jù)的存儲(chǔ)過(guò)程。我是說(shuō),所有數(shù)據(jù),沒(méi)錯(cuò),是所有的。主要是為了維護(hù)參照完整性且不破壞數(shù)據(jù)庫(kù)?上攵,這要嘗試很多次才能成功,但三個(gè)月后我們想出了有效的解決方案。你們有些會(huì)覺(jué)得我們瘋了——我們?cè)趺纯赡軙?huì)有這樣一個(gè)腳本?如果將之投入生產(chǎn)呢?!這被視作發(fā)布流程和執(zhí)行后測(cè)試的一部分。因?yàn)槟_本是通過(guò)調(diào)用到一個(gè)存儲(chǔ)流程執(zhí)行的,存儲(chǔ)流程要確保執(zhí)行只在特定數(shù)據(jù)庫(kù)名字和IP地址上完成。
這些問(wèn)題按以下方法解決:
  ▪▪完整的終端到終端測(cè)試是可能的,因?yàn)橄悴菽_本第一個(gè)運(yùn)行,向下游系統(tǒng)發(fā)布命令刪除支持他們的相關(guān)數(shù)據(jù)。重新創(chuàng)建該賬號(hào)使得要重建一個(gè)下游,保證所有系統(tǒng)同步。
  ▪▪測(cè)試員沒(méi)必要分享測(cè)試號(hào),F(xiàn)在他們可以一遍又一遍地使用自動(dòng)化去設(shè)置理想狀態(tài)的用同一個(gè)賬號(hào)的數(shù)據(jù)。
  ▪▪自動(dòng)化也使用分配到的賬號(hào)運(yùn)行,所以我們總會(huì)有數(shù)據(jù)以供徹夜運(yùn)行。
  ▪▪通過(guò)運(yùn)行失序腳本破壞數(shù)據(jù)庫(kù)的風(fēng)險(xiǎn)通過(guò)使用高級(jí)數(shù)據(jù)庫(kù)開(kāi)發(fā)員編寫(xiě)的香草腳本被消除了。

  結(jié)果
  結(jié)果驚人。假設(shè)你要測(cè)試一個(gè)賬戶完整生命周期,從激活到刪除,以及期間的所有任務(wù),F(xiàn)在你可以做到!測(cè)試開(kāi)始前,一名測(cè)試員運(yùn)行香草腳本,F(xiàn)在,他們只需要讓賬戶進(jìn)入一個(gè)他們所需的特定狀態(tài)以開(kāi)始手動(dòng)測(cè)試用例。這也使得我們能夠用同一個(gè)賬號(hào)為不同的軟件包產(chǎn)品編寫(xiě)測(cè)試用例。自動(dòng)化突然成功了。我們?cè)?6小時(shí)內(nèi)運(yùn)行300,000多個(gè)測(cè)試用例。反過(guò)來(lái)又產(chǎn)生了一個(gè)新需求:我們希望自動(dòng)化運(yùn)行地更快——但那在一般測(cè)試自動(dòng)化和測(cè)試中卻是一個(gè)問(wèn)題。我們?cè)撊绾谓鉀Q第三方測(cè)試數(shù)的共享呢?自動(dòng)化用一兩個(gè)賬號(hào),手動(dòng)測(cè)試員用剩下的。他們開(kāi)始通過(guò)自動(dòng)化使用香草腳本將賬號(hào)設(shè)置為他們所希望的狀態(tài)。關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化是解決方案的關(guān)鍵,因?yàn)樗梢宰寽y(cè)試團(tuán)隊(duì)自己設(shè)計(jì)測(cè)試用例組合。

  總結(jié)
  測(cè)試數(shù)據(jù)管理可以創(chuàng)建或打破一個(gè)測(cè)試團(tuán)隊(duì)的精神。創(chuàng)造性的解決方案是需要的。不要停止尋找解決方案,后總會(huì)有所收獲。有時(shí)候解決方案和在正確的時(shí)間向正確的人尋求幫助一樣簡(jiǎn)單。

版權(quán)聲明:本文出自 SPASVO澤眾軟件測(cè)試網(wǎng):http://zxzscq.com/news/html/20141020154958.html

原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。

 

相關(guān)鏈接:
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd