今天帶大家了解下服務(wù)端測(cè)試雌续,說(shuō)到服務(wù)端測(cè)試,其測(cè)試內(nèi)容包含了很多胯杭,接口API是最上層的展現(xiàn)形式驯杜,其他的還有服務(wù)、腳本做个、數(shù)據(jù)層鸽心、分布式、算法等居暖。從編程語(yǔ)言來(lái)說(shuō)服務(wù)端語(yǔ)言應(yīng)用最多顽频,主要應(yīng)用的就有Java、C/C++膝但、Go冲九、Lua、PHP跟束、Python以上幾種。
接口測(cè)試不是簡(jiǎn)單的API調(diào)用請(qǐng)求和查看返回值測(cè)試丑孩,如果測(cè)試接口冀宴,我們至少還要了解接口的內(nèi)部邏輯,比如一個(gè)稍微復(fù)雜的接口温学,其內(nèi)部會(huì)調(diào)用很多接口和服務(wù)略贮,拿到相應(yīng)的數(shù)據(jù)返回,這樣你就需要跟蹤每一個(gè)被調(diào)用接口的處理邏輯和腳本仗岖,保證其邏輯正確和返回?cái)?shù)據(jù)的準(zhǔn)確性逃延,只了解數(shù)據(jù)庫(kù)是遠(yuǎn)遠(yuǎn)不夠的,還要了解系統(tǒng)架構(gòu)轧拄、數(shù)據(jù)來(lái)源和各鏈路的數(shù)據(jù)處理揽祥,這樣才能更好的為后期自動(dòng)化測(cè)試做準(zhǔn)備。
常用測(cè)試工具:
Postman檩电、Linux服務(wù)器拄丰、Nginx、Shell俐末、Mock料按、數(shù)據(jù)庫(kù)、開(kāi)發(fā)工具卓箫、抓包分析工具载矿、Git、Svn烹卒、Sublime Text闷盔、上述幾種編程語(yǔ)言及對(duì)應(yīng)的測(cè)試環(huán)境)魂挂。
從測(cè)試角度來(lái)看,服務(wù)端測(cè)試可從以下幾點(diǎn)開(kāi)展:
功能測(cè)試:
測(cè)試被測(cè)對(duì)象的接口馁筐,輸入和輸出(請(qǐng)求和響應(yīng))涂召、內(nèi)部接口邏輯調(diào)用的測(cè)試、數(shù)據(jù)有效性及各功能邏輯準(zhǔn)確性敏沉。測(cè)試用例設(shè)計(jì)方法是通用的果正,這里不在介紹。
服務(wù)端的測(cè)試不能純靠黑盒測(cè)試盟迟,稍微深入或復(fù)雜的邏輯測(cè)后的業(yè)務(wù)代碼秋泳,需進(jìn)行code?review,觀察該功能的邏輯實(shí)現(xiàn)部分攒菠,并開(kāi)展內(nèi)部單元邏輯測(cè)試(舉個(gè)簡(jiǎn)單例子迫皱,一個(gè)C接口的內(nèi)部函數(shù)調(diào)用了TCP協(xié)議的服務(wù),該服務(wù)后是另一套復(fù)雜的數(shù)據(jù)系統(tǒng)辖众,這種情況測(cè)試人員須看其內(nèi)部代碼才會(huì)清楚后面具體都執(zhí)行了什么卓起,怎么調(diào)用的)、可結(jié)合詳細(xì)設(shè)計(jì)文檔凹炸、關(guān)鍵節(jié)點(diǎn)加Log日志進(jìn)行檢查戏阅,或者代碼中Mock數(shù)據(jù)在進(jìn)行一些內(nèi)部邏輯單元的功能測(cè)試。
性能測(cè)試:
接口性能Jemeter啤它、Loadrunner奕筐、Ab等工具、如工具無(wú)法滿足变骡,需要結(jié)合自身業(yè)務(wù)開(kāi)發(fā)壓測(cè)腳本离赫。
異常測(cè)試:
數(shù)據(jù)異常處理,可通過(guò)接口傳參進(jìn)行模擬(C/C++程序接口塌碌,如代碼不嚴(yán)謹(jǐn)會(huì)經(jīng)常出Core)渊胸,另外Fuzzing工具可以了解下(隨機(jī)構(gòu)造測(cè)試輸入,對(duì)被測(cè)軟件進(jìn)行大量測(cè)試來(lái)發(fā)現(xiàn)軟件中的漏洞的一種模糊測(cè)試方法)誊爹。
數(shù)據(jù)測(cè)試:
Redis蹬刷、Hive、Hdfs频丘、Kafka办成、Memcahe、Sql數(shù)據(jù)庫(kù)等搂漠。
算法測(cè)試:
了解算法模型迂卢、規(guī)則、對(duì)于該模型的數(shù)據(jù)效果開(kāi)展測(cè)試,測(cè)試結(jié)果需符合算法規(guī)則預(yù)期而克。
自動(dòng)化測(cè)試:
服務(wù)端自動(dòng)化小文認(rèn)為有兩種:環(huán)境自動(dòng)化靶壮、自動(dòng)化測(cè)試(自動(dòng)化測(cè)試一般都會(huì)和環(huán)境自動(dòng)化、單元測(cè)試相結(jié)合使用)
環(huán)境:自動(dòng)化環(huán)境搭建员萍、持續(xù)集成(Jenkins等)
接口:基于自身業(yè)務(wù)開(kāi)發(fā)的單元測(cè)試自動(dòng)化(Junit腾降、Python?Unittest等)、第三方工具Test NG碎绎、Pytest螃壤、開(kāi)源測(cè)試平臺(tái)等。
單元測(cè)試:
單元測(cè)試注重內(nèi)部代碼邏輯的測(cè)試筋帖。
安全測(cè)試:同移動(dòng)端篇
聯(lián)調(diào)測(cè)試:
一般指后端各個(gè)環(huán)境奸晴、服務(wù)、模塊間的聯(lián)調(diào)測(cè)試日麸,首先將所有測(cè)試環(huán)境鏈通寄啼,進(jìn)行各模塊間的聯(lián)調(diào)測(cè)試,測(cè)試通過(guò)后代箭,再和前端(Web墩划、H5、客戶端Android梢卸、iOS)聯(lián)調(diào)測(cè)試走诞、保證后端數(shù)據(jù)在前端正常展現(xiàn)。
以上蛤高,希望今天的內(nèi)容,給你靈感和啟發(fā)碑幅。碼字不易戴陡,歡迎點(diǎn)擊【關(guān)注】。
聲明:上述觀點(diǎn)為個(gè)人經(jīng)驗(yàn)總結(jié)和觀察沟涨,如有不對(duì)的地方請(qǐng)隨時(shí)指正或留言交流恤批。
作者:小文(一個(gè)即將從業(yè)10年的軟件測(cè)試行業(yè)工作者)