最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

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

2022-10-13 11:16 作者:愛測軟件測試  | 我要投稿


測試數(shù)據(jù)在整個測試過程中扮演著極為重要的角色,但是它卻像個沒有星象的演員,明明至少是男二號,但總是被觀眾忽略。在測試過程中,我們往往在測試計劃階段就忽略了測試數(shù)據(jù),在起先沒有給測試數(shù)據(jù)的設(shè)計、準備留出足夠的時間,投入足夠的精力,到了測試執(zhí)行階段追悔莫及。

只有吃過大虧的測試人員,才會在下一個測試開始的初期就認真的對待它。筆者也算是吃過虧的人。因此在現(xiàn)在經(jīng)手的測試工作中,總會提著測試數(shù)據(jù)這根弦。恰巧有同學(xué)問到這方面的問題,就分享一下個人的經(jīng)驗總結(jié),與大家一起探討。

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

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

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

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

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

  6. 其它種種好處 …
    我們可以從多個維度對測試數(shù)據(jù)進行分類,下面講一下我的分類方式:

  7. 從測試數(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ù)是復(fù)合型數(shù)據(jù),如 XML 結(jié)構(gòu)或者 Json 結(jié)構(gòu)的某些數(shù)據(jù),一條數(shù)據(jù)中的一部分是穩(wěn)定的數(shù)據(jù),另一部分是可消耗數(shù)據(jù),這樣的例子其實很常見,一般這樣的數(shù)據(jù)會被當做可消耗數(shù)據(jù)來處理。

  8. 從數(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ù),傳感器上傳過來的極為復(fù)雜的帶有某些 pattern 的數(shù)據(jù)。
    舉個很好玩的例子,見過“獵曲奇兵”這款軟件么?偶然聽到一首歌,打開獵曲奇兵,十秒鐘左右它就能告訴你是哪一首歌。你基本上無法自己創(chuàng)造一條有效的測試數(shù)據(jù),除非你是張學(xué)友或者Lady Gaga。

  9. 從業(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)定性測試和安全測試。這是一個大話題,有興趣的話推薦看《模糊測試》這本好書。

  10. 從測試數(shù)據(jù)來源來看,可以分為:生產(chǎn) dump 數(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)驗。


大話測試數(shù)據(jù)(一)的評論 (共 條)

分享到微博請遵守國家法律
绥德县| 东安县| 犍为县| 沾化县| 甘南县| 绥阳县| 咸丰县| 达拉特旗| 镶黄旗| 兴安县| 山丹县| 陈巴尔虎旗| 元江| 河津市| 柘城县| 建瓯市| 望江县| 富川| 临安市| 拉萨市| 巴里| 新民市| 阿鲁科尔沁旗| 桐城市| 油尖旺区| 抚顺市| 神木县| 连城县| 青龙| 固安县| 含山县| 滦平县| 教育| 南靖县| 九龙县| 梓潼县| 永寿县| 昌都县| 依安县| 广汉市| 温泉县|