大話測試數(shù)據(jù)之一

點擊鏈接加入QQ群229390571(免費公開課、視頻應(yīng)有盡有):https://jq.qq.com/?_wv=1027&k=5rbudQa

測試數(shù)據(jù)在整個測試過程中扮演著極為重要的角色,但是它卻像個沒有星象的演員炭懊,明明至少是男二號胁编,但總是被觀眾忽略斜友。在測試過程中补鼻,我們往往在測試計劃階段就忽略了測試數(shù)據(jù)胀葱,在起先沒有給測試數(shù)據(jù)的設(shè)計懦底、準備留出足夠的時間唇牧,投入足夠的精力,到了測試執(zhí)行階段追悔莫及聚唐。只有吃過大虧的測試人員丐重,才會在下一個測試開始的初期就認真的對待它。樓主也算是吃過虧的人杆查。因此在現(xiàn)在經(jīng)手的測試工作中扮惦,總會提著測試數(shù)據(jù)這根弦。今天一個網(wǎng)上的一個同學問了一個關(guān)于測試數(shù)據(jù)的問題亲桦,隨手回答了一下以后崖蜜,發(fā)現(xiàn)自己其實已經(jīng)積累了一些經(jīng)驗了。現(xiàn)在把它們總結(jié)出來,供大家討論客峭。


測試數(shù)據(jù)為什么重要:

? ? ?1.最淺顯的道理:說白了測試用例的執(zhí)行工作主要是做一些輸入操作豫领,然后觀察輸出。測試數(shù)據(jù)就是輸入的內(nèi)容舔琅,沒有測試數(shù)據(jù)等恐,你咋執(zhí)行用例?

? ? ?2.測試數(shù)據(jù)是測試設(shè)計的重要組成部分备蚓,測試用例的有效性嚴重依賴測試數(shù)據(jù)的選取或者設(shè)計课蔬,要記住測試的本質(zhì)是抽樣,樣品的選取其實是一門深奧的科學郊尝,有學過統(tǒng)計學的同學會深切明白這個道理购笆。

? ? ?3.沒有把測試數(shù)據(jù)這一塊兒理順,良好的自動化測試簡直是空談虚循。試想同欠,測試自動化采取的最普遍默模式就是“錄制-回放”模式,如果搞不定數(shù)據(jù)横缔,回放基本上會失敗铺遂,自動化驗證自然也就無法有效完成了。

? ? ?4.測試數(shù)據(jù)能夠啟發(fā)測試設(shè)計茎刚。做測試多的同學都會有過選取一組測試用例后來了感覺發(fā)現(xiàn)自己思如泉涌的經(jīng)歷襟锐。

? ? ?5.如果是已上線系統(tǒng),或者生命周期較長的系統(tǒng)膛锭,從生產(chǎn)系統(tǒng)上log下來的數(shù)據(jù)可以很好的指導測試粮坞。(通過一些統(tǒng)計可以幫助識別那些業(yè)務(wù)重要蚊荣,為能夠制定正確的測試策略提供重要信息;對數(shù)據(jù)做pattern分析的話可以用于補充測試場景莫杈、用例互例,同樣十分有益;這些數(shù)據(jù)還可以在測試中進行復用)筝闹。

6.其它種種好處媳叨。。关顷。


測試數(shù)據(jù)的分類

? ? ?我們可以從多個維度對測試數(shù)據(jù)進行分類糊秆,下面講一下我的分類方式:

從測試數(shù)據(jù)的生命周期角度看可以將測試數(shù)據(jù)分為:穩(wěn)定和數(shù)據(jù)可消耗的數(shù)據(jù)混合類型數(shù)據(jù)

穩(wěn)定的數(shù)據(jù):在一輪/多輪測試執(zhí)行過程中幾乎不會發(fā)生變化的數(shù)據(jù)议双,如常見的電商系統(tǒng)中的一些基礎(chǔ)數(shù)據(jù)--城市痘番,郵政編碼,一些商品的屬性平痰,如衣服尺寸碼等夫偶。

可消耗數(shù)據(jù):測試執(zhí)行完某個步驟后,數(shù)據(jù)發(fā)生不可逆改變觉增,或者發(fā)生逆轉(zhuǎn)操作需要耗費大量精力的改變兵拢。這類數(shù)據(jù)的例子有:商品的庫存,票務(wù)系統(tǒng)里的票逾礁,要被 ? ? ? ? ? ? ? ? ? ?夜維程序刪除的過期數(shù)據(jù)说铃,網(wǎng)絡(luò)數(shù)據(jù)包等等。

混合類型數(shù)據(jù):某些數(shù)據(jù)是復合型數(shù)據(jù)嘹履,如XML結(jié)構(gòu)或者Json結(jié)構(gòu)的某些數(shù)據(jù)腻扇,一條數(shù)據(jù)中的一部分是穩(wěn)定的數(shù)據(jù),另一部分是可消耗數(shù)據(jù)砾嫉,這樣的例子其實很常見幼苛,一般這樣的數(shù)據(jù)會被當做可消耗數(shù)據(jù)來處理。

從數(shù)據(jù)是否可構(gòu)造的角度來看可以將測試數(shù)據(jù)分為:可直接構(gòu)造數(shù)據(jù)需要間接獲取的數(shù)據(jù)焕刮。

可直接構(gòu)造的數(shù)據(jù):常見系統(tǒng)的大部分數(shù)據(jù)都可以直接被構(gòu)造舶沿,通過操作系統(tǒng)本身,或者通過調(diào)用某些接口(SQL也算接口)插入數(shù)據(jù)配并,有時候甚至這些數(shù)據(jù)就是文本括荡,直接準備好他們就行了。

