黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

關(guān)于自動(dòng)化測(cè)試的理解

系統(tǒng) 1990 0

之前的一篇 測(cè)試感想 里面提到以后會(huì)另文專門談?wù)勛詣?dòng)化測(cè)試,恰好最近看到園里一位朋友一個(gè)系列的 文章 ,可以看出作者對(duì)測(cè)試有著相當(dāng)深的理解,文中的許多觀點(diǎn)與我也不謀而合,所以今天也想談?wù)勛约旱目捶ā_@篇文章先談一下看法和理論,暫時(shí)不提具體的工具和實(shí)操。

?

首先 我將測(cè)試分為兩種,一種是驗(yàn)證正確(即程序做了正確的事),一種是尋找錯(cuò)誤(即程序沒有做錯(cuò)誤的事)。其中驗(yàn)證正確比較簡(jiǎn)單,只需要將實(shí)際結(jié)果和預(yù)期結(jié)果做比較,一般只有一件正確的事會(huì)發(fā)生就只需要驗(yàn)證這件事發(fā)生了即可。例如用戶登入后加積分,只需要檢查用戶登入后,是否增加了相應(yīng)的積分。而尋找錯(cuò)誤就比較困難了,因?yàn)橛刑嗖豢深A(yù)知的錯(cuò)誤可能會(huì)發(fā)生,例如修改了個(gè)人資料也加了分,登出也加了分等等。

如果想用自動(dòng)化測(cè)試去發(fā)現(xiàn)錯(cuò)誤,首先就必須由人去相處可能出現(xiàn)錯(cuò)誤的各種情況,然后用自動(dòng)化去檢查。這樣其實(shí)就不是用自動(dòng)化去發(fā)現(xiàn)錯(cuò)誤了,而是由人去尋找錯(cuò)誤(或者錯(cuò)誤的可能性),然后用自動(dòng)化去驗(yàn)證。偏偏試圖通過自動(dòng)化去發(fā)現(xiàn)錯(cuò)誤是很多人開展自動(dòng)化的最初目的,于是就導(dǎo)致了自動(dòng)化的高代價(jià),投入了人工(預(yù)測(cè)錯(cuò)誤,設(shè)計(jì)用例,編寫腳本),但自動(dòng)化的成果只能局限在人工能夠預(yù)測(cè)到的范圍之內(nèi)。所以我們可以看到很多案例,在使用了自動(dòng)化測(cè)試之后,用手工測(cè)試依然可以發(fā)現(xiàn)大量的bug。 所以,能否發(fā)現(xiàn)bug,最核心的東西是用例,而不是工具或方法,只有用例能夠發(fā)現(xiàn)bug,工具只是實(shí)現(xiàn)的手段而已。 因此,想要測(cè)試得更好,應(yīng)該加強(qiáng)的是設(shè)計(jì)用例的能力。

說了這么多,好像把自動(dòng)化測(cè)試講得沒什么作用,其實(shí)并不是,只要用來做其擅長(zhǎng)的事情,自動(dòng)化就會(huì)很有作用。自動(dòng)化做為測(cè)試的一種手段,優(yōu)點(diǎn)在于可以大量、重復(fù)地執(zhí)行,如果用來做回歸測(cè)試(即用來驗(yàn)證程序做了正確的事)的話,就可以派上大用場(chǎng)。例如在版本迭代后,檢查沒有改動(dòng)過的部分是否正確;服務(wù)器配置改變而程序沒有變,檢查程序是否可以繼續(xù)正常運(yùn)作。可以想象一下以下情況

  • 服務(wù)器打了補(bǔ)丁重啟一下,各種服務(wù)都需要重新啟動(dòng)
  • 手機(jī)操作系統(tǒng)升級(jí)了
  • 軟件功能沒有變化,但程序員做了大規(guī)模重構(gòu)

這些情況下,為了檢查我們的程序是否能夠繼續(xù)正常使用,我們就需要把所有/或者最重要的流程跑一遍,如果要負(fù)責(zé)測(cè)試的軟件所用的平臺(tái)經(jīng)常升級(jí),又或者一個(gè)平臺(tái)升級(jí)需要測(cè)試大量的軟件, 這是非常耗費(fèi)時(shí)間和人力的一項(xiàng)工作,最嚴(yán)重的情況是需要安排一個(gè)專人一年到晚不停地就是為了測(cè)試這些。這時(shí),自動(dòng)化測(cè)試就可以大顯身手了,因?yàn)槲覀儾粫?huì)期望在這種情況下,自動(dòng)化測(cè)試能夠找出新bug,而只需要它告訴我們,哪些以前能正常運(yùn)作的部分現(xiàn)在出錯(cuò)了。

?

