qileilove

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

          我的軟件測(cè)試之旅:(8)困難——沒(méi)有現(xiàn)成的測(cè)試工具

          新的測(cè)試工作面臨的第一個(gè)調(diào)整就是無(wú)法使用熟悉的工具,之前的工具是根據(jù)產(chǎn)品的操作系統(tǒng)平臺(tái)以及人機(jī)接口進(jìn)行了封裝的,而新的Linux系統(tǒng)顯然還不在他們的關(guān)注范圍內(nèi)。于是我得另尋方法,方法當(dāng)然也簡(jiǎn)單,因?yàn)楸粶y(cè)對(duì)象也就是我們所開(kāi)發(fā)的東西,就是在Linux下運(yùn)行的應(yīng)用程序,其中有些核心模塊(Kernel Module),只要通過(guò)Shell腳本使用相關(guān)的命令就可以完成測(cè)試了。

            Shell腳本只能夠做到一個(gè)測(cè)試用例,寫一個(gè)Shell腳本,于是有大量的重復(fù),測(cè)試自動(dòng)化上已經(jīng)有豐富經(jīng)驗(yàn)的我自然難以接受,不過(guò)暫時(shí)也無(wú)能為力,畢竟我還不具備單獨(dú)開(kāi)發(fā)出一個(gè)測(cè)試自動(dòng)化框架的能力。只能夠在單個(gè)Shell腳本中去執(zhí)行多個(gè)測(cè)試用例,在腳本內(nèi)抽取出一些公用代碼,做成函數(shù),最大的缺陷就在于測(cè)試的顆粒度不夠清晰,以及測(cè)試用例之間的耦合度太高。

            在Linux系統(tǒng)下進(jìn)行測(cè)試,了解一些基本命令是必然的,比如查進(jìn)程清單、輸出重定向之類的命令。由于沒(méi)有現(xiàn)成的函數(shù)可以使用,要能夠處理應(yīng)用程序或核心模塊的輸出,進(jìn)行自動(dòng)化的測(cè)試結(jié)果收集和分析也需要了解一些文本操作的高級(jí)命令,例如awk和sed等,最好還要懂得怎么使用正則表達(dá)式,才有可能從瀚如煙海的日志輸出中快速地識(shí)別出所要尋找的信息。

            一點(diǎn)點(diǎn)的編程能力也是需要的,有時(shí)候開(kāi)發(fā)的功能就是為系統(tǒng)其他應(yīng)用程序和模塊提供服務(wù),測(cè)試的對(duì)象就是它們提供出來(lái)的API(Application Programming Interface,應(yīng)用程序編程接口),就只能夠自己寫一些測(cè)試用小程序,在程序里面調(diào)用這些API,并通過(guò)輸出一些日志信息來(lái)進(jìn)行測(cè)試。

            所幸的是,后來(lái)測(cè)試自動(dòng)化小組又從芬蘭引入了一套新的框架,也是口碑非常好,我后來(lái)也非常的喜歡,愛(ài)不釋手。這套框架叫做robotframework(www.robotframework.org),目前已經(jīng)開(kāi)源。它提供了Telnet的庫(kù),可以通過(guò)Telnet協(xié)議和我們的被測(cè)設(shè)備交互,向被測(cè)設(shè)備寫入命令,以及獲得輸出,從而完成測(cè)試。框架本身的測(cè)試用例的格式也很簡(jiǎn)單,當(dāng)時(shí)主要支持Excel的CSV格式和HTML表格格式,我偏好其中的表格格式。表格格式的意思是,在一個(gè)HTML文件中(或者叫頁(yè)面上),有四個(gè)表格,每個(gè)表格分別具有不同的含義,框架本身會(huì)區(qū)別對(duì)待其中的信息,加以處理。根據(jù)其表格的內(nèi)容和格式,填入文本化語(yǔ)言,而不是腳本語(yǔ)言或是編程語(yǔ)言的函數(shù)調(diào)用,就是文本化的語(yǔ)言,寫好保存,這就是一個(gè)測(cè)試用例,也是一個(gè)測(cè)試腳本了。文本化的語(yǔ)句需要有對(duì)應(yīng)的庫(kù)函數(shù)才可以真正產(chǎn)生作用,例如“Get Page Title”就得有類似于相應(yīng)的getpagetitle()庫(kù)函數(shù),庫(kù)可以用Java或者Python語(yǔ)言實(shí)現(xiàn)。

          相關(guān)鏈接:

          我的軟件測(cè)試之旅:(1)起點(diǎn)——作為軟件開(kāi)發(fā)人員

          我的軟件測(cè)試之旅:(2)轉(zhuǎn)變——作為專職測(cè)試人員

          我的軟件測(cè)試之旅:(3)同期——加入測(cè)試自動(dòng)化小組

          我的軟件測(cè)試之旅:(4)并行——自動(dòng)化回歸測(cè)試

          我的軟件測(cè)試之旅:(5)難點(diǎn)——功能改進(jìn)的測(cè)試

          我的軟件測(cè)試之旅:(6)跳轉(zhuǎn)——追逐新鮮事物的探險(xiǎn)者

          我的軟件測(cè)試之旅:(7)啟程——Scrum中的測(cè)試工作者

          posted on 2012-08-07 11:55 順其自然EVO 閱讀(327) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 枞阳县| 本溪市| 汨罗市| 阳新县| 集贤县| 石城县| 望奎县| 长乐市| 江华| 太保市| 开远市| 永吉县| 沐川县| 中江县| 新化县| 合肥市| 五指山市| 沙坪坝区| 定安县| 青冈县| 南通市| 泰宁县| 滦南县| 达拉特旗| 富川| 沈丘县| 肥东县| 怀安县| 贵州省| 珠海市| 义乌市| 手游| 改则县| 黄平县| 托克逊县| 安化县| 莎车县| 缙云县| 嘉禾县| 凤冈县| 钦州市|