欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Fitnesse使用系列八

結(jié)束篇:

創(chuàng)新互聯(lián)專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、淮濱網(wǎng)絡(luò)推廣、成都微信小程序、淮濱網(wǎng)絡(luò)營(yíng)銷(xiāo)、淮濱企業(yè)策劃、淮濱品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供淮濱建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:chinadenli.net

Fitnesse是一個(gè)有著非常好的創(chuàng)意的軟件。它試圖拉近開(kāi)發(fā)者與用戶(hù)的距離。通過(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í)編碼是&lt,那么需要檢查&lt而不是<

4.由于關(guān)鍵字是由/分隔,那么檢測(cè)返回值中是否含有/是做不到的。

鑒于我一向堅(jiān)持的觀點(diǎn)——測(cè)試代碼要盡量簡(jiǎn)單,我無(wú)意改進(jìn)這些內(nèi)容。

文章名稱(chēng):Fitnesse使用系列八
路徑分享:http://chinadenli.net/article24/ppcoje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航域名注冊(cè)品牌網(wǎng)站制作定制開(kāi)發(fā)網(wǎng)站營(yíng)銷(xiāo)手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司