結(jié)束篇:
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為孝昌等服務(wù)建站,孝昌等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為孝昌企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。Fitnesse是一個(gè)有著非常好的創(chuàng)意的軟件。它試圖拉近開(kāi)發(fā)者與用戶的距離。通過(guò)前面的介紹,大家可能也看出來(lái)了,其實(shí)最終還是要落實(shí)到編碼(fixture)上。這些編碼一般來(lái)說(shuō)要由測(cè)試人員來(lái)寫(xiě)。那么就引發(fā)了我的一些思考:
一、有沒(méi)有必要對(duì)每個(gè)需求都制定驗(yàn)收“表格”。如果這樣做,就意味著要寫(xiě)非常非常多的fixture。寫(xiě)這些代碼需要花費(fèi)相當(dāng)?shù)臅r(shí)間,而時(shí)間是昂貴的成本。在能取得大體相同的效果時(shí),有沒(méi)有成本更少的辦法?
二、這些代碼本身是否存在bug,調(diào)試這些代碼以及日后維護(hù)這些代碼是否還要付出更多的成本?——我曾經(jīng)很熱衷于自動(dòng)化測(cè)試工作的推進(jìn),但是后來(lái)我觀察到,如果一段自動(dòng)化測(cè)試代碼寫(xiě)出來(lái)僅僅執(zhí)行幾次就完了,那么這種自動(dòng)化我認(rèn)為完全沒(méi)有意義。
三、所以,我的觀點(diǎn)是自動(dòng)化只用在那些需要大量回歸、功能固定、相對(duì)底層的測(cè)試上就好了,測(cè)試代碼要盡量的簡(jiǎn)單;盡量不要增加復(fù)雜的邏輯;盡量通用以提高利用率;所花費(fèi)的時(shí)間要盡量少。
基于以上理解,我這里給出一個(gè)通用的fixture和fitnesse表格,此表格在我公司主要用于接口測(cè)試,當(dāng)然也可以用于一般性的頁(yè)面檢查。實(shí)際運(yùn)行將近兩年了,效果還可以。fitnesse內(nèi)置的一些fixture應(yīng)該有類(lèi)似功能,但我覺(jué)得查找和學(xué)習(xí)使用的時(shí)間可能比自己寫(xiě)更長(zhǎng),就自己寫(xiě)了。
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 | 中國(guó)/××× | ok |
http://www.126.com | 郵箱帳號(hào)登錄/動(dòng)態(tài)密碼登錄 | ok |
…… | …… | ok |
使用也很簡(jiǎn)單,在start url輸入地址,檢查返回的字符串中是否全部包含了key words指定的字符串。每個(gè)字符串用/分隔。如果全部包含了返回ok,未全部包含返回NoExist。盡管很簡(jiǎn)單,但非常通用,可以用于檢測(cè)一切支持get請(qǐng)求而返回的html、xml、json等多種格式數(shù)據(jù)。
上述代碼中已知的問(wèn)題有:
1.對(duì)非utf-8格式的返回不支持
2.只支持“與”檢查,不支持關(guān)鍵字的其他邏輯關(guān)系
3.未對(duì)html上的轉(zhuǎn)義符做處理,比如在頁(yè)面上顯示為<,其實(shí)編碼是<,那么需要檢查<而不是<
4.由于關(guān)鍵字是由/分隔,那么檢測(cè)返回值中是否含有/是做不到的。
鑒于我一向堅(jiān)持的觀點(diǎn)——測(cè)試代碼要盡量簡(jiǎn)單,我無(wú)意改進(jìn)這些內(nèi)容。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱(chēng):Fitnesse使用系列八-創(chuàng)新互聯(lián)
鏈接URL:http://jinyejixie.com/article34/hihpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站排名、網(wǎng)頁(yè)設(shè)計(jì)公司、云服務(wù)器、電子商務(wù)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容