測中策 我的Web自動化測試思路

2022-09-08 06:36:08 字數 3077 閱讀 1348

"大不可量,深不可測"---《韓非子·主道》 

乙個web系統一旦開發完成,開發人員就可以暫時松一口氣了;可是測試呢?後台公升級,頁面怎麼測試?再來一遍?自動化測試或許是乙個好的選擇,那麼怎麼組織?按照什麼思路進行呢?一方面我摸索著使用vsts進行自動化測試,摸索了乙個路子,正在進行中,或許你有更好的方法,請指點!

本文覆蓋一下內容:

1. 定策:先走通 後走對

2. 架子怎麼搭?

3.vsts自動化測試工具能做什麼、擅長做什麼 ?

定策:先走通後走對

先從這樣乙個點切入一下:我們做web開發實際上是asp.net框架上的乙個應用,asp.net又是什麼呢?asp.net是對http協議的乙個封裝,使得開發更容易,更快捷…;由於http協議先天的一些特徵,比如http協議是無狀態的,所以asp.net能為我們提供乙個伺服器端的事件程式設計模型是戴著鎖鏈跳出了優美的舞姿。

然後,我們的web自動化測試又在做什麼呢?這個問題的答案可以從這樣乙個角度分析:web自動化測試工具出現在了之前測試人員出現的位置上,那麼由此我們可以判定—1.web自動化測試/自動化測試工具肯定做了之前測試人員做的事情 2.web自動化測試/自動化測試工具肯定做了測試人員做不到的事情

我們的web測試人員對乙個web系統(比如:電子購物**)進行測試,最基本的要保證能走通若干個重要的流程,比如檢索—>檢視貨物詳細資訊—>登入—>付費等等,這也就是「走通」;在這個過程中測試人員會判斷檢索的結果是不是對的,貨物詳細資訊顯示的是不是對的..

這就是「走對」;我們的web測試人員在日常工作中,無意識的就完成了這樣兩件事情。

當web自動化測試工具出現在測試人員的位置上的時候它要做到驗證是不是能走通,是不是能走對;同時作為工具它還有人工無法替代的功能,比如:它可以定時的執行,反覆的執行,及時的反饋,它可以做壓力測試… 當自動化測試工具做到了測試人員可以做的事情,同時有做到了測試人員無法做到的事情的時候,它就具有了價值,可以成為產品了.

我們可以看看vsts的web自動化測試工具,我們簡單看一下msdn上的描述:可以建立用於廣泛的測試目的的 web 測試:

o 建立執行 web 應用程式的功能測試。

o 建立資料驅動的測試。

o 建立並執行可以測試應用程式效能的測試。

o 使用 .net 語言進行測試創作、除錯和測試擴充套件。

vsts的web自動化測試工具,提供了一系列的機制來實現上面提到的」走通 走對」,後面我們會提到。

架子怎麼搭?

有了目標,下面做的就是搭起架子來,也就是說:我們怎樣組織web自動化測試呢?

怎麼容易管理web自動化測試?怎麼樣能容易擴充套件?怎麼樣做到復用?怎麼樣做到分工協作?

我們知道http協議是基於請求/響應正規化的;那麼上面的走通和走對就可以這樣重新解釋:走對是我們得到了乙個正確的響應;走通是發出乙個請求之後得到了我們期待的響應; 

而對於大多數的web系統,乙個請求或者響應往往直接對應乙個頁面;於是頁面就天然的成為了web自動化測試中模組的最小單位;而請求與響應之間的關聯,或者說頁面之間的關聯最適合用二元關係表達;於是看下圖:

檢驗一下我們的目標達到了麼?

1. 是不是容易管理?測試所依賴的文件和每乙個webtest是一一對應的,當頁面發生變化的時候修改測試用例文件,而對應文件編號可以直接定位到該webtest!文件和webtest有乙個對應關係,發生變化直接按圖索驥就可以了;是不是容易管理呢?

2. 是不是容易擴充套件?比如現在首頁也新增了乙個熱門圖書的詳細資訊的頁面鏈結,我們要做的是什麼呢?新增1.2_default_bookdetail.webtest就可以了;

3. 是不是可以復用?比如3.4_bookdetail – searchhistory,我們要完成這樣的驗證:bookdetail是對的,searchhistory是對的,當二者關聯起來的時候也是對的;要完成前面兩個目標很簡單直接呼叫3.0_bookdetail.webtest 5.0_searchhistory.webtest就可以了;(點右鍵:add call to web test…)

4. 是不是可以可以分工協作?顯然每乙個webtest都可以獨立的完成,對於重複驗證的部分直接呼叫你的搭檔的webtest就可以了,互不影響;這和我們開發中的呼叫很像

這樣做我們得到了什麼別的好處?

1. 迅速的定位錯誤;3.0_bookdetail.webtest 不能通過測試5.0_searchhistory.webtest能通過測試,3.4_bookdetail – searchhistory不能通過測試;這說明什麼?是因為bookdetail頁面的出錯了,而且錯誤導致了後面的searchhistory頁面也是錯的。而searchhistory頁面本身是沒有問題的。

2. **改進用來評估風險;比如我現在要改進3.0_ bookdetail,改進之後哪些頁面會不正常,直接看3.1到3.4就可以了;

vsts自動化測試工具能做什麼、擅長做什麼

· web 測試通過發出 http 請求在協議層工作。

· web 測試不執行 j**ascript。但是,可以在執行時通過使用 web 測試外掛程式、web 測試請求外掛程式、提取規則或編碼的 web 測試來模擬 j**ascript 操作。

· web 測試可用於功能測試、效能測試和壓力測試。

· 通過在瀏覽器會話中記錄活動,可以建立 web 測試。

· 還可以使用 web 測試編輯器手動構建 web 測試。

· web 測試在「web 測試編輯器」中最初是乙個作為表示 web 請求的 url 列表。如有必要,可以將這些請求轉換為 visual c# 或 visual basic **(稱為「編碼的 web 測試」)。在 web 測試轉換為相應的編碼格式之後,可以新增迴圈和分支構造。

· web 測試和 web 測試結果中可能包含敏感資訊,這些資訊可能會被用來生成對計算機或網路的攻擊。web 測試和 web 測試結果包含 url 和連線字串。在與他人共享測試或測試結果時應注意這一點。

web 測試可自動處理這些 http 操作:

包括 viewstate 的隱藏字段相關性

重定向

從屬請求

身份驗證

通過 https/ssl 確保安全

web自動化測試 測環境搭建

1.使用說明 2.環境安裝方法 需要聯網哦!1 檢查是否已經安裝了python的直譯器 win r 輸入 cmd 回車 輸入 python回車 出現python的版本資訊,表示python直譯器是正常安裝的 輸入exit 退出python的直譯器的環境 2 win r 輸入 cmd 回車 輸入 pi...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

web自動化測試

1.環境搭建 win10 64bit selenium2.53.6版本 安裝方法 pip install selenium 2.53.6 瀏覽器搭載三個 chrome 49版本 driver2.22 ie 11版本 driver2.5 firefox 44版本 在pycharm中關聯電腦本身安裝的工...