【web測試】你必須驗證的檢查點

本文章轉載于搜狗測試

選擇題

下列哪些產品的測試屬于web測試?

A. 12306網站B. 搜狗輸入法C. 搜狗瀏覽器D. 搜狗壁紙E. ie1.0

我的觀點

要回答這道問題,首先要明確什么是web測試?

兩年前的我會這樣回答:網站的測試就是web測試;

而現(xiàn)在的我會這樣回答:互聯(lián)網產品的測試是web測試。

那什么是互聯(lián)網產品呢?

互聯(lián)網產品經理?肯定不是 :-D

我把互聯(lián)網產品定義為有網絡請求的軟件(ps:這個理解可能不準確),按照我的理解,那開篇的這道題就有答案了,A一定是,B、C、D也是。

當代的互聯(lián)網產品,在優(yōu)化用戶體驗的路上越走越遠,這些產品會通過發(fā)送網絡請求的方式,在降低程序自身大小的同時提高用戶體驗。

ie1.0:為什么沒有我?

我:個人認為,作為ie的第一個版本,應該只是個本地的腳本解釋器吧(可能是對ie有偏見導致我這么想的。。。希望有了解的同學可以為ie正名)。

回到正題:web測試的關注點有哪些呢?

我們做為一名測試工程師,對功能、性能、兼容性、UI、安全、接口,這些名詞應該都不陌生,而每個人對這些名詞都有各自的理解。

下面先來說說我總結的功能測試關注點:

什么是功能測試?

問:這個產品要實現(xiàn)的功能是哪來的?

答:產品經理在需求文檔中定義的。

問:那我們怎么進行功能測試呢?

答:根據需求文檔寫用例,然后執(zhí)行用例。

說起來功能測試就這么簡單,那為什么還會有犯迷糊的同學呢?因為功能測試難就難在設計用例的方法和執(zhí)行用例的方法上。關于設計用例和執(zhí)行用例的方法,大家可以翻閱之前關于黑盒測試的文章,會有詳細的介紹,而今天我們說說頁面功能測試的關注點:

鏈接

表單

頁面寫法

鏈接

一個網站是由千萬個頁面組成的,那么連接他們的就是“鏈接”,所以鏈接就是功能測試中的一個關注點。鏈接有很多種寫法來實現(xiàn):直接寫個連接、js跳轉、服務器跳轉等等。一般的門戶網站,例如搜狐主頁,不用想就知道,一個頁面上有成千上萬個鏈接。如果一個一個點擊去驗證,那效率就太低了。所以測試這些鏈接,我們一定要用工具。這里介紹一個掃死鏈的工具,名叫“xenu”,他能快速的查出一個頁面中的死鏈,而且可以檢查多級鏈接(但是一定要記得設置掃描級別,不然它會像爬蟲一樣掃上百層的鏈接,這樣會導致網絡癱瘓的)。

表單

表單是web頁面里最容易出問題的地方之一,因為他有很多危險的地方:post表單數據的時候、操作數據庫的時候、接收返回值的時候;表單數據的格式是我們每次執(zhí)行測試時都會驗證的地方。對一個文本框設計用例,相信大家都有一籮筐的方法,邊界值、等價類劃分、多文本框時正交實驗法等等,這里就不贅述了。我想說的是一些容易疏忽的地方,例如:注入js腳本、注入sql腳本、輸入單獨的特殊符號(例如:一個雙引號,一個點)、輸入一個空格,一個大括號等等,這些都是要特別注意的;我們的前端開發(fā)一般會通過正則來過濾這些特殊符號,但是可能會有一些遺漏,而一旦這些異常字符或者字符串順利通過前端的過濾,進入后臺,而后臺同樣沒有做類似的處理,那后果是很嚴重的。12306官網曾經爆出的用戶數據泄露,就是sql注入導致的,chrome瀏覽器的第一個bug,地址欄輸入一個“.”,導致崩潰,這些都是活生生的例子,所以作為測試,一定不能放過每一個小符號。

頁面寫法

怎樣才能說一個前端開發(fā)是個高手?

頁面代碼寫的易讀、注釋清晰、代碼復用度高,這是首先能想到的。再深入一點:頁面符合w3c標準,靜態(tài)文件引用合理,頁面加載速度快,再高手一點呢?嚴格遵守雅虎34條軍規(guī)---這個應該很少有開發(fā)能做到吧 。

那對于我們測試要關注哪些地方呢?

與開發(fā)確認頁面里每一個引用的文件都是有用的,因為一個沒用的引用會影響頁面的加載速度;

header的第一行一定要是聲明字符集的標簽,如果不是可能會導致在聲明字符集之前加載的頁面元素亂碼(當代瀏覽器會優(yōu)化頁面的加載順序,優(yōu)先加載字符集聲明,但是優(yōu)良的傳統(tǒng)還是要保持下去);

JS最好放到頁面的最后,一些需要先加載的js最好要抽離出來放到header里,這樣能保證頁面更快的展現(xiàn)出來;

js和css在上線前要做加密。查看一下搜狗主頁的源碼,你會發(fā)現(xiàn)一堆密密麻麻的代碼,這就是加密過的,好處是減小頁面的體積更利于網絡傳輸、并且可以提高我們代碼的閱讀成本;

頁面的js和css盡量外部調用。好處是頁面的靜態(tài)文件理論上都是可緩存的,外部調用提高頁面的相應速度的同時還能減小服務器的壓力,而且比起那些都寫在一起的代碼更易維護;

可能有人會說,這些都是開發(fā)要考慮的事兒???但是作為一名優(yōu)秀的測試工程師,要做的不僅僅是發(fā)現(xiàn)Bug,而是要給產品提出合理化的改進建議;給開發(fā)提出效率更高、成本更低的實現(xiàn)方案;共同持續(xù)優(yōu)化我們的產品;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評論 25 709
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,126評論 1 92
  • 22年12月更新:個人網站關停,如果仍舊對舊教程有興趣參考 Github 的markdown內容[https://...
    tangyefei閱讀 35,395評論 22 257
  • 我也不知道為什么寫這篇文章,大抵是太過無聊了吧,才回憶起那段往事…… 可往事如風,觸摸不到,卻又無時無刻圍繞在你身...
    小屋客人閱讀 335評論 0 1
  • 文/余笙 最近看了東野圭吾的《虛無的十字架》和《信》,前者還用到了推理而最終揭露秘密但相比《嫌疑人X的獻身》來說更...
    栗小乖閱讀 842評論 0 0

友情鏈接更多精彩內容