當前位置:首頁 » 網頁前端 » 前端測試作用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端測試作用

發布時間: 2022-09-07 07:07:38

A. 如何進行前端自動化測試

沒人邀請,路過回答。

前端測試是前端工程方面的重要分支,有過一些探索,這里簡單分享一下。

首先,還是要強調一點:
前端是一種特殊的GUI軟體
看過我最近一年內做前端工程方面相關分享的人可能有印象,我總是在強調這一點。前端測試也跟這個理論基礎有所關聯。

在這里,我還想吐槽一下:
API測試方法論在測試GUI時並不能解決所有問題。
與很多前端工程師討論過前端測試,大家更多的還是盯著API測試方法論。誠然,前端有那麼一小部分代碼是可以用API測試保證質量的,但前端項目中的絕大多數代碼是GUI界面,前端測試應該向傳統GUI測試方法論需求解決方案:GUI軟體測試_網路 ,這個網路詞條介紹的很不錯,大家可以感受一下GUI測試相關概念和方法。它的測試用例、覆蓋率統計、測試方法等等都與API測試有著很大的不同。

統一了這個認知之後,我們來討論一下前端GUI測試的特殊性。根據網路詞條上的那些介紹,相信大家都能感覺到GUI測試的成本非常高,而前端這種特殊的GUI軟體,具有天生的快速迭代特徵,這使得case維護成本也變得非常高,經常跟不上迭代速度。


個標準的互聯網應用產品的前端部分,我粗略估計大概有20%的業務基礎代碼比較穩定,比如通用組件、通用演算法和數據模塊等,可以針對這些建立復雜一些的
API和GUI測試用例來保證質量。剩下80%的部分不是很穩定,每天都在迭代,針對他們維護case的成本非常高。目前業界中號稱做了自動化測試的項
目,也大多是在做那穩定的20%。

關於穩定部分的單元測試方法我這里就不贅述了, @貘吃饃香 的答案給出了很多關鍵字,有興趣的去搜索就好了。我想討論的是針對剩下80%不穩定部分的工程化測試方案。據我了解,前端測試面對這些問題還是很無力的,業內大部分團隊還是靠堆人解決。

面對這種現狀,我其實也沒想到過什麼好的方法,基本原則就是:以最低的成本建立和維護自動化測試用例。到目前為止,就想到過兩個方案(都不是測試方案,只是回歸測試輔助):

1. 不太靠譜的「超級工位」大法。
這個方案可以說根本不是什麼技術方案,而是一個辦公設施,就是我們准備一個工位,擺上所有我們需要測試的主流設備,然後設備通過某種方式與一台電腦相連接,測試人員坐在工位上,在電腦中輸入某個url,就能同步到所有設備中,然後開始逐個的人肉測試。
超級工位大法示意圖(應該很多設備的,這里就是隨便展示一下而已。。。)超級工位大法示意圖(應該很多設備的,這里就是隨便展示一下而已。。。)
相比現在的前端GUI測試,超級工位已經算是從0到1的飛躍了,雖然沒解決什麼技術問題,但為測試前的准備工作做好了鋪墊。如果把前端測試比作吃屎,超級工位就是為這餐准備了一個好一點的餐桌。。。

2. 靠譜一些的「頁面差異監控」

12
年的時候還在網路,當時有同事去美國參加velocity,twitter分享了一下他們的開發流程,其中有一個環節就是頁面對比監控,利用了一個叫
pdiff的工具,每次提交代碼,會自動對比頁面之間的差異然後提醒測試人員注意回歸。這也是一個典型的GUI測試零成本維護用例的案例。不過pdiff
這個工具是基於像素對比的,誤報率比較高,所以去年我做了一個這個項目:fouber/page-monitor · GitHub 基於DOM樹的diff,這樣就能很大程度上自主控制要監控的元素,可以設置監控樣式、文本的變化,比起像素diff智能了一些。


工作原理就是利用phantom或其他headless瀏覽器訪問頁面,然後截圖,然後執行一段js,遍歷整個dom樹,獲取元素計算樣式和元素內文本內
容,構造出一個JSON結構,然後每次diff這個json來判斷頁面差異,並標記在截圖上展示。dom樹的diff過程有點類似react的虛擬dom
樹diff。

(react的dom樹diff演算法示意圖)(react的dom樹diff演算法示意圖)
(react的dom樹diff演算法示意圖)(react的dom樹diff演算法示意圖)

DOM樹diff我們可以分辨出元素樣式修改/內容修改/新增元素/刪除元素四種不同的頁面差異,我們可以配置選擇器來忽略元素。四種頁面差異的效果圖:

