版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一、接口測(cè)試問(wèn)題1、 接口測(cè)試用例的設(shè)計(jì)要點(diǎn)有哪些?對(duì)于這個(gè)問(wèn)題我們可以從接口的組成來(lái)進(jìn)行分析,一個(gè)接口主要有請(qǐng)求地址、請(qǐng)求方法、請(qǐng)求參數(shù),其中請(qǐng)求地址和方法都是固定的,所以我們主要應(yīng)該從請(qǐng)求參數(shù)入手,主要可以從以下幾個(gè)方面考慮:1、 參數(shù)字段個(gè)數(shù):必填字段和可選填2、 參數(shù)合法性:輸入輸出合法、非法參數(shù)3、 邊界:請(qǐng)求參數(shù)邊界值等4、 容錯(cuò)能力:大容量數(shù)據(jù)、頻繁請(qǐng)求、重復(fù)請(qǐng)求(如:訂單)、異常網(wǎng)絡(luò)等的處理5、 響應(yīng)數(shù)據(jù)校驗(yàn):斷言、數(shù)據(jù)提取傳遞到下一級(jí)接口6、 邏輯校驗(yàn):如兩個(gè)請(qǐng)求的接口有嚴(yán)格的先后順序,需要測(cè)試調(diào)轉(zhuǎn)順序的情況7、 性能:對(duì)接口模擬并發(fā)測(cè)試,逐步加壓,分析瓶頸點(diǎn),即響應(yīng)時(shí)間,吞吐量,并發(fā)數(shù),cpu,內(nèi)存,io的占用情況。8、 安全性:構(gòu)造惡意的字符請(qǐng)求,如:SQL注入、XSS、敏感信息、業(yè)務(wù)邏輯(如:跳過(guò)某些關(guān)鍵步驟;未經(jīng)驗(yàn)證操縱敏感數(shù)據(jù))2、 post和get有什么區(qū)別?這個(gè)問(wèn)題應(yīng)該是每一個(gè)做接口測(cè)試人員都能回答的問(wèn)題,但是要注意說(shuō)到重點(diǎn)::1、 get方法的參數(shù)是在URL中,post的參數(shù)是在body中(本質(zhì)區(qū)別)2、 get方法的安全性沒(méi)post的高3、 get方法能被緩存而post不可以4、 GET請(qǐng)求在URL中傳送的參數(shù)是有長(zhǎng)度限制的,而POST沒(méi)有。當(dāng)然還有其他的很多區(qū)別,但是回答這幾個(gè)主要的就差不多了。3、 你會(huì)使用哪些抓包工具?抓包工具有很多種,但是我們技術(shù)人員最常用的不外乎就是Fiddler、F12這幾種,所以選一個(gè)你自己最常用的就可以了。當(dāng)然面試官接下來(lái)的問(wèn)題多半會(huì)問(wèn)你為什么會(huì)用抓包工具?公司不是有接口文檔嗎?4、 使用抓包工具做什么?對(duì)于中大型公司里面的開發(fā)人員都會(huì)編寫好有完整的接口文檔,那我們做接口測(cè)試的時(shí)候?qū)φ战涌谖臋n不就可以了嗎?所以對(duì)于還沒(méi)有真正接口項(xiàng)目經(jīng)驗(yàn)的小伙伴就不知所措了。那么我們測(cè)試人員抓包其實(shí)一般都是為了驗(yàn)證我們測(cè)試的數(shù)據(jù)在接口傳遞過(guò)程中是否正?;蛘邽榱伺袛嗄硞€(gè)問(wèn)題是前端問(wèn)題還是后端問(wèn)題。5、 怎么判斷一個(gè)bug是前端問(wèn)題還是后端問(wèn)題?我們可以先抓包看請(qǐng)求報(bào)文,對(duì)著接口文檔,看請(qǐng)求報(bào)文有沒(méi)問(wèn)題,有問(wèn)題就是前端發(fā)的數(shù)據(jù)不對(duì),請(qǐng)求報(bào)文沒(méi)問(wèn)題,那就看返回報(bào)文,返回的數(shù)據(jù)不對(duì),那就是后端開發(fā)的問(wèn)題,這樣我們測(cè)試人員才能有自己的判斷,而不是任由開發(fā)相互扯皮。6、 你們公司是用什么做接口測(cè)試的?每個(gè)公司做接口測(cè)試所使用的工具都是不一樣的,有的會(huì)使用postman來(lái)做一些簡(jiǎn)單的單接口測(cè)試,但是對(duì)于一定數(shù)量的接口測(cè)試postman就很難勝任了,所以這時(shí)候不少公司就會(huì)選擇開源的jmeter來(lái)做,因?yàn)槟_本也相對(duì)比較好管理維護(hù)也方便。但是對(duì)于不少公司來(lái)說(shuō)jmeter也滿足不了自己的要求,這時(shí)候就會(huì)有測(cè)試人員自己編寫測(cè)試框架(也就是測(cè)試開發(fā)),然后通過(guò)編碼自己設(shè)計(jì)完成自己公司需要的功能。7、 接口測(cè)試框架你會(huì)嗎?會(huì)使用unittest,我們的框架是在unittest框架之上進(jìn)行二次封裝集成了郵件系統(tǒng)和測(cè)試報(bào)告以及日志、重跑等功能,然后再說(shuō)這樣設(shè)計(jì)的優(yōu)勢(shì),這樣就會(huì)讓人覺(jué)得這人是懂具體的框架實(shí)現(xiàn)過(guò)程的。8、 你們接口測(cè)試用例是在哪里?這要看你們公司是用的什么工具來(lái)做接口測(cè)試的了,假如是postman和jmeter那么用例就是直接在它們的請(qǐng)求文件里面,但是假如是有自己的框架那么用例一般都在表格或者表里面的。9、什么是API?API是(ApplicationProgrammingInterface)首字母縮略詞,即應(yīng)用程序編程接口。API是一組用于構(gòu)建軟件應(yīng)用程序的規(guī)程,協(xié)議和工具。API充當(dāng)軟件應(yīng)用程序之間的接口,并允許兩個(gè)軟件應(yīng)用程序相互通信。API是一組軟件功能,可以由其他軟件執(zhí)行。10、 什么是API測(cè)試?API測(cè)試是一種軟件測(cè)試,涉及直接測(cè)試API,也是集成測(cè)試的一部分,用于檢查API是否滿足應(yīng)用程序的功能,可靠性,性能和安全性方面的期望。在API測(cè)試中,我們主要關(guān)注軟件架構(gòu)的業(yè)務(wù)邏輯層??梢栽诎鄠€(gè)API的任何軟件系統(tǒng)上執(zhí)行API測(cè)試。11、 常見(jiàn)的API測(cè)試類型有哪些?API測(cè)試通常涉及以下實(shí)踐:?jiǎn)卧獪y(cè)試功能測(cè)試負(fù)載測(cè)試運(yùn)行時(shí)/錯(cuò)誤檢測(cè)安全測(cè)試UI測(cè)試互操作性和WS一致性測(cè)試滲透測(cè)試模糊測(cè)試12、 你們公司的接口測(cè)試流程是怎樣的?(有沒(méi)有感覺(jué)熟悉,貌似在哪里聽過(guò))答:接口測(cè)試實(shí)際跟一般測(cè)試不同就是測(cè)試用例的設(shè)計(jì)部分。獲取接口規(guī)范。設(shè)計(jì)接口測(cè)試功能用例(主要從用戶角度出發(fā)看接口能否實(shí)現(xiàn)業(yè)務(wù)需求,用例設(shè)計(jì)就是黑盒用例那一套)。各種入?yún)Ⅱ?yàn)證(正常情況,異常情況包括輸入?yún)?shù)個(gè)數(shù)不對(duì),類型不對(duì),可選/必選,還有考慮參數(shù)有互斥或關(guān)聯(lián)的情況)。接口返回值各種驗(yàn)證(符合接口文檔需求)了解接口實(shí)現(xiàn)邏輯,實(shí)現(xiàn)邏輯覆蓋(語(yǔ)句/條件/分支/判定/…)接口能并發(fā)執(zhí)行嗎、安全嗎,性能滿足要求嗎?采用工具或者自寫代碼來(lái)驗(yàn)證。發(fā)現(xiàn)問(wèn)題跟功能測(cè)試一樣,該報(bào)bug報(bào)bug,該跟蹤狀態(tài)的跟蹤狀態(tài)。13、 請(qǐng)簡(jiǎn)述一下cookie、session以及token的區(qū)別(萬(wàn)年不變的面試題)(1) cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。而token是接口測(cè)試時(shí)的鑒權(quán)碼,一般情況下登陸后才可以獲取到token,然后在每次請(qǐng)求接口時(shí)需要帶上token參數(shù)。(2) cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙,考慮到安全應(yīng)當(dāng)使用session,session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問(wèn)增多,會(huì)比較占用你服務(wù)器的性能,考慮到減輕服務(wù)器性能方面應(yīng)當(dāng)使用cookie(3) 可以將登陸信息等重要信息存放為session;其他信息需要保存,可以放在cookie14、 接口測(cè)試如何設(shè)計(jì)測(cè)試用例?(必問(wèn),有沒(méi)有感覺(jué)答得整個(gè)人都不好了?)接口測(cè)試設(shè)計(jì)測(cè)試用例的思路如下:接口業(yè)務(wù)邏輯測(cè)試?(正例)接口邏輯測(cè)試是指根據(jù)業(yè)務(wù)邏輯、輸入?yún)?shù)、輸出值的描述,對(duì)正常輸入情況下所得的輸出值是否正確的測(cè)試,也就是測(cè)試對(duì)外提供的接口服務(wù)是否正常工作。模塊接口測(cè)試?(反例)模塊接口測(cè)試是為了保證數(shù)據(jù)的安全及程序在異常情況下的邏輯的正確性而進(jìn)行的測(cè)試。模塊接口測(cè)試的主要包括以下幾個(gè)方面:1)鑒權(quán)碼token異常(鑒權(quán)碼為空〈沒(méi)有鑒權(quán)碼〉錯(cuò)誤的鑒權(quán)碼,過(guò)期的鑒權(quán)碼)。2) 其他參數(shù)異常。1、 必填項(xiàng)檢查2、 參數(shù)的長(zhǎng)度、類型、格式異常:常規(guī)參數(shù):(數(shù)字、字符串、日期)參數(shù)長(zhǎng)度:6-18位?;蛏矸葑C、電話的長(zhǎng)度。參數(shù)類型:數(shù)字(精度),字母,中文,帶空格的參數(shù),特殊字符。日期格式:日期:年月日,年月日時(shí)分秒,日期格式(包括/-,等)。3) 錯(cuò)誤碼異常覆蓋。4) 接口測(cè)試其他的關(guān)注點(diǎn)接口有翻頁(yè)時(shí),頁(yè)碼與頁(yè)數(shù)的異常值測(cè)試數(shù)據(jù)庫(kù)的增刪改查,比如一個(gè)post接口操作完成后,通過(guò)列表頁(yè)接口看下新的數(shù)據(jù)是否和剛才的post一致接口返回的圖片地址能否打開,圖片尺寸是否符合需求當(dāng)輸出參數(shù)有聯(lián)動(dòng)性時(shí),需要校驗(yàn)返回兩參數(shù)的實(shí)際結(jié)果是否都符合需求。所有列表頁(yè)接口必須考慮排序值所有功能都要考慮兼容舊版15、 接口測(cè)試執(zhí)行中比對(duì)數(shù)據(jù)庫(kù)嗎?肯定啊,因?yàn)榻涌诜祷刂档臄?shù)據(jù)來(lái)源于數(shù)據(jù)庫(kù),接口對(duì)數(shù)據(jù)的操作還要進(jìn)行深層次的數(shù)據(jù)庫(kù)檢查!16、 談?wù)勀銓?duì)HTTP協(xié)議的了解?超文本傳輸協(xié)議,端口為80,特點(diǎn)(無(wú)記憶功能、快速)是由請(qǐng)求和響應(yīng)兩部分組成請(qǐng)求由請(qǐng)求頭、請(qǐng)求行、請(qǐng)求正文組成;響應(yīng)是由響應(yīng)頭、響應(yīng)行、響應(yīng)正文組成,之前我們公司的接口是采用https協(xié)議的。httpshttp+ssl協(xié)議端口443面向安全的超文本傳輸協(xié)議17、 get和post請(qǐng)求有什么區(qū)別?get和post請(qǐng)求都是客戶端向服務(wù)器提交的一種請(qǐng)求方式get是明文傳輸參數(shù)、傾向于請(qǐng)求服務(wù)器資源。比如打開網(wǎng)站post傳輸數(shù)據(jù)不可見(jiàn),安全性高,傾向于向服務(wù)器提交數(shù)據(jù),比如注冊(cè)等18、 響應(yīng)狀態(tài)碼有哪些?1xx:指示信息一一表示請(qǐng)求已接受,繼續(xù)處理2xx:成功一一表示請(qǐng)求已被成功接收、理解、接受3xx:重定向一一要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作4xx:客戶端錯(cuò)誤 請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn)5xx:服務(wù)器端錯(cuò)誤一一服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求19、 接口測(cè)試中有哪些要注意的測(cè)試點(diǎn)?1) 接口中返回了圖片地址,要手工去進(jìn)行圖片的測(cè)試(大小、內(nèi)容)2) 接口完成查詢功能的時(shí)候,數(shù)據(jù)返回的排序顯示3) 接口測(cè)試的時(shí)候,關(guān)注參數(shù)的默認(rèn)值、必填項(xiàng)20、 接口執(zhí)行測(cè)試后返回結(jié)果做對(duì)比,一般比對(duì)哪部分內(nèi)容?之前必須要對(duì)比的就是返回狀態(tài)碼,其次再去對(duì)比返回其它關(guān)鍵內(nèi)容21、 為什么開展接口測(cè)試?1) 接口測(cè)試屬于集成測(cè)試、測(cè)試介入越早、就越能在項(xiàng)目早期發(fā)現(xiàn)問(wèn)題,其修復(fù)問(wèn)題的成本越低2) 接口測(cè)試非常快速、UI自動(dòng)化執(zhí)行一個(gè)測(cè)試用例10S左右、接口測(cè)試用例執(zhí)行的話,3) 需要的時(shí)間是毫秒級(jí)的4) 系統(tǒng)數(shù)量多、復(fù)雜度增高,同時(shí)保持各自獨(dú)立性。5) 系統(tǒng)間調(diào)用存在數(shù)據(jù)交互,發(fā)現(xiàn)頁(yè)面操作發(fā)現(xiàn)不了的Bug。6) 接口之間訪問(wèn)時(shí),對(duì)接口數(shù)據(jù)的準(zhǔn)確性要求很高。7) 檢查系統(tǒng)的異常處理8) 檢查系統(tǒng)的安全性,穩(wěn)定性9) 前端變了,接口測(cè)好了,后端不要變22、 之前在接口測(cè)試過(guò)程中,使用的工具是什么?postman或jmeter23、 之前用過(guò)抓包工具沒(méi)有?如何使用的?之前在項(xiàng)目中用過(guò)fiddler抓包工具進(jìn)行HTTP協(xié)議請(qǐng)求的抓取打開fiddler之后,默認(rèn)瀏覽器配置了8888端口的代理,在fiddler設(shè)置好過(guò)濾策略后,打開需要進(jìn)行抓包的網(wǎng)站進(jìn)行操作,就可以進(jìn)行抓包24、 json數(shù)據(jù)是什么,你平時(shí)如何解析json數(shù)據(jù)?一種開發(fā)常用的數(shù)據(jù)報(bào)文格式,由鍵值對(duì)和數(shù)組兩種格式構(gòu)成??梢酝ㄟ^(guò)工具bejson網(wǎng)站等25、 postman你在工作中使用流程是什么樣的?1) 編寫好用例2) 在postman先建好url環(huán)境變量3) 根據(jù)接口用例所屬的模塊新建集合管理4) 在集合中不同模塊下錄入測(cè)試用例5) 錄入測(cè)試用例的時(shí)候根據(jù)預(yù)期結(jié)果在tests頁(yè)簽中增加斷言6) 導(dǎo)出通過(guò)Newman去運(yùn)行26、 postman中設(shè)置環(huán)境變量有什么用?在之前項(xiàng)目中,接口測(cè)試測(cè)試的環(huán)境有開發(fā)環(huán)境,測(cè)試環(huán)境等,為了測(cè)試的時(shí)候方便,就在postman設(shè)置環(huán)境變量,到時(shí)所有接口都引用該環(huán)境變量,這樣就不用為了切換環(huán)境導(dǎo)致每次都去修改被測(cè)系統(tǒng)接口的主機(jī)地址;點(diǎn)擊右上角環(huán)境變量管理按鈕一新建環(huán)境變量,在腳本中使用{{變量名}}去調(diào)用27、 在接口測(cè)試中關(guān)聯(lián)是什么含義?如何用postman設(shè)置關(guān)聯(lián)?關(guān)聯(lián)就是把上一個(gè)接口返回值的部分截取出來(lái),作為下一個(gè)接口的參數(shù),能讓接口串聯(lián)運(yùn)行在postman中設(shè)置關(guān)聯(lián)的步驟如下:1)先通過(guò)正則表達(dá)式提取的方式或json取值的方式把下一個(gè)接口需要的信息從上一個(gè)接口截取出來(lái)2) 使用設(shè)置全局變量的代碼把取出來(lái)的值保存到全局變量3) 在下一個(gè)接口中,使用{{全局變量}}代替要替換的靜態(tài)值28、 postman支持什么類型的協(xié)議測(cè)試?http和https協(xié)議的29、 postman參數(shù)化有哪幾種方式??jī)?nèi)建變量、pre-scripts編寫js腳本、批量運(yùn)行時(shí)導(dǎo)入csv或json格式的文件30、 Newman如何執(zhí)行postman腳本?Newmanrun腳本名稱也可以添加參數(shù)生成html報(bào)表等31、 jmeter之前用的是什么版本?如何安裝的?jmeter用的是5.0版本,安裝如下:先在電腦上安裝jdk1.8或以上的版本,然后從官網(wǎng)下載最新的安裝包,解壓后,進(jìn)行環(huán)境變量的配置,配置好后即安裝完成32、 在項(xiàng)目中如何用jmeter進(jìn)行接口測(cè)試?1) 把線程組數(shù)量設(shè)置為1,循環(huán)次數(shù)設(shè)置為12) 配置好全局變量URL通過(guò)配置元件——用戶自定義的變量添加3) 增加配置元件http請(qǐng)求默認(rèn)值,放置在用戶定義的變量之后4) 添加事務(wù)控制器管理和組織測(cè)試用例5) 在事務(wù)控制中添加http請(qǐng)求添加測(cè)試用例中的接口請(qǐng)求信息6) 添加對(duì)應(yīng)的斷言元件進(jìn)行斷言33、 jmeter中如何設(shè)置斷言?右擊請(qǐng)求一-一斷言——響應(yīng)斷言一-一響應(yīng)斷言界面輸入要檢查比對(duì)的項(xiàng),設(shè)置好斷言后,執(zhí)行接口測(cè)試如果是通過(guò)的,查看結(jié)果樹不會(huì)有任何提示,如果斷言失敗,就會(huì)有紅色報(bào)錯(cuò)。如果接口返回的數(shù)據(jù)是json數(shù)據(jù),也可以添加json斷言34、 jmeter中如何實(shí)現(xiàn)關(guān)聯(lián)?先從上一個(gè)接口中通過(guò)正則表達(dá)式提取器或jsonpath解析器截取下一個(gè)接口需要的參數(shù)值保存到變量,然后在寫一個(gè)接口中通過(guò)${變量名}去獲取35、 jmeter添加http請(qǐng)求默認(rèn)值元件有什么作用?添加并設(shè)置好后,相當(dāng)于給所有的http請(qǐng)求取樣器都設(shè)置了默認(rèn)值,既不用填寫取樣器中的比如主機(jī)地址、端口、代理等,都可以使用http請(qǐng)求默認(rèn)值設(shè)置的36、 jmeter參數(shù)化的方式有哪幾種可以實(shí)現(xiàn)?1) 配置元件——用戶定義的變量元件可以設(shè)置全局變量2) 函數(shù)助手對(duì)話框中可以選擇比如隨機(jī)字符串、隨機(jī)日期、隨機(jī)數(shù)字作為參數(shù)化3) 可以使用csv文件作為參數(shù)化,通過(guò)配置元件中的csvdatasetconfig元件進(jìn)行設(shè)置即可37、 沒(méi)有接口文檔,如何做接口測(cè)試答:1.沒(méi)有接口文檔,那就需要先跟開發(fā)溝通,然后整理接口文檔沒(méi)有接口文檔,可以抓包看接口請(qǐng)求參數(shù),然后不懂的跟開發(fā)溝通38、 當(dāng)一個(gè)接口出現(xiàn)異常時(shí)候,你是如何分析異常的?答:抓包,查看后端日志按你的理解,軟件接口是什么?答:就是指程序中具體負(fù)責(zé)在不同模塊之間傳輸或接受數(shù)據(jù)的并做處理的類或者函數(shù)。39、 HTTP和HTTPS協(xié)議區(qū)別?答:https協(xié)議需要到CA(CertificateAuthority,證書頒發(fā)機(jī)構(gòu))申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用;http是超文本傳輸協(xié)議,信息是明文傳輸,Https協(xié)議是由SSL+Http協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全;http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443;40你會(huì)使用fiddler嗎?一般用來(lái)干什么?答:會(huì)使用,一般用作抓包。41、HTTPS在哪一層?答:HTTPS在應(yīng)用層。⑦HTTP壬、徊MJ群密 *⑤<- >④心-UDP *—>網(wǎng)時(shí)② >①督理 AClkentServer常見(jiàn)的POST提交數(shù)據(jù)方式答:主要有四種方式:application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml等。什么是Http協(xié)議無(wú)狀態(tài)協(xié)議?怎么解決HTTP協(xié)議無(wú)狀態(tài)協(xié)議答:無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力,服務(wù)器不知道客戶端是什么狀態(tài)。即我們給服務(wù)器發(fā)送HTTP請(qǐng)求之后,服務(wù)器根據(jù)請(qǐng)求,會(huì)給我們發(fā)送數(shù)據(jù)過(guò)來(lái),但是,發(fā)送完,不會(huì)記錄任何信息。HTTP是一個(gè)無(wú)狀態(tài)協(xié)議,這意味著每個(gè)請(qǐng)求都是獨(dú)立的,Keep-Alive沒(méi)能改變這個(gè)結(jié)果。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快。HTTP協(xié)議這種特性有優(yōu)點(diǎn)也有缺點(diǎn),優(yōu)點(diǎn)在于解放了服務(wù)器,每一次請(qǐng)求“點(diǎn)到為止”不會(huì)造成不必要連接占用,缺點(diǎn)在于每次請(qǐng)求會(huì)傳輸大量重復(fù)的內(nèi)容信息??蛻舳伺c服務(wù)器進(jìn)行動(dòng)態(tài)交互的Web應(yīng)用程序出現(xiàn)之后,HTTP無(wú)狀態(tài)的特性嚴(yán)重阻礙了這些應(yīng)用程序的實(shí)現(xiàn),畢竟交互是需要承前啟后的,簡(jiǎn)單的購(gòu)物車程序也要知道用戶到底在之前選擇了什么商品。于是,兩種用于保持HTTP連接狀態(tài)的技術(shù)就應(yīng)運(yùn)而生了,一個(gè)是Cookie,而另一個(gè)則是Session。44、 什么是DNS?答:DNS是域名系統(tǒng)(DomainNameSystem),DNS是用來(lái)做域名解析的,它會(huì)在你上網(wǎng)輸入網(wǎng)址后,把它轉(zhuǎn)換成IP,然后去訪問(wèn)對(duì)方服務(wù)器;沒(méi)有它,你想上百度就要記住百度的IP,但有了DNS的處理,你只需要記住對(duì)應(yīng)網(wǎng)站的域名,即網(wǎng)址就可以了。45、 接口性能測(cè)試怎么做的響應(yīng)時(shí)間吞吐量并發(fā)數(shù)服務(wù)器資源使用率(CPU,內(nèi)存,io,network)46、 如何模擬弱網(wǎng)測(cè)試??jī)膳_(tái)機(jī)器鏈接同一WiFi,使用電腦對(duì)其限流47、 如何分析一個(gè)bug是前端的還是后端的?通過(guò)抓包查看報(bào)文,請(qǐng)求報(bào)文有誤即為前端的bug,返回報(bào)文有誤即為二、Web測(cè)試問(wèn)題get請(qǐng)求和POSt的區(qū)別?get是從服務(wù)器上獲取的數(shù)據(jù),post則是向服務(wù)器傳送數(shù)據(jù)get的參數(shù)在URL中可以看到,post的參數(shù)用戶看不到get傳送的數(shù)據(jù)量較小,不能大于2KB,post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制get安全性比較低,post安全性較高/s和c/s架構(gòu)有什么區(qū)別和聯(lián)系?B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易C/S可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到Client端和Server端來(lái)實(shí)現(xiàn)。C/S結(jié)構(gòu)的軟件需要針對(duì)不同的操作系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,更新的代價(jià)高,效率低。C/S和B/S并沒(méi)有本質(zhì)的區(qū)別:B/S是基于特定通信協(xié)議(HTTP)的C/S架構(gòu),也就是說(shuō)B/S包含在C/S中,是特殊的C/S架構(gòu)session和cookie的區(qū)別有哪些?session存放在服務(wù)器端,cookie存放在客戶端cookie不是很安全,別人可以分析存放在本地的cookie,session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上,當(dāng)訪問(wèn)增多,會(huì)比較占服務(wù)器性能單個(gè)cookie在客戶端的限制是3kweb功能測(cè)試的關(guān)注點(diǎn)有哪些?鏈接測(cè)試表單測(cè)試Cookie&Session測(cè)試文件上傳測(cè)試數(shù)據(jù)庫(kù)測(cè)試https和http的區(qū)別HTTP明文傳輸,數(shù)據(jù)都是未加密的,安全性較差,HTTPS(SSL+HTTP)數(shù)據(jù)傳輸過(guò)程是加密的,安全性較好。使用HTTPS協(xié)議需要到CA(CertificateAuthority,數(shù)字證書認(rèn)證機(jī)構(gòu))申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。證書頒發(fā)機(jī)構(gòu)如:Symantec、Comodo、GoDaddy和GlobalSign等。HTTP頁(yè)面響應(yīng)速度比HTTPS快,主要是因?yàn)镠TTP使用TCP三次握手建立連接,客戶端和服務(wù)器需要交換3個(gè)包,而HTTPS除了TCP的三個(gè)包,還要加上ssl握手需要的9個(gè)包,所以一共是12個(gè)包。http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。HTTPS其實(shí)就是建構(gòu)在SSL/TLS之上的HTTP協(xié)議,所以,要比較HTTPS比HTTP要更耗費(fèi)服務(wù)器資源。web測(cè)試中,如何判斷是前端的bug還是后端的bug呢?請(qǐng)求接口url是否正確,如果請(qǐng)求的接口url錯(cuò)誤,為前端的bug傳參是否正確,如果傳參不正確,為前端的bug請(qǐng)求接口url和傳參都正確,查看響應(yīng)是否正確,如果響應(yīng)內(nèi)容不正確,為后端bug也可以在瀏覽器控制臺(tái)輸入js代碼調(diào)試進(jìn)行分析.界面是怎么測(cè)試的?我們主要測(cè)試的是UI,功能,網(wǎng)絡(luò),兼容性,易用性,安全性測(cè)試UI測(cè)試:一般檢查界面的布局展示是不是和需求說(shuō)明一致。還有測(cè)試不同的屏幕大小,不同的分辨率對(duì)界面展示的影響。功能測(cè)試:和web的功能測(cè)試差不多,主要是考慮操作的權(quán)限,模塊功能,用戶場(chǎng)景等方面兼容性測(cè)試:主要考慮的是瀏覽器不同版本的兼容,屏幕大小跟分辨率網(wǎng)絡(luò)測(cè)試:一般是考慮在不同網(wǎng)絡(luò)情況下,h5界面能否正常運(yùn)行,比如說(shuō)網(wǎng)絡(luò)之間的切換,和網(wǎng)絡(luò)之間組合,外景和弱網(wǎng)環(huán)境下的使用情況osi的七層模型?應(yīng)用層,表示層,會(huì)話層,傳輸層,網(wǎng)絡(luò)層,鏈路層,物理層http協(xié)議的響應(yīng)碼是如何定義的?(1) 1xx屬于參考信息(2) 2xx指明狀態(tài)成功(3) 3xx用于重定向(4) 4xx指客戶端錯(cuò)誤(5) 5xx則是服務(wù)器端錯(cuò)誤TCP和UDP的區(qū)別相同點(diǎn):都是傳輸層協(xié)議,負(fù)責(zé)承擔(dān)數(shù)據(jù)傳輸?shù)牡娜蝿?wù)。不同點(diǎn):TCP:傳輸控制協(xié)議,可靠的面向連接,面向字節(jié)流服務(wù)。安全性高,但是效率低。UDP:用戶數(shù)據(jù)報(bào)協(xié)議,不可靠、無(wú)連接的面向報(bào)文的傳輸服務(wù),安全性低,效率高。應(yīng)用層協(xié)議有哪些?域名系統(tǒng)(DNS):實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備名字到IP地址映射的網(wǎng)絡(luò)服務(wù)。文件傳輸協(xié)議(FTP):實(shí)現(xiàn)交互式文件傳輸功能。簡(jiǎn)單郵件傳送協(xié)議(SMTP):實(shí)現(xiàn)電子郵箱傳送功能。超文本傳輸協(xié)議(HTTP):實(shí)現(xiàn)WWW服務(wù)。簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP):管理與監(jiān)視網(wǎng)絡(luò)設(shè)備。遠(yuǎn)程登錄協(xié)議(Telnet):實(shí)現(xiàn)遠(yuǎn)程登錄功能。TCP/IP協(xié)議是什么?有什么特點(diǎn)?TCP/IP協(xié)議是Internet上使用最為廣泛的通信協(xié)議。所謂TCP/IP協(xié)議,實(shí)際上是一個(gè)協(xié)議簇(組),是一組協(xié)議,其中TCP協(xié)議和IP協(xié)議是其中兩個(gè)最重要的協(xié)議°IP協(xié)議稱為網(wǎng)際協(xié)議,用來(lái)給各種不同的局域網(wǎng)和通信子網(wǎng)提供一個(gè)統(tǒng)一的互聯(lián)平臺(tái)。TCP協(xié)議稱為傳輸控制協(xié)議,用來(lái)為應(yīng)用程序提供端到端的通信和控制功能⑴開放的協(xié)議標(biāo)準(zhǔn):可以免費(fèi)使用,并且獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng)。⑵獨(dú)立于特定的網(wǎng)絡(luò)硬件:可以運(yùn)行在局域網(wǎng)、廣域網(wǎng),更適用于互聯(lián)網(wǎng)中。⑶統(tǒng)一的網(wǎng)絡(luò)地址分配方案:使得整個(gè)TCP/IP設(shè)備在網(wǎng)中都具有唯一的IP地址。⑷標(biāo)準(zhǔn)化的高層協(xié)議:可以提供多種可靠的用戶服務(wù)。Http協(xié)議報(bào)文結(jié)構(gòu)包含什么內(nèi)容?請(qǐng)求方式有哪些?一個(gè)HTTP請(qǐng)求報(bào)文由請(qǐng)求行(requestline)、請(qǐng)求頭部(header)、空行和請(qǐng)求數(shù)據(jù)4個(gè)部分組成。HTTP響應(yīng)報(bào)文和請(qǐng)求報(bào)文的結(jié)構(gòu)差不多,也是由四個(gè)部分組成(狀態(tài)行+響應(yīng)頭部+空行+響應(yīng)體)序方齋1GET圜芋溫湖】由土值息,葬依回修傷主1于事,只枷0的函皿中次ia■響內(nèi)■,用于如業(yè)3POST向摑璉歸嫖!9立由第郵姓理閥承[冊(cè)度歸皿甘上利t POSTW^q?#fl”哥tn 的:于強(qiáng)[Q/m巳丹EMEZ弋*4柯JJ只具廠?;《周隅其規(guī)嶗送S1W.'哩取叱版世土勺5DELETE兩珂附兵Bi肝閔ntf繭函L6COMNLCTHTTP/Lt協(xié)議中事MN酬S收為Wg的fW9BR務(wù)..7OPTIONS尤許村戶僧吉首佛疝!帕.BTRACE國(guó)髭HM苔藤喧劇豹請(qǐng)下呸亨也于Mlu?lL;?Jr.Cookie和Session的關(guān)系區(qū)別?Cookie是服務(wù)器暫存放在用戶計(jì)算機(jī)上的一些資料,好讓服務(wù)器用來(lái)辨認(rèn)用戶的計(jì)算機(jī)。Session:會(huì)話,客戶端和服務(wù)器之間的會(huì)話,通過(guò)在服務(wù)器端記錄信息確定用戶身份。cookie是一門客戶端緩存技術(shù),cookie數(shù)據(jù)由服務(wù)器生成,發(fā)送給瀏覽器保存在客戶端cookie數(shù)據(jù)的格式:鍵值對(duì)cookie數(shù)據(jù)過(guò)期機(jī)制:設(shè)置expire值Cookie保存在瀏覽器、易偽造、不安全session是一門服務(wù)端會(huì)話緩存技術(shù),session由服務(wù)器端的web容器創(chuàng)建,保存在服務(wù)器端session保存數(shù)據(jù):鍵值對(duì)形式session過(guò)期:一般默認(rèn)30分鐘Session在服務(wù)器端,相對(duì)安全,過(guò)度使用會(huì)消耗服務(wù)器資源Web系統(tǒng)和App的測(cè)試有哪些不同?Web測(cè)試和App測(cè)試區(qū)別為:監(jiān)測(cè)不同、更新不同、回歸測(cè)試不同。一、 監(jiān)測(cè)不同1、Web測(cè)試:Web測(cè)試需監(jiān)測(cè)響應(yīng)時(shí)間、CPU、Memory。2、App測(cè)試:App測(cè)試除了需監(jiān)測(cè)響應(yīng)時(shí)間、CPU、Memory外,還需監(jiān)測(cè)流量、電量等。二、 更新不同1、Web測(cè)試:Web測(cè)試只要更新了服務(wù)器端,客戶端就會(huì)同步會(huì)更新。2、App測(cè)試:App測(cè)試更新需要手動(dòng)更新客戶端。三、 回歸測(cè)試不同1、Web測(cè)試:Web測(cè)試不需要進(jìn)行回歸測(cè)試。2、App測(cè)試:App測(cè)試所有核心版本都需要進(jìn)行回歸測(cè)試。WebDriver原理webDriver是按照client/server模式設(shè)計(jì),client就是我們的測(cè)試代碼,發(fā)送請(qǐng)求,server就是打開的瀏覽器來(lái)打開client發(fā)出的請(qǐng)求并做出響應(yīng)。具體的工作流程:?webdriver打開瀏覽器并綁定到指定端口。啟動(dòng)的瀏覽器作為remoteserver.?client通過(guò)commandExecuter發(fā)送httpRequest給remoteserver的的偵聽端n(thewebdriverwirecontrol通信協(xié)議)?Remoteserver根據(jù)原生的瀏覽器組件來(lái)轉(zhuǎn)化為瀏覽器的native調(diào)用。備注:?jiǎn)?dòng)瀏覽器的時(shí)候,使用的是http:hypertesttransferprotocol三、App測(cè)試問(wèn)題什么是activityActivity是Android的四大組件之一,也是平時(shí)我們用到最多的一個(gè)組件,可以用來(lái)顯示View。官方的說(shuō)法是Activity一個(gè)應(yīng)用程序的組件,它提供一個(gè)屏幕來(lái)與用戶交互,以便做一些諸如打電話、發(fā)郵件和看地圖之類的事情。Activity是一個(gè)Android的應(yīng)用組件,它提供屏幕進(jìn)行交互。每個(gè)Activity都會(huì)獲得一個(gè)用于繪制其用戶界面的窗口,窗口可以充滿哦屏幕也可以小于屏幕并浮動(dòng)在其他窗口之上。一個(gè)應(yīng)用通常是由多個(gè)彼此松散聯(lián)系的Activity組成,一般會(huì)指定應(yīng)用中的某個(gè)Activity為主活動(dòng),也就是說(shuō)首次啟動(dòng)應(yīng)用時(shí)給用戶呈現(xiàn)的Activity。將Activity設(shè)為主活動(dòng)的方法當(dāng)然Activity之間可以進(jìn)行互相跳轉(zhuǎn),以便執(zhí)行不同的操作。每當(dāng)新Activity啟動(dòng)時(shí),舊的Activity便會(huì)停止,但是系統(tǒng)會(huì)在堆棧也就是返回棧中保留該Activity。當(dāng)新Activity啟動(dòng)時(shí),系統(tǒng)也會(huì)將其推送到返回棧上,并取得用戶的操作焦點(diǎn)。當(dāng)用戶完成當(dāng)前Activity并按返回按鈕是,系統(tǒng)就會(huì)從堆棧將其彈出銷毀,然后回復(fù)前一Activity當(dāng)一個(gè)Activity因某個(gè)新Activity啟動(dòng)而停止時(shí),系統(tǒng)會(huì)通過(guò)該Activity的生命周期回調(diào)方法通知其這一狀態(tài)的變化。Activity因狀態(tài)變化每個(gè)變化可能有若干種,每一種回調(diào)都會(huì)提供執(zhí)行與該狀態(tài)相應(yīng)的特定操作的機(jī)會(huì)Activity生命周期?周期即活動(dòng)從開始到結(jié)束所經(jīng)歷的各種狀態(tài)。生命周期即活動(dòng)從開始到結(jié)束所經(jīng)歷的各個(gè)狀態(tài)。從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)變,從無(wú)到有再到無(wú),這樣一個(gè)過(guò)程中所經(jīng)歷的狀態(tài)就叫做生命周期。Activity本質(zhì)上有四種狀態(tài):運(yùn)行(Active/Running):Activity處于活動(dòng)狀態(tài),此時(shí)Activity處于棧頂,是可見(jiàn)狀態(tài),可以與用戶進(jìn)行交互暫停(Paused):當(dāng)Activity失去焦點(diǎn)時(shí),或被一個(gè)新的非全面屏的Activity,或被一個(gè)透明的Activity放置在棧頂時(shí),Activity就轉(zhuǎn)化為Paused狀態(tài)。此刻并不會(huì)被銷毀,只是失去了與用戶交互的能力,其所有的狀態(tài)信息及其成員變量都還在,只有在系統(tǒng)內(nèi)存緊張的情況下,才有可能被系統(tǒng)回收掉停止(Stopped):當(dāng)Activity被系統(tǒng)完全覆蓋時(shí),被覆蓋的Activity就會(huì)進(jìn)入Stopped狀態(tài),此時(shí)已不在可見(jiàn),但是資源還是沒(méi)有被收回系統(tǒng)回收(Killed):當(dāng)Activity被系統(tǒng)回收掉,Activity就處于Killed狀態(tài)如果一個(gè)活動(dòng)在處于停止或者暫停的狀態(tài)下,系統(tǒng)內(nèi)存缺乏時(shí)會(huì)將其結(jié)束(finish)或者殺死(kill)。這種非正常情況下,系統(tǒng)在殺死或者結(jié)束之前會(huì)調(diào)用onSaveInstance()方法來(lái)保存信息,同時(shí),當(dāng)Activity被移動(dòng)到前臺(tái)時(shí),重新啟動(dòng)該Activity并調(diào)用onRestoreInstance()方法加載保留的信息,以保持原有的狀態(tài)。在上面的四中常有的狀態(tài)之間,還有著其他的生命周期來(lái)作為不同狀態(tài)之間的過(guò)度,用于在不同的狀態(tài)之間進(jìn)行轉(zhuǎn)換,生命周期的具體說(shuō)明見(jiàn)下。Android四大組件Android四大基本組件:Activity、BroadcastReceiver廣播接收器、ContentProvider內(nèi)容提供者、Service服務(wù)。Activity:應(yīng)用程序中,一個(gè)Activity就相當(dāng)于手機(jī)屏幕,它是一種可以包含用戶界面的組件,主要用于和用戶進(jìn)行交互。一個(gè)應(yīng)用程序可以包含許多活動(dòng),比如事件的點(diǎn)擊,一般都會(huì)觸發(fā)一個(gè)新的Activity。BroadcastReceiver廣播接收器:應(yīng)用可以使用它對(duì)外部事件進(jìn)行過(guò)濾只對(duì)感興趣的外部事件(如當(dāng)電話呼入時(shí),或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。廣播接收器沒(méi)有用戶界面。然而,它們可以啟動(dòng)一個(gè)activity或serice來(lái)響應(yīng)它們收到的信息,或者用NotificationManager來(lái)通知用戶。通知可以用很多種方式來(lái)吸引用戶的注意力—閃動(dòng)背燈、震動(dòng)、播放聲音等。一般來(lái)說(shuō)是在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶可以打開它并獲取消息。ContentProvider內(nèi)容提供者:內(nèi)容提供者主要用于在不同應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)共享的功能,它提供了一套完整的機(jī)制,允許一個(gè)程序訪問(wèn)另一個(gè)程序中的數(shù)據(jù),同時(shí)還能保證被訪問(wèn)數(shù)據(jù)的安全性。只有需要在多個(gè)應(yīng)用程序間共享數(shù)據(jù)時(shí)才需要內(nèi)容提供者。例如:通訊錄數(shù)據(jù)被多個(gè)應(yīng)用程序使用,且必須存儲(chǔ)在一個(gè)內(nèi)容提供者中。它的好處:統(tǒng)一數(shù)據(jù)訪問(wèn)方式。Service月艮務(wù):是Android中實(shí)現(xiàn)程序后臺(tái)運(yùn)行的解決方案,它非常適合去執(zhí)行那些不需要和用戶交互而且還要長(zhǎng)期運(yùn)行的任務(wù)(一邊打電話,后臺(tái)掛著QQ)。服務(wù)的運(yùn)行不依賴于任何用戶界面,即使程序被切換到后臺(tái),或者用戶打開了另一個(gè)應(yīng)用程序,服務(wù)扔然能夠保持正常運(yùn)行,不過(guò)服務(wù)并不是運(yùn)行在一個(gè)獨(dú)立的進(jìn)程當(dāng)中,而是依賴于創(chuàng)建服務(wù)時(shí)所在的應(yīng)用程序進(jìn)程。當(dāng)某個(gè)應(yīng)用程序進(jìn)程被殺掉后,所有依賴于該進(jìn)程的服務(wù)也會(huì)停止運(yùn)行(正在聽音樂(lè),然后把音樂(lè)程序退出)。4?app測(cè)試和web測(cè)試有什么區(qū)別?WEB測(cè)試和App測(cè)試從流程上來(lái)說(shuō),沒(méi)有區(qū)別。都需要經(jīng)歷測(cè)試計(jì)劃方案,用例設(shè)計(jì),測(cè)試執(zhí)行,缺陷管理,測(cè)試報(bào)告等相關(guān)活動(dòng)。從技術(shù)上來(lái)說(shuō),WEB測(cè)試和APP測(cè)試其測(cè)試類型也基本相似,都需要進(jìn)行功能測(cè)試、性能測(cè)試、安全性測(cè)試、GUI測(cè)試等測(cè)試類型。他們的主要區(qū)別在于具體測(cè)試的細(xì)節(jié)和方法有區(qū)別,比如:性能測(cè)試,在WEB測(cè)試只需要測(cè)試響應(yīng)時(shí)間這個(gè)要素,在App測(cè)試中還需要考慮流量測(cè)試和耗電量測(cè)試。兼容性測(cè)試:在WEB端是兼容瀏覽器,在App端兼容的是手機(jī)設(shè)備。而且相對(duì)應(yīng)的兼容性測(cè)試工具也不相同,WEB因?yàn)槭菧y(cè)試兼容瀏覽器,所以需要使用不同的瀏覽器進(jìn)行兼容性測(cè)試(常見(jiàn)的是兼容IE6,IE8,chrome,firefox)如果是手機(jī)端,那么就需要兼容不同品牌,不同分辨率,不同android版本甚至不同操作系統(tǒng)的兼容。(常見(jiàn)的兼容方式是兼容市場(chǎng)占用率前N位的手機(jī)即可),有時(shí)候也可以使用到兼容性測(cè)試工具,但WEB兼容性工具多用IETester等工具,而App兼容性測(cè)試會(huì)使用Testin這樣的商業(yè)工具也可以做測(cè)試。安裝測(cè)試:WEB測(cè)試基本上沒(méi)有客戶端層面的安裝測(cè)試,但是App測(cè)試是存在客戶端層面的安裝測(cè)試,那么就具備相關(guān)的測(cè)試點(diǎn)。還有,App測(cè)試基于手機(jī)設(shè)備,還有一些手機(jī)設(shè)備的專項(xiàng)測(cè)試。如交叉事件測(cè)試,操作類型測(cè)試,網(wǎng)絡(luò)測(cè)試(弱網(wǎng)測(cè)試,網(wǎng)絡(luò)切換)交叉事件測(cè)試:就是在操作某個(gè)軟件的時(shí)候,來(lái)電話、來(lái)短信,電量不足提示等外部事件。操作類型測(cè)試:如橫屏測(cè)試,手勢(shì)測(cè)試網(wǎng)絡(luò)測(cè)試:包含弱網(wǎng)和網(wǎng)絡(luò)切換測(cè)試。需要測(cè)試弱網(wǎng)所造成的用戶體驗(yàn),重點(diǎn)要考慮回退和刷新是否會(huì)造成二次提交。弱網(wǎng)絡(luò)的模擬,據(jù)說(shuō)可以用360wifi實(shí)現(xiàn)設(shè)置。從系統(tǒng)架構(gòu)的層面,WEB測(cè)試只要更新了服務(wù)器端,客戶端就會(huì)同步會(huì)更新。而且客戶端是可以保證每一個(gè)用戶的客戶端完全一致的。但是APP端是不能夠保證完全一致的,除非用戶更新客戶端。如果是APP下修改了服務(wù)器端,意味著客戶端用戶所使用的核心版本都需要進(jìn)行回歸測(cè)試一遍。還有升級(jí)測(cè)試:升級(jí)測(cè)試的提醒機(jī)制,升級(jí)取消是否會(huì)影響原有功能的使用,升級(jí)后用戶數(shù)據(jù)是否被清除了。android和ios測(cè)試區(qū)別?App測(cè)試中ios和Android有哪些區(qū)別呢?Android長(zhǎng)按home鍵呼出應(yīng)用列表和切換應(yīng)用,然后右滑則終止應(yīng)用;多分辨率測(cè)試,Android端20多種,ios較少;手機(jī)操作系統(tǒng),Android較多,ios較少且不能降級(jí),只能單向升級(jí);新的ios系統(tǒng)中的資源庫(kù)不能完全兼容低版本中的ios系統(tǒng)中的應(yīng)用,低版本ios系統(tǒng)中的應(yīng)用調(diào)用了新的資源庫(kù),會(huì)直接導(dǎo)致閃退(Crash);操作習(xí)慣:Android,Back鍵是否被重寫,測(cè)試點(diǎn)擊Back鍵后的反饋是否正確;應(yīng)用數(shù)據(jù)從內(nèi)存移動(dòng)到SD卡后能否正常運(yùn)行等;push測(cè)試:Android:點(diǎn)擊home鍵,程序后臺(tái)運(yùn)行時(shí),此時(shí)接收到push,點(diǎn)擊后喚醒應(yīng)用,此時(shí)是否可以正確跳轉(zhuǎn);ios,點(diǎn)擊home鍵關(guān)閉程序和屏幕鎖屏的情況(紅點(diǎn)的顯示);安裝卸載測(cè)試:Android的下載和安裝的平臺(tái)和工具和渠道比較多,ios主要有appstore,iTunes和testflight下載;升級(jí)測(cè)試:可以被升級(jí)的必要條件:新舊版本具有相同的簽名;新舊版本具有相同的包名;有一個(gè)標(biāo)示符區(qū)分新舊版本(如版本號(hào)),對(duì)于Android若有內(nèi)置的應(yīng)用需檢查升級(jí)之后內(nèi)置文件是否匹配(如內(nèi)置的輸入法)另外:對(duì)于測(cè)試還需要注意一下幾點(diǎn):并發(fā)(中斷)測(cè)試:鬧鈴彈出框提示,另一個(gè)應(yīng)用的啟動(dòng)、視頻音頻的播放,來(lái)電、用戶正在輸入等,語(yǔ)音、錄音等的播放時(shí)強(qiáng)制其他正在播放的要暫停;數(shù)據(jù)來(lái)源的測(cè)試:輸入,選擇、復(fù)制、語(yǔ)音輸入,安裝不同輸入法輸入等;push(推送)測(cè)試:在開關(guān)機(jī)、待機(jī)狀態(tài)下執(zhí)行推送,消息先死及其推送跳轉(zhuǎn)的正確性;應(yīng)用在開發(fā)、未打開狀態(tài)、應(yīng)用啟動(dòng)且在后臺(tái)運(yùn)行的情況下是push顯示和跳轉(zhuǎn)否正確;推送消息閱讀前后數(shù)字的變化是否正確;多條推送的合集的顯示和跳轉(zhuǎn)是否正確;分享跳轉(zhuǎn):分享后的文案是否正確;分享后跳轉(zhuǎn)是否正確,顯示的消息來(lái)源是否正確;觸屏測(cè)試:同時(shí)觸摸不同的位置或者同時(shí)進(jìn)行不同操作,查看客戶端的處理情況,是否會(huì)crash等app出現(xiàn)ANR,是什么原因?qū)е碌??那么?dǎo)致ANR的根本原因是什么呢?簡(jiǎn)單的總結(jié)有以下兩點(diǎn):主線程執(zhí)行了耗時(shí)操作,比如數(shù)據(jù)庫(kù)操作或網(wǎng)絡(luò)編程其他進(jìn)程(就是其他程序)占用CPU導(dǎo)致本進(jìn)程得不到CPU時(shí)間片,比如其他進(jìn)程的頻繁讀寫操作可能會(huì)導(dǎo)致這個(gè)問(wèn)題。細(xì)分的話,導(dǎo)致ANR的原因有如下幾點(diǎn):耗時(shí)的網(wǎng)絡(luò)訪問(wèn)大量的數(shù)據(jù)讀寫數(shù)據(jù)庫(kù)操作硬件操作(比如camera)調(diào)用thread的join()方法、sleep()方法、wait()方法或者等待線程鎖的時(shí)候servicebinder的數(shù)量達(dá)到上限systemserver中發(fā)生WatchDogANRservice忙導(dǎo)致超時(shí)無(wú)響應(yīng)其他線程持有鎖,導(dǎo)致主線程等待超時(shí)其它線程終止或崩潰導(dǎo)致主線程一直等待。app出現(xiàn)crash原因有哪些?為什么App會(huì)出現(xiàn)崩潰呢?百度了一下,查到和App崩潰相關(guān)的幾個(gè)因素:內(nèi)存管理錯(cuò)誤,程序邏輯錯(cuò)誤,設(shè)備兼容,網(wǎng)絡(luò)因素等,如下:內(nèi)存管理錯(cuò)誤:可能是可用內(nèi)存過(guò)低,app所需的內(nèi)存超過(guò)設(shè)備的限制,app跑不起來(lái)導(dǎo)致Appcrasho或是內(nèi)存泄露,程序運(yùn)行的時(shí)間越長(zhǎng),所占用的內(nèi)存越大,最終用盡全部?jī)?nèi)存,導(dǎo)致整個(gè)系統(tǒng)崩潰。亦或非授權(quán)的內(nèi)存位置的使用也可能會(huì)導(dǎo)致Appcrasho程序邏輯錯(cuò)誤:數(shù)組越界、堆棧溢出、并發(fā)操作、邏輯錯(cuò)誤。e.g.app新添加一個(gè)未經(jīng)測(cè)試的新功能,調(diào)用了一個(gè)已釋放的指針,運(yùn)行的時(shí)候就會(huì)crasho設(shè)備兼容:由于設(shè)備多樣性,app在不同的設(shè)備上可能會(huì)有不同的表現(xiàn)。網(wǎng)絡(luò)因素:可能是網(wǎng)速欠佳,無(wú)法達(dá)到app所需的快速響應(yīng)時(shí)間,導(dǎo)致appcrash?;蛘呤遣煌W(wǎng)絡(luò)的切換也可能會(huì)影響app的穩(wěn)定性。app對(duì)于不穩(wěn)定偶然出現(xiàn)anr和crash時(shí)候你是怎么處理的?app偶然出現(xiàn)anr和crash是比較頭疼的問(wèn)題,由于偶然出現(xiàn)無(wú)法復(fù)現(xiàn)步驟,這也是一個(gè)測(cè)試人員必備的技能,需要抓日志。查看日志主要有3個(gè)方法:方法一:app開發(fā)保存錯(cuò)誤日志到本地一般app開發(fā)在debug版本,出現(xiàn)anr和crash的時(shí)候會(huì)自動(dòng)把日志保存到本地實(shí)際的sd卡上,去對(duì)應(yīng)的app目錄取出來(lái)就可以了方法二:實(shí)時(shí)抓取當(dāng)出現(xiàn)偶然的crash時(shí)候,這時(shí)候可以把手機(jī)拉到你們app開發(fā)那,手機(jī)連上他的開發(fā)代碼的環(huán)境,有ddms會(huì)抓日志,這時(shí)候出現(xiàn)crash就會(huì)記錄下來(lái)日志。盡量重復(fù)操作讓bug復(fù)現(xiàn)就可以了也可以自己開著logcat,保存日志到電腦本地,參考這篇:adblogcat|find"com.sankuai.meituan">d:\hello.txt方法三:第三方sdk統(tǒng)計(jì)工具一般接入了第三方統(tǒng)計(jì)sdk,比如友盟統(tǒng)計(jì),在友盟的后臺(tái)會(huì)抓到報(bào)錯(cuò)的日志app的日志如何抓取?app本身的日志,可以用logcat抓取,參考這篇:/yoyoketang/pZ9
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店管理工作關(guān)鍵職責(zé)講解
- 整形行業(yè)采購(gòu)工作總結(jié)
- 別墅度假休閑旅游合同
- 讀書報(bào)告:儒學(xué)
- 2024年福建省《輔警招聘考試必刷500題》考試題庫(kù)及完整答案【奪冠系列】
- 2023-2024學(xué)年安徽省五市聯(lián)考高二上學(xué)期期末考試地理試題(C卷)(解析版)
- 2025蔬菜買賣合同范文
- 2024年度天津市公共營(yíng)養(yǎng)師之三級(jí)營(yíng)養(yǎng)師通關(guān)題庫(kù)(附答案)
- 2024年度天津市公共營(yíng)養(yǎng)師之二級(jí)營(yíng)養(yǎng)師練習(xí)題及答案
- 河北成立腌醬菜生產(chǎn)加工公司可行性分析報(bào)告
- 楚雄師范學(xué)院-18級(jí)-葡萄酒專業(yè)-葡萄酒工藝學(xué)復(fù)習(xí)題及答案
- 高速公路機(jī)電工程標(biāo)準(zhǔn)化施工管理質(zhì)量控制
- 助產(chǎn)士的述職報(bào)告
- 醫(yī)保繳費(fèi)問(wèn)題排查整改報(bào)告
- 2024年黑龍江高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷試題(含答案詳解)
- 2024年度醫(yī)院財(cái)務(wù)部述職報(bào)告課件
- 浙江省杭州市余杭區(qū)2023-2024學(xué)年五年級(jí)上學(xué)期1月期末道德與法治試題
- 工程管理培訓(xùn)教案
- agv無(wú)人運(yùn)輸車維修保養(yǎng)合同
- 2023-2024學(xué)年二年級(jí)數(shù)學(xué)上冊(cè)期末樂(lè)考非紙筆測(cè)試題(一)蘇教版
- 學(xué)生信息技術(shù)應(yīng)用實(shí)踐
評(píng)論
0/150
提交評(píng)論