需要間接獲取的數(shù)據(jù):手工制造成本太高(理論上我們可以制造所有測試數(shù)據(jù)溉旋,但有時候就是成本太高)畸冲,如某些以二進制存儲的含有信息的數(shù)據(jù)(被序列化的數(shù)據(jù)),某些非文本數(shù)據(jù),例如音頻數(shù)據(jù)邑闲,視頻數(shù)據(jù)算行,傳感器上傳過來的極為復雜的帶有某些pattern的數(shù)據(jù)。舉個很好玩的例子苫耸,見過“獵曲奇兵”這款軟件么州邢?偶然聽到一首歌,打開獵曲奇兵鲸阔,十秒鐘左右它就能告訴你是哪一首歌偷霉。你基本上無法自己創(chuàng)造一條有效的測試數(shù)據(jù)迄委,除非你是張學友或者Lady Gaga褐筛。

從業(yè)務(wù)角度來看數(shù)據(jù)可以分為:合規(guī)數(shù)據(jù)非合規(guī)數(shù)據(jù)叙身、Fuzz數(shù)據(jù)

合規(guī)數(shù)據(jù):望文生義渔扎,就是符合業(yè)務(wù)規(guī)則的數(shù)據(jù),如能夠通過校驗的身份證號信轿。

非合規(guī)數(shù)據(jù):顯然就是不符合業(yè)務(wù)規(guī)則的數(shù)據(jù)晃痴,當你被要求輸入注冊郵箱的時候,你給出這樣的輸入:skytraveler@@163.com 顯然不會合規(guī)财忽。

Fuzz數(shù)據(jù):Fuzz數(shù)據(jù)主要是利用一些工具生成的亂七八糟的數(shù)據(jù)倘核,主要用于系統(tǒng)穩(wěn)定性測試和安全測試。這是一個大話題即彪,有興趣的話推薦看《模糊測試》這本好書紧唱。

從測試數(shù)據(jù)來源來看,可以分為:生產(chǎn)dump數(shù)據(jù)隶校,自己生成的數(shù)據(jù)

? ? ?上面的分類其實并不是很準確漏益,但是分類就是為了幫助更高效的解決問題。接下來我會講解對于上面類型的數(shù)據(jù)我是如何來處理的深胳。


測試數(shù)據(jù)的生成過程

概念上的數(shù)據(jù):也就是抽象的數(shù)據(jù)绰疤,例如,你的被測物是一款收銀軟件舞终,你知道每筆交易結(jié)束后轻庆,需要生成一張“發(fā)票”,見過發(fā)票的你大概知道 它長什么樣子(如下圖)敛劝,“發(fā)票”就是概念上的數(shù)據(jù)榨了,但它并不能直接使用。

? 被細化了的數(shù)據(jù):也就是具體的數(shù)據(jù)項攘蔽。拿到發(fā)票后龙屉,我們還要分析發(fā)票里到底有哪些數(shù)據(jù),經(jīng)過需求的獲取及分析,我們知道發(fā)票包含:發(fā)票日期转捕,發(fā)票代碼作岖,付款方,收款方五芝,金額痘儡,防偽碼,二維碼等枢步。同時我們也知道了這些數(shù)據(jù)的規(guī)約沉删,例如,發(fā)票的日期格式是:yyyy年mm月dd日。

?真正能使用的數(shù)據(jù):我們知道了數(shù)據(jù)的細節(jié)醉途,就可以按照這些細節(jié)準備被測系統(tǒng)能夠識別和接受的數(shù)據(jù)了矾瑰。例如,上面所說的發(fā)票付款方隘擎,收款方殴穴,真正的操作可能會直接在GUI中輸入,或者可以調(diào)用某些接口货葬,或者可以直接插入數(shù)據(jù)庫采幌。這時候你要做的就是,讓你的數(shù)據(jù)變得能用起來震桶。

從上面的解釋可以得到測試數(shù)據(jù)從被識別休傍,到能夠被使用的大體步驟:

? ? ? 事實上,實際工作中蹲姐,測試數(shù)據(jù)的準備遠遠不是這么簡單磨取。很多時候上面的每一步驟的推動都是一個艱苦的過程。搞定它需要柯南一樣抽絲剝繭的能力和工匠的細致和耐心淤堵。我會盡量在后續(xù)的文章中講述一些我的經(jīng)驗寝衫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拐邪,隨后出現(xiàn)的幾起案子慰毅,更是在濱河造成了極大的恐慌,老刑警劉巖扎阶,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汹胃,死亡現(xiàn)場離奇詭異,居然都是意外死亡东臀,警方通過查閱死者的電腦和手機着饥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惰赋,“玉大人宰掉,你說我怎么就攤上這事呵哨。” “怎么了轨奄?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵孟害,是天一觀的道長。 經(jīng)常有香客問我挪拟,道長挨务,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任玉组,我火速辦了婚禮谎柄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘惯雳。我一直安慰自己朝巫,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布吨凑。 她就那樣靜靜地躺著捍歪,像睡著了一般户辱。 火紅的嫁衣襯著肌膚如雪鸵钝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天庐镐,我揣著相機與錄音恩商,去河邊找鬼。 笑死必逆,一個胖子當著我的面吹牛怠堪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播名眉,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼粟矿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了损拢?” 一聲冷哼從身側(cè)響起陌粹,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎福压,沒想到半個月后掏秩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡荆姆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年蒙幻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胆筒。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡邮破,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抒和,我是刑警寧澤队询,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站构诚,受9級特大地震影響蚌斩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜范嘱,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一送膳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丑蛤,春花似錦叠聋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棉饶,卻和暖如春厦章,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背照藻。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工袜啃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人幸缕。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓群发,卻偏偏與公主長得像,于是被迫代替她去往敵國和親发乔。 傳聞我的和親對象是個殘疾皇子熟妓,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容