新增元素(綠色區域標記部分,「i am new here」)新增元素(綠色區域標記部分,「i am new here」)
刪除元素(灰色區域標記部分,「你好」)刪除元素(灰色區域標記部分,「你好」)
內容修改(黃色區域標記部分,「百-度」,「新-浪」)內容修改(黃色區域標記部分,「百-度」,「新-浪」)
樣式修改(紅色區域標記的部分)樣式修改(紅色區域標記的部分)

基於這樣的頁面差異對比監控,我們可以建立一個任務系統,把應用的所有頁面url監控起來,這樣每次版本迭代提交代碼後,系統就能自動告訴我們,哪些頁面的元素展現發生了改變,用於確定回歸范圍。

用監控的方式確定測試回歸范圍,是一種「少吃屎」的手段,符合工程化要求,能比較大范圍的應用,雖然不能完美解決GUI中的交互問題,但能保證GUI的展現問題已經是不小的進步了。

B. 為什麼搜web前端搜出來是測試

因為這是web推出的頁面性能測試。
這個前端性能是關注單個用戶的感受。在這個階段,前端是測試跟開發同學要參與需求評審,在需求評審的過程中,開發同學會開始思考怎麼做。
後端性能關注是更多用戶訪問系統時,伺服器能更穩定,更快的處理用戶發來的請求。一個強大的後台是前台的基礎。

C. java中的前端,後端,測試,運維都包括哪些內容

前端主要是展示給用戶、接受用戶的輸入

後端主要是處理業務邏輯

人工測試,主要是測試這些界面邏輯是否符合用戶需要

D. Web前端站點有哪些功能測試的方法

有些測試方法的界限比較模糊,比如功能測試的同時會穿插一些兼容性和安全性的測試,以下列出簡單的一些點,可以參考下:
1、該頁所提供的功能邏輯方面有無問題;
2、各輸入項的合法性測試、輸入順序;(是否只做了前端的js驗證)
3、該頁許可權,既無訪問許可權的用戶能否直接訪問該頁;
4、不同瀏覽器下該頁的顯示;
5、該頁鏈接的參數是否可以修改,對功能的影響;
7、多個頁面打開該頁,進行操作,是否有不合法的影響;
8、網路環境異常情況下系統的處理;
9、頁面鏈接是否正確;
10、cookies測試;

E. 學「前端」還是「測試」好

學前端好。

前端即網站前台部分,運行在PC端,移動端等瀏覽器上展現給用戶瀏覽的網頁。隨著互聯網技術的發展,HTML5,CSS3,前端框架的應用,跨平台響應式網頁設計能夠適應各種屏幕解析度,合適的動效設計,給用戶帶來極高的用戶體驗。

核心技術:

前端中JavaScript是一種由Netscape的LiveScript發展而來的原型化繼承的面向對象的動態類型的區分大小寫的客戶端腳本語言,主要目的是為了解決伺服器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。

當時服務端需要對數據進行驗證,由於網路速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。於是Netscape的瀏覽器Navigator加入了Javascript,提供了數據驗證的基本功能。

F. 軟體測試和前端開發有什麼區別

在選擇之前可以先分別了解一下這兩個方向的主要工作職責是什麼。
一、軟體測試
字面意思,主要工作是測試軟體。發現軟體程序中的錯誤,對軟體是否符合設計要求,以及是否能達到技術要求,進行有關驗證,以及評估軟體的質量。
隨著IT類企業的大量增加,從而導致各類人才出現大量缺口,其中軟體測試人才更是緊缺。當然,這里說的是嚴格意義上的軟體測試開發工程師。
需要熟練標准規范的測試流程,能夠做性能,功能,自動化測試;熟練使用Linux操縱系統,獨立搭建測試環境;熟練MySQL、Oracle等資料庫的一種或多種;至少掌握Java、Python、C++等一門編程語言。
在蝸牛學苑的教學過程中,不但要教會學員做標準的軟體測試,還會教會學員自己開發自動化測試工具。我們會讓學員用這些工具來完成一些項目,但是這些工具對我們來說根本不是核心和重點,我們要教會大家的是不依賴於這些工具也可以完成自動化測試,這就牽涉到其背後的底層的工作原理,這些才是我們要學習的重點。
二、Web前端
前端開發是創建Web頁面或APP等前端界面呈現給用戶的過程。通過HTML、CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。前端技術變化比較快,需要不斷的學習。在終端應用場景不斷拓展的當下,前端開發的邊界也在不斷的拓展,崗位需求的數量也會呈不斷上升的趨勢。
蝸牛學苑在結合了企業需求、企業技術調研以及目前主流的技術分析和實戰後將Web前端課程重磅升級,增加了更多項目實戰,框架原理的分析,加強了前後端的實戰。不僅要學會怎麼用,還要知道是怎麼來的。
總之,軟體測試和Web前端都是不錯的專業,都有充足的上升空間和發展前景。根據你自己的興趣和擅長的方向來選擇吧。

