第一篇:net(c#)跨頁面傳值方法總結
.net(c#)跨頁面傳值方法總結(2011-04-25 11:03:24)轉載標簽: it 方式1:
在接收頁 的html代碼里加上一行: <%@ Reference Page = “WebForm1.aspx” %>
WebForm1 fp=(WebForm1)Context.Handler;this.TextBox1.Text=fp.name;//name 是第一頁的public變量
Context 提供對整個當前上下文(包括請求對象)的訪問。您可以使用此類共享頁之間的信息。
方式2:GET方式 在發送頁
public int sum=0;
int i =int.Parse(this.TextBox1.Text)*2;
Server.Transfer(“WebForm2.aspx?sum=”+i);
接收頁
this.TextBox1.Text=Request[“sum”].ToString();or this.TextBox1.Text=Request.Params[“sum”].ToString();this.TextBox1.Text=Request.QueryString[“sum”];
方法3:全局變量
發送頁:
Application[“sum”]=this.TextBox1.Text;Server.Transfer(“WebForm2.aspx”);
接收頁:
this.TextBox1.Text=(string)Application[“sum”];
Application實質上是整個虛擬目錄中所有文件的集合,如果想在整個應用范圍內使用某個變量值,Application對象將是最佳的選擇
方法4:
發送頁:
1.定義靜態變量: public static string str=“";2.str=this.TextBox1.Text;Server.Transfer(”webform2.aspx“);接收頁:
1.引入第一頁的命名空間:using WebApplication1;2 this.TextBox1.Text=WebForm1.str;
另外三種最常見的傳值
ASP.NET WEB FORMS 給開發者提供了極好的事件驅動開發模式。然而這種簡單的應用程序開發模式卻給我們帶來了一些小問題,舉個例子,在傳統的ASP應用程序中,你能夠通過 POST方法很容易的把一個值或多個值從一個頁面傳送到另一個頁面(request()/request.form()/request.querystring()),用同樣的方法在ASP.NET中實現有點麻煩。在這里,通過其他方式來解決這種情形。ASP.NET為我們提供了三種方式,一種是可以通過用QueryString來傳送相應的值,再一種是通過session變量來傳送相應的值,還有就是通過 Server.Transfer方法來實現。
一、使用Querystring
Querystring是一種非常簡單的傳值方式,其缺點就是會把要傳送的值顯示在瀏覽器的地址欄中,并且在此方法中不能夠傳遞對象。如果你想傳遞一個安全性不是那么太重要或者是一個簡單的數值時,用此方法最好不過了。下面通過一個小例子來完成傳值工作,步驟如下:
1、創建一個web form
2、在新建的web form中放置一個button1,在放置兩個TextBox1,TextBox2
3、為button按鈕創建click事件
代碼如下:
private void button_click(object sender,System.EventArgs e){ string url;url=”webform2.aspx?name=“+TextBox1.Text + ”&Email=“+TextBox2.Text;Response.Redirect(url);}
4、新建一個目標頁面命名為webform2
5、在webform2中放置兩個Label1,Label2 在webform2的Page_Load中添加如下代碼:
private void Page_Load(object sender,System.EventArgs e){ Label1.Text=Request.QueryString[”name“];Label2.Text=Request.QueryString[”Email“];} 運行,即可看到傳遞后的結果了。
二、使用Session變量
使用Session變量傳值是一種最常見的方式了,此中方式不僅可以把值傳遞到下一個頁面,還可以交叉傳遞到多個頁面,直至把Session變量的值removed后,變量才會消失。舉個例子看看:
1、創建一個web form
2、在新建的web form中放置一個button1,在放置兩個TextBox1,TextBox2
3、為button按鈕創建click事件 代碼如下:
private void button_click(object sender,System.EventArgs e){ Session[”Name“]=TextBox1.Text;Session[”Email“]=TextBox2.Text;Response.Redirect(”webform2.aspx“);}
4、新建一個目標頁面命名為webform2
5、在webform2中放置兩個Label1,Label2 在webform2的Page_Load中添加如下代碼:
private void Page_Load(object sender,System.EventArgs e){ Label1.Text=Session[”Name“].ToString();Label2.Text=Session[”Email“].ToString();Session.Remove(”Name“);Session.Remove(”Email“);} 運行,即可看到傳遞后的結果了。
三、使用Server.Transfer
雖然這種方法有點復雜,但也不失為一種在頁面傳值的方式。舉個例子看看:
1、創建一個web form
2、在新建的web form中放置一個button1,在放置兩個TextBox1,TextBox2
3、為button按鈕創建click事件 代碼如下:
private void(object sender,System.EventArgs e){ Server.Transfer(”webform2.aspx“);}
4、創建過程來返回TextBox1,TextBox2控件的值代碼如下: public string Name { get {return TextBox1.Text;} } public string Email { get{return TextBox2.Text;} }
5、新建一個目標頁面命名為webform2
6、在webform2中放置兩個Label1,Label2 在webform2的Page_Load中添加如下代碼:
private void Page_load(object sender,System.EventArgs e){ //創建webform的實例 webform1 wf1;//獲得實例化的句柄
wf1=(webform1)Context.Handler;Label1.Text=wf1.Name;Label2.Text=wf1.Email;}
常見的就是這三種方法。
上面方法一中的傳值問題
問:在asp中頁面間傳值使用url?方式 例如 ”index.asp?aaa=華東五市+水鄉六日游“ 因為字符串”華東五市+水鄉六日游“中間有加號,與asp系統字符串連接符關鍵字沖突,傳過去的變量aaa的值就會變成”華東五市“,請問大家有什么解決辦法? 解決:
1.server.urlencode(”華東五市+水鄉六日游“)
2.URLEncode The URLEncode method applies URL encoding rules, including escape characters, to a specified string.Syntax Server.URLEncode(string)
Parameters string Specifies the string to encode.Example The following script
<%Response.Write(Server.URLEncode(”http://www.tmdps.cn“))%>
produces the output
http://www.tmdps.cn
3.index.asp?aaa=華東五市+水鄉六日游 4.自己定義一些特殊字符對應 ”+“,”*“,”#“ 例如,Replace(string,”+“,”CODE01“)
然后到另一個頁面在用Replace(string,”CODE01“,”+“)換回來即可了 自己定義一些特殊字符對應 ”+“,”*“,”#“ 例如,Replace(string,”+“,”CODE01“)
然后到另一個頁面在用Replace(string,”CODE01“,”+“)換回來即可了
在頁面間傳遞引用
有不少文章討論怎么在兩個頁面間傳遞引用,如果你頁面上的對象設置為public的話,你就可以傳遞他們在頁面間。
在頁面間傳遞是使用
Server.Transfer替代Response.Redirect就可以。例子:
-------------In Page A codebehind:
public class PageA : System.Web.UI.Page { public System.Web.UI.WebControls.TextBox TextBox1;public System.Web.UI.WebControls.Button Button1;
// standard page code(Page_Load, etc)//....//....private void Button1_Click(object sender, System.EventArgs e){ Server.Transfer(”b.aspx“);} }
-------------In Page B codebehind:
private void Page_Load(object sender, System.EventArgs e){ PageA myAPage = Context.Handler as PageA;string textboxFromPageA = myAPage.TextBox1.Text;}
因為當使用Server.Transfer時所有的對象(A and B)在服務器上當時都是活動的,你可以引用任何東西。
稍微修改一下b.aspx(uestc95 提供):
Page myPage =(Page)Context.Handler;string textboxFromPageA;textboxFromPageA =((TextBox)myPage.FindControl(”TextBox1“)).Text;
這樣在A.aspx中就可以正常的使用protected類型的了
###
1.使用QueryString變量
QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對于傳遞數組或對象的話,就不能用這個方法了。下面是一個例子: a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e){ string s_url;s_url = ”b.aspx?name=“ + Label1.Text;Response.Redirect(s_url);}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e){ Label2.Text = Request.QueryString[”name“];}
2.使用Application 對象變量
Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLock。a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e){ Application[”name“] = Label1.Text;Server.Transfer(”b.aspx“);}
b.aspx中C#代碼 private void Page_Load(object sender, EventArgs e){ string name;Application.Lock();name = Application[”name“].ToString();Application.UnLock();}
3.使用Session變量
想必這個肯定是大家使用中最常見的用法了,其操作與Application類似,作用于用戶個人,所以,過量的存儲會導致服務器內存資源的耗盡。a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e){ Session[”name“] = Label.Text;}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e){ string name;name = Session[”name“].ToString();}
4.使用Cookie對象變量
這個也是大家常使用的方法,與Session一樣,其是什對每一個用戶而言的,但是有個本質的區別,即Cookie是存放在客戶端的,而session是存放在服務器端的。而且Cookie的使用要配合ASP.NET內置對象Request來使用。
a.aspx的C#代碼
private void Button1_Click(object sender, System.EventArgs e){ HttpCookie cookie_name = new HttpCookie(”name“);cookie_name.Value = Label1.Text;Reponse.AppendCookie(cookie_name);Server.Transfer(”b.aspx“);}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e){ string name;name = Request.Cookie[”name“].Value.ToString();}
5.使用Server.Transfer方法
這個才可以說是面象對象開發所使用的方法,其使用Server.Transfer方法把流程從當前頁面引導到另一個頁面中,新的頁面使用前一個頁面的應答流,所以這個方法是完全面象對象的,簡潔有效。a.aspx的C#代碼 public string Name { get{ return Label1.Text;} } private void Button1_Click(object sender, System.EventArgs e){ Server.Transfer(”b.aspx");}
b.aspx中C#代碼
private void Page_Load(object sender, EventArgs e){ a newWeb;//實例a窗體
newWeb =(source)Context.Handler;string name;
第二篇:php頁面緩存實現方法總結范文
php頁面緩存實現方法總結
在php頁面緩存主要用到的是ob系列函數,如ob_start(),ob_end_flush(),ob_get_contents(),但是更高級的緩存是不使用這些函數的,本文章最后一個實現就有講到,大家可參考一下。ob_start():頁面緩存開始的標志,此函數一下的內容直至ob_end_flush()或者ob_end_clean()都保存在頁面緩存中;
ob_get_contents():用來獲取頁面緩存中的內容,獲取到以后呢,我們就可以想怎么處理這些內容都行了,過濾字段啦,匹配內容啦,都可以~~~ :)
ob_end_flush():表示頁面緩存結束。并且經我驗證,緩存的內容將輸出到當前頁面上,也就是可以顯示緩存內容。
用此三個php函數,就可以實現強大的功能。如果數據庫查詢量較大,可以用cache來解決這個問題。
下面是編碼部分。
1.初始化函數,一般是設置頁面緩存路徑、緩存文件命名格式等,可按個人喜好自定義。這里用到的識別ID是經加密的$_SERVER[REQUEST_URI]參數。這個函數中最后還有一個if判斷:若未過緩存期,則加載緩存文件,否則加載源文件。
代碼如下 復制代碼 function page_init(){
$url = $_SERVER['REQUEST_URI'];//子url,該參數一般是唯一的$pageid = md5($url);
$dir = str_replace('/','_',substr($_SERVER['SCRIPT_NAME'],1,-4));
//目錄命名方式,如exp_index
if(!file_exists($pd = PAGE_PATH.$dir.'/'))@mkdir($pd,0777)or die(“$pd目錄創建失敗”);
//如cache/page/exp_index/
define('PAGE_FILE',$pd.$pageid.'.html');
//如cache/page/exp_index/cc8ef22b405566745ed21305dd248f0e.html
$contents = file_get_contents(PAGE_FILE);//讀出
if($contents && substr($contents, 13, 10)> time())//對應page_cache()函數中加上的自定義頭部
{
echo substr($contents, 27);
exit(0);
}
return true;
}
2.頁面緩存函數,這里使用到一個技巧:在緩存文件的內容中加上一個頭部信息--過期時間,所以每次只需要對頭部中的過期時間和當前時間進行比較(在page_init()函數中進行)就能判斷緩存是否過期了。
代碼如下 復制代碼
function page_cache($ttl = 0){
$ttl = $ttl ? $ttl : PAGE_TTL;//緩存時間,默認3600s
$contents = ob_get_contents();//從緩存中獲取內容
$contents = “n”.$contents;
//加上自定義頭部:過期時間=生成時間+緩存時間
file_put_contents(PAGE_FILE, $contents);//寫入緩存文件中
ob_end_flush();//釋放緩存
}
3.函數使用,注意這兩個函數有先后執行順序,還有別忘了ob_start()
代碼如下 復制代碼
page_init();//頁面緩存初始化
ob_start();//開啟緩存
...//代碼段
page_cache(60);//一般是最后一行
?> 例2
下面做個示例來說明PHP頁面緩存技術:
代碼如下 復制代碼
function cache_start($_time, $dir){
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$cachetime = $_time;
ob_start();
if(file_exists($cachefile)&&(time()-filemtime($cachefile)< $cachetime))
{
include($cachefile);
ob_end_flush();
exit;
} }
function cache_end($dir){
$cachefile = $dir.'/'.sha1($_SERVER['REQUEST_URI']).'.html';
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush();}
cache_start($_time, $dir);//以下是輸出的內容,放在cache_start和cache_end兩個方法之間 for($i=0;$i<5;$i++){
echo $i;
sleep(1);} cache_end($dir);?> 例
利用生成文件做緩存
代碼如下 復制代碼
* @copyright 2009-3-13 * @param string $cache_folder 緩文件夾
* @param int $cache_create_time 文件緩存時間 * @example $cache=new Esj_Cache('./_cache',100)* @example $cache->read_cache()讀取緩存并輸出
* @example $cache->creatre_cache()創建緩存文件(放在文件未尾)* @example $cache->list_file()返回所有緩存文件列表 * @example $cache->del_file()刪除所有緩存文件 */
class Esj_Cache{ private $cache_folder=null;//cacher文件夾 private $wroot_dir=null;//站點目錄
private $cacher_create_time=null;//cacher文件的建立時間
public function __construct($cache_foldername,$cacher_time=100){ ob_start();$this->wroot_dir=$_SERVER['DOCUMENT_ROOT'];$this->cache_folder=$cache_foldername;$this->cacher_create_time=$cacher_time;}
public function read_cache(){ try { if(self::create_folder($this->cache_folder)){ self::get_cache();//輸出緩存文件信息 }else { echo “緩存文件夾創建失敗!”;return false;}
}catch(Exception $e){ echo $e;return false;} }
//測試緩存文件夾是否存在
private function exist_folder($foler){ if(file_exists($this->wroot_dir.“/”.$foler)){ return true;}else { return false;} } //建立一個新的文件夾
private function create_folder($foler){ if(!self::exist_folder($foler)){ try{ mkdir($this->wroot_dir.“/”.$foler,0777);chmod($this->wroot_dir.“/”.$foler,0777);return true;}catch(Exception $e){ self::get_cache();//輸出緩存 return false;} return false;} else { return true;} }
//讀取緩存文件
private function get_cache(){ $file_name=self::get_filename();if(file_exists($file_name)&&((filemtime($file_name)+$this->cacher_create_time)> time())){ $content=file_get_contents($file_name);if($content){ echo $content;ob_end_flush();exit;}else { echo “文件讀取失敗”;exit;} } } //返回文件的名字
private function get_filename(){ $filename=$file_name=$this->wroot_dir.'/'.$this->cache_folder.'/'.md5($_SERVER['QUERY_STRING']).“.html”;return $filename;}
//建立緩存文件
public function create_cache(){ $filename=self::get_filename();if($filename!=“"){ try{ file_put_contents($filename,ob_get_contents());return true;}catch(Exception $e){ echo ”寫緩存失敗:“.$e;exit();} return true;} }
// 取得緩存中的所有文件 public function list_file(){ $path=$this->cache_folder;if($handle = opwww.shanxiwang.netendir($path)){ while(false!==($file = readdir($handle))){ if($file!=”.“ && $file!=”..“){ $path1=$path.”/“.$file;if(file_exists($path1)){ $result[]=$file;} } } closedir($handle);} return $result;}
//刪除緩存中的所有文件 public function del_file(){ $path=$this->cache_folder;if($handle = opendir($path)){ while(false!==($file = readdir($handle))){ if($file!=”.“ && $file!=”..“){ $path1=$path.”/".$file;if(file_exists($path1)){ unlink($path1);} } } closedir($handle);} return true;} } ?>
第三篇:頁面功能測試點總結
頁面功能測試點總結
本資料由織雀教育從網上整理,僅供學習交流,請務做商業用途
1.頁面鏈接檢查:每一個鏈接是否都有對應的頁面,并且頁面之間切換正確??梢允褂靡恍┕ぞ?,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符顯示為亂碼;HTML Link Validater只能測試以Html或者htm結尾的網頁鏈接;Xenu無需安裝,支持asp、do、jsp等結尾的網頁,xenu測試鏈接包括內部鏈接和外部鏈接,在使用的時候應該注意,同時能夠生成html格式的測試報告。如果系統用QTP進行自動化測試,也可以使用QTP的頁面檢查點檢查鏈接。
2.相關性檢查:
功能相關性:刪除/增加一項會不會對其他項產生影響,如果產生影響,這些影響是否都正確,常見的情況是,增加某個數據記錄以后,如果該數據記錄某個字段內容較長,可能會在查詢的時候讓數據列表變形。
數據相關性:下來列表默認值檢查,下來列表值檢查,如果某個列表的數據項依賴于其他模塊中的數據,同樣需要檢查,比如,某個數據如果被禁用了,可能在引用該數據項的列表中不可見。
3.檢查按鈕的功能是否正確:如新建、編輯、刪除、關閉、返回、保存、導入,上一頁,下一頁,頁面跳轉,重置等功能是否正確。常見的錯誤會出現在重置按鈕上,表現為功能失效。
4.字符串長度檢查: 輸入超出需求所說明的字符串長度的內容,看系統是否檢查字符串長度。還要檢查需求規定的字符串長度是否是正確的,有時候會出現,需求規定的字符串長度太短而無法輸入業務數據。
5.字符類型檢查: 在應該輸入指定類型的內容的地方輸入其他類型的內容(如在應該輸入整型的地方輸入其他字符類型),看系統是否檢查字符類型。
6.標點符號檢查: 輸入內容包括各種標點符號,特別是空格,各種引號,回車鍵??聪到y處理是否正確。常見的錯誤是系統對空格的處理,可能添加的時候,將空格當作一個字符,而在查詢的時候空格被屏蔽,導致無法查詢到添加的內容。
7.特殊字符檢查:輸入特殊符號,如@、#、$、%、!等,看系統處理是否正確。常見的錯誤是出現在% ‘ 這幾個特殊字符8.中文字符處理: 在可以輸入中、英文的系統輸入中文,看會否出現亂碼或出錯。
9.檢查信息的完整性: 在查看信息和更新信息時,查看所填寫的信息是不是全部更新,更新信息和添加信息是否一致。要注意檢查的時候每個字段都應該檢查,有時候,會出現部分字段更新了而個別字段沒有更新的情況。
10.信息重復: 在一些需要命名,且名字應該唯一的信息輸入重復的名字或ID,看系統有沒有處理,會否報錯,重名包括是否區分大小寫,以及在輸入內容的前后輸入空格,系統是否作出正確處理。
11.檢查刪除功能:在一些可以一次刪除多個信息的地方,不選擇任何信息,按“delete”,看系統如何處理,會否出錯;然后選擇一個和多個信息,進行刪除,看是否正確處理。如果有多頁,翻頁選,看系統是否都正確刪除,并且要注意,刪除的時候是否有提示,讓用戶能夠更正錯誤,不誤刪除。
12.檢查添加和修改是否一致: 檢查添加和修改信息的要求是否一致,例如添加要求必填的項,修改也應該必填;添加規定為整型的項,修改也必須為整型。
13.檢查修改重名:修改時把不能重名的項改為已存在的內容,看會否處理,報錯。同時,也要注意,會不會報和自己重名的錯。
14.重復提交表單:一條已經成功提交的紀錄,返回后再提交,看看系統是否做了處理。對于Web系統來說,可以通過瀏覽器返回鍵或者系統提供的返回功能。
15.檢查多次使用返回鍵的情況: 在有返回鍵的地方,返回到原來頁面,重復多次,看會否出錯。
16.搜索檢查: 有搜索功能的地方輸入系統存在和不存在的內容,看搜索結果是否正確。如果可以輸入多個搜索條件,可以同時添加合理和不合理的條件,看系統處理是否正確,搜索的時候同樣要注意特殊字符,某些系統會在輸入特殊字符的時候,將系統中所有的信息都搜索到。
17.輸入信息位置: 注意在光標停留的地方輸入信息時,光標和所輸入的信息會否跳到別的地方。
18.上傳下載文件檢查:上傳下載文件的功能是否實現,上傳文件是否能打開。對上傳文件的格式有何規定,系統是否有解釋信息,并檢查系統是否能夠做到。下載文件能否打開或者保存,下載的文件是否有格式要求,如需要特殊工具才可以打開等。上傳文件測試同時應該測試,如果將不能上傳的文件后綴名修改為可以上傳文件的后綴名,看是否能夠上傳成功,并且,上傳文件后,重新修改,看上傳的文件是否存在。
19.必填項檢查:應該填寫的項沒有填寫時系統是否都做了處理,對必填項是否有提示信息,如在必填項前加“*”;對必填項提示返回后,焦點是否會自 動定位到必填項。
20.快捷鍵檢查:是否支持常用快捷鍵,如Ctrl+C、Ctrl+V、Backspace等,對一些不允許輸入信息的字段,如選人,選日期對快捷方式是否也做了限制。
21.回車鍵檢查: 在輸入結束后直接按回車鍵,看系統處理如何,會否報錯。這個地方很有可能會出現錯誤。
22.刷新鍵檢查:在Web系統中,使用瀏覽器的刷新鍵,看系統處理如何,會否報錯。
23.回退鍵檢查:在Web系統中,使用瀏覽器的回退鍵,看系統處理如何,會否報錯。對于需要用戶驗證的系統,在退出登錄后,使用回退鍵,看系統處理如何;多次使用回退鍵,多次使用前進鍵,看系統如何處理。
24.直接URL鏈接檢查:在Web系統中,直接輸入各功能頁面的URL地址,看系統如何處理,對于需要用戶驗證的系統更為重要。如果系統安全性設計的不好,直接輸入各功能頁面的URL地址,很有可能會正常打開頁面。
25.空格檢查:在輸入信息項中,輸入一個或連串空格,查看系統如何處理。如對于要求輸入整型、符點型變量的項中,輸入空格,既不是空值,又不是標準輸入。
26.輸入法半角全角檢查:在輸入信息項中,輸入半角或全角的信息,查看系統如何處理。如對于要求輸入符點型數據的項中,輸入全角的小數點(“。”或“?!?,如4。5);輸入全角的空格等。
27.密碼檢查:一些系統的加密方法采用對字符Ascii碼移位的方式,處理密碼加密相對較為簡單,且安全性較高,對于局域網系統來說,此種方式完全可以起到加密的作用,但同時,會造成一些問題,即大于128的Ascii對應的字符在解密時無法解析,嘗試使用“uvwxyz”等一些碼值較大的字符作為密碼,同時,密碼盡可能的長,如17位密碼等,造成加密后的密碼出現無法解析的字符。
28.用戶檢查:任何一個系統,都有各類不同的用戶,同樣具有一個或多個管理員用戶,檢查各個管理員之間是否可以相互管理,編輯、刪除管理員用戶。同時,對于一般用戶,嘗試刪除,并重建同名的用戶,檢查該用戶其它信息是否重現。同樣,提供注銷功能的系統,此用戶再次注冊時,是否作為一個新的用戶。而且還要檢查該用戶的有效日期,過了有效日期的用戶是不能登錄系統的。容易出現錯誤的情況是,可能有用戶管理權限的非超級管理員,能夠修改超級管理員的權限。
29.系統數據檢查:這是功能測試最重要的,如果系統數據計算不正確,那么功能測試肯定是通不過的。數據檢查根據不同的系統,方法不同。對于業務管理平臺,數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數 據,也不能因為某個過程而丟失數據。
30.系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可正常迅速恢復。
31.確認提示檢查:系統中的更新、刪除操作,是否提示用戶確認更新或刪除,操作是否可以回退(即是否可以選擇取消操作),提示信息是否準確。事前或事后提示,對于Update或Delete操作,要求進行事前提示。
32.數據注入檢查:數據注入主要是對數據庫的注入,通過輸入一些特殊的字符,如“‘”,“/”,“-”等或字符組合,完成對SQL語句的破壞,造成系統查詢、插入、刪除操作的SQL因為這些字符而改變原來的意圖。如select * from table where id = ’ ‘ and
name = ’
‘,通過在id輸入框中輸入“12’-”,會造成查詢語句把name條件注釋掉,而只查詢id=12的記錄。同樣,對于update和delete的操作,可能會造成誤刪除數據。當然還有其它一些SQL注入方法,具體可以參考《SQL應用高級SQL注入。doc》,很多程序都是基于頁面對輸入字符進行控制的,可以嘗試跳過界面直接向數據庫中插入數據,比如用Jmeter,來完成數據注入檢查。
33.刷新檢查:web系統中的WebForm控件實時刷新功能,在系統應用中有利有弊,給系統的性能帶來較大的影響。測試過程中檢測刷新功能對系統或應用造成的影響(白屏),檢查控件是否回歸默認初始值,檢查是否對系統的性能產生較大影響(如每次刷新都連接數據庫查詢等)。
34.事務檢查:對于事務性操作,斷開網絡或關閉程序來中斷操作,事務是否回滾。
35.時間日期檢查:時間、日期驗證是每個系統都必須的,如2006-2-
29、2006-6-31等錯誤日期,同時,對于管理、財務類系統,每年的1月與前一年的12月(同理,每年的第1季度與前一年的第4季度)。另外,對于日期、時間格式的驗證,如2006年2月28日、2006-2-
28、20060228等。日期檢查還要檢查日期范圍是否符合實際的業務,對于不符合時間業務的日期,系統是否會有提示或者有限制36.多瀏覽器驗證:越來越多的各類瀏覽器的出現,用戶訪問Web程序不再單單依賴于Microsoft Internet Explorer,而是有了更多的選擇:Maxthon、Firefox、Tencent Traveler等,考慮使用多種瀏覽器訪問系統,驗證效果。
37.安裝測試:對于C/S架構的系統,安裝程序的測試是一個重要方面,安裝程序自動化程度、安裝選項和設置(驗證各種方案是否都能正常安裝)、安裝過程中斷測試、安裝順序測試(分布式系統)、修復安裝及卸載測試。
38.文檔測試:主要是對用戶使用手冊、產品手冊進行測試,校驗是否描述正確、完整,是否與當前系統版本對照,是否易理解,是否二義性等。
39.測試數據檢查:事實告訴我們,測試數據比代碼更有可能是錯的,因此,當測試結 果顯示有錯誤發生的時候,懷疑代碼錯誤前要先對測試數據檢查一遍。
40.請讓我的機器來運行:在某些項目中,出現一個病態的問題:系統沒有問題呀,它在我的機器上是能夠通過的。這就說明了其中存在著和環境相關的BUG.“是否所有的一切都受到了版本控制工具的管理 ”、“本機的開發環境和服務器的環境是否一樣 ”、“這里是否存在一個真正的BUG,只不過是在其他的機器里偶然出現 ”。所有的測試必須在所有系統要求的機器上運行通過,否則的話,代碼就可能存在問題。
41.Ajax技術的應用:Ajax有很多優點,但也有很多缺點,如果利用優點、避免缺點,是我們對新的Web2.0應用的一個挑戰。而Ajax的應用最直接的問題就是用戶體驗,用戶體驗的效果直接關系到是否使用Ajax技術?!皶?,并不意味著應該做、必須做”,這就是對Ajax技術的很重要的注解。
42.Ajax技術的應用:Ajax采用異步調用的機制實現頁面的部分刷新功能,異步調用存在異常中斷的可能,嘗試各種方法異常中斷異步的數據調用,查看是否出現問題。在這里遇到的一個問題就是對日期控件的操作,已經如果頁面數據較多的時候的刷新。
43.腳本錯誤:隨著Ajax、IFrame等異步調用技術的發展,Javascrīpt技術也越來越受到開發人員的重視,但Javascrīpt存在調試困難、各瀏覽器存在可能不兼容等問題,因此在Web系統中,可能會出現腳本錯誤。同時,腳本錯誤造成的后果可大、可小,不能忽視
第四篇:寶貝頁面裝修總結
寶貝頁面裝修總結
1:店鋪活動
營造促銷的氛圍,渲染店鋪特色,促銷活動的通告或預告,新款上線的通告或預告,主推款式的海報,大促時可以考慮加入關聯營。
2:模特圖+文案
展示上身效果,激發購買沖動。清晰的大圖(全身),呈現正面、背面和側面的上身效果(每張圖片都增加不同信息含量來表現款式),若有多個顏色,以主推顏色為主,其他顏色輔以少量展示,版寬度一致(可以采用拼貼),減少無意義留白。
3:產品圖+推薦理由
展示商品全貌,產品正面、背面清晰圖,根據衣服本身的特點選擇掛拍或平鋪,運用可視化的圖標描述厚薄、透氣性、修身性、衣長材質等產品相關信息。詳情參考眼袋自制等店鋪的圖標描述法。
4:細節圖
近距離展示商品亮點展示清晰的細節(近距離拍攝),呈現面料、內襯、顏色、扣子/拉鏈、走線和特色裝飾等,細節:特別是領子、袖子、腰身和下擺等部位,如有色差需要說明,如有促銷活動或者節假日,加入文案設計。
5:尺碼描述
幫助用戶自助選擇合適的尺碼,模特信息告知身材參數,加入試穿感受:試穿感受最好能寫清楚試穿人的身高體重,三圍以及平時經常穿的號碼。
6:相關推薦&店鋪其他說明
搭配單品、系列款式的推薦物流、退換貨和導購信息(如運用流程圖和圖標描述退換貨),其他店鋪信息的言簡意賅的文字信息(如體現專業性的廠房,精美的包裝),請參考淘品牌賣家如何制作,根據自身修改即可。
總結:一定要站在顧客的角度去思考,如果你要買這樣的寶貝,關心哪些問題,比如不同角度的照片、材質、尺寸、市場價、你的優惠價、重量、顏色、適合人群、寓意、使用與保養注意事項、寶貝相關文化、基礎知識、真假辨別、贈品、服務承諾、支付方式等等。
(在學習包的打造爆款的資料中有非常經典的細節介紹,請大家學習)
第五篇:淺析地方旅游門戶網站頁面優化方法
淺析地方旅游門戶網站頁面優化方法
常言道:人靠衣裝,佛靠金裝,打扮也是很要緊的。這句話充分體現出想要有好的一面就要學會裝飾自己,讓自己從內到外顯得尤為特殊,而對于網站來說也是要遵循這一規則。目前,旅游的黃金假期快要到來,很多地方性的旅游門戶網站已經大規模崛起,這也使得地方性旅游網站的頁面優化被很多seoer所關注。
對于地方性門戶旅游網站來說,想要在這個旅游假期取得一個好的成績,特別是那些剛剛起步的地方旅游網來說,頁面優化是尤為重要的,想從眾多競爭對手中脫穎而出,就想將自己的旅游網頁面進行優化好,雖然網站頁面優化是老生常談的問題,但對于目前的情況,地方性旅游網站需要特別主要網站頁面的優化。下面由筆者與大家淺析一下,地方旅游門戶網站頁面優化的方法。
一、Meta標簽的優化
Meta標簽無非就是標題標簽、關鍵詞標簽以及描述標簽,這三大標簽對于優化網站來說起到至關重要的一步,同時也是優化人員最重視的一個步驟,所以在三大標簽上要做好一定的研究。
標題標簽的優化:標題標簽要重視一下,在寫標題的時候關鍵詞出現一次即可,如果標題很長的話可以出現兩次關鍵詞,讓其自然出現。舉個例子:“貴州旅游在線_貴州最權威的專業旅游門戶網站”可以看出在這段話里包含目標關鍵詞“貴州旅游”還有一些“網”等字眼,這樣搜索引擎就會認為標題標簽里含有一定的關鍵詞。
關鍵詞、描述標簽的優化:筆者認為這兩大標簽對優化已經起不到任何作用了,用不好反而會帶來優化過度的后果,因此關鍵詞標簽可以砍掉不去優化,但描述標簽不能砍掉,描述標簽雖起不到優化網站的作用,但對于用戶體驗來講很重要,所以要做好優化,可以寫一些有吸引力和可讀性的一段話作為描述。
kfk 高峰論壇 www.tmdps.cn
舉個例子:關鍵詞已經建議砍掉哦了,所以這里就不舉例。主要是描述標簽,描述標簽直接影響到的是用戶體驗,可以這么寫:“貴州旅游網為您提供最全面的貴州旅游攻略分享,貴州旅游線路大全及報價,團隊線路定制、酒店與各種票務預定、旅游租車、會議接待等服務。聯系電話:xxxx--xxxxxxx”這段話筆者認為對用戶有一定的吸引力,也是用戶想搜索的內容。
二、正文頁面的優化
對于正文的優化既是網站內容的優化,目前百度很重視網站的用戶體驗,這也證明了一點,網站的內容是必須要做的,而且要完美的將內容做出來并且呈現給用戶,讓用戶看到最真實的一面。筆者認為想要地方旅游網站快速的發展起來,內容要做好,所以在內容上不要草草了之。
怎么對正文優化筆者建議在寫內容的時候要自然的去寫作,如果旅游網站屬于剛建設好的網站,在內容方面要下點苦心要以原創為主,千萬不要為了文章而文章,然后就是盡量寫一些相關的詞加進去,比如某景點的名稱、網站需要優化的關鍵詞等,寫完文章之后要讓用戶看的舒心,這樣才會對優化網站有利。
三、H/ALT標簽的優化
H和ALT標簽對于頁面優化也是非常重要的,可以說整體頁面想被蜘蛛又好的爬行并抓取,ALT標簽要做到最好。做過旅游網站的人都知道旅游網的是最多的,更是起到圖文并茂的作用,讓用戶看到了旅游景點的樣貌,這對于用戶來說是很好的體驗,可對于蜘蛛來說卻起到了作用,蜘蛛是不認識的,所以在頁面有的對方都要加上ALT信息對進行描述。而H標簽,筆者建議的是將最重要的關鍵詞出現在H1標簽里,而H2和H3標簽就無需過問了,黑體斜體的作用都不是很大。
四、關鍵詞布局的優化
kfk 高峰論壇 www.tmdps.cn
很多網站編輯在寫地方旅游網站軟文的時候都喜歡將目標關鍵詞強加到文章正文當中,而且很明顯讓用戶一眼就看出來了,這些普遍網站文章最常犯的一個毛病,一點都沒有給用戶體驗。什么是用戶體驗不管在頁面上給用戶友好體驗,在網站文章中也要給用戶體驗,所以在寫旅游網軟文的時候不要亂添加關鍵詞,要把關鍵詞布局好。
對關鍵詞布局筆者認為要想好的把握,并且不重復出現某些關鍵詞,讓關鍵詞自然出現就可以了,或者可以按照筆者給的建議,如:開頭出現一次關鍵詞,中間出現兩次關鍵詞,結尾出現一次關鍵詞。這分配后感覺整體文章看的都很舒服,給的用戶體驗也就越來越多。
kfk 高峰論壇 www.tmdps.cn