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