軟件測試面試題到這里已經(jīng)分享第四期了,也是最后一期。最后祝同學(xué)們都能夠順利找到心儀的工作拿高薪,廢話不多說,下面上題了~
46、您以往是否曾經(jīng)從事過性能測試工作?如果有,請盡可能的詳細(xì)描述您以往的性能測試工作的完整過程。
(以自己最熟悉的性能測試項目為例)
是的,曾經(jīng)做過網(wǎng)站方面的性能測試,雖然做的時間并不久(2個月吧),當(dāng)時呢,是有位網(wǎng)站性能測試經(jīng)驗非常豐富的前輩帶著我一起做。
性能測試類型包括負(fù)載測試,強(qiáng)度測試,容量測試等
負(fù)載測試:負(fù)載測試是一種性能測試指數(shù)據(jù)在超負(fù)荷環(huán)境中運行,程序是否能夠承擔(dān)。
強(qiáng)度測試: 強(qiáng)度測試是一種性能測試,他在系統(tǒng)資源特
容量測試:確定系統(tǒng)可處理同時在線的最大用戶數(shù)
在網(wǎng)站流量逐漸加大的情況下,開始考慮做性能測試了,首先要寫好性能測試計劃,根據(jù)運營數(shù)據(jù)得出流量最大的頁面(如果是第一次的話,一般是首頁,下載頁,個人帳戶頁流量最大,而且以某種百分比)
Web服務(wù)器指標(biāo)指標(biāo):
47、你對測試最大的興趣在哪里?為什么?
最大的興趣就是測試有難度,有挑戰(zhàn)性!做測試越久越能感覺到做好測試有多難。曾經(jīng)在無憂測試網(wǎng)上看到一篇文章,是關(guān)于如何做好一名測試工程師。一共羅列了11,12點,有部分是和人的性格有關(guān),有部分需要后天的努力。但除了性格有關(guān)的1,2點我沒有把握,其他點我都很有信心做好它。
剛開始進(jìn)入測試行業(yè)時,對測試的認(rèn)識是從無憂測試網(wǎng)上了解到的一些資料,當(dāng)時是沖著做測試需要很多技能才能做的好,雖然入門容易,但做好很難,比開發(fā)更難,雖然當(dāng)時我很想做開發(fā)(學(xué)校專業(yè)課我基本上不缺席,因為我喜歡我的專業(yè)),但看到測試比開發(fā)更難更有挑戰(zhàn)性,想做好測試的意志就更堅定了。
不到一年半的測試工作中,當(dāng)時的感動和熱情沒有減退一點(即使環(huán)境問題以及自身經(jīng)驗,技術(shù)的不足,做測試的你一定也能理解)。
我覺得做測試整個過程中有2點讓我覺得很有難度(對我來說,有難度的東西我就非常感興趣),第一是測試用例的設(shè)計,因為測試的精華就在測試用例的設(shè)計上了,要在版本出來之前,把用例寫好,用什么測試方法寫?(也就是測試計劃或測試策略),如果你剛測試一個新任務(wù)時,你得花一定的時間去消化業(yè)務(wù)需求和技術(shù)基礎(chǔ),業(yè)務(wù)需求很好理解(多和產(chǎn)品經(jīng)理和開發(fā)人員溝通就能達(dá)到目的),而技術(shù)基礎(chǔ)可就沒那么簡單了,這需要你自覺的學(xué)習(xí)能力,比如說網(wǎng)站吧,最基本的技術(shù)知識你要知道網(wǎng)站內(nèi)部是怎么運作的的,后臺是怎么響應(yīng)用戶請求的?測試環(huán)境如何搭建?這些都需要最早的學(xué)好。至少在開始測試之前能做好基本的準(zhǔn)備,可能會遇到什么難題?需求細(xì)節(jié)是不是沒有確定好?這些問題都能在設(shè)計用例的時候發(fā)現(xiàn)。
第二是發(fā)現(xiàn)BUG的時候了,這應(yīng)該是測試人員最基本的任務(wù)了,一般按測試用例開始測試就能發(fā)現(xiàn)大部分的bug,還有一部分bug需要測試的過程中更了解所測版本的情況獲得更多信息,補(bǔ)充測試用例,測試出bug。還有如何發(fā)現(xiàn)bug?這就需要在測試用例有效的情況下,通過細(xì)心和耐心去發(fā)現(xiàn)bug了,每個用例都有可能發(fā)現(xiàn)bug,每個地方都有可能出錯,所以測試過程中思維要清晰(測試過程數(shù)據(jù)流及結(jié)果都得看仔細(xì)了,bug都在里面發(fā)現(xiàn)的)。如何描述bug也很有講究,bug在什么情況下會產(chǎn)生,如果條件變化一點點,就不會有這個bug,以哪些最少的操作步驟就能重現(xiàn)這個bug,這個bug產(chǎn)生的規(guī)律是什么?如果你夠厲害的話,可以幫開發(fā)人員初步定位問題。
48、你以前工作時的測試流程是什么?
(靈活回答)
公司對測試流程沒有規(guī)定如何做,但每個測試人員都有自己的一套測試流程。我說下我1年來不斷改正(自己總結(jié),吸取同行的方法)后的流程吧。需求評審(有開發(fā)人員,產(chǎn)品經(jīng)理,測試人員,項目經(jīng)理)->需求確定(出一份確定的需求文檔)->開發(fā)設(shè)計文檔(開發(fā)人員在開始寫代碼前就能輸出設(shè)計文檔)->想好測試策略,寫出測試用例->發(fā)給開發(fā)人員和測試經(jīng)理看看(非正式的評審用例)->接到測試版本->執(zhí)行測試用例(中間可能會補(bǔ)充用例)->提交bug(有些bug需要開發(fā)人員的確定(嚴(yán)重級別的,或突然發(fā)現(xiàn)的在測試用例范圍之外的,難以重現(xiàn)的),有些可以直接錄制進(jìn)TD)->開發(fā)人員修改(可以在測試過程中快速的修改)->回歸測試(可能又會發(fā)現(xiàn)新問題,再按流程開始跑)。
49、當(dāng)開發(fā)人員說不是BUG時,你如何應(yīng)付?
開發(fā)人員說不是bug,有2種情況,一是需求沒有確定,所以我可以這么做,這個時候可以找來產(chǎn)品經(jīng)理進(jìn)行確認(rèn),需不需要改動,3方商量確定好后再看要不要改。二是這種情況不可能發(fā)生,所以不需要修改,這個時候,我可以先盡可能的說出是BUG的依據(jù)是什么?如果被用戶發(fā)現(xiàn)或出了問題,會有什么不良結(jié)果?程序員可能會給你很多理由,你可以對他的解釋進(jìn)行反駁。如果還是不行,那我可以給這個問題提出來,跟開發(fā)經(jīng)理和測試經(jīng)理進(jìn)行確認(rèn),如果要修改就改,如果不要修改就不改。其實有些真的不是bug,我也只是建議的方式寫進(jìn)TD中,如果開發(fā)人員不修改也沒有大問題。如果確定是bug的話,一定要堅持自己的立場,讓問題得到最后的確認(rèn)。
50、結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計各自的特點及優(yōu)缺點是什么?
(不需要回答如此復(fù)雜)
結(jié)構(gòu)化程序設(shè)計思想采用了模塊分解與功能抽象和自頂向下、分而治之的方法,從而有效地將一個較復(fù)雜的程序系統(tǒng)設(shè)計任務(wù)分解成許多易于控制和處理的子程序,便于開發(fā)和維護(hù)。它的重點在于把功能進(jìn)行分解。但是由于在實際開發(fā)過程當(dāng)中需求會經(jīng)常發(fā)生變化,因此,它不能很好的適應(yīng)需求變化的開發(fā)過程。結(jié)構(gòu)化程序設(shè)計是面向過程的。
面向?qū)ο蟪绦蛟O(shè)計以需求當(dāng)中的數(shù)據(jù)作為中心,來進(jìn)行設(shè)計,具有良好的代碼重用性。
封裝性:也叫數(shù)據(jù)隱藏,用戶無需知道內(nèi)部工作流程,只要知道接口和操作就可以的。
繼承性: 一種支持重用的思想,在現(xiàn)有的類型派生出新的子類,例如新型電視機(jī)在原有型號的電視機(jī)上增加若干中功能而得到,新型電視機(jī)是原有電視機(jī)的派生,繼承了原有電視機(jī)的屬性,并增加了新的功能。
多態(tài)性:指在一般類中定義的屬性或行為,被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。
動態(tài)聯(lián)編:指一個計算機(jī)程序自身彼此關(guān)聯(lián)的過程,按照聯(lián)編所進(jìn)行的階段不同,可分為兩種不同的聯(lián)編方法:靜態(tài)聯(lián)編和動態(tài)聯(lián)編。
51、描述TCP/IP協(xié)議的層次結(jié)構(gòu),以及每一層中重要協(xié)議。
52、簡述子網(wǎng)掩碼的用途。
子網(wǎng)掩碼主要用來判斷兩個IP地址是否處在同一個局域網(wǎng)當(dāng)中;子網(wǎng)掩碼是由連續(xù)的2進(jìn)制1組成的。子網(wǎng)掩碼和IP地址進(jìn)行按位與運算后,結(jié)果一致,表示處于一個局域網(wǎng)當(dāng)中,如果不一致,表示不再一個局域網(wǎng)當(dāng)中,需要尋找路由。
53、說出4種以上常用的操作系統(tǒng)及其主要的應(yīng)用范圍(微軟的操作系統(tǒng)除外)。
Linux(Red Hat、SUSE、Debian、Trubo Linux):主要用于搭建各類服務(wù)器
MAC OS:蘋果機(jī)的操作系統(tǒng),用于圖像處理
Unix(AIX:IBM服務(wù)器的專用操作系統(tǒng);
Solaris:Sun操作系統(tǒng);FreeBSD、NetBSD)
54、在Linux系統(tǒng)中,一個文件的訪問權(quán)限是755,其含義是什么?
755表示該文件所有者對該文件具有讀、寫、執(zhí)行權(quán)限,該文件所有者所在組用戶及其他用戶對該文件具有讀和執(zhí)行權(quán)限。
55、Windows操作系統(tǒng)中PATH環(huán)境變量的作用是什么?
PATH是Windows操作系統(tǒng)環(huán)境變量,PATH作用是用戶在命令行窗口執(zhí)行一個命令,則在PATH變量設(shè)置的目錄下依次尋找該命令或?qū)?yīng)的執(zhí)行文件,若找到,則執(zhí)行,若沒有找到,則命令行窗口返回?zé)o效命令。
56、在centos中,從root用戶切到userl用戶,一般用什么命令?
su
su user1 切換到user1,但切換后的當(dāng)前目錄還是root訪問的目錄
su – user1 切換到user1,并且當(dāng)前目錄切換到user1的根目錄下(/home/user1/)
57、Linux中,一般怎么隱藏文件?
文件名以一個.開頭
58、DNS是什么,它是如何工作的?
域名解析服務(wù)。用于將域名解析為IP,或反和將IP解析為域名。
客戶機(jī)可指定DNS服務(wù)器來解析,或用本機(jī)hosts文件進(jìn)行解析。
59、簡述一下c/s模式或者b/s模式?
C/S模式:客戶端/服務(wù)器模式。工作原理:Client向Server提交一個請求;Server則使用一些方法處理這個請求,并將效果返回給Client。
B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。
60、TCP/UDP有哪些區(qū)別?
TCP-有連接,所以握手過程會消耗資源,過程為可靠連接,不會丟失數(shù)據(jù),適合大數(shù)據(jù)量交換
UDP-非可靠連接,會丟包,沒有校驗,速度快,無須握手過程
最后想學(xué)習(xí)軟件測試的同學(xué),可以參考千鋒軟件測試培訓(xùn)班提供的軟件測試學(xué)習(xí)路線,內(nèi)容包含軟件測試環(huán)境配置與管理,數(shù)據(jù)庫測試技術(shù),軟件測試編程技術(shù),應(yīng)用程序測試技術(shù),互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng)測試技術(shù)等,根據(jù)千鋒軟件測試培訓(xùn)機(jī)構(gòu)提供的軟件測試學(xué)習(xí)路線圖,可以讓你對學(xué)好軟件測試需要掌握的知識有個清晰的了解,并能快速入門軟件測試。想要獲取學(xué)習(xí)路線或?qū)W習(xí)資料的同學(xué)可以添加我們的軟測技術(shù)交流qq群:858327674 加群找管理領(lǐng)取即可,軟測相關(guān)問題也可以加群解答,等你來哦~~~