您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium做功能測(cè)試的一點(diǎn)討論
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/5/8 11:44:09 ] 推薦標(biāo)簽:

先后和nemo、limo、raimudox、nicholas討論:
selenium的Remote Control比較適合在需求階段撰寫(當(dāng)然Fit方式也可以先于實(shí)現(xiàn)寫),作為驗(yàn)收的測(cè)試。好處是RC對(duì)重構(gòu)支持相對(duì)好一些,而且你可以換Agent,也可以做瀏覽器兼容測(cè)試。(但是由于RC的限制,兼容側(cè)試兼容性并不好:)
按照raimudox所說RC是更加Pragmatic的實(shí)踐,更能體現(xiàn)敏捷軟件開發(fā)的測(cè)試先行的特性。功能測(cè)試可以說是溝通用戶與開發(fā)者的佳契約。
Selenium IDE錄制script適合作為基線保留(指先實(shí)現(xiàn)需求,后錄制測(cè)試這樣的順序),作為某次重構(gòu)之前的樣本;蛘哒f,如果覺得手寫測(cè)試腳本太麻煩,而喜歡本末倒置(沒有貶義,純技術(shù)上)的人設(shè)計(jì)的。更現(xiàn)實(shí)的說,這很有用,比如一個(gè)項(xiàng)目從一半開始敏捷改造,引入功能測(cè)試、單元測(cè)試,對(duì)以后的迭代進(jìn)行基線的衡量,給新引入的CI(持續(xù)集成)一個(gè)更有實(shí)際意義的測(cè)試保障,用Selenium IDE幫助生成一下Script,然后再使用RC或者直接用Core執(zhí)行一下都是不錯(cuò)的實(shí)踐。而Fit方式(這里指先于應(yīng)用實(shí)現(xiàn)寫出來的基于html/table的Fit式測(cè)試),相對(duì)吸引力差一些,因?yàn)楣ぷ髁颗cRC相仿,重構(gòu)支持比較差,而且沒有DSL風(fēng)格的封裝,讀起來相對(duì)費(fèi)解一些。
還有,據(jù)Nicholas同學(xué)實(shí)踐,Selenium IDE所錄制的script在IDE中執(zhí)行比RC方式兼容性要好,尤其對(duì)于跨域的情況,RC很有可能是無法工作的。還有一個(gè)問題,是Selenium實(shí)際上是ThoughtWorks和BEA牽頭的項(xiàng)目,TW負(fù)責(zé)Core,目前Core的代碼發(fā)展的必較快,而RC由BEA負(fù)責(zé),發(fā)展比較緩慢,所以,有些時(shí)候選擇也成為無奈了。
061102補(bǔ)充:
1、Selenium目前有做不到的地方:例如<input type="file"/>的情況,由于安全問題,瀏覽器是不允許通過javascript置里面的value的,所以selenium在此時(shí)會(huì)處于無能為力的情況。比較郁悶。雖然強(qiáng)行修改如Mozzila的安全屬性可以辦,但那不是好辦法。
2、對(duì)于擁有復(fù)雜的Ajax widget的應(yīng)用測(cè)試可能會(huì)非常麻煩,因?yàn)樾枰獙懞芏鄇avascript api在測(cè)試?yán)锩,?duì)重構(gòu)支持差(如api發(fā)生變化修改unit test很麻煩,而且可能出現(xiàn)需要對(duì)你的測(cè)試進(jìn)行測(cè)試的尷尬情況)。當(dāng)然對(duì)于大部分的ajax應(yīng)用Selenium都是很好的選擇。
3、大家都很看好的Remote Control方式發(fā)展比較慢,API還不夠友好(經(jīng)常拋出奇怪的異常),Bug還是比較多。所以還需要耐心等待,要多些像我們這樣的小白鼠:D
推薦大家看看我的同事nicholas的這篇:用 Selenium 進(jìn)行功能測(cè)試
濃縮一下:
1、何時(shí)、何目的來用Selenium選擇不同。RC、Fit適合從需求階段開始寫。而IDE錄制則適合后補(bǔ)。
2、重構(gòu)支持。RC重構(gòu)友好一些。Fit重構(gòu)不友好。
3、IDE目前限定于FF,做跨瀏覽器RC比較好。但是IDE錄制后的代碼很方便轉(zhuǎn)為RC方式。
4、跨域兼容性問題,IDE解決的比較好。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd