qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          Web自動(dòng)化測(cè)試之困

           標(biāo)題借用《web之困》這本書(shū)名,借機(jī)吐槽一下在web自動(dòng)化測(cè)試中遇到的各種不順暢。看了這本書(shū),大感欣慰,因?yàn)榻K于有專家說(shuō)出了我多年想說(shuō)而不好意思說(shuō)的話——現(xiàn)在的web應(yīng)用就是建立在一堆胡亂拼湊的技術(shù)基礎(chǔ)之上的。
            從底層協(xié)議級(jí)就定義不周到渲染技術(shù)的五花八門;從古老的html、css、java applet、ActiveX到j(luò)avascript、flash、sliverlight、html5;從瀏覽器的各顯神通到眼花繚亂的版本升級(jí);從靜態(tài)到動(dòng)態(tài);從即時(shí)到異步,真是一個(gè)百家爭(zhēng)鳴、百花齊放啊。雖說(shuō)給普通用戶帶來(lái)了賞心悅目的享受,可真苦了我們這些測(cè)試工程師了。手工做瀏覽器兼容性測(cè)試都不是一般的麻煩,更別提自動(dòng)化了。十幾年前我每樣技術(shù)都嘗試去學(xué)習(xí),后來(lái)發(fā)現(xiàn)我學(xué)的速度還趕不上技術(shù)新出的速度,于是我厭倦了,從此對(duì)web前端技術(shù)及其排斥。我幻想著某一天前端技術(shù)可以統(tǒng)一得象操作系統(tǒng)那樣規(guī)矩和穩(wěn)定。不過(guò)看來(lái)一時(shí)半會(huì)還實(shí)現(xiàn)不了,所以厭倦歸厭倦,活還是要干的,所以幾年來(lái)我也在考慮這是非做不可的。于是前一篇提到的vs2010就是一個(gè)嘗試。當(dāng)時(shí)考慮操作系統(tǒng)是ms家的、瀏覽器是ms家的、自動(dòng)化工具是ms家的甚至C#語(yǔ)言也是ms家的,要是這樣還不順利,恐怕別的工具更別指望了。事實(shí)上,我還是低估了事情的復(fù)雜性。
            錄制/回放遇到的麻煩隨便列舉一下就有這些:
            只支持ie,且不能使用64位版本
            視圖縮放比例要求必須為100%
            不能識(shí)別flash插件
            各種意外(如窗口沒(méi)有在最前端、沒(méi)有最大化等、控件被阻止運(yùn)行……)導(dǎo)致回放中斷
            建立自動(dòng)化任務(wù)時(shí)不能在后臺(tái)運(yùn)行(因?yàn)橐谧烂姝h(huán)境真實(shí)啟動(dòng)瀏覽器),所以管理員必須登錄。這樣一來(lái),服務(wù)器一旦重啟就無(wú)法做到無(wú)人值守的繼續(xù)運(yùn)行
            ……
            諸如此類,總之想順利走通一段自動(dòng)化腳本可費(fèi)勁了,經(jīng)常是煩不勝煩
            為此我還總結(jié)出一堆錄制腳本的經(jīng)驗(yàn),比如:
            把場(chǎng)景分割成每段盡量少操作的多個(gè)腳本文件
            盡量用鍵盤操作,少用鼠標(biāo)操作
            屏幕上盡量少留無(wú)關(guān)窗口
            對(duì)于瀏覽器,盡量在同一個(gè)頁(yè)簽中操作,盡量避免彈出窗口造成主流程被干擾
            動(dòng)作、腳本之間留的延時(shí)要足夠,比如連續(xù)執(zhí)行兩條sql,就有可能第二條執(zhí)行出錯(cuò)
            ……
            但真要把這些問(wèn)題都注意到了,費(fèi)的心還不如手工來(lái)一遍算了。再說(shuō)費(fèi)這么大事只是為了回歸驗(yàn)證以前的功能,確實(shí)有點(diǎn)得不償失。所以過(guò)后反思起來(lái)有這樣一些教訓(xùn):
            1.目標(biāo)定位有偏差。借鑒自Apple Chow觀點(diǎn):只保留少數(shù)幾個(gè)用來(lái)驗(yàn)證端到端的集成場(chǎng)景的高級(jí)別冒煙測(cè)試,除此之外盡可能編寫底層的測(cè)試。
            2.工具不給力。當(dāng)然如果有g(shù)oogle的水平,自行探索和開(kāi)發(fā)各式各樣的測(cè)試工具和框架那自然是厲害了,但是沒(méi)這水平啊,還是只能找現(xiàn)有的工具用。
            后續(xù)準(zhǔn)備嘗試selenium。說(shuō)到這里,就想起有的團(tuán)隊(duì)成員提出經(jīng)常換工具的困擾。——這個(gè)問(wèn)題應(yīng)該這樣看:使用工具是為了解決問(wèn)題,是人的思想和能力去駕馭工具而不能讓工具限制了人的思想和能力。所以要去掌握事物的本質(zhì),那么換工具也會(huì)是經(jīng)常和順理成章的事情。

          posted on 2014-02-19 10:42 順其自然EVO 閱讀(302) 評(píng)論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)

          <2014年2月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          2324252627281
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 治多县| 蚌埠市| 普格县| 黄冈市| 石柱| 阿克苏市| 随州市| 平顶山市| 金沙县| 迭部县| 聊城市| 徐汇区| 巨鹿县| 普定县| 昔阳县| 德格县| 龙海市| 江川县| 黄浦区| 东兰县| 正蓝旗| 瑞昌市| 贵阳市| 托克逊县| 沂水县| 肥城市| 简阳市| 台中市| 沙田区| 桦川县| 长汀县| 宝应县| 济阳县| 涟水县| 辽源市| 尉犁县| 宜宾县| 桂阳县| 横峰县| 西乡县| 江陵县|