艾迪安
【摘要】對軟件進行測試、找出缺陷,能有效的提高軟件的質量,是軟件生命周期中重要組成部分。隨著軟件測試的不斷改革,自動化測試也隨之為人們所知。本文主要研究了軟件自動化測試的方法,分析了軟件自動化測試的應用。
【關鍵詞】軟件 自動化測試 方法
引言
軟件測試是保證軟件質量有效的合理方法,是軟件系統(tǒng)工程中必不可少的組成部分,隨著軟件的發(fā)展,人們對軟件的質量提出了較高的要求,相對應的軟件測試技術的要求也很高。當前社會上有許多測試方法都能有效的保證軟件的質量,但是自動化測試不僅提高了測試的效率,還提升了測試的質量。因此,研究自動化測試已經成為軟件測試中的新課題。
一、軟件自動化測試
1.1軟件自動化測試
軟件測試就是在預設條件下運行系統(tǒng)或應用程序,評估運行結果,預先條件應包括正常條件和異常條件。自動化測試是把以人為驅動的測試行為轉化為機器執(zhí)行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結果與期望結果的比較。
1.2軟件自動化測試的方法
1.2.1錄制回放的方式
記錄回放的方式流行于早期商業(yè)工具之中,無需編程技能即可快速上手。然而這種方法相對脆弱,一旦UI變化測試就會受到影響,分散的腳本不可重用且難以維護,而且系統(tǒng)在測試前必須可用(也就意味著無法使用A-TDD方法)。因此這種方法并不適合大型自動化測試。
1.2.2獨立腳本測試
線性腳本允許使用各種語言來編寫非結構化腳本,腳本直接與被測系統(tǒng)交互。能夠快速上手,靈活性強。但是編寫腳本需要編程技能,系統(tǒng)中一個改動會影響所有腳本,沒有經過模塊化或重用的大量腳本難以維護。因此這種方法適合簡單任務,不適合大型自動化。
1.2.3數(shù)據(jù)驅動方法
數(shù)據(jù)驅動方法,將數(shù)據(jù)與測試腳本分離,基于模塊化的測試庫,一個驅動腳本可以執(zhí)行多個相似測試,這樣非常容易建立新測試。維護工作可以分離,測試人員負責數(shù)據(jù),程序員負責寫測試庫。然而,不同類型測試仍需要新的驅動腳本,初始建立數(shù)據(jù)解析器和重用組件需要花人力。這種方法適合大型項目,只需要較少的編程技能。
1.2.4關鍵字驅動
關鍵字驅動,將數(shù)據(jù)與關鍵字結合來描述如何使用數(shù)據(jù)執(zhí)行測試(見圖1)。這種方法具備數(shù)據(jù)驅動的優(yōu)勢,同時非編程人員也能建立新類型測試。所有測試由同一個框架來執(zhí)行,同時框架可以支持多種接口庫實現(xiàn)功能擴展。然而初始成本很大,但是可以使用開源方案節(jié)省一定成本,因此非常適合大型項目。關鍵字驅動的案例如圖1所示。
二、軟件自動化測試的應用
以企業(yè)客戶服務ARCH網站為例,該網站具有統(tǒng)一的用戶界面和身份管理、瀏覽方式,其能夠有效的避免出現(xiàn)多次登錄不同的應用程序中的現(xiàn)象發(fā)生,如果用戶采用不同的設備登錄該網站,其表現(xiàn)形式不同,但是網站內的信息是一致的。在進行ARCH網站開發(fā)時,以網站的每個模塊為單位進行開發(fā)然而模塊的數(shù)量非常多,在處理這些模塊時還會不斷的出現(xiàn)新的模塊,然而由于進度的原因,常常出現(xiàn)模塊開放后沒有進行足夠的測試,從而導致在模塊中測試就能發(fā)現(xiàn)的缺陷在整個系統(tǒng)測試中才發(fā)現(xiàn)。為了解決這一問題,測試者引進了自動化測試,測試者通過持續(xù)集成工具把自動化測試的測試計劃、測試日程、測試執(zhí)行和錯誤跟蹤等功能融為一體,極大的加快了測試的進程,采用自動化測試不僅給測試者帶來了一定的挑戰(zhàn),還提高了測試的效率的質量,提高了測試者的激情。
三、結語
軟件測試的目的是找出軟件中的缺陷,發(fā)現(xiàn)軟件存在的問題。采用自動化測試方法測試軟件能有效的減少手工測試的工作量,從而節(jié)約人力、物力等的資源,能保證軟件的質量,提高測試的效率。