第10章 軟件測試自動化_第1頁
第10章 軟件測試自動化_第2頁
第10章 軟件測試自動化_第3頁
第10章 軟件測試自動化_第4頁
第10章 軟件測試自動化_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件測試自動化 第十章第十章 概概 況況 本章內(nèi)容提要本章內(nèi)容提要 自動測試與手工測試的比較自動測試與手工測試的比較 如何開展自動測試如何開展自動測試 自動測試方案的選擇自動測試方案的選擇 10.1 手工測試與自動測試手工測試與自動測試 l 手工測試和自動測試相對,手工測試和自動測試相對, 是指不使用工具進行軟件測試。是指不使用工具進行軟件測試。 在很多公司存在這兩種測試方在很多公司存在這兩種測試方 法,也有不少小公司只有手工法,也有不少小公司只有手工 測試。手工測試和自動測試孰測試。手工測試和自動測試孰 好孰壞,是否自動測試就比手好孰壞,是否自動測試就比手 工測試優(yōu)越?工測試優(yōu)越? 在大多數(shù)

2、軟件開發(fā)模式中,軟件發(fā)布之前都要多在大多數(shù)軟件開發(fā)模式中,軟件發(fā)布之前都要多 次重復編碼次重復編碼測試測試修復的過程。如果要測試軟件的修復的過程。如果要測試軟件的 某項特征,也許需要不止一次執(zhí)行測試。某項特征,也許需要不止一次執(zhí)行測試。重復重復測試的測試的 過程也稱為過程也稱為回歸測試回歸測試。如果一個小型軟件項目有上千。如果一個小型軟件項目有上千 測試用例要執(zhí)行,還要重復執(zhí)行,手工測試會非常單測試用例要執(zhí)行,還要重復執(zhí)行,手工測試會非常單 調(diào)和枯燥。而利用工具進行自動測試就可以把人從這調(diào)和枯燥。而利用工具進行自動測試就可以把人從這 種枯燥單調(diào)的重復性勞動中解放出來。種枯燥單調(diào)的重復性勞動中解

3、放出來。 提高了測試執(zhí)行速度,節(jié)省了時間。 自動測試和手工測試比較起來有以下優(yōu)點自動測試和手工測試比較起來有以下優(yōu)點 提高了測試效率。 提高了準確度和精確度。 更好地利用資源。 模擬測試條件。 誤區(qū)之一:利用工具能發(fā)現(xiàn)軟件中的全部或大部誤區(qū)之一:利用工具能發(fā)現(xiàn)軟件中的全部或大部 分的缺陷分的缺陷 誤區(qū)之二:軟件測試工具可以放之四海而皆準誤區(qū)之二:軟件測試工具可以放之四海而皆準 誤區(qū)之三:運用軟件測試工具后測試工作馬上減誤區(qū)之三:運用軟件測試工具后測試工作馬上減 輕,進度馬上縮短輕,進度馬上縮短 誤區(qū)之四:測試工具可以很快上手,不需要專門誤區(qū)之四:測試工具可以很快上手,不需要專門 培訓和學習培訓

4、和學習 誤區(qū)之五:通過工具我們可以達到誤區(qū)之五:通過工具我們可以達到100%的測試覆的測試覆 蓋率蓋率 自動化測試的誤區(qū)自動化測試的誤區(qū) 測試用例的設(shè)計:測試人員的經(jīng)驗和對錯誤的猜測 能力是工具不可替代的。 手工測試有其不可替代的地方手工測試有其不可替代的地方 界面和用戶體驗測試:人類的審美觀和心理體驗是 工具不可模擬的。 正確性的檢查:人們對是非的判斷和邏輯推理能力 是工具不具備的。 Sogou地圖項目:http:/ 分析以下哪些適合自動化,哪些適合手動 更改起點地址搜索,輸出文字是否跟隨起點地址的改變 而變化 選擇“線站查詢”,檢查搜索框及搜索按鈕是否存在 選擇“線站查詢”,查看界面元素是

