一、用瀏覽器訪問(wèn)百度的過(guò)程
? ?????先解析出百度對(duì)應(yīng)的IP地址,然后使用ARP獲取默認(rèn)網(wǎng)關(guān)的mac地址.在組織數(shù)據(jù)發(fā)送給默認(rèn)網(wǎng)關(guān)街佑,應(yīng)為默認(rèn)網(wǎng)關(guān)擁有轉(zhuǎn)發(fā)數(shù)據(jù)的能力悉罕,在把數(shù)據(jù)轉(zhuǎn)發(fā)給路由器佑淀,路由器根據(jù)自己的路由協(xié)議來(lái)選擇一個(gè)合適的較快的路徑轉(zhuǎn)發(fā)數(shù)據(jù)給目的網(wǎng)關(guān),目的網(wǎng)關(guān)把數(shù)據(jù)轉(zhuǎn)發(fā)給dns服務(wù)上。
? ? ? ? 在得到baidu.com對(duì)應(yīng)的IP地址之后,會(huì)發(fā)送3次握手協(xié)議進(jìn)行連接摸柄,當(dāng)使用http協(xié)議發(fā)送請(qǐng)求數(shù)據(jù)給web服務(wù)器之后,web服務(wù)器也會(huì)收到數(shù)據(jù)請(qǐng)求然后得到相應(yīng)的結(jié)果既忆,去返回給瀏覽器驱负。瀏覽器在收到數(shù)據(jù)之后通過(guò)瀏覽器之后來(lái)顯示這個(gè)網(wǎng)頁(yè),當(dāng)他關(guān)閉tcp連接之后他的四次揮手也結(jié)束了
二患雇、什么是sql注入跃脊,跨站腳本和跨站請(qǐng)求偽造
? ? ? ? ? ? sql注入是最常見(jiàn)的一種注入攻擊形式,當(dāng)服務(wù)器使用請(qǐng)求參數(shù)構(gòu)造sql語(yǔ)句時(shí)苛吱,惡意的sql被嵌入到sql中交給數(shù)據(jù)庫(kù)去執(zhí)行匾乓,sql注入是需要攻擊者對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)有所了解才能去運(yùn)行。
? ? ? ? ? ?XSS跨站腳本攻擊是向網(wǎng)頁(yè)中注入惡意腳本在用戶(hù)瀏覽網(wǎng)頁(yè)時(shí)在用戶(hù)的瀏覽器中去執(zhí)行惡意的腳本攻擊方式又谋。
? ? ? ? ? ? CSRF跨站請(qǐng)求偽造是攻擊者通過(guò)跨站請(qǐng)求拼缝,以合法的用戶(hù)身份進(jìn)行非法操作的
????????????????它主要分為三種方式:? 1、在表單中添加令牌? ? 2彰亥、驗(yàn)證碼? ? ? ? 3咧七、檢查請(qǐng)求頭中的Referer
三、給一個(gè)網(wǎng)站如何開(kāi)展測(cè)試
? ? ? ? ? ? 1任斋、首先先看需求說(shuō)明继阻,網(wǎng)站設(shè)計(jì)等之類(lèi)的相關(guān)文檔,在分析測(cè)試需求
? ? ? ? ? ? 2废酷、制定測(cè)試計(jì)劃瘟檩,確定測(cè)試范圍和測(cè)試的策略,主要分為6部分:功能澈蟆,界面墨辛,性能,數(shù)據(jù)庫(kù)趴俘,安全性睹簇,兼容性
? ? ? ? ? ? 3、設(shè)計(jì)測(cè)試用例
? ? ? ? ? ? ? ?c1: 功能測(cè)試:鏈接測(cè)試是否正常跳轉(zhuǎn)寥闪,是否有空頁(yè)與無(wú)效頁(yè)太惠,提交功能測(cè)試,是否支持多語(yǔ)言
? ? ? ????????? c2:界面測(cè)試:是否風(fēng)格同一疲憋,布局是否合理
? ? ? ????????? c3:性能測(cè)試:壓力測(cè)試凿渊,負(fù)載測(cè)試,強(qiáng)度測(cè)試
? ? ? ????????? c4:數(shù)據(jù)庫(kù)測(cè)試:數(shù)據(jù)庫(kù)存儲(chǔ)操作缚柳,數(shù)據(jù)內(nèi)容驗(yàn)證等
? ? ? ????????? c5:安全測(cè)試:登錄功能 安全性問(wèn)題檢查比如sql注入
? ? ? ????????? c6:兼容性測(cè)試:確定支持平臺(tái)埃脏,瀏覽器,操作系統(tǒng)喂击,軟件平臺(tái)和數(shù)據(jù)庫(kù)的兼容性
四剂癌、電商支付模塊的測(cè)試如何展開(kāi)
支付流程就涉及到了第三方接口
下單接口,支付接口翰绊,退款接口佩谷,單筆訂單查詢(xún)接口
保證接口能正常調(diào)用
生成一筆訂單,支付成功后监嗜,同步或異步重復(fù)調(diào)用谐檀,只有一次有效
異步通知屏蔽,同步有效裁奇,進(jìn)行支付桐猬,同步能夠正常到賬
同步設(shè)置無(wú)效,異步有效刽肠,進(jìn)行支付溃肪,異步能夠正常到賬
如果是用戶(hù)購(gòu)買(mǎi)實(shí)物商品免胃,用戶(hù)發(fā)起退貨,要保證退貨流程正常惫撰,資金能正常返還羔沙,要考慮并發(fā)情況的驗(yàn)證以驗(yàn)證安全性
如果是用戶(hù)購(gòu)買(mǎi)虛擬商品,例如話費(fèi)厨钻,只有在發(fā)貨失敗的時(shí)候才能發(fā)起退貨扼雏,注意驗(yàn)證
5:如何開(kāi)展兼容性測(cè)試
web:開(kāi)展人員測(cè)試,測(cè)試主流瀏覽器和常用操作系統(tǒng)測(cè)試主流程和主界面是否有問(wèn)題夯膀,如有問(wèn)題诗充,記錄下bug情況以及瀏覽器型號(hào),版本以及操作系統(tǒng)诱建,定位bug產(chǎn)生原因蝴蜓,提交bug,告知開(kāi)發(fā)人員
借助第三方測(cè)試工具
app:和web端類(lèi)似涂佃,開(kāi)展人工測(cè)試励翼,借助測(cè)試設(shè)備測(cè)試主流程以及主頁(yè)面,收集所有不同型號(hào)的測(cè)試設(shè)備對(duì)主流程辜荠,主界面的測(cè)試結(jié)果汽抚,查看是否有問(wèn)題,如果存在問(wèn)題伯病,提交bug造烁,告知開(kāi)發(fā)人員
借助第三方測(cè)試工具
6:常用http協(xié)議調(diào)試代理工具有什么?詳細(xì)說(shuō)明抓取https協(xié)議的設(shè)置過(guò)程
fiddler是一個(gè)http協(xié)議調(diào)試代理工具
打開(kāi)fiddler午笛,進(jìn)入tools-options-https惭蟋,配置允許抓取https連接和解析https流量然后選擇要解釋的來(lái)源,設(shè)置是否忽略服務(wù)證書(shū)錯(cuò)誤
(記住就好)簡(jiǎn)述?Android?四大組件及生命周期药磺?
Android?的四大組件包括:Activity告组、Service、BroadcasReceiver癌佩、ContentProvider
7.APP?測(cè)試的內(nèi)容主要包括哪些木缝,如何開(kāi)展?
功能測(cè)試:
1.業(yè)務(wù)邏輯正確性測(cè)試:依據(jù):產(chǎn)品文檔->測(cè)試用例編寫(xiě)
兼容性測(cè)試:(任意選擇記一兩個(gè))
1.系統(tǒng)版本:Android:官方版本,定制版本;IOS:官方提供版本
2.分辨率:720?*?1280 或1080*?1920
3.網(wǎng)絡(luò)情況:2g 3g?4g?5g?Wi-Fi
異常測(cè)試:
1.熱啟動(dòng)應(yīng)用:應(yīng)用在后臺(tái)長(zhǎng)時(shí)間待機(jī);應(yīng)用在后臺(tái)待機(jī)過(guò)程中围辙,手機(jī)重啟
2.網(wǎng)絡(luò)切換和中斷恢復(fù):網(wǎng)絡(luò)切換;中斷恢復(fù)我碟;
3.電話信息中斷恢復(fù);
升級(jí)姚建,安裝矫俺,卸載測(cè)試
1.升級(jí)測(cè)試:臨近版本升級(jí)(1.0->1.1);跨版本(1.0->....->2.2)
2.安裝測(cè)試:首次安裝;覆蓋安裝(同版本,不同版本覆蓋);卸載后安裝
3.卸載測(cè)試:首次卸載;卸載安裝后在卸載
健壯性測(cè)試
1.手機(jī)資源消耗:cpu,內(nèi)存
2.流量消耗:圖片厘托,數(shù)據(jù)友雳,視頻
3.電量測(cè)試
4.崩潰恢復(fù)
Android?的兼容性測(cè)試都考慮哪些內(nèi)容?(加粗字體)
品牌機(jī)型兼容:根據(jù)市場(chǎng)占有率催烘、發(fā)布時(shí)間等指標(biāo)對(duì)主流沥阱、最新機(jī)型進(jìn)行重點(diǎn)兼容
ROM?兼容:需兼容原生的?ROM(2.1、2.2伊群、2.3、4.0策精、4.1舰始、4.2);第三方?ROM(小米咽袜、百度易丸卷、點(diǎn)心、魅
族询刹、阿里云……)
屏幕兼容:需兼容?HVGA谜嫉、VGA、WVGA凹联、FWVGA沐兰、720p、1080p?屏幕分辨率蔽挠,并考慮不同?PPI?的情況
軟件兼容:安全類(lèi)軟件(百度手機(jī)管家住闯、360?優(yōu)化大師、360?安全衛(wèi)士澳淑、QQ?手機(jī)管家比原、安卓?jī)?yōu)化大師、網(wǎng)秦杠巡、
LBE)量窘,輸入法軟件(系統(tǒng)自帶、Sogou氢拥、百度)
版本兼容:服務(wù)器端需要兼容產(chǎn)品早期版本所需的?API?接口
網(wǎng)絡(luò)兼容:WiFi蚌铜、3?大運(yùn)營(yíng)商的?2G,3G,4G?網(wǎng)絡(luò),需區(qū)分?WAP?和?NET?接入
8.針對(duì)?App?的安裝功能兄一,寫(xiě)出測(cè)試點(diǎn)厘线?
安裝
1.正常安裝測(cè)試,檢查是否安裝成功出革。
2.APP?版本覆蓋測(cè)試造壮。
3.回退版本測(cè)試。
4.安裝時(shí)內(nèi)存不足,彈出提示耳璧。
5.根據(jù)安裝手冊(cè)操作成箫,是否正確安裝。
6.安裝過(guò)程中的意外情況(強(qiáng)行斷電旨枯、斷網(wǎng)蹬昌、來(lái)電話了、查看信息)等等攀隔,檢查會(huì)發(fā)生的情況皂贩。
7. 安裝了一.在不同型號(hào)、系統(tǒng)昆汹、屏幕大小明刷、分辨率上的手機(jī)進(jìn)行安裝。
8.安裝完成后满粗,能否正常啟動(dòng)應(yīng)用程序辈末。
9.是否支持第三方安裝。
10.在安裝中點(diǎn)擊取消映皆。
卸載
1.用自己的卸載程序進(jìn)行卸載挤聘,檢查是否卸載干凈。
2.用第三方工具捅彻,檢查是否卸載干凈组去。
3.在卸載過(guò)程中,突然重啟設(shè)備沟饥,再次訪問(wèn)程序添怔,是否還能運(yùn)行贤旷。
4.在沒(méi)用使用程序時(shí)广料,刪除目錄文件,看程序是否能運(yùn)行幼驶。
5.在使用過(guò)程中艾杏,直接刪除目錄文件,程序是否還能運(yùn)行盅藻。
6.不同系統(tǒng)购桑、硬件環(huán)境、網(wǎng)絡(luò)環(huán)境下進(jìn)行卸載氏淑。
7.卸載成功后勃蜘,是否對(duì)其他程序有影響。
8.卸載后再次安裝假残,是否正常使用缭贡。
更新
1.當(dāng)客戶(hù)端有新版本時(shí)炉擅,提示更新。
2.不卸載更新阳惹,檢查是否可以更新谍失。
3.不卸載更新,檢查資源同名文件如圖片等是否更新成最新版本莹汤。
4.非?wifi?網(wǎng)絡(luò)下快鱼,提示是否更新,取消就加入待下載纲岭,wifi?下自動(dòng)更新抹竹。
9.常用的?ADB?命令?
adb?--help /?adb?:看見(jiàn)幫助信息
adb?start-server:啟動(dòng)?adb?服務(wù)
adb?kill-server:關(guān)閉?adb?服務(wù)
adb?devices:查看手機(jī)設(shè)備號(hào)
adb?shell?getprop ro.build.version.release:獲取系統(tǒng)版本
adb?push?電腦?手機(jī)
adb?pull?手機(jī)?電腦
adb?logcat?| grep(unix)?包名
adb?logcat?| findstr(win)?包名
adb?shell?:進(jìn)入?shell?命令行止潮,可以操作?Linux?命令
adb?shell dumpsys window?windows | grep?mFocusedApp:獲取包名?啟動(dòng)名(win:adb?shell?dumpsys window
windows | findstr?mFocusedApp)
adb?install?路徑/apk?文件:安裝?apk?到手機(jī)上
adb?uninstall?包名:卸載?app?從手機(jī)上
adb?shell?am?start?-W?包名/啟動(dòng)名:app?啟動(dòng)時(shí)間
10. 在查看?logcat?命令日志時(shí)候怎么內(nèi)容保存到本地文件柒莉?
輸出重定向:logcat?>>?log_file_name
11.App?崩潰(閃退),可能是什么原因?qū)е碌模?/p>
1.緩存垃圾過(guò)多
2.運(yùn)行的程序過(guò)多,導(dǎo)致內(nèi)存不足
3.應(yīng)用版本兼容問(wèn)題:如果應(yīng)用版本太低沽翔,會(huì)導(dǎo)致不兼容,造成閃退 窿凤。
4.在一些特定情況下的閃退,比如播放視頻,在?Android5.0?升級(jí)到?Android6.0?的時(shí)候,有些系統(tǒng)?API?老版本有,新版本沒(méi)有,到時(shí)回去對(duì)象的時(shí)候失敗,報(bào)空,系統(tǒng)就會(huì)出現(xiàn)閃退問(wèn)題.
12.如何測(cè)試監(jiān)測(cè)?app?的內(nèi)存使用仅偎、CPU?消耗、流量使用情況雳殊?(加粗字體)
adb?shell?top
top命令提供了實(shí)時(shí)的對(duì)系統(tǒng)處理器的狀態(tài)監(jiān)視.它將顯示系統(tǒng)中CPU最“敏感”的任務(wù)列表.該命令可以按CPU使用.內(nèi)存使用和執(zhí)行時(shí)間對(duì)任務(wù)進(jìn)行排序.
Android?應(yīng)用性能測(cè)試通常包括:?jiǎn)?dòng)時(shí)間橘沥、內(nèi)存、CPU夯秃、耗電量座咆、流量、流暢度等
根據(jù)手機(jī)的使用應(yīng)用頻度和強(qiáng)度不同仓洼,可將應(yīng)用使用強(qiáng)度分為如下幾種狀態(tài):
空閑狀態(tài):指啟動(dòng)應(yīng)用后介陶,不做任何操作或切換到后臺(tái)運(yùn)行的情況稱(chēng)為空閑狀態(tài),該情況為應(yīng)用對(duì)內(nèi)存的消耗是最小的色建。
中強(qiáng)度狀態(tài):該情況用戶(hù)使用應(yīng)用的強(qiáng)度和時(shí)間長(zhǎng)短不確定哺呜,相對(duì)來(lái)說(shuō)使用時(shí)長(zhǎng)偏長(zhǎng)。
高強(qiáng)度狀態(tài):該種情況為應(yīng)用內(nèi)高頻率的使用箕戳,用戶(hù)很少達(dá)到某残,跑?monkey?時(shí)可認(rèn)為高強(qiáng)度狀態(tài),該種情況常用來(lái)測(cè)試應(yīng)用內(nèi)存泄漏的情況測(cè)試時(shí)陵吸,可根據(jù)用戶(hù)的操作習(xí)慣模擬應(yīng)用使用頻率和強(qiáng)度等級(jí)玻墅。
監(jiān)測(cè)APP內(nèi)存使用?adb?命令,手機(jī)連接電腦開(kāi)啟?USB?調(diào)試模式壮虫,進(jìn)入?adbshell澳厢。
1)查看?CPU?占用率
使用命令?top?-m?10?-s?cpu(-t?顯示進(jìn)程名稱(chēng),-s?按指定行排序,-n?在退出前刷新幾次赏酥,-d?刷新間隔喳整,-m?顯示最大數(shù)量)
參數(shù)含義
PID:progressidentification,應(yīng)用程序?ID
S:?進(jìn)程的狀態(tài)裸扶,其中?S?表示休眠框都,R?表示正在運(yùn)行,Z?表示僵死狀態(tài)呵晨,N?表示該進(jìn)程優(yōu)先值是負(fù)數(shù)魏保。
#THR:程序當(dāng)前所用的線程數(shù)
VSS:VirtualSet?Size?虛擬耗用內(nèi)存(包含共享庫(kù)占用的內(nèi)存)
RSS:?ResidentSet?Size?實(shí)際使用物理內(nèi)存(包含共享庫(kù)占用的內(nèi)存)
UID:UserIdentification,用戶(hù)身份?ID
Name:應(yīng)用程序名稱(chēng)
在測(cè)試過(guò)程中摸屠,QA?需要關(guān)注對(duì)應(yīng)包的?cpu?占用率谓罗,反復(fù)進(jìn)行某個(gè)操作,cpu?占用過(guò)高且一直無(wú)法釋放季二,此時(shí)
可能存在風(fēng)險(xiǎn)檩咱。如果你想篩選出你自己的應(yīng)用的話可以用下面命令?top -d 3|?grep?packageName
2)查看內(nèi)存使用情況
dumpsys meminfo <package_name>或?dumpsys meminfo?<package_id>
參數(shù)含義:
Naitve Heap?Size:?從?mallinfo usmblks?獲得,代表最大總共分配空間
Native Heap?Alloc:?從?mallinfo uorblks?獲得胯舷,總共分配空間
Native Heap?Free:?從?mallinfo fordblks?獲得刻蚯,代表總共剩余空間
Native Heap?Size?約等于?Native Heap?Alloc +?Native Heap Free
mallinfo?是一個(gè)?C?庫(kù),?mallinfo?函數(shù)提供了各種各樣的通過(guò)?C?的?malloc()函數(shù)分配的內(nèi)存的統(tǒng)計(jì)信息桑嘶。
Dalvik Heap?Size:從?Runtime totalMemory()獲得炊汹,Dalvik Heap?總共的內(nèi)存大小。
Dalvik Heap?Alloc:?Runtime totalMemory()-freeMemory()?逃顶,Dalvik Heap?分配的內(nèi)存大小讨便。
Dalvik Heap?Free:從?Runtime freeMemory()獲得,Dalvik Heap?剩余的內(nèi)存大小以政。
Dalvik Heap?Size?約等于?Dalvik HeapAlloc +?Dalvik?Heap?Free
重點(diǎn)關(guān)注如下幾個(gè)字段:
Native/Dalvik?的?Heap?信息中的?alloc?:具體在上面的第一行和第二行霸褒,它分別給出的是?JNI?層和?Java
層的內(nèi)存分配情況,如果發(fā)現(xiàn)這個(gè)值一直增長(zhǎng)妙蔗,則代表程序可能出現(xiàn)了內(nèi)存泄漏傲霸。
Total?的?PSS?信息:這個(gè)值就是你的應(yīng)用真正占據(jù)的內(nèi)存大小,通過(guò)這個(gè)信息眉反,你可以輕松判別手機(jī)中哪些
程序占內(nèi)存比較大了昙啄。
流量使用情況
首先獲取待測(cè)應(yīng)用的userId
adb shell dumpsys package 【包名】? |? ? findstr userId