![不斷蔓延的軟件測試基礎結構的危險1_第1頁](http://file4.renrendoc.com/view/0535b85b64532a8287f31573ad00cb87/0535b85b64532a8287f31573ad00cb871.gif)
![不斷蔓延的軟件測試基礎結構的危險1_第2頁](http://file4.renrendoc.com/view/0535b85b64532a8287f31573ad00cb87/0535b85b64532a8287f31573ad00cb872.gif)
![不斷蔓延的軟件測試基礎結構的危險1_第3頁](http://file4.renrendoc.com/view/0535b85b64532a8287f31573ad00cb87/0535b85b64532a8287f31573ad00cb873.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第第頁不斷蔓延的軟件測試基礎結構的危險[1]不斷蔓延的軟件測試基礎結構的危險[1]
發(fā)表于:2023-05-04來源::點擊數(shù):標簽:軟件測試危險
不斷蔓延的軟件測試基礎結構的危險[1]軟件測試來自于RationalEdge:包含良好自動化測試實踐的基礎結構可以是一個幸事,也可以是一個禍根。這篇文章描述了這樣一種場景,它避免了測試小組隨著時間的推移,產生出不斷蔓延的測試基礎結構。這是我在項目
不斷蔓延的軟件測試基礎結構的危險[1]軟件測試
來自于RationalEdge:包含良好自動化測試實踐的基礎結構可以是一個幸事,也可以是一個禍根。這篇文章描述了這樣一種場景,它避免了測試小組隨著時間的推移,產生出不斷蔓延的測試基礎結構。
這是我在項目中的第一天,我把每周一次的關于自動化測試的討論作為文章的開始。我發(fā)現(xiàn)即使精通多種操作系統(tǒng),數(shù)據(jù)庫,程序語言,并且閱讀過很多產品特性的資料,但我依然很難明白所討論的內容。而且似乎參加會議的每個人都在談論著某種程序語言,而這種語言對我來說卻是陌生的。人們不斷地談到"enablerroutines"和API方法,而這些API方法在我所讀過的API文檔中從未見到過。
我花了些工夫才意識到,人們在探討測試框架中的慣例和方法,而不是測試中的產品。在過去的幾年里,測試框架已包括了許多的慣例,這些慣例封裝了實際產品的API方法。
現(xiàn)今這種方法的確有很多優(yōu)點。它減少了冗余測試代碼,能夠強制使用標準的機制執(zhí)行任務,并且可以跟蹤API方法的返回值。隨著它不斷的發(fā)展,這種特殊的框架結構已經變的如此廣泛以至于它自身已變成一種程序語言。創(chuàng)建整套完整用戶文檔和處理定期框架更新版本的小組成員推薦這種方法。
但是還是有不足之處的。由于測試框架是如此的廣泛,而且許多自動化的測試都基于這個框架,使得維護框架結構和測試變的十分昂貴。為了保持與測試產品的新版本的同步,框架不斷被更新,這不僅使得任務變的越來越大,而且使得像我這樣的新成員不得不花費更多時間學習測試框架。
當我第一次參加會議時,我震驚于人們對于測試框架學習的花費。他們能夠用同樣的方法討論各種"enablerroutines"的程序,就像我討論JDBC的使用或者在Java中使用一個數(shù)組或矢量的優(yōu)缺點一樣。
誠實地講,會議有點脅迫的感覺。這有點像身處在外國,而你卻不會講他們的語言一樣。但是我最擔心的是:對我來說似乎提供自動化測試程序框架的過程,能夠使工作變得容易并且有效率,但是我們增加了如此復雜的抽象層,使得人們更少的接觸到所測試的產品?;蛟S我有點夸大其詞了,但這確確實實是我的感受。
Infrastructure-itis
我突然記起幾年前的相似經歷。當時我正創(chuàng)建軟件質量評價小組來檢測Internet防火墻。我們需要一種方法來檢測某些命令行工具,并且決定在Expect中寫測試腳本。開始的兩天進行的很順利,直到Al(不是他的真名)稱他"改進"了Expect。并把他的創(chuàng)造叫做"RunExpect"。你可以想象,它是一串在Expect中寫的封裝好的函數(shù)。我感謝他,但是我謝絕成為第二個,最終也是最后一個加入RunExpect用戶社區(qū)的人。我選擇使用Expect并且創(chuàng)建我們所需要的并且可隨時使用的慣例。
因此,這里發(fā)生了什么?這是經常出現(xiàn)在軟件質量保證團隊中的情況:infrastructure-itis。
什么是infrastructure-itis?這是一個適應壞狀況的很好的主意。這個好主意用來創(chuàng)建(或調整)軟件工具使得測試更加自動化且更有效率。壞狀況就是這些工件的維護變得過于沉重。
如何開發(fā)一個infrastructure-itis實例?
它可以從一個小范圍開始。我們可以向他們說,你們正在測試一個數(shù)據(jù)庫應用程序。你的自動化測試將需要通過一些注冊或者使用者身份驗證的形式訪問數(shù)據(jù)庫。你可以在每一個測試程序中通過復制代碼來為注冊用戶編號,或者你可以使它成為一個單一的,可調用的例行程序。這是一個好方法。這個例行程序為你的測試程序提供了訪問數(shù)據(jù)庫的路徑,但它同時使測試程序設計員無法處理注冊程序的準確語義。相反,他們處理可調用例行程序提供的抽象注冊界面。最終,你將創(chuàng)建越來越多的可調用的例行程序來支持測試。
問題是,這些例行程序的創(chuàng)建可以成為它之中和它本身的一個結束,在極端情況下,實際也可以分散你對手邊實際工作的注意力——指的是自動化測試的創(chuàng)建和執(zhí)行。但它是惡性的循環(huán)。你創(chuàng)建一個有用的例行程序,然后再一個,接著又一個,很快所有你所做的工作就是創(chuàng)建,重分解和改進測試的基礎結構。它能使人成癮。做軟件工作的眾多樂趣之一就是你可以隨意設計,創(chuàng)建,然后再設計,再創(chuàng)建。它把
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人社部的勞動合同(三篇)
- 2025年九年級英語下冊教學工作總結范例(二篇)
- 2025年中外來料加工、來件裝配合同樣本(2篇)
- 2025年代理權轉讓的合同(2篇)
- 2025年企業(yè)產品購銷合同參考模板(三篇)
- 2025年九年級英語培優(yōu)輔差總結樣本(二篇)
- 人工智能居間服務合同范本
- 親子餐廳裝修施工合同樣本
- 植生混凝土技術施工方案
- 木材加工居間合作協(xié)議
- 2025公司借款合同范本借款合同
- 閩教版(2020)小學信息技術三年級上冊第2課《人工智能在身邊》說課稿及反思
- 語文-百師聯(lián)盟2025屆高三一輪復習聯(lián)考(五)試題和答案
- 地理-山東省濰坊市、臨沂市2024-2025學年度2025屆高三上學期期末質量檢測試題和答案
- 正面上手發(fā)球技術 說課稿-2023-2024學年高一上學期體育與健康人教版必修第一冊
- 佛山市普通高中2025屆高三下學期一??荚嚁?shù)學試題含解析
- 人教 一年級 數(shù)學 下冊 第6單元 100以內的加法和減法(一)《兩位數(shù)加一位數(shù)(不進位)、整十數(shù)》課件
- 事故隱患排查治理情況月統(tǒng)計分析表
- 永磁直流(汽車)電機計算程序
- 國家電網(wǎng)招聘2025-企業(yè)文化復習試題含答案
- 2024年江西省高考物理試卷(含答案解析)
評論
0/150
提交評論