① WebUI 自動化測試的經典設計模式:PO
先來看下未使用 PO(PageObject) 設計模式下的代碼,以網頁版網路登錄為例來說明。
非 PO(PageObject) 模式下的代碼如下,所有內容全部寫在一個方法里。
存在的問題:
PO(PageObject) 模式優化後的代碼
1、WebUI 自動化需要的 driver 基礎操作
2、登錄頁面元素獲取
3、登錄邏輯業務的封裝
4、登錄測試用例將使用以上3個頁面對象
可以發現,使用 PO(PageObject) 模式優化後的代碼,有以下明顯優勢:
1)、將以下3個模塊進行了單獨封裝 【降低了模塊之間的耦合度,使層次更加清晰合理,便於後期維護與復用】:
2)、如果前端頁面有 定位元素的 type 或 value 發生變化時,只需要修改 elements.py 文件中元素信息即可 ,不需要在測試業務模塊中進行修改。
② 【web測試】界面測試(UI)
簡稱UI測試,測試功能模塊界面上看到的所有元素(包括文字、控制項等)顏色風格是否統一,布局是否合理、美觀,符合用戶習慣等等
核實用戶與軟體之間的交互,確保用戶界面會通過測試對象的功能來為用戶提供相應的訪問或瀏覽功能
如:頁面基調顏色刺眼;用戶登入頁面比較難於找到;文字中出現錯別字;頁面圖片范圍太廣
缺陷影響:用戶友好性、人性化、易操作性
進入一個頁面測試,首先是檢查title、頁面排版、欄位等,而不是馬上進入文本框校驗
(1)頁面名稱title是否正確
(2)文字格式統一性,字體屬性是否正確
(3)元素大小是否合適,元素內容是否顯示正確、易懂、友好
(4)排版是否整齊,界面元素是否對齊方式統一
(5)列表項顯示欄位是否齊全,列表項欄位名稱是否跟表單統一
(6)同一頁面,是否出現欄位名稱相同、值取不同的問題。
(7)數據載入情況。
(1)文案:字體、字型大小、格式、規范(標題和正文、中英文換行、錯別字、大小寫、全半形標點);
(2)圖片:類型、大小、尺寸、是否變形;
(3)布局:尺寸大小、位置合理、排序規律、對齊方式
(4)控制項:對話框、文本框、滑動滾輪、上下微調按鈕、選項按鈕
(5)快捷鍵:是否重復、如何切換、是否沖突、和系統常用快捷鍵沖突、和其他軟體快捷鍵沖突、常用鍵盤鍵
③ 一般大公司UI自動化測試使用什麼工具呢
1、Selenium:該軟體是一個用於Web應用程序測試的工具。其測試直接運行在瀏覽器中,支持的瀏覽器包括IE、Mozilla Firefox、Mozilla Suite等。支持Net、Java、Perl等不同語言的測試腳本。
2、Soapui:SoapUI是一款開源測試工具,通過soap/http來檢查、調用、實現Web Service的功能/負載/符合性測試。可快速的幫助用戶進行http的介面測試,並且還支持進行檢查,監控、符合等功能。
3、Robot Framework:該軟體是一款python編寫的功能自動化測試框架。具備良好的可擴展性,支持關鍵字驅動,可以同時測試多種類型的客戶端或者介面,可以進行分布式測試執行。主要用於輪次很多的驗收測試和驗收測試驅動開發。
4、QTP:該軟體提供符合所有主要應用軟體環境的功能測試和回歸測試的自動化。採用關鍵字驅動的理念以簡化測試用例的創建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。
5、Jmeter:JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現;可以用於測試靜態或者動態資源的性能(文件、Servlets、Perl腳本、java對象、資料庫和查詢、ftp伺服器或者其他的資源)。
④ Web測試的主要內容和測試方法有哪些
測試分類:
1、界面測試
1)給用戶的整體感:舒適感;憑感覺能找到想要找的信息;設計風格是否一致
2)各控制項的功能
2、功能測試
1)刪除/增加某一項:是否對其他項造成影響,這些影響是否都正確
2)列表默認值檢查
3)檢查按鈕功能是否正確:新建、編輯、刪除、關閉、返回、保存、導入、上一頁、下一頁、頁面跳轉、重置(常見錯誤)
4)字元串長度檢查:超出長度
5)字元類型檢查
6)標點符號檢查:空格、各種引號、Enter鍵
7)特殊字元:常見%、「、」
8)中文字元:是否亂碼
9)檢查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息與添加信息是否一致
10)信息重復:需唯一信息處,比如重復的名字或ID、重名是否區分大小寫、加空格
11)檢查刪除功能:不選擇任何信息,按Delete,看如何處理;選擇一個或多個進行刪除;多頁選、翻頁選刪除;刪除是否有提示
12)檢查添加和修改是否一致:添加必填項,修改也該必填;添加為什麼類型,修改也該什麼類型
13)檢查修改重名:修改時把不能重名的項改為已存在的內容
14)重復提交表單:一條已經成功提交的記錄,返回後再提交
15)檢查多次使用返回鍵:返回到原來頁面,重復多次
16)搜索檢查:存在或不存在內容,看搜索結果是否正確;多個搜索條件,同時輸入合理和不合理條件;特殊字元
17)輸入信息的位置
18)上傳下載文件檢查:功能是否實現,
上傳:上傳文件是否能打開、格式要求、系統是否有解釋信息、將不能上傳的文件格式修改後綴為可上傳的文件格式;
下載:下載是否能打開、保存、格式要求
19)必填項檢查:必填項未填寫;是否有提示,如加*;對必填項提示返回後,焦點是否自動定位到必填項
20)快捷鍵檢查:是否支持快捷鍵Ctrl+C、Ctrl+V、backspace;對不允許做輸入的欄位(如:下拉選項),對快捷方式是否也做了限制
21)Enter鍵檢查:輸入結束後按Enter鍵,系統如何處理
22)刷新鍵檢查:按瀏覽器刷新鍵如何處理
23)回退鍵檢查:按瀏覽器回退鍵如何處理
24)空格檢查:輸入項輸入一個或多個空格
25)輸入法半形全形檢查:比如,浮點型,輸入全形小數點「。」或「. 」,如4. 5;全形空格
26)密碼檢查:輸入加密方式的極限字元;密碼盡可能長
27)用戶檢查:不同種類管理員用戶的不同許可權,是否可以互相刪除、管理、編輯;一般用戶的許可權;注銷功能,老用戶注銷再注冊,是否為新用戶
28)系統數據檢查:數據隨業務過程、狀態的變化保持正確,不能因為某個過程出現垃圾數據,也不能因為某個過程而丟失數據。
29)系統可恢復性檢查:以各種方式把系統搞癱,測試系統是否可以迅速恢復
30)確認提示檢查:系統更新、刪除操作:是否有提示、取消操作;提示是否准確;事前、事後提示
31)數據注入檢查:對資料庫注入,特殊字元,對SQL語句進行破壞
32)時間日期檢查:時間、日期、時間驗證:日期范圍是否符合實際業務;對於不符合實際業務的日期是否有限制
33)多瀏覽器驗證
3、性能測試
1)壓力測試:實際破壞一個Web應用系統,測試系統的反應,測試系統的限制和故障恢復能力
2)負載測試:在某一負載級別上的性能,包括某個時刻同時訪問Web的用戶數量、在線數據處理的數量
3)強度測試:測試對象在性能行為異常或極端條件下(如資源減少或用戶過多)的可接受性,以此驗證系統軟硬體水平
4)資料庫容量測試:通過存儲過程往資料庫表中插入一定數量的數據,看是否能及時顯示
5)預期指標的性能測試:在需求分析和設計階段會提出一些性能指標,對於預先確定的性能要求要首先進行測試
6)獨立業務性能測試:對核心業務模塊做用戶並發測試,包括同一時刻進行完全一樣的操作、同一時刻使用完全一樣的功能
7)組合業務性能測試:模擬多用戶的不同操作,最接近實際用戶使用情況,按用戶實際的實際使用人數比例來模擬各個模塊的組合並發情況
8)疲勞強度性能測試:系統穩定運行情況下,以一定負載壓力來長時間運行系統的測試
9)網路性能測試:准確展示帶寬、延遲、負載、埠的變化是如何影響用戶的相應時間的
10)大數據量性能測試:實時大數據量,模擬用戶工作時的實時大數據量;極限狀態下的測試,系統使用一段時間,積累一段數據量時能否正常運行,以及對前面兩種進行結合
11)伺服器性能測試:在進行用戶並發性能測試、疲勞強度、大數據量性能測試時,完成對伺服器性能的監控,並進行評估
12)一些特殊的測試:配置測試、內存泄漏的一些特殊測試
4、可用性測試(介面測試)
1)整體界面測試
2)多媒體測試
3)導航測試
5、客戶端兼容性
平台測試:windows;unix;macintosh;linux
瀏覽器測試:不同廠商的瀏覽器對Java、Javascript、ActiveX、plug-ins或不同的HTML的規格
不同的支持;框架和層次結構在不同瀏覽器也不同的顯示
6、安全性
安全性測試要求:
1)能夠對密碼試探工具進行防範
2)能夠防範對Cookie攻擊的常用手段
3)敏感數據保證不用明文傳輸
4)能防範通過文件名猜測和查看html文件內容獲取重要信息
5)能保證在網站收到工具後在給定時間內恢復,重要數據丟失不超過1小時
web的性能測試工具:
隨著Web2.0技術的迅速發展,許多公司都開發了一些基於Web的網站服務,通常在設計開發Web應用系統的時候很難模擬出大量用戶同時訪問系統的實際情況。
因此,當Web網站遇到訪問高峰時,容易發生伺服器響應速度變慢甚至服務中斷。
為了避免這種情況,需要一種能夠真實模擬大量用戶訪問Web應用系統的性能測試工具進行壓力測試,來測試靜態HTML頁面的響應時間,甚至測試動態網頁(包括ASP、PHP、JSP等)的響應時間,為伺服器的性能優化和調整提供數據依據。
1、企業級自動化測試工具WinRunner
MercuryInteractive公司的WinRunner是一種企業級的功能測試工具,用於檢測應用程序是否能夠達到預期的功能及正常運行。
2、工業標准級負載測試工具Loadrunner
LoadRunner是一種預測系統行為和性能的負載測試工具
3、全球測試管理系統testdirector
TestDirector是業界第一個基於Web的測試管理系統,它可以在您公司內部或外部進行全球范圍內測試的管理。
4、功能測試工具RationalRobot
IBMRationalRobot是業界最頂尖的功能測試工具,它甚至可以在測試人員學習高級腳本技術之前幫助其進行成功的測試。
它集成在測試人員的桌面IBMRationalTestManager上,在這里測試人員可以計劃、組織、執行、管理和報告所有測試活動,包括手動測試報告。
這種測試和管理的雙重功能是自動化測試的理想開始。
5、單元測試工具xUnit系列
目前的最流行的單元測試工具是xUnit系列框架,常用的根據語言不同分為JUnit(java),CppUnit(C++),DUnit(Delphi),NUnit(.net),PhpUnit(Php)等等。
該測試框架的第一個和最傑出的應用就是由ErichGamma(《設計模式》的作者)和KentBeck(XP(ExtremeProgramming)的創始人)提供的開放源代碼的JUnit.
6、功能測試工具SilkTest
BorlandSilkTest2006屬於軟體功能測試工具,是Borland公司所提出軟體質量管理解決方案的套件之一。
這個工具採用精靈設定與自動化執行測試,無論是程序設計新手或資深的專家都能快速建立功能測試,並分析功能錯誤。
7、性能測試工具WAS
是由微軟的網站測試人員所開發,專門用來進行實際網站壓力測試的一套工具。
透過這套功能強大的壓力測試工具,您可以使用少量的Client端計算機模擬大量用戶上線對網站服務所可能造成的影響。
8、自動化白盒測試工具Jtest
Jtest是parasoft公司推出的一款針對java語言的自動化白盒測試工具,它通過自動實現java的單元測試和代碼標准校驗,來提高代碼的可靠性。
parasoft同時出品的還有C++test,是一款C/C++白盒測試工具。
9、功能和性能測試的工具JMeter
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現。
10、性能測試和分析工具WEBLOAD
webload是RadView公司推出的一個性能測試和分析工具,它讓web應用程序開發者自動執行壓力測試;webload通過模擬真實用戶的操作,生成壓力負載來測試web的性能。
(4)web方式ui性能測試擴展閱讀:
漏洞測試
企業網站做的越來越復雜、功能越來越強。不過這些都不是憑空而來的,是通過代碼堆積起來的。如果這個代碼只供企業內部使用,那麼不會帶來多大的安全隱患。
但是如果放在互聯網上使用的話,則這些為實現特定功能的代碼就有可能成為攻擊者的目標。
天眼舉一個簡單的例子。在網頁中可以嵌入SQL代碼。而攻擊者就可以利用這些SQL代碼來發動攻擊,來獲取管理員的密碼等等破壞性的動作。
有時候訪問某些網站還需要有某些特定的控制項。用戶在安裝這些控制項時,其實就有可能在安裝一個木馬(這可能訪問者與被訪問者都沒有意識到)。
為此在為網站某個特定功能編寫代碼時,就要主動出擊。從編碼的設計到編寫、到測試,都需要認識到是否存在著安全的漏洞。
天眼在日常過程中,在這方面對於員工提出了很高的要求。各個員工必須對自己所開發的功能負責。
已知的病毒、木馬不能夠在所開發的插件中有機可乘。通過這層層把關,就可以提高代碼編寫的安全性。
⑤ web ui自動化測試框架有哪些
冒昧的說一句,您這個問題問的可能比較大。
因為從自動化測試角度講的測試框架有很多種;而且並沒有什麼固定的條條框框。全部是根據測試需要及公司產品開發現狀進行搭建的。從通俗的
整體的角度講只要滿足:測試輸入(腳本編寫)-》測試執行-》...
⑥ UI測試、功能測試和兼容性測試
關於網站 測試 的幾個小套路,希望對大家有所幫助。
因為所在團隊沒有專業測試人員,所以測試 工作 由我這個產品新人來負責。本文是抱著總結才能提升的小心思,想來簡單寫寫從測試零經驗到開發葛葛「談心」的次數逐漸變少,這期間所踩過得坑和心得體會。
一、 UI測試
用戶界面測試主要是拿待測網頁和設計稿進行對比,個人覺得主要需做到以下4點:
1.注重細節:
這點最基本,就是對比時細心、細心再細心。像我現在被虐到網頁上元素和設計稿差一個像素都能看出來…
2.勿忘整體性:
由於PC網頁頁面空間大,模塊多,很容易在測試時只注意到模塊內設計元素是否正確,而忽略了模塊間的間距或整個頁面的布局是否正確。所以最好按照由局部到整體的順序測試。
3.注意頁面間相互對比:
即注意相同系列頁面、頁簽布局一致性。就是說的是同一系列頁面中同類元素和模塊的樣式、間距一般要相同;同一個tab下,不同選項對應
的頁簽中同類元素和模塊的樣式、間距一般要相同。例如下圖QQ空間-日誌頁面里我的日誌和私密日記tab中,紅框圈出的位置高度是否一致。
一般情況下這些不一致問題出現的情況不多,畢竟相類似的布局前端同學應該會用相同的盒子,但是測試時還是需要留意。
4.注意極端情況下顯示情況:
即要注意長度可變的元件、模塊或欄位在極端情況下的顯示是否正常。
例如: 文章 標題最多可顯示50字元(25漢字),測試時就要在所有會出現標題的位置(文章列表頁、推薦邊欄、轉發彈框…)是否能正常顯示含有50字元的標題,會不會出現破框而出、自動切掉等情況。
由於UI測試時需要檢查的細節很多,特別是像我們團隊,網站還在搭建中並未上線,UI測試的工作量更是大,測久了難免會覺得枯燥繁瑣,但其實每項任務都能總結出套路、有所收獲,故下面僅列出我平時在測這部分時的主要注意點和心得。
UI測試注意點總結:
1、模塊間距
2、元素間距
3、不同類型文本(數字、漢字、英文)顏色、格式(全形、半形)大小、字體、(不必須)
4、固定文案:內容的可讀性、正確性?排版的合理性
5、可變欄位:極多、極少文字的排版情況
6、Icon用錯、用混
7、相似頁面的差異性和一致性
小體會:
其實界面測試雖然沒啥 技術 含量,但測久了就會發現自己對網頁元素有時彼此間的間距差了1、2個像素,整體的視覺效果就尺寸和布局的敏感度有提升,例如像同樣一組元素,會大有不同, web 是這樣, 移動 端更是如此。
隨手畫張圖舉個栗子:左圖網頁做出來名稱、作者、互動統計三者之間行距相等,中文字大小相
同,而設計稿原本應如右圖,行距不同,不同欄位的字型大小也不同。所以假如測試時遇到類似這種問題,我們除了可以提個bug,還會被引導去思考設計初衷,即利用間距細微差異進行視覺分組,利用字型大小細微差異突出主次。
二、 功能測試
1.操作反應:
(1) 頁面元素(按鈕、錨文本、輸入框…)自身狀態變化:滑鼠移入/移出時效果、點擊後效果、獲取/失去焦點時效果…(可以想想axure里的用例狀態)
eg:滑鼠移入按鈕,按鈕是底色是否應改變;若輸入框內有默認提示文字,則是當輸入框獲得焦點後文字就消失,還是用戶輸入文字後提示文字才消失…
(2)操作成功後續反應:頁面跳轉、彈框、提示文字…
a.頁面跳轉:
頁面切換方式:另開頁面、本頁切換
頁面起始定位:頁面起始位置、頁面其他錨點(例如用戶想評論某文章,在列表頁點評論按鈕後,就會在另開的文章內容頁直接定位到評論區)
b.彈框:
匹配情況:彈出的彈框是否和觸發條件匹配
出現位置:一般情況下要一致。因為彈框使用不同插件,可能導致彈出位置不同。
顯示時間(非操作類彈框):某些僅起到提示功能的彈框會自動顯示若干秒關閉。一般情況此類彈框上文案較少,顯示秒數應該是全站一致的。
c.提示文字:
匹配情況:出現的提示文案是否和觸發條件匹配
關於操作成功後續反應,以上主要是在已確定會觸發某反應情況下,測試其正確性。其實這里更重要的是要考慮在前置條件不同的情況下,對某元素進行相同操作,會觸發什麼不同的反應。即需要對各類情況進行窮舉。
eg:點擊關注按鈕觸發反應窮舉:
a.未登錄用戶點擊該按鈕後效果;
b.已登錄用戶點擊該按鈕後效果(b1.未關注過對方、b2.已關注過對方、b3.自己關注自己)
窮舉時可以參考PRD,但不要局限於PRD上列出的情況,畢竟有時也許PRD上會有小疏漏,要是程序員做的時候發現疏漏,就自己隨手碼了一個簡易提示而忘記通知產品,而測試的時候也沒觸發到,等用戶實際操作出來就會造成不佳的用戶體驗。
原文來自:http://www.51testing.com/html/10/n-3714410.html