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