Web測試轉App測試不看不知道

2022-01-10 13:22:16 字數 3282 閱讀 1931

web通常指的是網際網路應用系統,比如稅務電子化徵管檔案系統、金融資料平台、餐飲商家管理後台等等,其實質是c/s的程式。

c是client——客戶端,s是server——伺服器。

web中的客戶端一般指的是browser——瀏覽器,也就是b/s。

web系統有三層結構 == 表示層 + 業務層 + 資料層。

mvc軟體設計模式也是三層 == 模型 + 檢視 + 控制器。

它們的對應關係如下,不完全準確,簡單意會意會即可,

測試的乙個重要思路是,了解被測物件的架構,web系統典型架構如圖所示,

這個圖很重要,多看幾秒!想想這些問題,

我測試覆蓋的是哪些地方?

有哪些環節是漏掉的?

瀏覽器從請求到響應,這個過程是怎樣乙個鏈路?

web測試,不僅僅是頁面的點點點。

面對這樣複雜的系統,如何保障質量,使系統健康的、長期的、穩定的執行,是測試的難點。

業務複雜度本身就是難點,而且這是測試核心中的核心。

安全、效能的評估,也是乙個棘手的難點。

**使用者的能力,包括瀏覽器、作業系統、裝置、網路頻寬都可能是參差不齊。

網路中斷,或弱網情況下,**的表現。

**本身的應用日誌、系統資源、冷熱資料。

引入的第三方程式的質量,雖然可以直接用,但仍需做黑盒測試。

國際化差異,如語言、時差、貨幣兌換。

你要考慮的不是乙個點,也不是乙個面,而是乙個整體。

表示層的測試物件包括了,

簡而言之就是,系統的外觀和感覺。

更專業具體點,就是整體審美、字型、鏈結跳轉、圖形解析度和大小、色彩、拼寫檢查、文字語法和風格、游標位置、選中預設按鈕、互動操作體驗友好、商業特定術語和風格、確認框、瀏覽器版本、作業系統配置等。

表示層的測試主要以人工為主,部分測試也可以通過工具完成,如無效鏈結檢測。

業務層包括內部業務和外部服務,內部業務和外部服務都需要經過測試。

內部業務就是實實在在的業務,每個公司的業務都有差異。

業務測試是貫穿於測試週期自始始終的。

最開始測試考慮的是業務,測試結束考慮的也還是業務。

業務層測試是用到測試用例設計方法最多的,包括等價類劃分、邊界值、判定表、因果分析、場景法等。

同時也需要做效能測試,考察響應時間、吞吐率等效能指標。

毫不誇張的說,無業務,不測試!

資料層主要幹的事就是讀寫資料。

資料層的資料既包括系統自產的,也包括從使用者收集來的資料。

資料是存放在資料庫伺服器裡邊的,包括rdbms、nosql。

資料模型定義了資料層介面和資料儲存方式。

資料可以直接使用,但往往是經過了etl對資料進行加工。

資料層的測試是有一些門檻的,但一些隱藏的bug就藏在這一層。

首先需要測試的是資料儲存的正確,其次需要測試冗餘資料的清理,還有資料狀態的變化。

資料庫的效能,sql的耗時,資料量大小,資料冷熱。

資料庫的資料型別,長度、精度、字符集、日期時間格式、時區等。

資料庫的安全,資料加密和安全性。

還有資料庫的魯棒性,故障處理,備份恢復能力,最大化mtbf,最小化mttr。

流動網路的通訊協議並不是基於ip的,而通常是一種基於射頻的協議。

如,很多運營商都使用某種**轉換器或web**來進行移動裝置與網際網路的通訊。但是因為競爭的關係,運營商一般不會披露這些細節。他們可能會「偷偷」幹這些事,

現在大多數都使用http協議了。

弱網包括無網(斷網)、弱網(2g 3g 4g)、網路切換。

