• 關閉

    你的測試用例中,是否包含App前后臺切換

    發表于:2020-3-10 10:24

    字體: | 上一篇 | 下一篇 | 我要投稿

     作者:布道師玄柯    來源:博客園

      App前后臺切換是我們平時常用的一個操作,比如:按手機的home鍵將應用置于后臺、直接按手機電源鍵關閉屏幕或者通過最近打開的應用列表切換應用等,由此,我們可以得出結論:當app置于前臺時,它的頁面對我們是可見的;當app置于后臺時,它的頁面對我們是不可見的。
      無論對于Android還是IOS,app前后臺切換的流程都很長,因為牽扯到應用生命周期的管理,因此在測試過程中,可以幫我們發現一些意外的驚喜。不知道在你的App測試用例中是否包含前后臺切換?如果沒有,那從現在開始,你一定要將它補充到測試用例中。
      這篇文章,會帶著大家了解Android和IOS在前后臺切換過程中,都經歷了什么。這樣當你在測試過程中,碰到相關問題時,也能有章可循。
      Android前后臺切換原理
      早期的Android只有Activity用來展示頁面元素,直到2011年Android3.0推出了Fragment的概念,不過Fragment并沒有立即被用起來,大部分的開發者還是用Activity寫Android頁面,個人感覺是到Android4.x之后,Fragment才更多的運用到工作中。不過Fragment并不能單獨的存在,其必須依賴在某一個Activity上,所以到后來GitHub上出現了好多Activity+Fragment的基礎框架,其核心思想是:一個BaseActivity+多個Fragment。BaseActivity主要用于管理Fragment的生命周期,而Fragment用于實現不同的頁面。
      要理解Android前后臺切換的原理,其實就需要理解Activity+Fragment的生命周期及其對應的方法,我這里根據Android官方文檔Activity和Fragment的生命周期流程圖,將前后臺切換相關方法整合到一張圖中,方便大家理解:
      
      整理完之后發現方法流程還是很多的,但是大家肯定會有個直觀感受,按一次home鍵,App執行了很多回調方法,并且方法有被重復調用的可能(后面我們再統一整理測試思路)。
      IOS前后臺切換原理
      ios前后臺切換,方法相對會少一些,但是思路和Android是類似的。我個人對IOS不是特別熟悉,所以只能從網上查了幾篇寫ios狀態切換的文章,下面的圖是我將它們整合之后,整理出來的:
      
      前后臺切換思路整理
      對于沒有任何移動端開發經驗的人來說,看了上面Android和IOS的流程圖,我猜測應該也不大理解其中的原理。所以我根據自己的經驗,幫大家整理一些前后臺切換的測試的思路及出發點,供大家參考:
      因為有重復調用同一個方法的可能,所以開發可能會用到標志位(用于標識是否是第一次調用)等,因此可以驗證如下點:
      界面上的邏輯是否正確,比如:數據不一致。
      界面展示是否正確,比如:某些按鈕不應該展示,卻展示了。
      因為有可能新創建對象,所以需要關注是否有內存泄漏存在。
      是否會造成異常的網絡請求,比如重復請求同一接口。
      在app將要置于后臺時,會保存當前界面上的數據,等到app再次回到前臺時,重新渲染:
      驗證前后臺切換后,界面數據是否被清空。
      另外界面數據展示是否正常。
      其他
      是否會出現crash。
      是否會造成app的專項數據異常,比如:cpu、耗電量等。
      總結
      軟件測試,其實一定程度上就是用探索性的思路,挖掘更不容易出現的"驚喜",因此,我覺得"App前后臺"切換絕對是一個不錯的探索思路。大家有什么更好的想法或問題,歡迎在評論區留言交流。

          本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系博為峰小編(021-64471599-8017),我們將立即處理
    《2023軟件測試行業現狀調查報告》獨家發布~

    精彩評論

    • wgq3647
      2023-6-21 10:46:39

      思路是對的,但隨著前端技術框架的普及,實際上這些測試點已經不那么重要了(被一次封裝測試過)。

    關注51Testing

    聯系我們

    快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

    法律顧問:上海蘭迪律師事務所 項棋律師
    版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
    投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

    滬ICP備05003035號

    滬公網安備 31010102002173號

    久久97久久97精品免视_欧洲国产伦久久久久久_91麻豆精品国产自产在线观_伊人久久大香线蕉综合av