基於Ruby的watir-webdriver自動化測試方案與實施(二)

接着基於Ruby的watir-webdriver自動化測試方案與實施(一)
繼續 ... ...
 
回顧
軟件自動化測試的概述         
  Web自動化測試的方案設計
功能方案設計
業務方案設計
 
Web自動化測試的方案實施
   自動化測試腳本的錄製和編寫
  自動化測試的執行和具體實現
  測試操做和測試數據的回收

自動化測試腳本設計和錄製html

•工具: WatirRecorder++

  統一預置參數輸入規則,提供規則模板,作到一個用例一個類,一個方法一個輸出。(一個類能夠多個方法)前端

•例子一: (實現hao123,搜索「ruby」功能)
require 'watir-webdriver'
include Watir
require 'test/unit'
class TC_recorded < Test::Unit::TestCase
    def test_recorded
     @@b = Watir::Browser.new
     @@b.goto('http://www.hao123.com/')
     @@b.text_field(:name, 'word').set('ruby')
     @@b.text_field(:name, 'word').set('ruby')
     @@b.button(:value, '百度一下').click
    end
end

自動化測試的具體實現linux

•具體實如今Tools工具類中,多以Linux、Mysql體現
•列子二: (經過linux查詢黑白名單是否生效)
class Linux < Mysql
def initialize ( host )
@@host = host
@@username = "root"
@@password = "rootmengmeng「

def L.gethost
     return  @@host
end
def L.getusername
    return  @@username
end
def L.getpassword
     return  @@password
end  
def acl(ip)
@name = ip 
  a = "#{@name}"  
  server_cmd1 = "{ echo ' acl -L'; sleep 2; echo -e '\n'; } | telnet 0 1234 | grep #{a}"
  ssh = Net::SSH.start(L.gethost, L.getusername, :password => L.getpassword) do |ssh|
  result = ssh.exec!(server_cmd1)
  @result=result
  …..
  .….
end
attr_writer :host

軟件自動化測試成本投入和風險分析web

軟件自動化測試的成本投入sql

•腳本的維護成本:自動化的測試流程,使得腳本的維護成爲自動化實施的一個關鍵性的依據。對於一個規範化的系統開發流程來講,實現測試的自動化是頗有必要的。可是自動化的腳本維護使得咱們的自動化測試在成本上變得較爲昂貴。每個系統的開發都是時刻隨着需求的變動而改變,然而在大多數的狀況下,就是很微小的一點系統修改都會致使咱們去大量的修改自動化的測試腳本。

  (這就是咱們爲何要引入架構的關係!)ruby

  咱們的架構的好處就是業務與邏輯分開,就是頁面出現了更新或修改只需從新錄製或編寫新的用例便可,不會影響業務結果。  架構

自動化測試的腳本的維護ssh

•整個自動化測試開放平臺分兩個部件:

  JAVA前端(負責數據的預置、與執行的發起)工具

  Ruby底層(負責業務的實現、與操做的執行)測試

•關於維護

  JAVA前端全部配置參數都是動態獲取,後期業務變動無需修改

  Ruby底層

  Test用例層與Control控制層隨着需求的迭代,須要長期的進行維護

  Tools工具層只會根據業務上有很大的變更而更改

  othe無需更改

軟件自動化測試的風險分析

•風險的存在緣由:
  自動化測試只是針對系統的大部分主要功能進行了有效的測試和驗證,從而使得覆蓋的測試面較爲狹窄,致使系統的有些隱藏問題沒法發現。
•風險的減少建議:
  在自動化測試的實現初期 ,設計好自動化的測試用例,把握好系統的重點功能及可能會出現的問題,進而再實現測試自動化。在現有條件下減少可預計的系統風險。
•目標:
  在現有條件下減少可預計的系統測試風險。
說在最後的
    一、自動化並非全自動,須要花精力才能讓他自動化。       二、自動化工具不是萬能的,他也有本身的缺陷。       三、自動化永遠不可能取代人工的位置。       四、自動化腳本的維護有時是很致命的,須要有必定的經驗才能作好。 
相關文章
相關標籤/搜索