記錄一個bug,本地測不出來,客戶后台卻404,web測試可參考。(不知道是不是通用的)
先介紹下背景
我們是web產品,存在發布機、管理機、js文件,頁面會引用到這些js文件。出於安全考慮,規定js文件名稱和文件里面都不得帶有版本號。
現在描述bug的來龍去脈
比如某個js文件叫juery.2.1.1,有10個頁面引用了它。這時把它的名稱改掉,叫SuperSlide。按說那10個頁面里面的名稱也要相對應改掉,但是只改了7個頁面,3個漏
改了。所以講道理,這3個漏改的頁面,前台訪問的話會報js404錯誤。但是不然,本地測試環境的前台一切正常。
而把網站包導到客戶環境,再去訪問,就找不到js文件了,猝。
原因是啥呢?因為js文件是靜態資源,發布的時候,是“增量式發布”。即,修改js文件名稱和頁面里的名稱之前,發布過一次,這時發布機上存的是juery2.1.1文件---頁面
里面juery2.1.1的映射關系。修改過以后,對於那3個漏掉的頁面來說,再次發布,發布機里存的是Superslide文件---頁面里面juery2.1.1的映射關系。這時在前台訪問的話
會把所有的映射關系都遍歷一邊,即便在第二次的發布里找不到映射關系,在第一次的也能。總之,能找到引用的js文件,前台就不會報錯。
而客戶環境呢?是把本地修改后的網站包導到客戶環境的,那么對客戶環境進行發布之后,發布機存儲的只有Superslide文件---頁面里面juery2.1.1的映射關系,當然在
前台就報錯了!
如何測試呢?
1.測試人員把本地發布機的js文件全部刪除
2.本地訪問,檢查前台js報錯情況
以上,web測試的朋友可以參考。