如何讓用戶感覺App運行速度更快呢,這需要對App進行性能測試。限制App性能的因素按照App的系統(tǒng)結構分為App自身和App需要用到的后臺服務。
測試App連接網絡的速度
一般采用在模擬Mock環(huán)境下進行測試,測試方法更多使用的是在App的log中添加時間戳的方式計算時間,例如使用Apple公司提供的iPhone Configuration Utility中Devices的Console查看App的log。
測試App在不同網絡速度下操作的流程程度
測試可以使用在App的log中添加時間戳方法驗證,也可以通過使用App的直觀感受來驗證App性能帶給用戶的體驗。
測試App對于前臺頁面渲染的性能
測試可以使用在App的log中添加時間戳方法驗證,也可以通過使用App的直觀感受來驗證App性能帶給用戶的體驗。特殊的是,當App中使用WebView,測試人員可以快速地刷新當前頁面或者在使用WebView的頁面間進行切換,來驗證App是否有性能問題甚至發(fā)生崩潰。
測試App操作數據庫的性能
iOS操作系統(tǒng)在設備本地存儲App數據時使用的是CoreData或者SQLite數據庫;Android操作系統(tǒng)在設備本地存儲App數據時使用SQLite數據庫。如果操作的數據量很大,便有可能出現App的性能問題,此時App測試就很重要,對數據庫操作的功能進行大數據量的測試。測試人員也可以和開發(fā)人員一起,遵照Web端數據庫優(yōu)化的一些原則,如數據庫啟用事務,使用索引,數據的批量操作等優(yōu)化方法,提高數據庫的性能。
測試App的會話session是否有過期設置
對于App的會話session是否有過期設置的測試,可以在App運行中切換到別的App或者桌面一段時間,然后再次進入App,看App是否需要輸入密碼等驗證信息。值得注意的是不同App的合理session過期時間不一樣,測試人員需要和產品經理、開發(fā)人員等確認之后制定出合理的測試用例。
測試App請求中是否包含了明文的用戶信息
包含了明文的信息,如同App中標示用戶應該使用UUID或GUID等轉碼后的信息,而不是直接的用戶電話號碼或賬戶信息,當然更不應該明文傳送這些信息。測試人員可以使用Apple的iPhone Configuration Utility,Android SDK自帶的DDMS,Charles和Fiddler這些工具來監(jiān)控App發(fā)送的請求。
測試App的請求是否加密
一般App請求可以使用HTTP,但是關系到用戶敏感信息的請求,需要使用HTTPS等加密傳輸。
測試SQLite數據庫的存儲是否安全
測試人員可以通過ADB連接到root的Android蛇別,并使用SQLite來查看具體的數據庫保存的信息。顯然,把用戶實際的登錄信息明文存儲在數據庫文件中是不安全的,最好不要存儲,如果必須存儲,最好對這些信息加密后再存儲。
測試App使用WebView的安全性
由于WebView的請求和在Web端請求數據是一樣的,所以任何適用于Web端的攻擊方式和漏洞對于WebView來說都是通用的。