G. web前端是做什麼的

web前端工作:

1、負責網站的前端開發 ,實現產品頁面交互和功能實現 。

2、與程序開發人員密切合作 ,制定前端和後端程序介面標准 。

3、不斷優化前端體驗和頁面響應速度 ,優化代碼,保持良好的兼容性 ,提高web界面易用性 。

4、完成產品設計、開發、測試 、修改等工作 。

5、解決項目開發過程中遇到的技術和業務問題 。

前端工程師:

前端工程師是互聯網時代軟體產品研發中不可缺少的一種專業研發角色。從狹義上講,前端工程師使用HTML、CSS、JavaScript等專業技能和工具將產品UI設計稿實現成網站產品,涵蓋用戶PC端、移動端網頁,處理視覺和交互問題。

從廣義上來講,所有用戶終端產品與視覺和交互有關的部分,都是前端工程師的專業領域。前端是最接近產品和設計的工程師,起到銜接產品和技術的作用,前端為用戶可以看到的部分負責。

H. 前端測試和後端測試的區別

前端主要是客戶端頁面和介面,後端主要是服務端和介面

I. 前端測試有哪幾種類型

目前在軟體系統開發中,測試是一個非常重要的環節,特別是前端測試,有幾種類型的測試被認為是前端測試所必需的,讓我們簡單了解一下。

01

單元測試

在修復bug或添加一點功能時,軟體的其他部分可能會停止工作。為了處理這種情況,單元測試將代碼的各個部分分開,以單獨檢查其准確性。跳過或最小化單元測試可能會導致修復缺陷的成本增加。Javascript單元測試包括一個套件中有組織的測試數量,這些測試彼此不沖突,並且相互之間的依賴性更少。

02

端到端測試

端到端測試涵蓋了應用程序從頭到尾的流程,結束測試跟蹤用戶的旅程,如打開瀏覽器、導航,並體驗完整的生產場景。端到端測試驗證互連系統和軟體系統,它包括一個完整的前端和後端系統。

03

集成測試

集成測試的目的是使模塊/組件按預期運行。集成測試技術應用於許多模塊緊密耦合的大型應用中,模塊被單獨測試,一旦集成,組合行為被驗證,它是與開發並行進行的。在集成測試中,您需要更多的邏輯技能,因為在測試期間,某些模塊可能尚未准備就緒或正在構建中。

集成時使用測試存根和驅動程序,集成測試將分析開發人員實現的邏輯是否遵循規定的標准。當模塊與第三方API交互時,查看響應非常重要。當開發人員跳過單元測試時,集成測試就不可避免了。

04

功能測試

功能測試,用於驗證應用程序或網站對目標用戶能正確工作。使用適當的平台、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好。功能測試是為了確保程序以期望的方式運行而按功能要求對軟體進行的測試,通過對一個系統的所有的特性和功能都進行測試確保符合需求和規范。

05

可視化/用戶界面測試

視覺/UI測試包括屏幕截圖的驗證。這是一項質量保證活動,旨在確保屏幕在任何設備、屏幕解析度、瀏覽器和操作系統上的外觀與預期一致。通過無頭瀏覽器中捕獲的不同屏幕截圖比較渲染版本的結果,可視化回歸測試允許您檢測偏差。

在構建應用程序時,事情會變得過載和復雜,這種情況很容易破壞現有的功能並引入新的bug—單元、行為和集成測試將到位,以使應用程序穩定。

06

性能/壓力測試

性能測試是一種非功能性技術,它在各種工作負載下檢查軟體的穩定性、響應性、速度、可靠性和資源使用等系統參數。

壓力測試:應用程序被重載以檢查意外行為並了解其承受能力。

為網站執行一個高質量的前端測試將提高生產力,並增加客戶對您的服務的依賴。了解趨勢通用模式並結合專家經驗來定義質量測試套裝是很重要的。

07

跨瀏覽器測試

Web端應用測試主要障礙之一就是在不同的瀏覽器上「測試他們的網站/應用程序」,也稱為「跨瀏覽器測試」或者「兼容性測試」。瀏覽器和瀏覽器版本很多(Google Chrome,Mozilla Firefox,Internet Explorer,Microsoft Edge,Opera,Yandex等),可以通過多種設備(通過台式機,筆記本,智能手機,平板電腦等)訪問網站/應用。)以及可能用於訪問網站的多種操作系統(Windows,MacOS,Linux,Android,iOS等)。

要確保網站的UI/UX及其功能正常運行,並且在「瀏覽器+瀏覽器版本+操作系統+設備配置」的組合上沒有任何BUG,則將需要大量的開發,測試和維護工作。