自動化測試可行性分析報告

2021-03-04 09:57:39 字數 3475 閱讀 3362

***x客戶網銀資金管理系統

引入自動化測試的

可行性分析報告

版本:1.0

本文件對***x客戶網銀資金管理系統專案引入自動化測試工具的可行性進行評估,為專案經理提供決策參考。

本文件描述了***x客戶專案情況、現有測試工作流程、自動化測試本身的一些情況,對測試工作量進行了估算,最後對估算結果進行了分析,並依此提出了一些建議。

本文件中討論的自動化測試工具主要是功能測試工具。

本文件涉及了幾款自動化測試工具:

testmanager:ibm公司的測試管理工具,屬於rational系列產品之一。

robot:ibm公司的效能測試工具,屬於rational系列產品之一。

rft:rational function tester,ibm公司的功能測試工具,屬於rational系列產品之一。

testdirector:mercury公司生產的測試管理工具。

loadrunner:mercury公司生產的效能測試工具。

qtp:quicktest professional,mercury公司生產的功能測試工具。

***x客戶網銀資金管理系統,是***x客戶為了加強銀行賬戶管理,提高資金利用效率而開發的一套資金管理系統。

***x客戶網銀資金管理系統遵循的開發規範如下:

作業系統:windows2003或者hp unix或者sco unix或者aix或者solaris

資料庫平台:informix 9.0

j2ee應用伺服器:weblogic8.1.4

開發平台:eclipse(3.1以上版本)

專案的預定計畫如下:

根據業務需求分析,業務量主要集中在銀行業務資料操作,包括銀行資料查詢,銀行業務資料變更,因為和銀行的互動集中在前置機上,且銀行資料量大,操作複雜,耗費時間長,所以系統在多使用者併發操作時,可能存在效能瓶頸。另外,由於***x客戶的分支機構眾多,操作人員多,資料量大,在多使用者併發操作時,效能和效率會有較大影響。

現有的測試流程按照階段劃分為測試設計階段和測試執行階段。

測試設計階段的主要工作是根據業務需求說明書和系統需求說明書來設計和編寫測試用例。根據以往的經驗,將測試用例劃分成三個部分:

測試需求分析;

測試方案;

資料執行步驟。

測試執行階段的主要手段是手工測試,如果專案有效能方面的需求,再通過mercury公司的效能測試工具loadrunner來進行效能方面的測試。

手工測試時,要完成以下工作:

根據測試需求分析了解業務;

根據測試方案來執行測試;

根據資料庫和詳細設計來驗證系統的具體實現;

根據測試結果補充、修正測試用例中的分析、測試方案部分。

系統上線部署之前兩到三天,要進行內部的驗收測試,其目的有兩個:

確認系統已經準備就緒,預定功能已經實現;

即將上線部署的軟體是正確的版本。

主要通過重新搭建系統環境,重建資料庫表的形式來開始驗收測試。

隨著軟體開發技術和工具的提高,軟體工程和軟體過程實踐的推廣, 軟體測試日益得到重視和專業化。自動化測試更成為熱門話題。

測試自動化就是充分利用市場已有的或自行開發的測試工具,全部或部分替代手工測試、完成手工測試無法完成的測試任務,以及相關的測試資料的記錄和測試報告的生成等。

相對於手工測試而言,測試自動化通常具有速度快、執行效率高、執行過程受外界因素干擾小、測試結果準確等優點,缺點是前期投入較大,所以在採用測試自動化之前應當做好相應的評估工作。

自動化測試的目的是通過自動執行測試指令碼,使測試人員在更短的時間內能夠更快地完成更多的軟體測試,並提供以更高的頻率執行測試的能力,從而有效降低測試成本、提高測試效率。

自動化測試有幾個前提:

測試人員的程式設計能力;

重用測試指令碼的設計;

人機互動介面的早期凍結;

測試指令碼開發的投入;

測試人員對測試工具的熟練程度。

自動化測試的優勢:

對新版本執行回歸測試

對於產品型的軟體,每發布乙個新的版本,其中大部分功能和介面都和上乙個版本相似或完全相同,這部分功能特別適合於自動化測試, 從而可以讓測試達到測試每個特徵的目的。

更多更頻繁的測試

