




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!敏捷的Web UI自動化測試框架殷坤產(chǎn)品管理中心主任東軟集團 基礎(chǔ)軟件事業(yè)部揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!摘要案例簡述敏捷的Web UI自動化測試框架案例背景敏捷需要自動化測試艱辛的自動化測試之路成功要素像用戶一樣“測試”軟件最佳實踐用戶化的測試腳本靈活多樣的斷言機制根據(jù)腳本自動生成用戶化的報告發(fā)展規(guī)劃ROI分析案例啟示揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!案例簡述敏捷的Web UI自動化測試框
2、架案例簡述Web開發(fā)時UI框架的廣泛采用極大提高了開發(fā)效率和用戶體驗。然而UI框架自動生成的海量頁面源碼卻讓原本就舉步維艱的UI自動化測試變得雪上加霜。為了有效解決常見自動化測試工具普遍存在的使用成本高、測試用例有效性低,以及對不同Web技術(shù)測試方案不統(tǒng)一等問題。我們需要提供一個測試框架,來跨越“技術(shù)”與“用戶”之間的鴻溝,簡化腳本及斷言條件的編寫和維護工作、提高對UI框架和業(yè)務(wù)編碼規(guī)范的支持程度,從而降低成本、提升效率。 案例目標降低Web UI自動化測試的難度和成本,使更項目能真正實現(xiàn)Web UI層面的自動化測試,從而讓團隊真正享受到自動化測試帶來的收益:使及時全面的回歸測試、穩(wěn)定性測試、
3、兼容性測試成為可能,為持續(xù)集成提供基礎(chǔ);便于重現(xiàn)(或校驗)偶發(fā)性缺陷;將測試人員從日常大量的重復(fù)性工作中解放出來,可以把更多的精力投入到針對業(yè)務(wù)場景的測試設(shè)計、用戶體驗測試、性能測試、安全性測試等工作中。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!案例背景敏捷需要自動化測試需求測試設(shè)計開發(fā)交 付快速原型設(shè)計盡早確認功能快速響應(yīng)需求自動化測試用例都能在當(dāng)天的版本上有效運行么?敏捷依賴自動化測試,但自動化測試本身夠敏捷么?可擴展的架構(gòu)復(fù)用已有組件每日站會、迭代演示會快速開發(fā)工具持續(xù)集成揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多
4、源動力與更大的推動力!案例背景艱辛的自動化測試之路 學(xué)習(xí)成本高工具的操作使用、相關(guān)的腳本語言、測試過程的調(diào)試分析,是壓在廣大技術(shù)比較薄弱的測試人員身上的三座大山! 測試腳本維護困難業(yè)界的測試工具本質(zhì)上還都是針對頁面源碼來編寫(或生成)腳本的,與頁面源碼高度耦合、可讀性差。頁面的任何變化都極有可能導(dǎo)致測試腳本不可用,即使提供腳本錄制工具,我們能做往往也是重新錄制。 斷言機制繁瑣呆板測試腳本中的“斷言”依賴手工插入。頁面上蘊含大量的信息,潛在的斷言對象如此之多、預(yù)期結(jié)果時常變化(甚至是動態(tài)的)、UI樣式或UI邏輯(比如,翻頁圖標灰顯)也很可能出現(xiàn)錯誤。因此,“斷言”可謂是測試人員的“噩夢”! 自定
5、義擴展難度大測試是個系統(tǒng)的工程,自動化測試是中間的一個執(zhí)行環(huán)節(jié)。與之關(guān)聯(lián)的工作還有測試場景設(shè)計、測試結(jié)果分析、持續(xù)集成、版本控制、測試用例覆蓋率統(tǒng)計、測試環(huán)境搭建,等等。自動化測試工具在擴展方面的局限性,破壞了測試管理的整體性和一致性。業(yè)界有很多優(yōu)秀的自動化測試工具,它們都有各自的優(yōu)點,但也普遍存在的一些問題,讓我們舉步維艱揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!案例背景艱辛的自動化測試之路優(yōu)秀UI框架/工具的采用大大降低了開發(fā)成本和難度測試腳本則要面對UI框架生成的海量源碼用例回放的有效性大幅降低,自動化測試變得雪上加霜頁面DOM結(jié)構(gòu)非常復(fù)雜
6、所錄制/編寫腳本的復(fù)雜度變的更大、可讀性變得更差;即使頁面代碼沒有任何變化,UI框架的升級也會導(dǎo)致DOM結(jié)構(gòu)的變化腳本無效的風(fēng)險變得更大;控件ID是自動生成的,甚至可能隨機變化導(dǎo)致根據(jù)ID定位控件的策略無效;揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!成功要素像用戶一樣“測試”軟件頁面上的不穩(wěn)定因素:頁面布局、頁面樣式、UI框架及版本更新用戶只關(guān)注體驗,不用戶只關(guān)注體驗,不CareCare具體實現(xiàn)方案;具體實現(xiàn)方案;自動化測試人員為什么會糾結(jié)于此呢?自動化測試人員為什么會糾結(jié)于此呢?揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過
7、多源動力與更大的推動力!成功要素像用戶一樣“測試”軟件用戶操作時只關(guān)注頁面上能“看”到的,而不用“查看頁面源碼”;用戶會更關(guān)注整體業(yè)務(wù)的正確性、穩(wěn)定性,而不僅僅是每個孤立頁面的功能正確性;用戶對頁面樣式、瀏覽器兼容性要求越來越高;根據(jù)界面快速編寫測試用例敏捷應(yīng)對需求的變化;隔離對技術(shù)實現(xiàn)(UI框架、頁面樣式/布局)的依賴敏捷應(yīng)對設(shè)計/開發(fā)的變化;支持跨瀏覽器穩(wěn)定回放敏捷應(yīng)對環(huán)境的變化;“用戶使用軟件”與“自動化測試軟件”之間目前存在一些重要差異如果能像用戶使用軟件一樣進行自動化測試,我們會變得更敏捷敏捷的核心是響應(yīng)變化,因此開發(fā)和測試都需要快速響應(yīng)需求的變化;而測試額外還需要快速響應(yīng)開發(fā)的變化
8、;揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 1用戶化的測試腳本當(dāng)你在上述界面上進行操作時,你心里是否會默念:“賬號”輸入*、“密碼”輸入*、“姓名”輸入*、“性別”選擇*、“生日”輸入*、“國籍”選擇*,點擊“保存”按鈕。類似的,當(dāng)我們?nèi)粘J褂酶鞣N系統(tǒng)時,心里還會默念:“展開/收攏”樹(Tree)的某個節(jié)點、關(guān)閉某個Tab頁、 數(shù)據(jù)表格(Grid)的下一頁/上一頁、 選中數(shù)據(jù)表格(Grid)的某一行如果測試腳本就像這個樣子,大家覺得怎樣?揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 1用戶化
9、的測試腳本基于界面上可以“看”到的內(nèi)容定位對象,對象的操作按照用戶習(xí)慣命名。操作定義對象類型腳本示意揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 1用戶化的測試腳本對象類型操作定義腳本示意基于界面上可以“看”到的內(nèi)容定位對象,對象的操作按照用戶習(xí)慣命名。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 1用戶化的測試腳本對象類型操作定義腳本示意基于界面上可以“看”到的內(nèi)容定位對象,對象的操作按照用戶習(xí)慣命名。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實
10、踐 1用戶化的測試腳本點擊“業(yè)務(wù)角色列表”上的“新增”按鈕輸入“名稱”和“描述信息”后點擊“保存”選中“業(yè)務(wù)角色列表”中“TOP100 Test”對應(yīng)的行右側(cè)切換到“應(yīng)用菜單授權(quán)”Tab頁展開“管理控制臺”和“組織機構(gòu)”樹節(jié)點選中“用戶管理”樹節(jié)點點擊“應(yīng)用菜單授權(quán)”上的“保存”按鈕結(jié)合“角色創(chuàng)建及授權(quán)”功能,看一下其對應(yīng)的用戶化測試腳本實例:揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制斷言對象頁面信息量大,需要斷言的對象多;需要在腳本中補充大量斷言語句;預(yù)期結(jié)果預(yù)期結(jié)果很可能發(fā)生變化;預(yù)期結(jié)果的值與腳本邏輯耦合度大;斷言
11、機制未設(shè)定為斷言條件的字段,如果發(fā)生錯誤,無法感知;UI樣式及部分UI邏輯無法設(shè)為斷言條件;揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言在測試過程中,可以在任何位置增加斷言事件,來判斷頁面指定控件是否存在、控件顯示值是否為預(yù)期結(jié)果等
12、。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言測試腳本按照業(yè)務(wù)流程組織并運行,如果某個步驟執(zhí)行錯誤,則當(dāng)前步驟或后續(xù)步驟會出現(xiàn)斷言錯誤。無需編寫任何斷言語句以及預(yù)期結(jié)果值,但測試設(shè)計要考慮業(yè)務(wù)邏輯順序;不需要可對比的正確版本,通常適用于項目剛開發(fā)或樣式做整體調(diào)整等情況;斷言錯誤的位置不精準,可能延后;操作過程有截圖備份,可以有效輔助定位準確的出錯原因;鑒于回歸測試的時候,通常大部分用例應(yīng)該是可以通過的, 所以此類斷言的投入產(chǎn)出比非常占
13、優(yōu)勢!測試用例在“增加”出錯時可能的斷言結(jié)果增加記錄A查詢A修改查詢結(jié)果刪除記錄A揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言無需編寫任何斷言語句以及預(yù)期結(jié)果值;用于可提供預(yù)期正確版本的項目,在可持續(xù)構(gòu)建或項目后期比較適用;能判斷出樣式、頁面邏輯上的“非數(shù)據(jù)”類錯誤;對比絕對精準,導(dǎo)致可能存在誤判,因此需要人工對差異圖片進行排查;鑒于回歸測試的時候,通常大部分用例應(yīng)該是可以通過的, 所以此類斷言的投入產(chǎn)出比非常占優(yōu)勢!通過對比前(之前
14、測試通過)后(后續(xù)持續(xù)發(fā)布)版本在相同測試路徑和入?yún)⑶闆r下的頁面截圖是否嚴格相同來斷言結(jié)果。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言支持在用例執(zhí)行過程中嵌入SQL語句,以便從數(shù)據(jù)庫中取實際結(jié)果,用于斷言。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言通過提取頁面JS數(shù)據(jù)對象
15、(或JSON)、獲取格式化后的頁面文本內(nèi)容,來自動對比判斷結(jié)果是否正確(無需編寫斷言語句)。原始頁面頁面文本內(nèi)容揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 2靈活多樣的斷言機制 頁面控件值斷言 業(yè)務(wù)邏輯斷言 自定義斷言 頁面級UI斷言 后臺數(shù)據(jù)庫斷言 頁面級數(shù)據(jù)斷言在測試過程中如果一些斷言結(jié)果并不在前臺顯示,就需要自定義后臺斷言(操作移動設(shè)備、網(wǎng)絡(luò)設(shè)備等),并插入到測試執(zhí)行過程中。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 3根據(jù)腳本自動生成用戶化的報告?zhèn)鹘y(tǒng)的測試腳本用戶化測試腳本揭示研發(fā)管
16、理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 3根據(jù)腳本自動生成用戶化的報告有效減少文檔格式測試用例的維護成本,并保證用例和軟件功能的及時同步。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!實踐 3根據(jù)腳本自動生成用戶化的報告?zhèn)鹘y(tǒng)的自動化測試報告(如上圖)可讀性很差,不能直觀的體現(xiàn)整個測試過程。用戶化的測試報告(如右圖),可以非常直觀的充分還原整個測試過程。極大提升測試結(jié)果的分析效率,降低分析難度。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!發(fā)展規(guī)劃與模型驅(qū)動開發(fā)工
17、具結(jié)合,在模型生成實際頁面的同時,生成用戶化的測試腳本,并進行參數(shù)化。在基于產(chǎn)品線開發(fā)模式的項目中,支持在裝配軟件特性的同時,裝配測試用例。與云計算資源管理工具打包,形成完整的企業(yè)私有測試云解決方案。揭示研發(fā)管理白金定律,分享那些激動人心的創(chuàng)新與變革,使得團隊獲得過多源動力與更大的推動力!案例ROI分析投入工作量備注測試框架研發(fā)成本6人月一次性投入,具體視功能范圍而定測試腳本語法實現(xiàn)5人天一次性投入,可復(fù)用于相同UI框架開發(fā)所有項目測試腳本語法學(xué)習(xí)成本0.5人天掌握基本用法,不含在用例設(shè)計方面的經(jīng)驗積累 覆蓋基本流程的測試腳本開發(fā)工作量相對功能開發(fā)而言,幾乎可以忽略不計; 腳本維護、運行及結(jié)果分析總工作量降低至原來的1/10左右,回落到可控范圍; 降低自動化測試專業(yè)技能要求,團隊任何成員都可以完成; 界面可自動化測試的時機提前,不必等到功能穩(wěn)定之后,有力保障項目過程中每日構(gòu)建工作的開展; 斷言成本降低,準確率提升,有助于發(fā)現(xiàn)樣式瑕疵、用戶體驗差、內(nèi)存泄露等容易被忽略的缺陷; 其它附加回報提高自動化測試實施成功幾率、降低文檔格式測試用例維護成本、擴大用例復(fù)用范圍贏得其他團隊支持回報
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 庫房物資結(jié)存方案(3篇)
- 職業(yè)操守-評價方案(3篇)
- DB23-T3022-2021-市場主體電子檔案影像管理系統(tǒng)信息化規(guī)范-黑龍江省
- 初中家長生活管理制度
- 培訓(xùn)學(xué)員教學(xué)管理制度
- 倉儲現(xiàn)場管制方案(3篇)
- 園林環(huán)衛(wèi)服務(wù)管理制度
- 醫(yī)院精神衛(wèi)生管理制度
- 農(nóng)村養(yǎng)鴨日常管理制度
- 醫(yī)院合同評審管理制度
- 內(nèi)分泌科臨床路徑存在問題及整改措施
- 農(nóng)家樂出租合同協(xié)議書
- 2025年北京海淀初三二模語文試題及答案
- 2025年保定市中考二模歷史試題及答案
- 泰國餐飲勞務(wù)合同協(xié)議書
- 廣東省五校聯(lián)考2024-2025學(xué)年高一下學(xué)期5月月考生物試題(有答案)
- 2025年網(wǎng)絡(luò)安全專業(yè)技術(shù)資格考試試題及答案
- 二年級數(shù)學(xué)下冊應(yīng)用題專項練習(xí)卷(每日一練共38份)
- 2024年江蘇省無錫市中考生物真題
- 《危重癥患兒管飼喂養(yǎng)護理》中華護理學(xué)會團體標準解讀
- 《騰訊案例分析》課件
評論
0/150
提交評論