鄭慧芬
摘 要 近年來,隨著移動互聯網的高速發展,手機APP軟件開發行業的競爭也越來越激烈。APP軟件系統的復雜度也不斷上升,已不再是單純的某家公司的一個應用,逐漸發展成多家公司合作,資源整合共享等,這就離不開大量的接口調用。如何確保手機APP軟件中頁面內容有效,數據傳輸快速且數據內容安全的展示給用戶,提高用戶體驗離不開接口的測試。然而app軟件版本迭代快,留給測試的時間少,加上接口測試人員緊缺,因此測試人員大都把時間用于產品的功能測試,而忽略軟件接口測試或對軟件接口測試比較迷茫。在有限的測試時間里,如何做好軟件接口測試是當下測試人員必須考慮的問題。
【關鍵詞】APP 資源整合共享 接口調用 接口測試
1 引言
隨著手機APP軟件行業的業務不斷擴展,產品往資源整合共享模式的轉變,數據資源不斷增加,接口大量的被調用,用戶越來越多,軟件接口的壓力就是越來越大,軟件接口的性能安全等也越來越受重視,因此軟件接口的測試也越來越重要。而在移動互聯網行業中普遍存在重研發輕測試,再加上APP軟件版本快速迭代的特點,預留給測試的時間本來就非常少。在有限的時間里,測試人員大都主要關注軟件的功能測試,忽略軟件接口測試,或是對接口測試無從下手,基本由開發人員自己測試,這些情況將會大大影響產品的用戶體驗,也會給產品帶來極大的安全隱患。
本文主要是針對測試人員沒有軟件接口測試的經驗,對軟件接口測試無從下手等情況,為測試人員梳理軟件接口測試的流程,拓寬測試的思路。
2 軟件接口測試現狀
在移動互聯網行業,軟件接口這詞大家都不陌生,仿佛是開發人員的事,但說到軟件接口測試的話,或許還比較迷茫,接口還要測試嗎?不是只要調試成功就可以了?或許能想到主要還是一些可以用來進行接口調用的工具。比如:谷歌,火狐等的插件,Jmeter,LR等第三方工具。因軟件接口可通過抓取軟件容易被抓取到調用信息,即軟件接口極易暴露,那么軟件接口如果只是由開發人員進行調試未經測試會存在什么問題?舉以下幾點:
(1)軟件接口未加密,突然被非法使用,可能造成經濟損失。
(2)軟件接口響應時間過長,導致返回數據失效。
(3)軟件接口并發量大時,可能會導致信息出錯,或直接崩潰。
(4)軟件接口的重點參數未加密碼,導致信息外泄。
(5)接口異常場景覆蓋不完整,導致異常出錯。
3 軟件接口測試的需求分析
針對以上情況,測試人員要如何入手軟件接口的測試?首先從測試流程上,還是需要進行接口的需求分析。軟件接口的需求分析主要是從以下6個方面進行。
(1)業務功能分析:主要是從使用場景方面考慮分正常使用場景和異常場景處理。
(2)邊界分析:通過業務規則來確定邊界值和單個參數的邊界值設定來測試
(3)參數組合:通過不同參數之間的組合得到不同的數據回調。
(4)性能需求分析:主要也是接口的響應時間,吞吐量,并發數,服務器資源等。
(5)安全需求分析:接口是否會被非法調用,敏感信息是否加密,非法的SQL注入等。
(6)隱性需求分析:如一個接口調用是否會暴露后續接口的安全性等。
4 針對不同的接口分析測試
在掌握軟件接口的需求分析后,你是不是在想如果每個接口都要進行6個方面的分析后測試,那時間怎么夠,會影響整個項目的發布進度。是的,在有限的測試時間里,測試人員無法做到對每個接口進行需求充分的分析和測試,此時就要求測試人員能夠對軟件接口進行分析測試,針對不同的接口測試分類進行排序優先級分析哪一類測試是比較重要,優先進行測試。
(1)業務功能測試是每個接口必須要測試,只有保障正常場景和異常場景都能正常處理,才能正確展示給用戶有效的信息。屬基本測試類。
(2)易被非法調用的重要接口,如果被非法用戶使用可能會產生經濟或是重要信息外漏。故安全性測試是此類接口最高優先級。如:驗證碼接口,支付接口等。
(3)在首頁,重要功能和必經的重點流程中被調用的接口,性能類測試是此類接口最高優先級。如:注冊接口,登錄接口,首頁信息相關接口等。
(4)在首頁,重要功能和必經的重點流程的頁面里,如果分為已登錄和非登錄頁面或是定位成功和定位未成功顯示不同時,邊界分析測試的優先級較高。如:送餐系統通過定位顯示配送費接口,登錄顯示用戶信息接口等。
(5)在不同的客戶端使用同一個接口時,參數組合測試的優先級較高。
5 借助工具進行接口測試
測試人員通過對接口的分析確定接口需測試的類別后,根據測試分類編寫接口測試用例就可以進行接口測試。無論是接口的哪一類測試都需要借助第三方工具來進行執行。不同的工具測試的接口分類不同。在未有安裝類接口測試工具的情況下,可以通過在線類工具或一些第三方瀏覽器的插件(谷歌,火狐等)來進行接口測試,但未能進行接口的性能測試,也不能進行并發類測試,當然也無法進行一些隱性需求的判斷。開發人員常用的一般是開發工具的插件進行接口調試,只能簡單的調試,也無法達到真正測試的要求。Jmeter工具基本可以滿足于所有接口分類測試的一般需求,且開源的工具是免安裝,界面簡單,易操作,初學者都可以使用。但在服務器資源方面的性能測試時,需另外安裝一個監控器進行查看資源的消耗情況。LR也可以進行接口測試,LR比較強大的方面是在接口的性能測試,但在其他方面的測試配置較復雜,而且工具安裝較麻煩,熟悉LR工具的測試人員可以使用。
6 總結
本文是根據許多測試人員在接口測試工作中存在問題,整理出APP軟件接口的基本測試流程。針對APP軟件版本迭代速度快且項目在測試階段,時間緊,人力不足等特點,如何根據軟件接口應用的特點,設置接口測試分類的優先級,有針對性的進行測試,以減少產品發布后存在重大bug。同時為測試人員提供一個接口測試的思想方向。
參考文獻
[1]王智立.網絡管理接口一致性測試的方法[J].技術和應用,北京郵電大學,2005.
[2]黃美鋒,張毅彬.分布式應用軟件接口測試分析技術[J].計算機工程,2008.
作者單位
中電福富 福建省福州市 350003