在回歸測試階段,如果是每天 / 每 2 天都要發布乙個版本供測試人員測試,乙個系統的功能點有幾千個上萬個,手工測試將是非常的耗時和繁瑣,而且非常的枯燥,這樣必然會使測試效率低下。完善的自動化測試可以替代測試人員的手工測試。

一致性和可重複性

由於每次自動化測試執行的指令碼是相同的,所以每次執行的測試具有一致性,人是很難做到的。由於自動化測試的一致性,很容易發現被測軟體的任何改變。

自動化測試替代手工測試的困難:

自動化測試的目的在於發現舊有缺陷,而手工測試的目的在於發現新缺陷。

事實證明新缺陷越多,自動化測試失敗的機率就越大。發現更多的新缺陷應該是手工測試的主要目的。測試專家 james bach 總結得出, 85% 的缺陷靠手工發現,而自動化測試只能發現 15 %的缺陷。

技術問題、組織問題、指令碼維護

自動化測試的推行,有很多阻力,比如組織是否重視, 是否成立這樣的測試團隊,是否有這樣的技術水平,對於測試指令碼的維護工作量也挺大的,是否值得維護等等問題都必須考慮。

目前比較主流的自動化功能測試工具主要是mercury公司的qtp、winrunner,以及ibm公司的rational function tester。下面對qtp和rational function tester的功能來進行對比:

目前,我們測試人員對qtp比較熟悉,沒有使用過rational function tester。

就功能上來說,rational function tester 和qtp差別不大。

手工測試工作量的估算原則:根據業務和功能的複雜程度,以及以往專案的實際資料做參考,得出測試完成一遍的工作量。在整個專案測試週期中,測試小組會對整個系統進行兩到三輪的測試(一般是必須的)。

根據以往專案的統計資料:每一輪手工測試的工作量是上一輪工作量的50%,直到達到臨界值,即完成一輪手工測試的最小時間後,工作量不會再減小。

專案統計資料還表明:手工測試中,後期的測試工作佔到全部測試工作的40%~50%。

按照4個測試資源計算,手工測試完成共需消耗187.6/4=46.9個工作日。與預定計畫的48個工作日的測試週期接近。

後期的測試工作佔測試工作的45%左右。

對手工測試的工作量估算沒有考慮開發進度delay的因素。一旦開發進度delay,則第3輪手工測試將無法完成,只能把優先級別較高的功能測試完成。開發進度delay的原因很大一部分來自需求變更。

引入自動化測試工具後,手工測試的主要工作量將主要集中在第一輪測試,而自動化測試指令碼也根據被測試功能和業務的複雜程度不同而不同。

根據下表的統計資料,在自動化測試中採用資料驅動的方式,投入產出比比較合適。

根據業內的統計資料,手工測試與自動化測試指令碼編寫的工作量比例約為3:7,在不考慮需求變更的情況下,測試指令碼的維護工作量為建立指令碼工作量的10~20%,在估算時,取中間值15%。引入自動化測試後工作量估算為:

在使用了自動化測試工具以後,驗收測試只需要搭建環境和資料初始化,效率提高了,測試工作量減小到4人日。

自動化測試可行性分析報告

x客戶網銀資金管理系統 引入自動化測試的 可行性分析報告 版本 1.0 本文件對 x客戶網銀資金管理系統專案引入自動化測試工具的可行性進行評估,為專案經理提供決策參考。本文件描述了 x客戶專案情況 現有測試工作流程 自動化測試本身的一些情況,對測試工作量進行了估算,最後對估算結果進行了分析,並依此提...

車間自動化系統實施可行性報告

隨著製造行業資訊化的不斷深入 市場不斷地發展,產品的競爭越來越激烈,市場給企業帶來的壓力也越來越大。企業要在激烈市場競爭中佔據有利的地位,就要不斷地改進自己企業管理的思想,降低產品的成本,不斷地增強企業的核心競爭力,同時還要提高產品的質量以及為使用者提供優質的服務。目前,我車間生產管理還主要是以粗放...

如何編寫電路板自動化測試系統專案可行性研究報告

報告說明 報告根據我國相關行業市場需求的變化趨勢,分析投資專案專案產品的發展前景,論證專案產品的國內外市場需求並確定專案的目標市場 定位,以此分析市場風險,確定風險防範措施等。本電路板自動化測試系統專案報告所描述的投資預算及財務收益預評估均以 建設電路板自動化測試系統專案經濟評價方法與引數 第三版 ...