【筆記】自動化測試概況和認知


《測試架構師修煉之道》是我的一本枕邊書,每次看的時候總是有不同的感受。今天來整理下書中提到的自動化測試相關的知識,更多的是概況、認知或者理論方面的東西。

前言

書中說測試架構師掌握自動化測試的目的不是設計自動化架構或是具體來部署自動化,而是用好自動化。其實這一點我覺得對涉及自動化測試的人員都是通用的,只是偏重點不同。

往往自動化測試前期投入成本可能會大一點,比如框架設計、技術選型、人力成本等等,但是這個步調確定好了之後,更多就是怎麼去用好自動化,把它和業務結合起來。

書中主要從以下方面開展:

  • 建立正確的自動化觀念;
  • 如何評估自動化收益;
  • 自動化工具的選型。

1、自動化測試真相

一提到自動化測試,大家很容易就想到 “7*24小時不間斷測試”、“反覆測試”、“效率高”等等,然而發現,自動化測試做的人多,成功的卻不多。其實原因有很多。

1.1、自動化並不廉價,相反,自動化很貴

  • 開發自動化腳本需要不少時間,往往很多團隊部署自動化的原因是因爲項目緊,想通過自動化測試提升效率,既然時間都不夠用了,哪有時間去開發腳本呢?這無疑於緣木求魚
  • 自動化測試需要懂技術的人來操作,其過程也是開發代碼,也需要專業的人才能勝任此工作;
  • 某些自動化工作需要購買和二次開發

總結爲時間成本、技術成本、人力成本,都是自動化測試需要考慮的。所以說它很貴。在部署之前,一定要考慮團隊的消費能力。

1.2、自動化腳本往往沒有想象中的那麼可靠

很多團隊部署自動化另一個原因是想通過自動化來驗證不會漏掉用例中的步驟,覺得自動化是忠實可靠的。但自動化測試給你的“OK”,可能真的只是幻想,因爲腳本只會按照指定的步驟去運行和確認結果,不會去捕捉一些突發異常(至少不能全面的捕捉)。
另外,自動化工作或者環境可能並不是那麼可靠。
無論是正確的自動化測試結果,還是錯誤的自動化測試結果,都需要人再去確認。

1.3、自動化測試不是單靠測試就能搞定的事兒

自動化測試需要SE、開發、測試、自動化工程師緊密配合纔能有效運作起來。開發自動化腳本之前有很多先決條件:

  • “需求”要確定清楚,特別是用戶的數去和輸出,一定要確認清楚,這時候SE就要給力些;
  • “UI”後者“命令行”需要確定下來,而且確定了最好不要隨隨便便修改,這樣才利於自動化腳本中的一些“中間層”的設計,這需要開發給力
  • 測試用例要儘快寫出來,這需要測試給力

2、如何評估自動化收益?

2.1、自動化測試的實施成本

公式:自動化實施成本 = 前期開發成本 + 後期的維護成本

2.1.1、前期開發成本

  • 人力成本:和自動化開發人員相關的費用成本;
  • 時間成本:自動化準備時間,自動化腳本開發、調試的時間成本;
  • 金錢成本:工具購買、開發、維護的費用成本。

2.1.2、後期維護成本

  • 產品變更引起的自動化測試腳本變更的成本;
  • 定位、修復自動化運行環境引起的腳本的健壯性問題的成本;
  • 定位、修復自動化運行環境引起的可靠性問題的成本;
  • 其它未知的引起測試腳本變更的因素引發的成本。

2.2、自動化測試的運行次數

自動化測試的收益和自動化測試運行的次數是成正比的,腳本能夠被運行的越多,自動化測試的收益纔會越高。

公式:自動化測試的收益 = 自動化測試運行的次數

2.3、自動化測試實施成本

計算公式:p = (k*n) / (c1+c2)

k : 手工執行自動化用例所花費的時間成本;
n :自動化測試用例執行的次數;
c1:花費在自動化測試前期的成本(時間成本 + 人力成本 + 金錢成本);
c2:花費在自動化測試後期的成本(時間成本 + 人力成本 + 金錢成本);

3、自動化測試工具介紹

3.1、單元測試工具

  • Parasoft系列單元測試工具
工具名 語言 特點
Jtest Java 代碼分析和動態類,組件測試
Jcontract Java 實時性能監控及分析優化
C++Test C、C++ 代碼分析和動態測試
CodeWizard C、C++ 代碼靜態分析
Insure++ C、C++ 實時性能監控及分析優化
.test .Net 代碼分析和動態測試
  • Compuware系列單元測試工具
工具名 語言 特點
BoundsChecker C++、Delphi APO和OLE錯誤檢查、指針和泄露錯誤檢查、內存錯誤檢查
TrueTime C++、Java、Visual Basic 代碼運行效率檢查、組件性能的分析
FailSafe Visual Basic 自動錯誤處理和恢復系統
Jcheck MS Visual J++ 事件分析工具
TrueCoverage Java、C++ 、Visual Basic 函數調用次數、所佔比率統計以及穩定性跟蹤
SmartCheck Visual Basic 函數調用次數、所佔比率統計以及穩定性跟蹤
CodeReview Visual Basic 自動化源代碼分析工具
  • Xunit系列單元測試工具
工具名 語言 官方網站
Aunit Ada http://www.libre.act-europe.fr
CppUnit C++ http://cppunit.sourceforge.net
ComUnit VB、COM http://comunit.sourceforge.net
Dunit Delphi http://dunit.sourceforge.net
DotUnit .Net http://dounit.sourceforge.net
HttpUnit Web http://c2.com/cgi/wiki?HttpUnit
HtmlUnit Web http://htmlunit.sourceforge.net
JUnit Java http://www.junit.org
JsUnit(Hieatt) Java Script 1.4以上 http://www.jsunit.net
PhpUnit Php http://phpunit.sourceforge.net
PerlUnit Perl http://perlunit.sourceforge.net
XmlUnit Xml http://xmlunit.sourceforge.net

3.2、UI自動化測試工具

工具名 公司名 官方網站
WinRunner HP Mercury http://www.mercuryinteractive.com
QTP HP Mercury http://www.mercuryinteractive.com
Robot IBM Rational http://www.rational.com
QARun Compuware http://www.compuware.com
SilkTest Segue http://www.segue.com
e-Test Empirix http://www.expirix.com

3.3、性能自動化測試工具

工具名 公司名 官方網站
WAS Microsoft http://www.microsoft.com
LoadRunner HP Mercury http://www.mercuryinteractive.com
Qaload Compuware http://www.compuware.com
TeamTest:SiteLoad IBM Rational http://www.rational.com
Webload Radview http://www.radview.com
Silkperformer Segue http://www.segue.com
e-Load Expirix http://www.expirix.com
OpenSTA OpenSTA http://www.opensta.com

注:本文內容主要來源於《測試架構師修煉之道》劉琛梅·著,版權歸作者所有,本文只是整理彙總成學習筆記,如有問題,請聯繫刪除,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章