多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Fitnesse系列八

Fitnesse系列八

來源:程序員人生   發布時間:2014-10-03 08:00:00 閱讀次數:1924次

結束篇:

 

Fitnesse是一個有著非常好的創意的軟件。它試圖拉近開發者與用戶的距離。通過前面的介紹,大家可能也看出來了,其實最終還是要落實到編碼(fixture)上。這些編碼一般來說要由測試人員來寫。那么就引發了我的一些思考:

 

一、有沒有必要對每個需求都制定驗收“表格”。如果這樣做,就意味著要寫非常非常多的fixture。寫這些代碼需要花費相當的時間,而時間是昂貴的成本。在能取得大體相同的效果時,有沒有成本更少的辦法?

 

二、這些代碼本身是否存在bug,調試這些代碼以及日后維護這些代碼是否還要付出更多的成本?――我曾經很熱衷于自動化測試工作的推進,但是后來我觀察到,如果一段自動化測試代碼寫出來僅僅執行幾次就完了,那么這種自動化我認為完全沒有意義。

 

三、所以,我的觀點是自動化只用在那些需要大量回歸、功能固定、相對底層的測試上就好了,測試代碼要盡量的簡單;盡量不要增加復雜的邏輯;盡量通用以提高利用率;所花費的時間要盡量少。

 

基于以上理解,我這里給出一個通用的fixture和fitnesse表格,此表格在我公司主要用于接口測試,當然也可以用于一般性的頁面檢查。實際運行將近兩年了,效果還可以。fitnesse內置的一些fixture應該有類似功能,但我覺得查找和學習使用的時間可能比自己寫更長,就自己寫了。

package calis.http; import org.apache.http.impl.client.*; import org.apache.http.client.methods.*; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.util.EntityUtils; public class Exist { private String url=null; private String key=null; private String keys[]=null; private String reponseStr; private String result="NotExist"; public void setStartUrl(String url){ this.url=url; } public void setKeyWords(String s){ key=s; if(key.charAt(0)!='/'){ key="/"+key; } keys=key.split("/"); } public String verify(){ return result; } public void execute(){ DefaultHttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(url); try{ HttpResponse response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null) { reponseStr=EntityUtils.toString(entity,"UTF-8"); if(keys.length>1){ boolean judge=true; for(int i=1;i<keys.length;i++){ if(reponseStr.contains(keys[i])){ judge=judge&&true; }else judge=false; } if(judge){ result="ok"; } } } }catch(Exception e){ result="NoExist"; }finally{ httpclient.getConnectionManager().shutdown(); } } public void reset(){ result="NoExist"; } }

表格是這樣的:

calis.http.Exist

start url

key words

verify?

http://cn.bing.com/search?q=%E4%B8%AD%E5%9B%BD

中國/中華人民共和國

ok

http://www.126.com

郵箱帳號登錄/動態密碼登錄

ok

……

……

ok


使用也很簡單,在start url輸入地址,檢查返回的字符串中是否全部包含了key words指定的字符串。每個字符串用/分隔。如果全部包含了返回ok,未全部包含返回NoExist。盡管很簡單,但非常通用,可以用于檢測一切支持REST請求而返回的html、xml、json等。

 

上述代碼中已知的問題有:

1.對非utf-8格式的返回不支持

2.只支持“與”檢查,不支持關鍵字的其他邏輯關系

3.未對html上的轉義符做處理,比如在頁面上顯示為<,其實編碼是&lt,那么需要檢查&lt而不是<

4.未對start url做編碼處理,比如有空格會導致異常。此時需要手工修改為%20等。

5.由于關鍵字是由/分隔,那么檢測返回值中是否含有/是做不到的。

鑒于我一向堅持的觀點――測試代碼要盡量簡單,我無意改進這些內容。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲精品福利一区二区 | 午夜私人福利影院 | 久久久久久久国产精品 | 亚洲图片激情小说 | 亚洲区精选网址 | 91久久偷偷做嫩草影院免费 | 黄色网一级片 | 精品一区二区三区四区乱码 | 国产精品秋霞午夜 | 久久91在线 | 在线免费观看h | 国产福利精品在线 | 欧美一区二区三区视视频 | 国产欧美精品三区 | 欧美亚洲尤物久久精品 | 亚洲综合二区 | free性德国丰满hd | 日韩精品欧美一区二区三区 | 福利区站 | 亚洲国产成人久久99精品 | 国产男人女人做性全过程视频 | 国产精品亚洲精品日韩己满十八小 | 手机在线色视频 | 性欧美性另类双性人互交 | 一本视频在线 | 一级性爱视频 | 欧美另类图片小说 | 日本特黄特色大片免费播放视频 | 国产精品videossex激情 | 久久一区二区三区不卡 | 欧美黑人巨大xxxxx视频 | 97精品一区二区三区在线不卡 | 亚洲视频一区二区 | 久久综合亚洲一区二区三区 | 伊人久综合 | 成人α片 | 欧美xxxhd18| 中日韩欧美在线观看 | 日韩欧美精品中文字幕 | 羞羞视频日本动漫免费网站 | 欧美疯狂|