5、否排列整齊 輸入兩個城市的地點為起點和終點,檢查錯誤信息是否 出現(xiàn)及正確 輸入起點終點點擊搜索,在結(jié)果未出現(xiàn)之前進行其他操 作,查看是否會導致瀏覽器異常 當?shù)玫揭粭l路線時,地圖上顯示的相應路線是否正確 10.2 自動測試的開展 在進行自動測試之前,要先考慮在進行自動測試之前,要先考慮5個方面:個方面: (1)測試自動化類似于軟件開發(fā)過程,需要測)測試自動化類似于軟件開發(fā)過程,需要測 試試人員人員掌握必要的開發(fā)知識和編碼技巧。掌握必要的開發(fā)知識和編碼技巧。 (2)測試自動化是一個長期的過程,只有在)測試自動化是一個長期的過程,只有在長長 期的運行期的運行后才能體現(xiàn)出它的價值。其次,隨著測后才能體

6、現(xiàn)出它的價值。其次,隨著測 試應用程序功能的增加和修改,測試腳本的維護試應用程序功能的增加和修改,測試腳本的維護 工作量會急劇增加。工作量會急劇增加。 (3)確保測試自動化的)確保測試自動化的資源資源,包括人員和技能,包括人員和技能 (4)循序漸進地開展循序漸進地開展自動測試,先實現(xiàn)那些容自動測試,先實現(xiàn)那些容 易實現(xiàn)且相對穩(wěn)定的功能模塊的自動測試,然易實現(xiàn)且相對穩(wěn)定的功能模塊的自動測試,然 后再考慮逐步擴展和補充其他相對難實現(xiàn),或后再考慮逐步擴展和補充其他相對難實現(xiàn),或 者是比較不穩(wěn)定的功能模塊。者是比較不穩(wěn)定的功能模塊。 (5)確保測試過程的成熟度)確保測試過程的成熟度 如果軟件企業(yè)的測試

7、過程和項目管理過程的能力如果軟件企業(yè)的測試過程和項目管理過程的能力 成熟度比較低,則實現(xiàn)自動測試的成功率也比較成熟度比較低,則實現(xiàn)自動測試的成功率也比較 低。此時低。此時不要盲目引入不要盲目引入測試自動化。測試自動化。 樁模塊樁模塊3 產(chǎn)品需求 產(chǎn)品策劃 產(chǎn)品設(shè)計 產(chǎn)品編輯 自動測試需求 自動測試策劃 自動測試設(shè)計 自動測試編碼 圖10-1 產(chǎn)品開發(fā)與自動測試間的相似性 10.2.1 自動測試的周期自動測試的周期 10.2.2 自動測試的成本自動測試的成本 成功開展自動化測試必須考慮自動測 試的成本問題。成本包括測試人員、測試 設(shè)備、測試工具等。 10.2.3 合理選擇自動測試的導入時機合理選

8、擇自動測試的導入時機 (1)如果一個項目是)如果一個項目是短期短期的,并且是的,并且是一次性一次性的的 項目,則不適合開展自動測試,因為這種項目得項目,則不適合開展自動測試,因為這種項目得 不到自動測試的應有效果和價值體現(xiàn)。不到自動測試的應有效果和價值體現(xiàn)。 (2)不宜在一個)不宜在一個進度非常緊迫進度非常緊迫的項且中開展自的項且中開展自 動測試。動測試。 (3)自動測試不該在)自動測試不該在界面尚未穩(wěn)定界面尚未穩(wěn)定的時候開始。的時候開始。 (4)當開發(fā)人員著手開發(fā))當開發(fā)人員著手開發(fā)核心可重用核心可重用的控件時,的控件時, 應嘗試使用自動化工具來測試這些控件。如果發(fā)應嘗試使用自動化工具來測試

9、這些控件。如果發(fā) 現(xiàn)有不適用的地方,則要考慮讓開發(fā)人員重新設(shè)現(xiàn)有不適用的地方,則要考慮讓開發(fā)人員重新設(shè) 計控件,或者提供更多的測試接口。計控件,或者提供更多的測試接口。 10.2.4 自動測試的人員要求自動測試的人員要求 自動化測試工具基礎(chǔ) 自動化測試腳本開發(fā) 編程基礎(chǔ) 設(shè)計測試用例的基本方法和能力 發(fā)現(xiàn)問題及缺陷的能力 10.3 自動測試的方案選擇自動測試的方案選擇 在選擇自動測試方案之前我們先要在選擇自動測試方案之前我們先要 確定自動化的對象和范圍,然后決定采確定自動化的對象和范圍,然后決定采 用什么樣的自動測試方案,采用什么方用什么樣的自動測試方案,采用什么方 法指導測試腳本開發(fā)。法指導

