qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          軟件測試自動化

            最近公司在搞大規(guī)模弄自動化測試,所以今天想來談?wù)?a href="" target="_self" style="word-break: break-all; color: #333333; text-decoration: none; line-height: normal !important; ">測試自動化這個問題,當然我說的“測試自動化”跟“自動化測試”是不同概念,一樣的字,不同的順序。

            所謂的“自動化測試”,一般是說用一些工具來幫助測試,比如LoadRunner可以幫忙測試負載,QTP可以幫忙做功能測試,當然很多公司還自己寫一些腳本做單元測試。這些工具的幫忙,可以極大地提高公司的測試效率,從而可以解放很多資源去做更加復雜、高級的測試。(所以“自動化測試”只是一個工具或者技術(shù))

            而所謂的“測試自動化”,主要是說我們的測試流程,應(yīng)該怎樣來充分地結(jié)合各種工具/系統(tǒng)(測試管理工具、自動化測試工具等等工具/系統(tǒng)),使得這個測試流程更加合理、更加高效。前面說的LoadRunner這類“自動化測試”工具對于“測試自動化”而言只是一個幫助因素。(所以“測試自動化”是一個方向,一個理論,一門科學研究)

            在像LoadRunner這類工具出現(xiàn)之前,其實我們對于“測試自動化”的理論早已存在,出現(xiàn)的原因是由于軟件發(fā)展速度太快,帶來了越來越多光靠人力難解決的問題,比如:

            1、性能問題:很多軟件都是很多人一起使用的,比如股票系統(tǒng),可能會幾百萬、幾千萬人在用,但是股票系統(tǒng)開發(fā)公司不可能用人力來模擬這么多人一起使用

            2、功能問題:軟件功能和邏輯是越來越多、越來越復雜,但是有不少舊的邏輯其實一直沒怎么變,比如新建項目,備份項目等操作,但是這些雖然不變化,但是在每個Release時,總是需要測試的,這樣子,就需要人力和時間了

            3、變更問題:很多功能雖然表面上看起來樣子沒啥變化,但是其實內(nèi)在邏輯什么都可能在不斷變化,優(yōu)化算法啊,修Bug,都可能帶來改變,怎么去保證能Catch到每次改變呢?這個是問題。

            4、……

            就這樣子,大家為了解決這種問題,推出了各種各樣的工具,而且也解決地很不錯,不過其實很多公司還是繼續(xù)存在著問題,什么原因呢?過度地認為工具能幫忙解決一切,整天叫囂著工具代替人,而忽視了一個重要因素:人的思維。

            我們知道工具雖然很厲害,但是思維絕對無法超過人,工具里面的邏輯都是人編進去的,而人的思維確實無限的,如果工具真的解決一切,為啥這些工具還不斷經(jīng)常推出新版本,不正是說明還有很多事情工具做不到,需要人來幫忙去讓它們實現(xiàn)嗎?

            所以在“測試自動化”的理論體系中,人總是在“訓練”工具,而不是在“使用”工具。

            在測試自動化現(xiàn)有理論體系中,主要由以下幾部分組成:

            1、人

            2、自動化測試工具(LoadRunner,QTP,SeleniumTest Complete……)

            3、測試管理工具 (DevTest, TestDirector ……)

            關(guān)于“人”,我最后介紹了,先把2和3介紹一下,2其實已經(jīng)介紹過了,對于3而言,雖然表面上可能沒2厲害,但是其實起得作用可能比2還大,因為自動化測試工具只能測試產(chǎn)品的一個部分,而怎樣能保證整個產(chǎn)品的所有部分都能被測好呢,這個就需要用到測試管理工具,比如TechExcel的DevTest,它的測試用例可以綁定自動化測試工具,而所有的測試用例就代表了一個完整的產(chǎn)品了,當這些測試用例去觸發(fā)綁定的自動化測試工具運行后返回結(jié)果以后,相當于這個產(chǎn)品全部測完了。

            而最重要的“人”的作用呢?其實我不說,大家應(yīng)該都能想出很多作用來,接下來我來總結(jié)一下:

            1、維護產(chǎn)品的完整性:需要根據(jù)功能的變化,Bug的發(fā)現(xiàn)、自動化測試工具的局限性,經(jīng)常地更新測試用例、測試腳本。這個是最基本的。

            2、發(fā)揮人的能動性、發(fā)散性:自動化工具永遠無法把一個產(chǎn)品測好,所以作為人而言,不要以為懂了自動化測試工具而驕傲,也不用因為只懂手工測試而感到沮喪,關(guān)鍵是要了解測試的內(nèi)涵,從而就能了解產(chǎn)品的內(nèi)涵,最后讓產(chǎn)品在你的腦海中能融會貫通,這樣子,你自己的腦袋就是無敵的自動化測試工具了。

            3、吸收+創(chuàng)新+創(chuàng)造:相信我,即使一個完美的產(chǎn)品的測試,如果真正意義上說完成了是永遠無法做到的,更何況普通產(chǎn)品了。所以這也就意味著這里面會有大量的地方可以得到加強,吸收以往經(jīng)驗,發(fā)掘與加強遺漏點,追尋潛在點,創(chuàng)造新方法,都是一個“人”都能做到的,當然你需要大量地去思考、去探索。

            4、更新體系:我們說“測試自動化”是一個方向,是一個理論,是一個科學研究,這個就意味著它可以不斷進步,至于進步到什么程度,我也無法想象,有可能會出現(xiàn)類似自動分析產(chǎn)品邏輯從而得到測試用例與腳本這樣子,不過唯一能知道的是,人還是會占主導地位,無論更新到什么樣子,人會一直帶領(lǐng)著這個系統(tǒng)前進!

          posted on 2012-05-09 09:26 順其自然EVO 閱讀(190) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄管理方向

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 许昌市| 东兴市| 休宁县| 沂源县| 黑山县| 莒南县| 武清区| 平阳县| 涿鹿县| 贵港市| 塘沽区| 沽源县| 泸定县| 崇义县| 渝中区| 宁明县| 亚东县| 秦皇岛市| 彩票| 海兴县| 通道| 高青县| 积石山| 景宁| 长白| 衡阳市| 枝江市| 东至县| 淮南市| 台东市| 临泽县| 和平区| 秭归县| 尼玛县| 泰兴市| 平舆县| 玉树县| 北票市| 霞浦县| 卢氏县| 鹰潭市|