版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
測(cè)試的面試重點(diǎn)分為兩大部分:技術(shù),項(xiàng)目
擴(kuò)充一下:技術(shù)的一些注意點(diǎn),項(xiàng)目上的一些處理方式(有些還會(huì)有一些溝通上的小技
巧),可能不會(huì)寫的特別詳細(xì),但點(diǎn)我都會(huì)點(diǎn)到
黑盒測(cè)試方法(可能會(huì)問等價(jià)類的分類,等價(jià)類和邊界值是最重要的:
1、等價(jià)類劃分:
(有效等價(jià)類:對(duì)于程序規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合)
(無效等價(jià)類:對(duì)于程序規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合)
2、邊界值分析方法
3、因果圖方法
4、正交實(shí)驗(yàn)設(shè)計(jì)方法
5、功能圖分析方法
6、錯(cuò)誤推測(cè)法
7、需求文檔轉(zhuǎn)化法
8、隨機(jī)測(cè)試
9、對(duì)象屬性分析法
二.白盒測(cè)試方法(可以選擇性記憶.…不知道會(huì)不會(huì)問):
1.語句覆蓋:就是設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一可執(zhí)行語句至少執(zhí)行
一次。
2.判定覆蓋:使設(shè)計(jì)的測(cè)試用例保證程序中每個(gè)判斷的每個(gè)取值分支至少經(jīng)歷一次。
3.條件覆蓋:條件覆蓋是指選擇足夠的測(cè)試用例,使得運(yùn)行這些測(cè)試用例時(shí),判定中每
個(gè)條件的所有可能結(jié)果至少出現(xiàn)一次,但未必能覆蓋全部分支
4.判定條件覆蓋:判定-條件覆蓋就是設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所
有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷的所有可能判斷結(jié)果至少執(zhí)行,即要求各個(gè)判斷的
所有可能的條件取值組合至少執(zhí)行一次。
5.條件組合覆蓋:在白盒測(cè)試法中,選擇足夠的測(cè)試用例,使所有判定中各條件判斷結(jié)
果的所有組合至少出現(xiàn)一次,滿足這種覆蓋標(biāo)準(zhǔn)成為條件組合覆蓋。
6.路徑覆蓋:是每條可能執(zhí)行到的路徑至少執(zhí)行一次。
補(bǔ)充:
(1)語句覆蓋在所有的測(cè)試方法中是一種最弱的覆蓋。
(2)判定覆蓋和條件覆蓋比語句覆蓋強(qiáng),滿足判定/條件覆蓋標(biāo)準(zhǔn)的測(cè)試用例一定也滿
足判定覆蓋、條件覆蓋和語句覆蓋
(3)路徑覆蓋也是一種比較強(qiáng)的覆蓋,但未必考慮判定條件結(jié)果的組合,并不能代替
條件覆蓋和條件組合覆蓋。
三.TCP/IP分層協(xié)議(每層的協(xié)議要注意):
1.鏈路層(數(shù)據(jù)鏈路層/網(wǎng)絡(luò)接口層):包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序、計(jì)算機(jī)中對(duì)應(yīng)
的網(wǎng)絡(luò)接口卡
2.網(wǎng)絡(luò)層(互聯(lián)網(wǎng)層):處理分組在網(wǎng)絡(luò)中的活動(dòng),比如分組的選路。
3.運(yùn)輸層:主要為兩臺(tái)主機(jī)上的應(yīng)用提供端到端的通信。
4.應(yīng)用層:負(fù)責(zé)處理特定的應(yīng)用程序細(xì)節(jié)。
,和等
應(yīng)用層TelnetFTPe-mail
運(yùn)輸層|TCP和UDP
網(wǎng)絡(luò)層IP、ICMP和IGMP
鏈路層設(shè)備卵動(dòng)程序及接口卡
TCP和UDP的區(qū)別(網(wǎng)絡(luò)上的知識(shí)點(diǎn)):
1、TCP面向連接(如打電話要先撥號(hào)建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前
不需要建立連接
2、TCP提供可靠的服務(wù)。也就是說,通過TCP連接傳送的數(shù)據(jù),無差錯(cuò),不丟失,不
重復(fù),且按序到達(dá);UDP盡最大努力交付,即不保證可靠交付
3、TCP面向字節(jié)流,實(shí)際上是TCP把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP是面向報(bào)
文的UDP沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會(huì)使源主機(jī)的發(fā)送速率降低(對(duì)實(shí)時(shí)應(yīng)用很
有用,如IP電話,實(shí)時(shí)視頻會(huì)議等)
4、每一條TCP連接只能是點(diǎn)到點(diǎn)的;UDP支持一對(duì)一,一對(duì)多,多對(duì)一和多對(duì)多的交
互通信
5、TCP首部開銷20字節(jié);UDP的首部開銷小,只有8個(gè)字節(jié)
6、TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道
四.TCP/IP三次握手,四次揮手(常問項(xiàng))
三次握手:
第一次握手(SYN=Lseq=x):
客戶端發(fā)送一個(gè)TCP的SYN標(biāo)志位置1的包,指明客戶端打算連接的服務(wù)器的端口,
以及初始序號(hào)X,保存在包頭的序列號(hào)(SequenceNumber)字段里。
第二次握手(SYN=1,ACK=1,seq=y,ACKnum=x+l):
服務(wù)器發(fā)回確認(rèn)包(ACK)應(yīng)答。即SYN標(biāo)志位和ACK標(biāo)志位均為1。服務(wù)器端選擇
自己的ISN序列號(hào),放在seq域里,同時(shí)將確認(rèn)序號(hào)(AcknowledgementNumber)設(shè)置為客
戶的ISN加1,即X+1。發(fā)送完畢后,服務(wù)器端進(jìn)入SYN_RCVD狀態(tài)。
第三次握手(ACK=1,ACKnum=y+l):
客戶端再次發(fā)送確認(rèn)包(ACK),SYN標(biāo)志位為0,ACK標(biāo)志位為1,并且把服務(wù)器發(fā)
來ACK的序號(hào)字段+1,放在確定字段中發(fā)送給對(duì)方,并且在數(shù)據(jù)段放寫ISN的+1。
發(fā)送完畢后,客戶端進(jìn)入ESTABLISHED狀態(tài),當(dāng)服務(wù)器端收到這個(gè)包時(shí),也進(jìn)入
ESTABLISHED狀態(tài),TCP握手結(jié)束,TCP連接建立完成
我的理解….:
A問B:你聽到了么,發(fā)確認(rèn)信息
B回答A:聽到了,告訴A它能接收到A的消息
A再回B:我能接收到你的消息,再發(fā)一次確認(rèn),然后建立連接
四次揮手:
state客戶端服務(wù)器state
第一次揮手(FIN=1,seq=x):
假設(shè)客戶端想要關(guān)閉連接,客戶端發(fā)送一個(gè)FIN標(biāo)志位置為1的包,表示自己已經(jīng)沒
有數(shù)據(jù)可以發(fā)送了,但是仍然可以接收數(shù)據(jù)。
發(fā)送完畢之后,客戶端進(jìn)入FIN_WAIT_1狀態(tài)。
第二次揮手(ACK=1,ACKnum=x+l):
服務(wù)器端確認(rèn)客戶端的FIN包,發(fā)送一個(gè)確認(rèn)包,表明自己接收到了客戶端關(guān)閉連接
的請(qǐng)求,但還沒有準(zhǔn)備好關(guān)閉連接。
發(fā)送完畢后,服務(wù)器端進(jìn)入CLOSE_WAIT狀態(tài),客戶端接收到這個(gè)確認(rèn)包之后進(jìn)入
FIN_WAIT_2狀態(tài),等待服務(wù)器端關(guān)閉連接。
第三次揮手(FIN=1,seq=y):
服務(wù)器端準(zhǔn)備好關(guān)閉連接時(shí),向客戶端發(fā)送結(jié)束連接請(qǐng)求,F(xiàn)IN置為1。
發(fā)送完畢后,服務(wù)器端進(jìn)入LAST_ACK狀態(tài),等待來自客戶端的最后一個(gè)ACK
第四次揮手(ACK=1,ACKnum=y+l):
客戶端接收到來自服務(wù)器的端的關(guān)閉請(qǐng)求,發(fā)送一個(gè)確認(rèn)包,并進(jìn)入TIME_WAIT狀態(tài),
等待可能出現(xiàn)的要重傳的ACK包。
服務(wù)器端接收到這個(gè)確認(rèn)包之后,關(guān)閉連接,進(jìn)入CLOSED狀態(tài)。
客戶端等待了某個(gè)固定時(shí)間(兩個(gè)最大段生命周期,2MSL,2MaximumSegment
Lifetime)之后,沒有收到服務(wù)器端的ACK,認(rèn)為服務(wù)器端已經(jīng)正常關(guān)閉連接,于是自己也
關(guān)閉連接,進(jìn)入CLOSED狀態(tài)。
為什么是三次,不是兩次或者四次(這個(gè)問題真的可能會(huì)被問到)
兩次握手并不能保證可靠性(B不確定A能收到自己的信息),四次握手又浪費(fèi)了效率
五.OSI七層模型(記一記應(yīng)用層,傳輸層,網(wǎng)絡(luò)層我覺得就可以了….)
0SI中的層功篇TCP/I喻議陳
應(yīng)用層文件傳輸,電子四件,文件服務(wù),擊擬終端TFTP.HTTP.SNMP.FTP.SMTP,DNS.RIP.Telnet
表示層批據(jù)格式化,代碼轉(zhuǎn)推,數(shù)據(jù)加密沒有協(xié)議
會(huì)話層解除或例立與別的接點(diǎn)的聯(lián)系漫育協(xié)議
傳輸層提典端對(duì)版州口TCP.UDP
網(wǎng)熊為戴旭送掾路由IP.ICMP.OSPF.BGP.IGMP.ARP.RARP
凝據(jù)鉞路層傳輸有地址的“以及錯(cuò)深檢刪功能SUP.CSUP.PPP.MTU.ARP.RARP
六.DNS(運(yùn)行在UDP協(xié)議上,端口53)
概念:dns是一個(gè)域名系統(tǒng),是萬維網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)
庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串
七:http協(xié)議(細(xì)致的大家可以閱讀這一篇)
restful接口:
1.URI資源2.表現(xiàn):XML,HTML等格式3.狀態(tài)轉(zhuǎn)移:get,post等
HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)
答的標(biāo)準(zhǔn)(TCP),用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏
覽器更加高效,使網(wǎng)絡(luò)傳輸減少
HTTPS:是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版,即HTTP下加入
SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。
HTTP和HTTPS區(qū)別:(這個(gè)還挺重要的,端口號(hào)稍微記一下)
1、https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。
2、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)
議。
3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是
443o
4、http的連接很簡(jiǎn)單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行力口
密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。
HTTP協(xié)議特點(diǎn):
1.支持客戶/服務(wù)器模式。
2.簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑。請(qǐng)求方法常用的有
GET、HEAD、POST。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同。由于HTTP協(xié)議簡(jiǎn)
單,使得HTTP服務(wù)器的程序規(guī)模小,因而通信速度很快。
3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對(duì)象。正在傳輸?shù)念愋陀蒀ontent-Type
(Content-Type是HTTP包中用來表示內(nèi)容類型的標(biāo)識(shí))加以標(biāo)記。
4.無連接:無連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。服務(wù)器處理完客戶的請(qǐng)求,
并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時(shí)間。
5.無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議。無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。缺
少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的
數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快。
HTTP原理:
1、客戶端連接到Web服務(wù)器
一個(gè)HTTP客戶端,通常是瀏覽器,與Web服務(wù)器的HTTP端口(默認(rèn)為80)建立一
個(gè)TCP套接字連接。
2、發(fā)送HTTP請(qǐng)求
通過TCP套接字,客戶端向Web服務(wù)器發(fā)送一個(gè)文本的請(qǐng)求報(bào)文,一個(gè)請(qǐng)求報(bào)文由請(qǐng)
求行、請(qǐng)求頭部、空行和請(qǐng)求數(shù)據(jù)4部分組成。
3、服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)
Web服務(wù)器解析請(qǐng)求,定位請(qǐng)求資源。服務(wù)器將資源復(fù)本寫到TCP套接字,由客戶端
讀取。一個(gè)響應(yīng)由狀態(tài)行、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成。
4、釋放連接TCP連接
若connection模式為close,則服務(wù)器主動(dòng)關(guān)閉TCP連接,客戶端被動(dòng)關(guān)閉連接,釋放
TCP連接;若connection模式為keepalive,則該連接會(huì)保持一段時(shí)間,在該時(shí)間內(nèi)可以繼續(xù)
接收請(qǐng)求;
5、客戶端瀏覽器解析HTML內(nèi)容
客戶端瀏覽器首先解析狀態(tài)行,查看表明請(qǐng)求是否成功的狀態(tài)代碼。然后解析每一個(gè)響
應(yīng)頭,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集。客戶端瀏覽器讀取響應(yīng)
數(shù)據(jù)HTML,根據(jù)HTML的語法對(duì)其進(jìn)行格式化,并在瀏覽器窗口中顯示。
GET和POST請(qǐng)求的區(qū)另tJ(個(gè)人感覺這個(gè)是要了解的):
1.GET提交的數(shù)據(jù)會(huì)放在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,
如EditPosts.aspx?name=testl&id=123456.POST方法是把提交的數(shù)據(jù)放在HTTP包的Body
中.
2.GET提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制),而POST方法提交
的數(shù)據(jù)沒有限制.
3.GET方式需要使用Request.QueryString來取得變量的值,而POST方式通過
Request.Form來獲取變量的值。
4.GET方式提交數(shù)據(jù),會(huì)帶來安全問題,比如一個(gè)登錄頁面,通過GET方式提交數(shù)據(jù)
時(shí),用戶名和密碼將出現(xiàn)在URL上,如果頁面可以被緩存或者其他人可以訪問這臺(tái)機(jī)器,
就可以從歷史記錄獲得該用戶的賬號(hào)和密碼.
狀態(tài)碼:
Ixx:指示信息-表示請(qǐng)求已接收,繼續(xù)處理
2xx:成功-表示請(qǐng)求已被成功接收、理解、接受
3xx:重定向-要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作
4xx:客戶端錯(cuò)誤-請(qǐng)求有語法錯(cuò)誤或請(qǐng)求無法實(shí)現(xiàn)
5xx:服務(wù)器端錯(cuò)誤-服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求
常見狀態(tài)碼:
200OK//客戶端請(qǐng)求成功
400BadRequest〃客戶端請(qǐng)求有語法錯(cuò)誤,不能被服務(wù)器所理解
401Unauthorized〃請(qǐng)求未經(jīng)授權(quán),這個(gè)狀態(tài)代碼必須和WWW-Authenticate報(bào)頭域一起
使用
403Forbidden//服務(wù)器收到請(qǐng)求,但是拒絕提供服務(wù)
404NotFound//請(qǐng)求資源不存在,eg:輸入了錯(cuò)誤的URL
500InternalServerError//服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤
503ServerUnavailable〃服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求,一段時(shí)間后可能恢復(fù)正常
八:TestNG(這個(gè)我自己用過,感興趣也可以看看)testng傳參方式(parameter在testng.xml
或者通過dataprovider)
運(yùn)行方式:LRunas2.testng.xml
按網(wǎng)頁序執(zhí)行:preserve-order=true
忽略測(cè)試:@Test(enable=false)
分組測(cè)試:@Test(groups=..)
依賴測(cè)試:@Test(dependsonmethods=...)
結(jié)果在oup-put,H志級(jí)別是verbose
并發(fā)運(yùn)行用例:paraUel=methods
九:appium(可以稍稍了解,和selenium異曲同工,有些點(diǎn)我覺得是UI自動(dòng)化想通的)
特點(diǎn)(為什么流行我覺得):
跨平臺(tái),nativehybridwebview(H5)
跨設(shè)備,androidiOS
跨app,可以在多個(gè)app之間交互
不依賴APP開源代碼(保留意見,androidUiautomator對(duì)H5的支持需要代碼支持,這里
不細(xì)說)
支持SeleniumWebDriver/SeleniumGrid
跨語言,javapythonrubynodejs
OpenSource原理:
Android
1.左邊的WebDriverscript是我們的selenium測(cè)試腳本(其實(shí)就是測(cè)試代碼)
2.中間是起的Appium的服務(wù),Appium在這邊起了一個(gè)Server(4723端口),跟selenium
Webdriver測(cè)試框架類似,Appium支支持標(biāo)準(zhǔn)的WebDriverJSONWireProtocol。在這里提供
了一套web服務(wù),AppiumServer接收webdriver標(biāo)準(zhǔn)請(qǐng)求,解析請(qǐng)求內(nèi)容,調(diào)用用對(duì)應(yīng)的
框架響應(yīng)操作。
如:腳本發(fā)送一個(gè)點(diǎn)擊按鈕的請(qǐng)求給appiumserver,appiumserver會(huì)把請(qǐng)求轉(zhuǎn)發(fā)給中間
件Bootstrap.jar,它是用java寫的,安裝在手機(jī)上.Bootstrap接收appium的命令(4724端
口),最終通過調(diào)用用UiAutomator的命令來實(shí)現(xiàn)。4.最后執(zhí)行行的結(jié)果由Bootstrap返回給
appiumserver5.另外,appium還用至!J了chromedriver來支支持基于H5(webview)的測(cè)試。
IOS:
?Cappium_
J
3Instruments
-
Ocontroller
N
U
8
J
E
J
Q
q
BInstruments
Mcommand
1.左邊的WebDriverscript是selenium測(cè)試腳本
2.中間是起的Appium的服務(wù),Appium在這邊起了-■個(gè)Server(4723端口),跟
seleniumWebdriver測(cè)試框架類似,Appium支支持標(biāo)準(zhǔn)的WebDriverJSONWireProtocol。
3.在這里提供了一套web服務(wù),AppiumServer接收webdriver標(biāo)準(zhǔn)請(qǐng)求,解析請(qǐng)求內(nèi)
容,調(diào)用用對(duì)應(yīng)的框架響應(yīng)操作。
如:腳本發(fā)送一個(gè)點(diǎn)擊按鈕的請(qǐng)求給appiumserver,appiumserver調(diào)用instruments.js啟
動(dòng)socketserver,同時(shí)分出■個(gè)子子進(jìn)程運(yùn)彳亍行instruments.app,將bootstrap.js(一
個(gè)UIAutomation腳本)注入入到device用用于和外界進(jìn)行行交互。
4.對(duì)于H5的操作,運(yùn)用用了iOSwebkitdebugproxy來實(shí)現(xiàn)Android和IOS的區(qū)別我
覺得就是bootstrap.jar和bootstrap.js去分另嗎區(qū)動(dòng)uiautomator和uiautomation,新版本的Appium
已經(jīng)支持uiautomator2了,IOS支持XCUItest定位元素方法(By后面那些東西,ID可以唯一
定位):webdriver提供的用By定位元素find_element(By.ID,Hkw")
find_element(By.NAME,nwdn)
find_element(By.CLASS_NAME,ns_iptn)find_element(By.TAG_NAME,"input")
find_element(By.LINK_TEXT,un新聞”)find_element(By.PARTIAL_LINK_TEXT,u"新”)
find_element(By.XPATH,'7/*[@class='bgs_btn']H)find_element(By.CSS_SELECTOR,"span.bg
s_btn_wr>input#su”)find_element()方法只用于定位元素。它需要兩個(gè)參數(shù),第一個(gè)參數(shù)是定
位方式,這個(gè)由By提供;另第二個(gè)參數(shù)是定位的值。
+.linux常用命令(我覺得比較可能問的多的)
Cd徹?fù)Q目錄
當(dāng)前目錄和上層目錄:
主目錄:~/
查看當(dāng)前路徑:pwd
清屏:clear
退出當(dāng)前命令:ctrl+c徹底退出
軟鏈接:In-sslinksource
查找自己所在的終端信息:whoami
查看當(dāng)前誰在使用該主機(jī):who
Is-1(也可以直接11):列出長(zhǎng)數(shù)據(jù)串,包含文件的屬性與權(quán)限數(shù)據(jù)等
Is-a:列出全部的文件,連同隱藏文件(開頭為.的文件)一起列出來(常用)
find-name文件名:找匹配的文件名
mkdir:創(chuàng)建指定的名稱的目錄
cp-afilelfile2:連同文件的所有特性把文件filel復(fù)制成文件file2
cpfilelfile2file3dir:把文件filel>file2>file3復(fù)制到目錄dir中
mvfilelfile2file3dir:把文件filel>file2>file3移動(dòng)到目錄dir中
mvfilelfile2:把文件filel重命名為file2
rm-frdir:強(qiáng)制刪除目錄dir中的所有文件
ps-eflgrepjava:找出所有java進(jìn)程
kill-9進(jìn)程號(hào):徹底殺死某個(gè)進(jìn)程
chmod改變文件的權(quán)限
語法:chmod[options]modefiles
多數(shù)用三位八進(jìn)制數(shù)字的形式來表示權(quán)限,第一位指定屬主的權(quán)限,第二位指定組權(quán)限,
第三位指定其他用戶的權(quán)限,每位通過4(讀)、2(寫)、1(執(zhí)行)三種數(shù)值的和來確定權(quán)限。如
6(4+2)代表有讀寫權(quán),7(4+2+1)有讀、寫和執(zhí)行的權(quán)限
chmodu+xfile:給file的屬主增加執(zhí)行權(quán)限
vi:文件名#編輯方式查看,可修改
cat:文件名#顯示全部文件內(nèi)容
more:文件名#分頁顯示文件內(nèi)容
less:文件名#與more相似,更好的是可以往前翻頁
head:文件名#僅查看頭部,還可以指定行數(shù)
tail-f20160921.1ogs:查看正在改變的日志文件
tail-3000catalina.out:查看倒數(shù)前3000行的數(shù)據(jù)
history:查看用過的命令列表
df-hl:查看磁盤使用空間
which:只能查可執(zhí)行文件
whereis:只能查二進(jìn)制文件、說明文檔,源文件等
du:顯示目錄或文件的大小
df:顯示每個(gè)〈文件〉所在的文件系統(tǒng)的信息,默認(rèn)是顯示所有文件系統(tǒng)
df命令獲得真正的文件系統(tǒng)數(shù)據(jù),而du命令只查看文件系統(tǒng)的部分情況
bashshell的內(nèi)置命令let可以進(jìn)行整型數(shù)的數(shù)學(xué)運(yùn)算
free:顯示系統(tǒng)當(dāng)前內(nèi)存的使用情況,包括已用內(nèi)存、可用內(nèi)存和交換內(nèi)存的情況
top:顯示當(dāng)前系統(tǒng)中占用資源最多的一些進(jìn)程
netstat-anplgrepport:查看某端口是否被占用
chown-R:更改某個(gè)文件或目錄的屬主和屬組
Shift+PageUp:翻頁
清空文件:echo"">filename或者cat/dev/null>a.txt或者〉a.txt
Linux統(tǒng)計(jì)文件中出現(xiàn)的次數(shù):
(1)單個(gè)字符串:grep-otargetstrfilename|wc-1
多個(gè)字符串:grep-octtargetstr_l\targetstr_2,,filename|wc-1
(2)awk'{s+=gsub(/targetStr/,n&n)}END{prints}'filename
Linux查找某個(gè)文件中的某個(gè)詞:
grepCtesfa,b,c在文件a,b,c中尋找test這個(gè)詞
grep-r'test*.#在當(dāng)前目錄中找test這個(gè)詞
grep-r'test'example#在example目錄中找test這個(gè)詞
wc-1filename:查看文件里有多少行
uniqtestfile:刪除一個(gè)文件中重復(fù)都是行
sorttestfile1|uniq:刪除重復(fù)之后進(jìn)行排序(次數(shù)的)
十一.Mysql(亂七八糟語句不寫了,寫點(diǎn)我覺得可能會(huì)被問到的)
授權(quán)語句:
grantselect,insert,update,deleteontestdb.*tocommon_user@'%'
事務(wù):
1.原子性:要么全部完成,要么不完成,若發(fā)生錯(cuò)誤會(huì)進(jìn)行回滾操作;
2.一致性:開始到結(jié)束后,數(shù)據(jù)庫完整性約束沒收到破壞;(實(shí)體完整性,參照完整性,
用戶定義的完整性)
3.隔離性:事務(wù)與事務(wù)之間相隔離,串行化執(zhí)行;
4.持久性:事務(wù)完成對(duì)數(shù)據(jù)的影響是永久的;
四個(gè)隔離:
1.臟讀
臟讀是指在一個(gè)事務(wù)處理過程里讀取了另一個(gè)未提交的事務(wù)中的數(shù)據(jù)。
當(dāng)一個(gè)事務(wù)正在多次修改某個(gè)數(shù)據(jù),而在這個(gè)事務(wù)中這多次的修改都還未提交,這時(shí)一
個(gè)并發(fā)的事務(wù)來訪問該數(shù)據(jù),就會(huì)造成兩個(gè)事務(wù)得到的數(shù)據(jù)不一致。例如:用戶A向用戶B
轉(zhuǎn)賬100元,對(duì)應(yīng)SQL命令如下
updateaccountsetmoney=money+100wherenameTB';(此時(shí)A通知B)
updateaccountsetmoney=money-100wherename='A';
當(dāng)只執(zhí)行第一條SQL時(shí),A通知B查看賬戶,B發(fā)現(xiàn)確實(shí)錢已到賬(此時(shí)即發(fā)生了臟
讀),而之后無論第二條SQL是否執(zhí)行,只要該事務(wù)不提交,則所有操作都將回滾,那么當(dāng)
B以后再次查看賬戶時(shí)就會(huì)發(fā)現(xiàn)錢其實(shí)并沒有轉(zhuǎn)。
2.不可重復(fù)讀
不可重復(fù)讀是指在對(duì)于數(shù)據(jù)庫中的某個(gè)數(shù)據(jù),一個(gè)事務(wù)范圍內(nèi)多次查詢卻返回了不同的
數(shù)據(jù)值,這是由于在查詢間隔,被另一個(gè)事務(wù)修改并提交了。
3.虛讀(幻讀)
幻讀是事務(wù)非獨(dú)立執(zhí)行時(shí)發(fā)生的一種現(xiàn)象。例如事務(wù)T1對(duì)一個(gè)表中所有的行的某個(gè)數(shù)
據(jù)項(xiàng)做了從“1”修改為“2”的操作,這時(shí)事務(wù)T2又對(duì)這個(gè)表中插入了一行數(shù)據(jù)項(xiàng),而這個(gè)數(shù)
據(jù)項(xiàng)的數(shù)值還是為“1”并且提交給數(shù)據(jù)庫。而操作事務(wù)T1的用戶如果再查看剛剛修改的數(shù)
據(jù),會(huì)發(fā)現(xiàn)還有一行沒有修改,其實(shí)這行是從事務(wù)T2中添加的,就好像產(chǎn)生幻覺一樣,這
就是發(fā)生了幻讀
Serializable(串行化):可避免臟讀、不可重復(fù)讀、幻讀的發(fā)生。
Repeatableread(可重復(fù)讀):可避免臟讀、不可重復(fù)讀的發(fā)生。
Readcommitted(讀已提交):可避免臟讀的發(fā)生。
Readuncommitted(讀未提交):最低級(jí)別,任何情況都無法保證。
四種隔離級(jí)別最高的是Serializable級(jí)別,最低的是Readuncommitted級(jí)別,級(jí)別越高,
執(zhí)行效率就越低。
主鍵,外鍵:
主鍵:對(duì)表中數(shù)據(jù)進(jìn)行唯一標(biāo)識(shí)的數(shù)據(jù)列的組合;不能缺失;不能空值;
外鍵:該列為另一表的主鍵
索引:
L數(shù)據(jù)庫索引,是數(shù)據(jù)庫管理系統(tǒng)中一個(gè)排序的數(shù)據(jù)結(jié)構(gòu),以協(xié)助快速查詢、更新數(shù)據(jù)
庫表中數(shù)據(jù)。索引的實(shí)現(xiàn)通常使用B樹及其變種B+樹
2.通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性
CREATEINDEXindex_nameONtable_name(username(length));
建立索引的缺陷:
1.雖然索引大大提高了查詢速度,同時(shí)卻會(huì)降低更新表的速度,如對(duì)表進(jìn)行
INSERT,UPDATE和DELETE。因?yàn)楦卤頃r(shí),mysql不僅要保存數(shù)據(jù),還要保存一下索引
文件
2.建立索引會(huì)占用磁盤空間的索引文件。一般情況這個(gè)問題不太嚴(yán)重,但如果你在要給
大表上建了多種組合索引,索引文件會(huì)膨脹很寬
drop.delete與truncate的區(qū)別
drop直接刪掉表truncate刪除表中數(shù)據(jù),再插入時(shí)自增長(zhǎng)id又從1開始delete刪除表
中數(shù)據(jù),可以加where字句
一般而言,drop>truncate>delete
連接種類,區(qū)別:
Innerjoin,leftjoin,rightjoin,fulljoin
分庫分表:
數(shù)據(jù)庫引擎:rnyisam和innodb,前者比較適合大量select,事務(wù)不安全;后者支持外鍵,事務(wù)
安全”適合大量update,insert
十二.Jmeter
1.性能測(cè)試幾個(gè)概念
TPS:每秒鐘request/事務(wù)數(shù)量
并發(fā)數(shù):系統(tǒng)同時(shí)處理的request/事務(wù)數(shù)
響應(yīng)時(shí)間:一般取平均響應(yīng)時(shí)間
下面幾個(gè)概念可以看看
負(fù)載測(cè)試(LoadTest):負(fù)載測(cè)試是一種性能測(cè)試,指數(shù)據(jù)在超負(fù)荷環(huán)境中運(yùn)行,程序
是否能夠承擔(dān)(通俗講我覺得就是到了拐點(diǎn)就停了,再往上指標(biāo)也不會(huì)上漲)
壓力測(cè)試(StressTest):壓力測(cè)試(又叫強(qiáng)度測(cè)試)也是一種性能測(cè)試,它在系統(tǒng)資源
特別低的情況下軟件系統(tǒng)運(yùn)行情況,目的是找到系統(tǒng)在哪里失效以及如何失效的地方。
(1)穩(wěn)定性壓力測(cè)試:在選定的壓力值下,長(zhǎng)時(shí)間持續(xù)運(yùn)行。通過這類壓力測(cè)試,可以
考察各項(xiàng)性能指標(biāo)是否在指定范圍內(nèi),有無內(nèi)存泄漏、有無功能性故障等;
(2)破壞性壓力測(cè)試:在穩(wěn)定性壓力測(cè)試中可能會(huì)出現(xiàn)一些問題,如系統(tǒng)性能明顯降低,
但很難暴露出其真實(shí)的原因。通過破壞性不斷加壓的手段,往往能快速造成系統(tǒng)的崩潰或讓
問題明顯的暴露出來
極限測(cè)試Extremetesting:在過量用戶下的負(fù)載測(cè)試Hammertesting:連續(xù)執(zhí)行所有能
做的操作
像一般性能測(cè)試可能會(huì)發(fā)現(xiàn)數(shù)據(jù)庫連接上的錯(cuò)誤,代碼的異常,也有可能是jmeter自
身這個(gè)軟件有性能瓶頸
Jmeter-plugins-manager(一個(gè)插件)
下載之后放到lib/ext下面,重啟,然后就如圖
添加邏病控制器
配置元件>
Start
定時(shí)器
Startnopauses
前2s處理器
Validate
Sampler繼續(xù)OStartNextThrea
再切Ctrl*X后置處理器>
復(fù)制Ctri*C斷言》
*Ctrl+V監(jiān)聽墨>AggregateGraph
DuplicateCtrl*Shift+C二,二inseconasjBackendListener
卜送|1-|
ResetGuiBeanShellListener
刪除DeleteaadcreationunBSFListener
bzm-BiazeMeterSenseUploader
Undo
ComparisonAssertionVisualizer
Redo
jp@gc?ActiveThreadsOverTime
打開…jp@gc-CompositeGraph
合并jp@gc-ConsoleStatusLogger
朝為..jp@gc-FlexibleFileWriter
jp@gc-HitsperSecond
SaveNodeAsImageCtrUG
jp@gc-PerfMonMetricsCollector
SaveScreenAsImageCtrl+Shift+G
jp@gc-ResponseTimesOverTime
啟用jp@gc-SynthesisReport(filtered)
禁用IjP@gc-TransactionsperSeconq
ToggleCtrl*TJSR223Listener
ResponseTimeGraph
幫助
SimpleDataWriter
SummaryReport
1.其中TransactionperSecond就是tps圖,ResponseTimeOverTime就是平均響應(yīng)時(shí)間,
方便實(shí)時(shí)觀察,而不是最后看查看結(jié)果樹
2.一般短的壓測(cè)都是相同條件壓三次取平均值
3.一般很少會(huì)直接壓線上,所以會(huì)有一個(gè)線上和測(cè)試的機(jī)器參數(shù)對(duì)比,有一個(gè)倍數(shù)關(guān)系,
測(cè)試環(huán)境做完壓測(cè)后再計(jì)算大概線上的結(jié)果
怎么確定性能指標(biāo)?
1.互聯(lián)網(wǎng)上對(duì)于用戶響應(yīng)時(shí)間,有一個(gè)普遍的標(biāo)準(zhǔn),2—5—10原則
2.1.5倍峰值作為參考+服務(wù)器(內(nèi)存,CPU等等)
jmeter怎么用上一個(gè)接口的結(jié)果作為下一個(gè)接口的參數(shù)(使用Jsonextractor)-加分點(diǎn)
十三.測(cè)試用例設(shè)計(jì)
這一塊的東西我寫個(gè)大致的范圍
登陸模塊
1.功能用例
2.兼容性(app版本,操作系統(tǒng)版本,不同移動(dòng)設(shè)備分辨率)
3.性能上(單用戶的響應(yīng)時(shí)間,高并發(fā),長(zhǎng)時(shí)間多用戶登陸)
4.安全性(加密,SQL注入(通過把SQL命令插入到Web表單提交或輸入域名或頁面請(qǐng)求
的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令),腳本攻擊,多設(shè)備登陸的互斥)
5.弱網(wǎng)(android在fiddler下,ios通過自身的status,下一章寫)
6.UI測(cè)試
7.可用性,易用性(全鍵盤輸入,enter,tab)
8.本地化(多語言)
還有很多,測(cè)試紙杯,電梯,購(gòu)物車,支付功能(這都是我面試遇到過的)很多別的也可以考
慮這些方面,反正都憑自身經(jīng)驗(yàn)吧一
十四.弱網(wǎng)測(cè)試
l.IOS
IOS平臺(tái),通過自帶的開發(fā)者選項(xiàng)--NetworkLinkConditioner,簡(jiǎn)單的模擬各種速度的
網(wǎng)絡(luò)
????中國(guó)林動(dòng)號(hào)下午5;32每100%???
<DevelopeNetworkLinkConditioner
Enable
CHOOSEAPRORIE,.
4①>
100%Loss①
3G①
DSL①
Edge①
HighLatencyDNSR
VeryBadNetworkj
Wifi①>
pro3t
Addaprofile...
2.android
Fiddler
l.先開啟網(wǎng)絡(luò)模擬
2.開啟延遲
OFiddler卜什卜
FilefcQWjoohViewHdp91Kde口G*oEdQ.
HideImageK?q?*iU11MMIVCNM,*frPmensftQ*dKUvr她?■Broww?ClearCd.
PntMCONNfE]
!HtMS-1r<W
i由_________________J航2>.3一*i'<MtDKtMT^BjCOM0OW9F(tSeSv<K
1Cuttomis*Mult,C*I*RJ.,
.必stlecroneortoreseuforvinrfle*e?StsHonslistto,,―fitrfoftnet
T.RequwProxyAa^herrbcabonrttrrsticr.
f47App)yGZTPEncodeL,
6.3)IUmo?*AC(ncodingt卜;
■L_.meSecondEditionoftMDcst-scllinqMok*DeX81n4withFiddler*,sno*
¥為Hkk3O4?產(chǎn),available.
曼50M;iNmnor<aocwvrhepaperMKk?nao?w-fr?coooc?tHttt):一;fiaa!erboo<.cow
1fUqumJ?p?n*wCotten(島;
*$2Au*omMK?UyAwtfwnbTJrt*bij;
f??卜:
I?、0n___________________________iKJ
?57HTTPdM.bMu.con
?5a*fnpitat^edu^oMAw-tMrcMMtoft**
<>?200?nTVtr.XfltnF-
SWNOMA
哥TMPTOOBM>99C<xton?de?.*Mt>o?MatSunAr260230:2SUFC?4
然后編輯腳本
3|CustomRulesjs-記事本
文件(F)漏場(chǎng)⑹tet(O)查看(V)JtSb(H)
if((null!=bpMethod)&&(oSession.HTTPMethodls(bpMethod))){
}QS(;ssion["x-breakrequest"]二"method”;
if((nul11=uiBoldURI)&&oSession.uriContains(uiBoldURI)){
}oSession["ui-bold"]="QuickExec”;
if(m_SiiriulateModem){
//Delaysendsby300msperKBuploaded.
oSession[*request-trickle-delay**]二"3000”;
//Delayreceivesby150msperKBdownloaded.
oSession[*response-trickle-delay**]=T000”,
if(m_DisableCaching){“?
oSession.oRequest.headers.Remove(*1f-None-Match*);
oSession.oRequest.headers.Remove(**Ifodified-Sinee*);
oSession.oRequest[^Pragma^]="no-cache”,
每上傳和下載1KB的數(shù)據(jù)要延遲多少秒
Charles:
延遲設(shè)置-選擇相應(yīng)的網(wǎng)絡(luò)延遲設(shè)置或者自定義延遲-開啟延遲即可
?CharlesFileEditViewToxyToolsWindowHelp
」JStopRecording(Session1)*R
StartThrottling第T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年手機(jī)行業(yè)退貨三包服務(wù)規(guī)范合同樣本3篇
- 2025年物流運(yùn)輸掛靠車輛運(yùn)輸合同范本3篇
- 砌塊工程施工方案
- 2025年行政訴訟上訴狀編寫規(guī)范:全面指導(dǎo)版3篇
- 二零二五版科技園區(qū)研發(fā)樓租賃續(xù)約4篇
- 二零二五版門店合伙人風(fēng)險(xiǎn)管理與責(zé)任承擔(dān)合同4篇
- 2024年中級(jí)經(jīng)濟(jì)師考試題庫含答案(輕巧奪冠)
- 浮筏施工方案
- 2025年度養(yǎng)老產(chǎn)業(yè)項(xiàng)目貸款擔(dān)保合同范文3篇
- 2025年度個(gè)人網(wǎng)絡(luò)安全服務(wù)買賣合同(數(shù)據(jù)保護(hù))4篇
- 《健康體檢知識(shí)》課件
- 部編版語文五年級(jí)下冊(cè) 第一單元 專項(xiàng)訓(xùn)練課外閱讀(含答案)
- 蘇少版七年級(jí)美術(shù)下冊(cè) 全冊(cè)
- 名表買賣合同協(xié)議書
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫附答案
- 中西方校服文化差異研究
- 《子宮肉瘤》課件
- 《準(zhǔn)媽媽衣食住行》課件
- 給男友的道歉信10000字(十二篇)
- 客人在酒店受傷免責(zé)承諾書范本
評(píng)論
0/150
提交評(píng)論