看過了千里大腿的blog,再加上最近也有一些同學問我web與app測試的區別。所以在這里也獻丑,寫一篇隨筆。希望對大家有所幫助。
筆者做了快三年的測試了。大部分時間都在做app的測試,web測試也做了半年左右。其實我覺得這兩者並沒有什么大的區別。
僅僅從功能測試的層面上來講的話,在流程和功能測試上是沒有區別的。那么區別在哪里呢?
我個人覺得就是由於載體不一樣,所以系統測試和一些細節可能會不一樣。
那么我們就要先來了解,web和app的區別。
web項目,一般都是b/s架構,基於瀏覽器的,而app則是c/s的,必須要有客戶端。那么在系統測試測試的時候就會產生區別了。
首先從系統架構來看的話,web測試只要更新了服務器端,客戶端就會同步會更新。而且客戶端是可以保證每一個用戶的客戶端完全一致的。但是app端是不能夠保證完全一致的,除非用戶更新客戶端。如果是app下修改了服務端,意味着客戶端用戶所使用的核心版本都需要進行回歸測試一遍。
接着是性能方面,web頁面可能只會關注響應時間,而app則還需要關心流量、電量、CPU、GPU、Memory這些了。至於服務端的性能是沒區別,這里就不談。
然后是兼容方面,web是基於瀏覽器的,所以更傾向於瀏覽器和電腦硬件,電腦系統的方向的兼容,不過一般還是以瀏覽器的為主。而瀏覽器的兼容則是一般是選擇不同的瀏覽器內核進行測試(IE、chrome、Firefox)。app的測試則必須依賴phone或者是pad,不僅要看分辨率,屏幕尺寸,還要看設備系統。系統總的來說也就分為Android和iOS,不過國內的Android的定制系統太多,也是比較容易出現問題的。一般app的兼容測試三種方法,雲測試,請團隊測試,真機測試。雲測試咱們稍后再聊,這里說說真機的選擇。首先要選擇主流的機型,其次要選擇不同的分辨率,尺寸,然后就是不同的操作系統。
相比較web測試,app更是多了一些專項測試:
健壯性測試:
一些異常場景的考慮以及弱網絡測試。這里的異常場景就是中斷,來電,短信,關機,重啟等。
而弱網測試是app測試中必須執行的一項測試。包含弱網和網絡切換測試。需要測試弱網所造成的用戶體驗,重點要考慮回退和刷新是否會造成二次提交。需要測試丟包,延時的處理機制。避免用戶的流失。這些在前面的弱網測試那篇已經講過,這里不再講了。
安裝、卸載、更新:
web測試是基於瀏覽器的所以不必考慮這些。而app是客戶端的,則必須測試安裝、更新、卸載。除了常規的安裝、更新、卸載還要考慮到異常場景。包括安裝時的中斷、弱網、安裝后刪除安裝文件,更新的強制更新與非強制更新、增量包更新、斷點續傳、弱網,卸載后刪除app相關的文件等等。這里講起來的話太多了,如果有疑問的同學可以評論或者給我留言。
界面操作:
現在app產品的用戶都是使用的觸摸屏手機,所以測試的時候還要注意手勢,橫豎屏切換,多點觸控,事件觸發區域等測試。
剩下的可能就是使用的工具的不同吧。
就自動化來講,web大多用的selenium、webdriver,而app則是appium。
性能使用的工具web則是LR,app使用Jmeter要多一點。
這里只是講的一個大致的區別。有些東西我到現在也沒了解到。所以也只能寫成這樣了。
總的來說區別並沒有多大。測試的產品千變萬化,測試的思想是不變的。工具即使不同,只要理解原理做起來並沒有什么難度。