本發(fā)明涉及瀏覽器兼容性的測試方法技術(shù)領(lǐng)域,具體地說是一種基于自動化測試的瀏覽器兼容性測試方法。
背景技術(shù):
瀏覽器兼容性測試,是指在不同的瀏覽器中對目標(biāo)系統(tǒng)進(jìn)行測試,發(fā)現(xiàn)在頁面展示與功能事件響應(yīng)上的錯誤。
最常用的方法是矩陣法,橫坐標(biāo)是選定的不同瀏覽器,縱坐標(biāo)是選定的測試目標(biāo),交叉的部分記錄測試結(jié)果。通過人工在不同瀏覽器中完成同樣的操作,以完成測試矩陣。整個過程完全是人工操作,在功能數(shù)一定的情況下,工作量隨橫坐標(biāo)瀏覽器的數(shù)量成倍增加,人為因素也影響了測試的準(zhǔn)確性。
經(jīng)查詢專利網(wǎng),有一條瀏覽器兼容性測試專利,主要實(shí)現(xiàn)多瀏覽器同步操作指令。其發(fā)明原理是同時打開多個瀏覽器,其中一個是主瀏覽器,人工操作測試過程的同時,操作被轉(zhuǎn)化為指令,同步到其他瀏覽器,實(shí)現(xiàn)對其他瀏覽器的同步。優(yōu)點(diǎn)是實(shí)現(xiàn)了自動化,只需在一個瀏覽器中操作一遍,缺點(diǎn)是需要人工實(shí)時的、全程的對所有瀏覽器進(jìn)行監(jiān)控,測試目標(biāo)的每一個頁面變化和功能事件響應(yīng)還依賴人工判斷,且自動化使得這些變化同步進(jìn)行,一個人很難在同一時間兼顧到所有瀏覽器,就需要更多的人員參與測試過程,測試效率提升有限,且有局限性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種基于自動化測試的瀏覽器兼容性測試方法,提高瀏覽器兼容性測試的效率和準(zhǔn)確性,解決人工操作瀏覽器,人工監(jiān)控測試過程中人為因素對測試過程的和測試結(jié)果的影響。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于自動化測試的瀏覽器兼容性測試方法,將測試過程分為兩個階段,Web功能自動化測試階段和人工看圖階段,。Web功能自動化測試階段實(shí)現(xiàn)對多瀏覽器運(yùn)行過程進(jìn)行截圖并保存,人工看圖實(shí)現(xiàn)了對圖片的自動比對分析,對有差異的圖片再進(jìn)行人工分析。劃分兩個階段后,分別實(shí)現(xiàn)。Web功能自動化測試階段的產(chǎn)出物——屏幕截圖,作為人工看圖階段的輸入,通過截圖作為兩階段連接的橋梁。瀏覽器兼容性的主要表現(xiàn)有兩個,頁面的展示渲染和對事件的響應(yīng)?;赪eb功能自動化測試方法,如果設(shè)計的功能測試腳本能正確執(zhí)行通過,表明事件響應(yīng)是兼容的。頁面的展示渲染可以通過截圖,對每個頁面及其變化進(jìn)行截圖,再對圖片進(jìn)行分析,從而測試頁面展示渲染的兼容性。
一、Web功能自動化測試階段,可采用的現(xiàn)有的Web功能自動化測試方案有很多。如果有適合的方案,不必要自行開發(fā)實(shí)現(xiàn)。為實(shí)現(xiàn)進(jìn)行多瀏覽器功能測試的同時,完成對頁面的截圖,同時盡可能的提高執(zhí)行效率,應(yīng)選用支持多瀏覽器的Web功能自動化測試方案(必要條件),盡量滿足可分布式執(zhí)行、具有截屏功能的方案。這里選用開源的selenium作為Web功能自動化測試工具,支持Android、blackberry、chrome、edge、firefox、ie、opera、safari多種瀏覽器,滿足以上要求。分別對每個截圖編號保存,將作為人工看圖階段的輸入。
二、人工看圖階段,實(shí)現(xiàn)對截圖的管理和分析。開發(fā)了看圖系統(tǒng),主要功能包括:基線圖片庫的建立和維護(hù)、圖片自動比對、人工看圖。
1、基線圖片庫是一套完整的、正確的截圖,測試過程產(chǎn)生的截圖將于基線圖片庫中對應(yīng)的圖片進(jìn)行比對?;€圖片庫的建立是通過執(zhí)行測試,產(chǎn)生出截圖,人工判斷截圖的正確性。對正確的圖片進(jìn)行基線標(biāo)記,對不正確的圖片再次進(jìn)行截圖和修正,經(jīng)過多輪可建立起最初的基線圖片庫?;€圖片庫的維護(hù),當(dāng)有截圖新增、修改、刪除時,進(jìn)行標(biāo)記,更新基線圖片庫,維持基線圖片的完整性和正確性。
2、圖片自動比對,實(shí)現(xiàn)兩張圖片的比較,對發(fā)現(xiàn)差異的地方進(jìn)行特殊顯示。原理是,獲取到需要比對的兩張圖片,對其中一張圖片進(jìn)行色調(diào)取反,然后以0.5的插值將兩張圖片混合。如果兩張圖片完全一樣,混合后產(chǎn)生的新圖應(yīng)是一個顏色(灰色),如果有不同,則會區(qū)別顯示。
3、人工看圖,經(jīng)過上一步,自動分析出有差異的圖片,并生成一張混合的插值圖片。通過人工看圖分析的方法,對有差異的圖片進(jìn)行判斷,是否是錯誤,或需要更新基線圖片。人工工作量主要放在這個步驟,相對于傳統(tǒng)測試方法,極大減少了人工參與的程度。
本發(fā)明的一種基于自動化測試的瀏覽器兼容性測試方法和現(xiàn)有技術(shù)相比,具有以下有益效果:
本測試方法的核心是將測試過程分為兩個階段,Web功能自動化測試階段與人工看圖階段。Web功能自動化測試,擺脫了對人工的依賴,可安排在非工作時間完成,人工看圖有自動化輔助,只對差異圖片進(jìn)行人工分析,減少人工參與的工作量。本測試方法在提高測試效率的同時,也避免了人為因素的遺漏和錯判,提高測試的準(zhǔn)確性。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對本發(fā)明作進(jìn)一步說明。
一種基于自動化測試的瀏覽器兼容性測試方法,將測試過程分為兩個階段,Web功能自動化測試階段和人工看圖階段,。Web功能自動化測試階段實(shí)現(xiàn)對多瀏覽器運(yùn)行過程進(jìn)行截圖并保存,人工看圖實(shí)現(xiàn)了對圖片的自動比對分析,對有差異的圖片再進(jìn)行人工分析。劃分兩個階段后,分別實(shí)現(xiàn)。Web功能自動化測試階段的產(chǎn)出物——屏幕截圖,作為人工看圖階段的輸入,通過截圖作為兩階段連接的橋梁。瀏覽器兼容性的主要表現(xiàn)有兩個,頁面的展示渲染和對事件的響應(yīng)?;赪eb功能自動化測試方法,如果設(shè)計的功能測試腳本能正確執(zhí)行通過,表明事件響應(yīng)是兼容的。頁面的展示渲染可以通過截圖,對每個頁面及其變化進(jìn)行截圖,再對圖片進(jìn)行分析,從而測試頁面展示渲染的兼容性。
一、Web功能自動化測試階段,可采用的現(xiàn)有的Web功能自動化測試方案有很多。如果有適合的方案,不必要自行開發(fā)實(shí)現(xiàn)。為實(shí)現(xiàn)進(jìn)行多瀏覽器功能測試的同時,完成對頁面的截圖,同時盡可能的提高執(zhí)行效率,應(yīng)選用支持多瀏覽器的Web功能自動化測試方案(必要條件),盡量滿足可分布式執(zhí)行、具有截屏功能的方案。這里選用開源的selenium作為Web功能自動化測試工具,支持Android、blackberry、chrome、edge、firefox、ie、opera、safari多種瀏覽器,滿足以上要求。分別對每個截圖編號保存,將作為人工看圖階段的輸入。
二、人工看圖階段,實(shí)現(xiàn)對截圖的管理和分析。開發(fā)了看圖系統(tǒng),主要功能包括:基線圖片庫的建立和維護(hù)、圖片自動比對、人工看圖。
1、基線圖片庫是一套完整的、正確的截圖,測試過程產(chǎn)生的截圖將于基線圖片庫中對應(yīng)的圖片進(jìn)行比對?;€圖片庫的建立是通過執(zhí)行測試,產(chǎn)生出截圖,人工判斷截圖的正確性。對正確的圖片進(jìn)行基線標(biāo)記,對不正確的圖片再次進(jìn)行截圖和修正,經(jīng)過多輪可建立起最初的基線圖片庫。基線圖片庫的維護(hù),當(dāng)有截圖新增、修改、刪除時,進(jìn)行標(biāo)記,更新基線圖片庫,維持基線圖片的完整性和正確性。
2、圖片自動比對,實(shí)現(xiàn)兩張圖片的比較,對發(fā)現(xiàn)差異的地方進(jìn)行特殊顯示。原理是,獲取到需要比對的兩張圖片,對其中一張圖片進(jìn)行色調(diào)取反,然后以0.5的插值將兩張圖片混合。如果兩張圖片完全一樣,混合后產(chǎn)生的新圖應(yīng)是一個顏色(灰色),如果有不同,則會區(qū)別顯示。
3、人工看圖,經(jīng)過上一步,自動分析出有差異的圖片,并生成一張混合的插值圖片。通過人工看圖分析的方法,對有差異的圖片進(jìn)行判斷,是否是錯誤,或需要更新基線圖片。人工工作量主要放在這個步驟,相對于傳統(tǒng)測試方法,極大減少了人工參與的程度。
本測試方法是對瀏覽器兼容性進(jìn)行測試的方法,結(jié)合自動化測試方式與人工看圖方式,有效提高測試的效率和準(zhǔn)確性。本發(fā)明將測試過程分為兩個階段,Web功能自動化測試階段與人工看圖階段。Web功能自動化測試實(shí)現(xiàn)了對多瀏覽器運(yùn)行過程的截圖并保存,人工看圖階段實(shí)現(xiàn)了對圖片自動比對分析,對有差異的圖片進(jìn)行人工分析。本發(fā)明優(yōu)點(diǎn)是Web功能自動化測試,擺脫了對人工的依賴,可安排在非工作時間完成,人工看圖有自動化輔助,只對差異圖片進(jìn)行人工分析,減少人工參與的工作量。本測試方法在提高測試效率的同時,也避免了人為因素的遺漏和錯判,提高測試的準(zhǔn)確性。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。