10、測試腳本開發(fā)。 10.3.1 確定自動化的對象和范圍確定自動化的對象和范圍 (1)自動化應該考慮需求不變或沒有變更的部分。)自動化應該考慮需求不變或沒有變更的部分。 (2)自動化應考慮壓力、可靠性、可伸縮性和性能)自動化應考慮壓力、可靠性、可伸縮性和性能 測試這些類型。測試這些類型。 (3)自動化應考慮回歸測試。)自動化應考慮回歸測試。 (4)自動化應考慮可能需要復雜設(shè)置的功能測試。)自動化應考慮可能需要復雜設(shè)置的功能測試。 (5)根據(jù)一般經(jīng)驗,如果測試用例在不久的將來,)根據(jù)一般經(jīng)驗,如果測試用例在不久的將來, 比方說一年內(nèi)需要執(zhí)行至少比方說一年內(nèi)需要執(zhí)行至少10次,如果自動化工作次,如果自

11、動化工作 量不超過執(zhí)行這些測試用例的量不超過執(zhí)行這些測試用例的10倍,那么就可以考倍,那么就可以考 慮自動化這些測試用例。慮自動化這些測試用例。 10.3.2 選擇自動測試的方案和腳本編寫方法選擇自動測試的方案和腳本編寫方法 采用什么樣的自動化測試方案,需要考慮幾方面因素:采用什么樣的自動化測試方案,需要考慮幾方面因素: 項目的影響:自動化測試能否對項目進度、覆蓋率、風險有積極項目的影響:自動化測試能否對項目進度、覆蓋率、風險有積極 的作用,或者讓開發(fā)更敏捷?的作用,或者讓開發(fā)更敏捷? 復雜度:自動化是否容易實現(xiàn)(包括數(shù)據(jù)和其他環(huán)境的影響)?復雜度:自動化是否容易實現(xiàn)(包括數(shù)據(jù)和其他環(huán)境的影響

12、)? 時間:自動化測試的實現(xiàn)需要多少時間?時間:自動化測試的實現(xiàn)需要多少時間? 早期需求和代碼的穩(wěn)定性:需求或早期的代碼是否能證明是在一早期需求和代碼的穩(wěn)定性:需求或早期的代碼是否能證明是在一 定范圍內(nèi)變化的?定范圍內(nèi)變化的? 維護工作量:代碼是否能長期保持相對穩(wěn)定?功能特性是否會進維護工作量:代碼是否能長期保持相對穩(wěn)定?功能特性是否會進 化?化? 覆蓋率:自動化測試能否覆蓋程序的關(guān)鍵特性和功能?覆蓋率:自動化測試能否覆蓋程序的關(guān)鍵特性和功能? 資源:測試組是否擁有足夠的人力資源、硬件資源和數(shù)據(jù)資源來資源:測試組是否擁有足夠的人力資源、硬件資源和數(shù)據(jù)資源來 運行自動測試?運行自動測試? 自動測

13、試執(zhí)行:負責執(zhí)行自動測試的小組是否擁有足夠的技能和自動測試執(zhí)行:負責執(zhí)行自動測試的小組是否擁有足夠的技能和 時間去運行自動測試?時間去運行自動測試? 自動功能測試的腳本開發(fā)主要有以下幾種方法: (1)錄制與回放 市場上幾乎所有的測試工具都具有錄制與回放特 性。測試工程師錄制鍵盤字符或鼠標點擊的行動 序列,并在以后按照錄制的順序回放這些所錄制 的腳本。但是腳本中可能包含一些硬編碼的取值, 因此很難執(zhí)行一般類型的測試。而且,當應用程 序變更后,所有腳本都必須重新錄制,因此增加 了測試維護的成本。 10.3.2 選擇自動測試的方案和腳本編寫方法選擇自動測試的方案和腳本編寫方法 (3)數(shù)據(jù)驅(qū)動 數(shù)據(jù)驅(qū)動腳本編寫方法把數(shù)據(jù)從腳本分離出去,存儲 在外部的文件中。 (2)結(jié)構(gòu)化 結(jié)構(gòu)化腳本編寫方法在腳本中使用結(jié)構(gòu)控制。結(jié)構(gòu)控 制讓測試人員可以控

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論