手機APP開發定制測試要點總結

小青爱吃草2022-06-26  4

导读逆向安全測試流程——大部分軟件安全測試都是按照缺陷空間逆向設計的原理進行的,即事先檢查哪裡可能存在安全隱患,然後針對這些潛在的安全隱患進行測試。漏洞嵌入方法和可靠性測試中的故障插入測試是一樣的,隻是這裡把一些…

这几天✅️手機APP開發定制測試要點總結是网络热点资讯,网友都想了解手機APP開發定制測試要點總結的详细信息,爱乐网小编收集整理了相关内容,为您解惑。

手機APP開發定制測試要點總結

手機app開發定制app開發方案和報價表測試要點總結

對於APP開發,主要是進行系統測試。對於APP的系統測試,我們通常從以下幾個方面進行:功能模塊測試、跨事件測試、壓力測試、容量測試、兼容性測試、可用性/用戶體驗測試等。功能測試——首先分析功能模塊的功能項,測試每個功能項是否能實現相應的功能。根據一般的測試用例或者軟件本身的流程,就可以完成基本的功能測試(相對簡單,故障容易發現和解決)。跨事件測試,也稱為事件或沖突測試,指的是在執行一個功能的同時,另一個事件或操作幹擾瞭該過程的測試。比如在通話過程中接收短信或報警觸發,在應用軟件運行過程中插拔充電器等。幹擾導致的沖突事件不會造成應用軟件異常、手機死機或花屏等嚴重問題。此外,還需要註意每個跨事件的優先級,檢查系統是否能按照優先級依次處理每個事件。不能通過執行高優先級事件來掛起低優先級事件。跨事件測試非常重要。一般可以發現應用軟件的一些潛在問題。另外,有中英文模式切換的手機要註意中英文模式切換後功能實現中存在的問題(這主要是針對支持語言自適應功能的手機應用軟件),這一點往往被測試人員忽略。測試-也稱為邊界值容錯測試或極限負載測試。即在測試過程中,已經達到瞭某個軟件功能的較大容量、邊界值或較大承載極限,仍然在其上進行相關操作。比如連續收發短信超過收件箱和SIM卡可存儲的短信數量,仍然收發短信,以此來檢測軟件在異常情況下的性能,進而評估用戶能否接受。可以應用在手機上的壓力測試類型主要有:存儲壓力:由於手機采用堆棧存儲,當一個存儲塊滿瞭之後,如果程序員沒有做相應的處理或者處理不好,很容易造成其他存儲區域被擦除,導致UI上出現問題(比如其他功能不能正常使用,有異常)。邊界壓力:邊界處理一直是程序員比較容易忽略的地方。響應壓力:有時某個操作可能需要很長時間來處理,在處理過程中,如果測試人員連續執行其他操作,很容易出現問題。網絡流量壓力:在執行大數據流量功能的同時,運行其他功能,使網絡流量始終處於高狀態(比如視頻通話時運行短信等功能)。驗證各功能是否還能正常工作,是否因為網絡流量的瓶頸導致某個功能異常。手動壓力測試可能很復雜,所以考慮自動化測試。遺憾的是,目前還沒有廣泛使用的工具,一般都是開發人員開發的工具或者高級測試人員編寫的腳本。容量測試——即存儲空間已滿時的測試,包括手機用戶可用內存和SIM卡所有空間被充分利用的測試。此時,執行與可編輯模塊的存儲空間相關的任何操作測試。如果軟件在極限容量狀態下處理不好,可能會導致死機或花屏嚴重等問題。兼容性測試——即不同品牌、型號的手機(目前針對我們的產品,主要針對不同品牌、型號的手機)、不同網絡、不同品牌、不同容量SIM卡之間的兼容性測試。不同型號的手機支持不同的圖片格式、聲音格式、動畫格式,所以要盡量選擇通用格式,或者針對不同型號進行配置選擇。以短信為例:中國電信的小靈通收到中國移動或中國聯通GSM的短信,需要驗證顯示和回復功能是否正常。比如應用軟件分別在NokiaN80和N93手機上運行,所有功能是否都能正常使用,所有界面是否正常顯示。可用性/用戶體驗測試——可用性/用戶體驗是指軟件產品在指定條件下使用時被用戶理解、學習、使用和吸引的能力,是交互的適應性、功能性和有效性的集中體現。手機的操作主要靠大拇指,所以交互過程不能太復雜,交互步驟不能太多。我們應該盡力設計多種快捷方式。易用性是對終端軟件(推而廣之,交互軟件)更基本、更重要的要求。不好的軟件很難吸引用戶,更別說提高用戶對軟件的忠誠度瞭。易用性體現在:所見即所得,用瞭就知道,學瞭就能方便快捷地完成預期功能。簡單易用的軟件可以讓新用戶快速學習和使用我們的軟件,並在使用軟件的過程中體現我們的貼心服務。超越用戶的期望是我們的目標。暴力測試——是否應對斷電、重啟、斷網等突發情況的安全測試方法。-安全性測試有多種測試方法。目前主要的安全測試方法有:①靜態代碼安全測試:主要通過對源代碼的安全掃描,根據程序中的數據流、控制流、語義等信息,與其獨有的軟件安全規則庫進行匹配,找出代碼中潛在的安全漏洞。靜態源代碼安全測試是一種非常有用的方法,它可以在編碼階段找出所有可能存在安全風險的代碼,讓開發人員在早期解決潛在的安全問題。正因為如此,靜態代碼測試比測試階段更適合早期的代碼開發階段。②動態滲透試驗:滲透試驗也是一種常用的安全性試驗方法。就是用自動化的工具或者人工的方法模擬黑客的輸入,對應用系統進行攻擊性的測試,找出運行時的安全漏洞。這種測試的特點是真實有效。一般查出的問題都是正確且嚴肅的。但是滲透測試的一個致命缺點是模擬測試數據隻能到達有限的測試點,覆蓋率很低。③程序數據掃描。一個安全性需求高的軟件,運行過程中數據不能被破壞,否則會導致緩沖區溢出攻擊。掃描數據的手段通常是內存測試。內存測試可以發現緩沖區溢出等很多其他測試手段難以發現的漏洞。比如掃描軟件運行時的內存信息,看是否存在一些隱患。當然這需要專門的工具來驗證,人工很難做到。逆向安全測試流程——大部分軟件安全測試都是按照缺陷空間逆向設計的原理進行的,即事先檢查哪裡可能存在安全隱患,然後針對這些潛在的安全隱患進行測試。因此,逆向測試過程從缺陷空間出發,建立缺陷威脅模型,通過威脅模型找到入侵點,對入侵點的已知漏洞進行掃描測試。好處是可以對已知的缺陷進行分析,避免軟件中存在已知類型的缺陷,但是對於未知的攻擊手段和方法,通常是無能為力的。①建立缺陷威脅模型。缺陷威脅模型的建立主要從已知的安全漏洞入手,檢查軟件中是否存在已知的漏洞。在構建威脅模型時,需要先確定軟件涉及到哪些專業領域,然後根據各個專業領域遇到的攻擊方式來構建模型。②查找並掃描入侵點。檢查威脅模型中的哪些缺陷可能出現在這個軟件中,然後將可能的威脅納入入侵點矩陣進行管理。如果有成熟的漏洞掃描工具,直接使用漏洞掃描工具進行掃描,然後將發現的可疑問題納入入侵點矩陣進行管理。③入侵矩陣的驗證測試。創建入侵矩陣後,可以針對入侵矩陣的具體條目設計相應的測試用例,然後進行測試和驗證。正向安全測試過程——為瞭避免逆向設計原理導致的測試不完全,需要一種正向測試方法對軟件進行完整的測試,使被測軟件能夠防范未知的攻擊手段和方法。①首先確定測試空間。為瞭識別測試空間中的所有可變數據,由於安全測試的高成本,識別外部輸入層是很重要的。比如需求分析、概要設計、詳細設計和編碼都要確定測試空間,建立測試空間的跟蹤矩陣。②準確定義設計空間。重點檢查需求中是否明確定義瞭設計空間,需求中涉及的數據是否都標識瞭其合法的取值范圍。在這一步中,更要註重精準二字,嚴格按照安全原則精準定義設計空間。③識別安全隱患。根據找到的測試空間和設計空間以及它們之間的轉換規則,識別哪些測試空間和轉換規則可能存在安全隱患。比如測試空間越復雜,即測試空間劃分越復雜或者可變數據組合越多,就越不安全。況且轉換規則越復雜,出現問題的可能性越大,這些都是安全隱患。④建立並驗證入侵矩陣。在識別安全風險後,可以根據識別的安全風險建立入侵矩陣。列出潛在的安全隱患,識別有安全隱患的可變數據,識別安全隱患的等級。對於那些具有高安全風險的可變數據,必須設計詳細的測試用例。正向測試和反向測試的區別——正向測試過程是基於測試空間來發現缺陷和漏洞,而反向測試過程是基於已知的缺陷空間來發現軟件中是否會出現相同的缺陷和漏洞。兩者各有利弊。逆向測試過程的一個主要優點是成本低,隻要驗證已知的可能缺陷即可,但缺點是測試不完善,無法完全覆蓋測試空間,無法發現未知的攻擊手段。正向測試流程的優點是測試充分,但是工作量比較大。所以對安全性要求不高的軟件一般可以按照逆向測試流程進行測試。對於安全性要求高的軟件,應該以正向測試流程為主,反向測試流程為輔。常見的軟件安全缺陷和漏洞——軟件安全有很多方面,主要的安全問題都是由軟件本身的漏洞造成的。以下是一些常見的軟件安全缺陷和漏洞。緩沖區溢出——緩沖區溢出已經成為軟件安全的頭號公敵,很多實際的安全問題都與它有關。緩沖區溢出通常有兩個原因。①設計空間中變換規則的驗證。也就是說,缺乏對可測量數據的驗證導致非法數據在外部輸入層沒有被檢出和丟棄。數據非法進入接口層和實現層後,由於超出瞭接口層和實現層對應的測試空間或設計空間的范圍而溢出。②局部測試空間和設計空間不足。當合法數據進入時,程序實現層中相應的測試空間或設計空間不足,導致程序處理時溢出。加密弱點——這些加密弱點是不安全的:①使用不安全的加密算法。加密算法不夠強,有些加密算法甚至可以用窮舉法破解。②加密數據時,密碼是用偽隨機算法生成的,但生成偽隨機數的方法有缺陷,使密碼容易被破解。③認證算法存在缺陷。④客戶端和服務器的時鐘不同步,給瞭攻擊者足夠的時間破解密碼或修改數據。⑤加密的數據沒有簽名,這樣攻擊者就可以篡改數據。因此,在測試加密時,我們必須測試這些可能的加密弱點。(3)錯誤處理。一般錯誤處理會返回一些信息給用戶,返回的錯誤信息可能會被惡意用戶用來攻擊。通過分析返回的錯誤信息,惡意用戶可以知道下一步該做什麼來使攻擊成功。如果調用瞭一些錯誤處理中不應該用到的函數,就會用到錯誤處理的過程。錯誤處理屬於非正常空間的處理問題,非正常空間的處理要盡量簡單。用這個原理來設計可以避免這個問題。然而,錯誤處理經常涉及可用性問題。如果錯誤處理的提示信息過於簡單,用戶可能會很困惑,不知道下一步該怎麼做。因此,在考慮錯誤處理安全性的同時,需要權衡易用性。權限過大——如果權限過大,可能會導致隻有普通用戶權限的惡意用戶利用過大的權限做出危害安全的行為。例如,如果對可以操作的內容沒有限制,用戶可能能夠訪問規定范圍之外的其他資源。在安全測試過程中,需要測試應用程序是否使用瞭過多的權限。重點是分析各種情況下應該存在的權限,然後檢查實際是否超出瞭給定的權限。本質上,權限過大的問題屬於設計空間過大的問題。所以設計時要控制好設計空間,避免設計空間過大導致權限過大的問題。做好安全測試的建議——很多軟件安全測試經驗告訴我們,做好軟件安全測試的必要條件是:一是充分瞭解軟件安全漏洞,二是評估安全風險,三是擁有高效的軟件安全測試技術和工具。充分瞭解軟件安全漏洞——評估一個軟件系統的安全程度,需要從設計、實現、部署同時入手。我們先來看看CommonCriteria是如何評估軟件系統安全性的。首先,確定軟件產品的相應保護配置文件(PP)。PP為一類軟件產品定義瞭一個安全特性模板。比如數據庫的PP,防火墻的PP等等。然後根據PP提出具體的安全功能需求,比如用戶身份認證的實現。之後,確定安全對象以及如何滿足相應的安全功能要求。所以一個安全軟件的三個環節都不能出問題。安全性的評估——安全測試後,軟件能否達到預期的安全級別?這是安全測試人員比較關心的問題,所以需要建立測試後的安全評估機制。一般從以下兩個方面來評價。(1)安全缺陷數據的評估。如果你在軟件中發現更多的安全缺陷和漏洞,你可能會留下更多的缺陷。在進行這種評估時,必須建立基線數據作為參考,否則,沒有評估的基礎就不能得出正確的結論。(2)采用漏洞植入法進行評估。漏洞嵌入方法和可靠性測試中的故障插入測試是一樣的,隻是這裡把一些存在安全隱患的問題插入到軟件中。采用漏洞植入法時,首先由不參與安全測試的特定人員向軟件中註入一定數量的漏洞,然後測試後發現多少植入的漏洞,以此來評價軟件的安全測試做得是否充分。(3)使用安全測試技術和工具,可以使用具有特定功能的專業安全掃描軟件來發現潛在的漏洞,將已經發生的缺陷納入缺陷庫,然後使用自動化缺陷庫,通過自動化測試方法進行轟炸測試。比如用一些可以模擬各種攻擊的軟件進行測試。安全測試用於驗證集成在軟件中的保護機制是否能夠真正保護系統免受非法入侵。用一句流行的話說,軟件系統的安全性當然必須能夠抵禦正面攻擊——但它也必須能夠抵禦側面和背面的攻擊。

如有軟件開發需求,歡迎私信留言【軟件開發類型+聯系方式】👉,為你解答

關註我,免費使用微商城系統,助力您創業第一步

http://www.yma.org.cn http://www.aiyue.org http://www.ddman.net http://www.ywei.net http://www.elii.cn http://www.aqxcw.com http://www.imeee.com.cn http://www.wiee.cn

以上就是《手機APP開發定制測試要點總結》✨的知识内容,如果大家想要了解更多的详细内容,请阅读本站其他文章了解。

展开阅读全文
00