接下來就要談?wù)勅绾螌?shí)現(xiàn)自動(dòng)化測(cè)試了,我先將程序分為兩種,一種是與機(jī)器做交互的,一種是與人做交互的。然后再將與人做交互的程序分為非圖形界面和圖形界面兩種,其中非圖形界面其實(shí)也可以看做是人用機(jī)器的角度去做交互。 自動(dòng)化測(cè)試使用程序去測(cè)試程序,機(jī)器之間的交互或者非圖形界面的人機(jī)交互比較容易做自動(dòng)化,而圖形界面的人機(jī)交互則相對(duì)比較難。所以很多人推薦接口測(cè)試是比較適合做自動(dòng)化的,比如說你的服務(wù)器升級(jí)了,或者你的數(shù)據(jù)庫(kù)版本升級(jí)了,你需要檢查一下你的手機(jī)app是否還能正常獲取后臺(tái)數(shù)據(jù),這時(shí)你就可以用自動(dòng)化去測(cè)試你的數(shù)據(jù)接口了。

無論是手工測(cè)試還是自動(dòng)化測(cè)試,都是比較實(shí)際結(jié)果和預(yù)期結(jié)果是否相符。

  • 實(shí)際結(jié)果:就是我們通過操作獲取的實(shí)際執(zhí)行結(jié)果,通常所講的自動(dòng)化測(cè)試的難度,大部分指就是指通過自動(dòng)化獲取實(shí)際結(jié)果的難度。
  • 預(yù)期結(jié)果:是我們?cè)谛枨笊先藶槎x的,很多測(cè)試員在測(cè)試時(shí)遇到需求不明確,沒有標(biāo)準(zhǔn),其實(shí)就是不知道預(yù)期結(jié)果是什么。將預(yù)期結(jié)果轉(zhuǎn)化為機(jī)器可識(shí)別的數(shù)據(jù)也是一個(gè)難點(diǎn)。
  • 結(jié)果比較:驗(yàn)證測(cè)試結(jié)果是正確還是錯(cuò)誤,良好的自動(dòng)化測(cè)試除了需要自動(dòng)化的執(zhí)行,還需要包括自動(dòng)化的驗(yàn)證,有時(shí)候自動(dòng)化的驗(yàn)證比自動(dòng)化操作更困難。

要實(shí)現(xiàn)自動(dòng)化測(cè)試,就要將這三樣?xùn)|西通過程序來實(shí)現(xiàn), 并且高效地結(jié)合起來 。何謂高效地結(jié)合起來?就是預(yù)期結(jié)果和實(shí)際結(jié)果可以大量快速獲取進(jìn)行比較,并且盡量少地出現(xiàn)人為干涉。比如我們控制一個(gè)程序能夠讀取到全部預(yù)期結(jié)果,并且執(zhí)行操作獲取全部實(shí)際結(jié)果,然后可以自動(dòng)比較兩者生成報(bào)告,這樣就比我們?nèi)耸挚刂埔粋€(gè)程序單個(gè)多次地讀取預(yù)期結(jié)果,再人手控制另一個(gè)程序單個(gè)多次地獲取實(shí)際結(jié)果,再人手控制第三個(gè)程序去單個(gè)多次地比較前兩者的結(jié)果要高效。當(dāng)然,如果這些程序是統(tǒng)一控制,相互自動(dòng)觸發(fā)的話,那效果也等同于一個(gè)程序,在實(shí)際中這種情況是很常見的。

如果是非圖形界面交互的話,我們比較容易就能夠講這三者結(jié)合起來,以接口測(cè)試為例:

1.批量的發(fā)送請(qǐng)求并獲取返回值,這個(gè)用程序可以容易實(shí)現(xiàn),也可以用一些負(fù)載生成的工具去實(shí)現(xiàn)。

2.批量得到預(yù)期結(jié)果并轉(zhuǎn)為機(jī)器可識(shí)別的數(shù)據(jù),這個(gè)可以用xml或者excel一類的文檔來準(zhǔn)備數(shù)據(jù),使用工具的話可以將多個(gè)case保存為一個(gè)集合。

3.批量比較返回值和預(yù)期結(jié)果數(shù)據(jù),將前兩步的數(shù)據(jù)都獲取到之后再用字符或者正則表達(dá)式來比較兩者,用工具的話需要選擇那些可以斷言返回值的。

4.將比較結(jié)果生成測(cè)試報(bào)告。

如果是圖形界面的話,就比較麻煩一點(diǎn)了,以現(xiàn)在比較流行的web為例:

1.需要實(shí)現(xiàn)web操作,無論你是自己寫程序?qū)崿F(xiàn),還是用現(xiàn)有的工具,都是將動(dòng)作、對(duì)象、數(shù)值組織起來完成一個(gè)web操作。比如登入網(wǎng)站,分3個(gè)步驟,(1)輸入用戶名,動(dòng)作是輸入,對(duì)象是用戶名輸入框,數(shù)值是你的用戶名。(2)輸入密碼,動(dòng)作是輸入,對(duì)象是密碼輸入框,數(shù)值是你的密碼。(3)點(diǎn)擊登入按鈕,動(dòng)作是點(diǎn)擊,對(duì)象是登入按鈕,沒有數(shù)值。完成了web操作之后,我們就可以獲取到相關(guān)的實(shí)際結(jié)果,例如登入成功的提示,或者登入後的網(wǎng)頁內(nèi)容,我們就需要通過程序去獲取回來,準(zhǔn)備之后的比較。

第2-4步跟非圖形界面基本一樣。

?

關(guān)于自動(dòng)化測(cè)試的理解


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論