A. 前端的開發調試測試的環境怎麼搭建
前端環境搭建系列的目的是把前端團隊作為一個整體,如何有效的團隊協同開發,第一部分開發環境。
1.代碼版本管理
SVN是必不可少了,版本號的規劃按照項目三位版本,開發四位版本來部署。比如我要做A項目,版本號為1.0.0,我第一次提測的代碼版本為1.0.0.1。每次四位版本按照tag區分。QA按照這個tag部署測試代碼,OP則部署線上代碼。
如果多個項目同時開發,就開分支。這些需要一個項目管理平台來管理版本。
2. 開發環境
我假設前端team的范疇是HTML CSS JS MVC中的V 和 C。最佳的環境是每個人一個開發環境,代碼通過SVN同步別人的代碼。但是文件的路徑全部都一致。
比如
css的img.xx.com/css
js的img.xx.com/js
flash的img.xx.com/swf
後台環境,假設每個後端開發也都有獨立的環境,如果和誰聯調代碼就讓他把配置指向你的V C目錄進行調試。
QA環境的debug問題,你的環境和QA環境代碼部署一致,能夠通過host切換靜態文件,如css js flash。畢竟前端的大部分問題是前端代碼的問題,V 和 C的問題就在自己的環境調試了,靜態資源切換到QA的host。
數據問題,最後有個大的造數據平台,通用一份資料庫,提供數據增加和修改的介面,這是理想狀態,當然這個平台也會很麻煩,實在不行就通過後端的數據操作介面操作數據。
3.編譯環境
可惡的前端代碼裸上,會有很多問題,大部分是性能問題,還有部分是緩存問題。
所以需要提供編譯環境,編譯流程放在提測前是安全的,因為會經過QA的質量檢測,如果在OP環節應該比較麻煩,編譯代碼的bug也沒人去測。
編譯一般解決的事情
1、批量的一些操作,比如版本號
2、代碼的合並和壓縮
3、代碼的優化或者職能替換,比如資源打包
我遇到過的開發狀況都不樂觀。所以有時間自己搭下試試有多復雜。
一般有公用開發環境,就一台機器一個host,不管主幹分支都放在那裡,可想又多混亂,還有前端無版本管理軟體,人肉維護多個並發版本。
或者有版本管理,開發環境還是多人一個,而且沒有host,靜態資源引入都是通過模板conf管理路徑的。這樣的代碼不利於資源路徑管理,特別是圖片,加入png半透明的需要全路徑,多個css合並的最好是根目錄路徑。
各種悲劇,此文到此結束。下篇為開發模式和模塊化。
B. 如何測試和評價一個前端控制項的性能
配置測試環境
只有在充分認識測試測試對象的基礎上,我們才知道每一種測試對象,需要什麼樣的配置,才有可能配置一種相對公平、合理的測試環境(這在性能對比測壓中尤其重要)。考慮到其它因素,如網路鎖、網速、顯示分辯率,資料庫許可權、容量等對測試結果的影響。如條件允許,我們最好能配置幾組不同的測試環境。
測試數據的獲取和處理
在所有的測試中,測試數據的收集工作都是較為困難的,GIS軟體更是如此,每一種軟體都有它的文件格式,有的軟體還有幾種格式。在這種情況下,我們只能把第三方格式的數據轉換成每一種被測試軟體自已的格式。同時,還應對數據作一定的處理,如處理數據冗餘,處理顯示風格等。如在測試時會更新數據,操作前一定要備份數據。其外,還應評估數據格式和數據量對測試的影響,如有必要,應准備多組數據。最後,一定要檢查測試數據的有效性,避免損壞數據對測試結果的影響。
C. Web前端站點有哪些功能測試的方法
有些測試方法的界限比較模糊,比如功能測試的同時會穿插一些兼容性和安全性的測試,以下列出簡單的一些點,可以參考下:
1、該頁所提供的功能邏輯方面有無問題;
2、各輸入項的合法性測試、輸入順序;(是否只做了前端的js驗證)
3、該頁許可權,既無訪問許可權的用戶能否直接訪問該頁;
4、不同瀏覽器下該頁的顯示;
5、該頁鏈接的參數是否可以修改,對功能的影響;
7、多個頁面打開該頁,進行操作,是否有不合法的影響;
8、網路環境異常情況下系統的處理;
9、頁面鏈接是否正確;
10、cookies測試;
D. 軟體測試和前端開發有什麼區別
在選擇之前可以先分別了解一下這兩個方向的主要工作職責是什麼。
一、軟體測試
字面意思,主要工作是測試軟體。發現軟體程序中的錯誤,對軟體是否符合設計要求,以及是否能達到技術要求,進行有關驗證,以及評估軟體的質量。
隨著IT類企業的大量增加,從而導致各類人才出現大量缺口,其中軟體測試人才更是緊缺。當然,這里說的是嚴格意義上的軟體測試開發工程師。
需要熟練標准規范的測試流程,能夠做性能,功能,自動化測試;熟練使用Linux操縱系統,獨立搭建測試環境;熟練MySQL、Oracle等資料庫的一種或多種;至少掌握Java、Python、C++等一門編程語言。
在蝸牛學苑的教學過程中,不但要教會學員做標準的軟體測試,還會教會學員自己開發自動化測試工具。我們會讓學員用這些工具來完成一些項目,但是這些工具對我們來說根本不是核心和重點,我們要教會大家的是不依賴於這些工具也可以完成自動化測試,這就牽涉到其背後的底層的工作原理,這些才是我們要學習的重點。
二、Web前端
前端開發是創建Web頁面或APP等前端界面呈現給用戶的過程。通過HTML、CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。前端技術變化比較快,需要不斷的學習。在終端應用場景不斷拓展的當下,前端開發的邊界也在不斷的拓展,崗位需求的數量也會呈不斷上升的趨勢。
蝸牛學苑在結合了企業需求、企業技術調研以及目前主流的技術分析和實戰後將Web前端課程重磅升級,增加了更多項目實戰,框架原理的分析,加強了前後端的實戰。不僅要學會怎麼用,還要知道是怎麼來的。
總之,軟體測試和Web前端都是不錯的專業,都有充足的上升空間和發展前景。根據你自己的興趣和擅長的方向來選擇吧。
E. 如何進行前端自動化測試
沒人邀請,路過回答。
前端測試是前端工程方面的重要分支,有過一些探索,這里簡單分享一下。
首先,還是要強調一點:
前端是一種特殊的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的展現問題已經是不小的進步了。
F. 前端自動化測試怎麼測試界面交互
在我的理解中,自動化對交互的支持比較低,也很少用於測試交互這方面,比如一個按鈕,當按下它之後按鈕本身發生了什麼變化,自動化測試一般都不關注,它關注的是按完這個按鈕之後。系統有沒有響應這個動作,有沒有觸發應該觸發的事件。
G. 前端測試具體是做什麼
1.檢測出一些潛在的bug。
2.快速反饋功能輸出,驗證代碼是否達到預期。
3.保證代碼重構的安全性(可參考測試用例達到的效果來進行對應的重構)。
4.方便協作開發(如其他人使用時,可直接閱讀測試用例)。
H. 前端 junit怎麼測試
給個郵箱地址,我給你發個資料。
你看看,能不能用。。。
I. 前端中怎樣將寫好的網頁在真機上進行測試
使用grunt+bower+webstorm作為前端開發工具,在開發移動端的時候,怎麼才能直接在真機上進行頁面調試?
舉個例子就是在IDE里寫html,手機上也會同步展示。
-------分隔線------
在各位大神的推薦下使用了browser-sync,發現真是神器啊,現在使用grunt-watch + browser-sync 可以實現了實時編譯。這里有個前端大牛裙前面是五五二中間是就一二後面是思五五連起來可以了,不是來學習請不要加了
在使用的過程中發現了一個問題,就是使用ip在本機是可以訪問的
http://192.168.2.224:3000/src/html/index.html
但是發到手機上就訪問不了了
確定是在同一個網段,路由器配置也檢查過了。。。實在找不到原因了
J. 前端開發好還是軟體測試好
web前端相當於是半個程序猿,測試門檻比較低但是薪資待遇也相對差一些。每當換行業時,總是不知道學習什麼,又怕自己入錯行了,那到底web前端和軟體測試哪個好呢?
了解web前端的知識
前端方面非常稀缺人才,如果懂H5那是非常好的了,而且待遇也不低,不過 瀏覽器兼容性是前端噩夢測試雖然入門門檻低,但是其實需要學的東西非常多,如果是web測試,那麼各種亂七八糟前端的東西都要去了解(JS,CSS,HTTP,HTTPS,POST請求,XML,JSON)起碼不會寫代碼,但是你要了解。
軟體測試的基礎知識
軟體測試還可以細分為功能測試,這個要求技術不高薪水也不高,屬於黑盒測試開發,這個介於黑盒和白盒之間,都要懂,而且要會代碼,薪資和開發比差不多;白盒測試,這個一般開發會做,也有給測試做的,薪資和開發差不多,基本持平自動化測試,這個基本要會寫代碼而且量還不少,薪水不錯性能測試,這個主要是性能分析,薪水也不錯,不比開發少安全測試這個基本就是搞安全的 這個能力有多強,薪資有多高。
web前端該掌握的基礎
web前端開發一般指網頁開發,學好CSS3是網頁外觀的重要一點,就是布局效果,CSS3可以幫助把網頁外觀做得更加美觀。學習JavaScript的基本語法,以及如何使用JavaScript編程將會提高開發人員的個人技能,JavaScript相對於前端來說,也是分量比較重的。也要認識一下NodeJS和PHP加上資料庫等這樣的後端語言,方便前後端開發配合,學習 HTML5、CSS3、響應式頁面布局、微網站製作等開發移動互聯網的應用。像Ajax、JQuery、jQueryMobile、Bootstrap、AngularJS等更是前端開發必學的高級技術,掌握精通這些可以拿到很滿意的薪資。
軟體測試邏輯性
軟體測試工程師與軟體工程師不同,軟體工程師大多是男生,因為軟體開發的工作需要很強的邏輯推理能力,而軟體測試工程師則不需要天天去思維創造,工作重點是在注重經驗的積累上面,同時,軟體測試工程師要查找軟體的缺陷需要具備的素質與女性所有的細心,耐心,安靜,敏感等各個方面很吻合。同時,女生做測試的優勢還在於溝通,女生應該比男生稍微細心點,這點對於發現Bug還是很有優勢的。
軟體測試是在軟體開發過程中,在不同階段對程序進行測試,發現程序中的錯誤,對軟體的質量進行控制,扮演著「把關人」的角色。細膩、敏感、認真、有耐心、想像力豐富、溝通能力強是女性與生俱來的性格特點,這些性格特點可以使女生在軟體測試工作中更加順利。