不同的機型。不同的螢幕。不同的版本。不同的系統。不同的cpu記憶體。不同的瀏覽器。不同的配置。

這對測試來說是很大的挑戰,以至於有漫畫調侃,高階測試工程師,可以轉行賣手機了!

不過好在有模擬器,有云測平台,減少了測試裝置相容性的成本。

真機和模擬器,各有利弊,需要做必要的權衡。

可以先用模擬器完成大量測試,最後使用真機做驗收。

用真機測試還需要注意的乙個小問題就是,測試用例設計的盡量有效,不然每一次重複測試,就很可能在燃燒你的經費。

測試分類

說明安裝/解除安裝

確保使用者可以正確的安裝應用程式

確保使用者可以完全解除安裝應用程式

測試安裝中斷後能否恢復正常

測試解除安裝能否中斷

網路基礎設施

證實應用程式在網路丟失的情況能夠正確響應

證實應用程式能夠正確響應網路回覆的情況

證實應用程式能夠在網路訊號差的情況下正確響應

來電和簡訊處理

測試使用者能夠在應用程式執行的情況下接**以及回簡訊

測試使用者能夠在處理完來電和簡訊之後能否返回應用程式

測試使用者能否在不中斷應用的情況下取消來電和簡訊

測試使用者能否在不退出應用程式的條件下撥打**和簡訊

記憶體不足

確保應用程式在裝置記憶體不足的情況下仍然能夠穩定工作

按鍵測試所有的熱鍵按照產品規格書實現

退出檢查程式能夠正常退出(通過按鍵合屏或滑塊鎖屏)

確保在機器關閉的情況下應用程式的行為和設計規格說明書上一致

充電確保程式在切換到充電模式時工作正常

確保程式能夠在充電狀態下正常工作

確保程式在退出充電模式時不會發生異常

電量測試在電量不足的情況下應用程式的行為表現

計算應用程式將用多長時間耗盡電量

確保在電池突然拔出的情況下應用程式的反應和說明書一致

硬體資源

確保應用程式沒有過度占用cpu

確保應用程式不消耗過多的記憶體資源

公升級確保靜默公升級、提示公升級、強制公升級情況下公升級成功

確保補丁包、全量包公升級成功

b2b、b2c、c2c、o2o是電子商務的4種模式。

b2b,business to business,企業對企業,如經銷商銷貨給超市。

b2c,business to customer,企業對個人,如超市賣東西。

c2c,customer to customer,個人對個人,如擺地攤。

o2o,online to offline,線上到線下,如網上點個豆漿早餐到肯德基取。

b端-->企業端。

c端-->個人端。

g端-->**端。

參考資料

——《軟體測試的藝術》

Web測試和App測試區別

功能測試 效能測試,安全性測試,gui測試等測試型別。他們的主要區別在於具體測試的細節和方法有區別 比如 效能測試,在web測試只需要測試響應時間這個要素,在應用測試中還需要考慮流量測試和耗電量測試 相容性測試 在web端是相容瀏覽器,在應用端相容的是手機裝置而且相對應的相容性測試工具也不相同 we...

Web測試和App測試區別

在web端是相容瀏覽器,在應用端相容的是手機裝置而且相對應的相容性測試工具也不相同,web因為是測試相容瀏覽器,所以需要使用不同的瀏覽器進行相容性測試 常見的是相容ie6,ie8,鉻,火狐 如果是手機端,那麼就需要相容不同品牌,不同解析度,不同的android版本甚至不同作業系統的相容。如交叉事件測...

web測試與app測試區別

單純從功能測試的層面上來講的話,在流程和功能測試上是沒有區別的。根據兩者載體不一樣,則區別如下 系統結構方面 web專案,b s架構,基於瀏覽器的 web測試只要更新了伺服器端,客戶端就會同步會更新。則客戶端使用者所有核心版本都需要進行回歸測試一遍。效能方面 web專案 需監測 響應時間 cpu m...