- 相關(guān)推薦
應(yīng)屆生軟件測(cè)試面試題
問(wèn)題一:為什么要在一個(gè)團(tuán)隊(duì)中開(kāi)展軟件測(cè)試工作?
任何軟件在開(kāi)發(fā)過(guò)程中都會(huì)留下缺陷,帶有缺陷的軟件產(chǎn)品如果提交出去,可能會(huì)給公司帶來(lái)不可估量的損失,我們必須在客戶(hù)之前發(fā)現(xiàn)盡可能多的問(wèn)題,從而保障客戶(hù)滿(mǎn)意。而發(fā)現(xiàn)問(wèn)題的這個(gè)過(guò)程稱(chēng)之為測(cè)試。
問(wèn)題二:簡(jiǎn)述你在以前的工作中做過(guò)哪些事情,比較熟悉什么?
此問(wèn)題每個(gè)人都不一樣。我自己的答案如下。
我主要的工作是系統(tǒng)測(cè)試和自動(dòng)化測(cè)試,也曾少量涉及性能測(cè)試。在系統(tǒng)測(cè)試中,主要是對(duì)BOSS系統(tǒng)的業(yè)務(wù)邏輯功能,以及軟交換系統(tǒng)的Class 5特性進(jìn)行測(cè)試。性能測(cè)試中,主要是進(jìn)行的壓力測(cè)試,在各個(gè)不同數(shù)量請(qǐng)求的情況下,獲取系統(tǒng)響應(yīng)時(shí)間以及系統(tǒng)資源消耗情況。自動(dòng)化測(cè)試主要是通過(guò)自己寫(xiě)腳本以及一些第三方工具的結(jié)合來(lái)測(cè)試軟交換的特性測(cè)試。
問(wèn)題三:你所了解的的軟件測(cè)試類(lèi)型都有哪些,簡(jiǎn)單介紹一下
1.基本功能驗(yàn)證
主要是對(duì)發(fā)布的版本進(jìn)行一些最主要功能的測(cè)試。英文常見(jiàn)叫法是Smoking Test, Basic Verification Test或者Sanity Check。
2.功能測(cè)試
主要是依據(jù)需求或者需求分析文檔,對(duì)所發(fā)布的版本進(jìn)行測(cè)試,看看是否滿(mǎn)足需求,是否出現(xiàn)了不必要的功能。
3.單元測(cè)試
是開(kāi)發(fā)人員進(jìn)行的測(cè)試之一,一般是開(kāi)發(fā)人員對(duì)很小的模塊,比如函數(shù)進(jìn)行測(cè)試,一般來(lái)說(shuō),開(kāi)發(fā)人員還需要開(kāi)發(fā)相應(yīng)的測(cè)試樁來(lái)進(jìn)行此類(lèi)測(cè)試。
4.集成測(cè)試
在大型的開(kāi)發(fā)過(guò)程中,軟件是模塊化進(jìn)行開(kāi)發(fā)的,將不同的模塊揉合在一起的話(huà),需要進(jìn)行的測(cè)試就是集成測(cè)試。
5.系統(tǒng)測(cè)試
當(dāng)軟件提交給測(cè)試組后,是對(duì)整個(gè)系統(tǒng)的所有功能進(jìn)行測(cè)試,一般來(lái)說(shuō),功能測(cè)試是系統(tǒng)測(cè)試的一個(gè)部分。
6.壓力測(cè)試
主要是在很大性能的情況下,這個(gè)性能已經(jīng)接近了系統(tǒng)的極限,看看系統(tǒng)運(yùn)轉(zhuǎn)的情況。
7.負(fù)載測(cè)試
主要是用各種不同的性能去檢測(cè)系統(tǒng),采集各個(gè)數(shù)據(jù)在這些性能情況下的數(shù)據(jù)。
8.黑盒測(cè)試
指系統(tǒng)對(duì)你來(lái)說(shuō)是完全不透明的,只給你留下了輸入和最終輸出,這個(gè)是功能測(cè)試的方法之一。
9.灰盒測(cè)試
指在了解部分系統(tǒng)內(nèi)部工作機(jī)制的情況下,對(duì)于系統(tǒng)進(jìn)行的覆蓋性測(cè)試。
10.白盒測(cè)試
主要是在單元測(cè)試和集成測(cè)試的情況下,開(kāi)發(fā)人員已知代碼,對(duì)這一段的代碼進(jìn)行全路徑的覆蓋測(cè)試。
11.界面測(cè)試
主要是看用戶(hù)界面的友好性和易用性,是否有文字或者排版錯(cuò)誤,是否有輸入限制等等。
12.回歸測(cè)試
一般是系統(tǒng)發(fā)現(xiàn)bug,開(kāi)發(fā)人員修改后,和BUG直接相關(guān)以及可能相關(guān)的功能進(jìn)行的測(cè)試。
13.安裝和卸載的測(cè)試
14.恢復(fù)測(cè)試
主要是一個(gè)系統(tǒng)在發(fā)生了災(zāi)難的情況下,從錯(cuò)誤中是否容易恢復(fù)。
15.兼容性測(cè)試
一個(gè)系統(tǒng)在不同的語(yǔ)言,操作系統(tǒng)下的系統(tǒng)測(cè)試。
16.安全測(cè)試
系統(tǒng)在遇到攻擊或者類(lèi)似情況下的表現(xiàn)。
17.Alpha測(cè)試
系統(tǒng)在給最終用戶(hù)前,測(cè)試人員在實(shí)驗(yàn)室中模擬最終用戶(hù)的測(cè)試。
18.Beta測(cè)試。
由部分最終用戶(hù)通過(guò)使用來(lái)進(jìn)行的測(cè)試
19.比較測(cè)試
和其他具有相同或者類(lèi)似功能的系統(tǒng)進(jìn)行對(duì)比的測(cè)試。
20.驗(yàn)收測(cè)試
一般是最終用戶(hù)在接受產(chǎn)品前,依據(jù)自己所提出的要求進(jìn)行的測(cè)試,很多情況下,驗(yàn)收測(cè)試可能委托第三方機(jī)構(gòu)完成。
問(wèn)題四:測(cè)試計(jì)劃工作的目的是什么?測(cè)試計(jì)劃文檔的內(nèi)容應(yīng)該包括什么?其中哪些是最重要的?
軟件測(cè)試計(jì)劃是指導(dǎo)測(cè)試過(guò)程的綱領(lǐng)性文件。
包含了產(chǎn)品概述、測(cè)試策略、測(cè)試方法、測(cè)試區(qū)域、測(cè)試配置、測(cè)試周期、測(cè)試資源、測(cè)試交流、風(fēng)險(xiǎn)分析等內(nèi)容。借助軟件測(cè)試計(jì)劃,參與測(cè)試的項(xiàng)目成員,尤其是測(cè)試管理人員,可以明確測(cè)試任務(wù)和測(cè)試方法,保持測(cè)試實(shí)施過(guò)程的順暢溝通,跟蹤和控制測(cè)試進(jìn)度,應(yīng)對(duì)測(cè)試過(guò)程中的各種變更。
測(cè)試計(jì)劃和測(cè)試詳細(xì)規(guī)格、測(cè)試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測(cè)試計(jì)劃主要從宏觀(guān)上規(guī)劃測(cè)試活動(dòng)的范圍、方法和資源配置,而測(cè)試詳細(xì)規(guī)格、測(cè)試用例是完成測(cè)試任務(wù)的具體戰(zhàn)術(shù)。所以其中最重要的是測(cè)試測(cè)試策略和測(cè)試方法(最好是能先評(píng)審)。
問(wèn)題五:你認(rèn)為做好測(cè)試計(jì)劃工作的關(guān)鍵是什么?
1.明確測(cè)試的目標(biāo),增強(qiáng)測(cè)試計(jì)劃的實(shí)用性
編寫(xiě)軟件測(cè)試計(jì)劃得重要目的就是使測(cè)試過(guò)程能夠發(fā)現(xiàn)更多的軟件缺陷,因此軟件測(cè)試計(jì)劃的價(jià)值取決于它對(duì)幫助管理測(cè)試項(xiàng)目,并且找出軟件潛在的缺陷。因此,軟件測(cè)試計(jì)劃中的測(cè)試范圍必須高度覆蓋功能需求,測(cè)試方法必須切實(shí)可行,測(cè)試工具并且具有較高的實(shí)用性,便于使用,生成的測(cè)試結(jié)果直觀(guān)、準(zhǔn)確
2.堅(jiān)持“5W”規(guī)則,明確內(nèi)容與過(guò)程
“5W”規(guī)則指的是“What(做什么)”、“Why(為什么做)”、“When(何時(shí)做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”規(guī)則創(chuàng)建軟件測(cè)試計(jì)劃,可以幫助測(cè)試團(tuán)隊(duì)理解測(cè)試的目的(Why),明確測(cè)試的范圍和內(nèi)容(What),確定測(cè)試的開(kāi)始和結(jié)束日期(When),指出測(cè)試的方法和工具(How),給出測(cè)試文檔和軟件的存放位置(Where)。
3.采用評(píng)審和更新機(jī)制,保證測(cè)試計(jì)劃滿(mǎn)足實(shí)際需求
測(cè)試計(jì)劃寫(xiě)作完成后,如果沒(méi)有經(jīng)過(guò)評(píng)審,直接發(fā)送給測(cè)試團(tuán)隊(duì),測(cè)試計(jì)劃內(nèi)容的可能不準(zhǔn)確或遺漏測(cè)試內(nèi)容,或者軟件需求變更引起測(cè)試范圍的增減,而測(cè)試計(jì)劃的內(nèi)容沒(méi)有及時(shí)更新,誤導(dǎo)測(cè)試執(zhí)行人員。
4.分別創(chuàng)建測(cè)試計(jì)劃與測(cè)試詳細(xì)規(guī)格、測(cè)試用例
應(yīng)把詳細(xì)的測(cè)試技術(shù)指標(biāo)包含到獨(dú)立創(chuàng)建的測(cè)試詳細(xì)規(guī)格文檔,把用于指導(dǎo)測(cè)試小組執(zhí)行測(cè)試過(guò)程的測(cè)試用例放到獨(dú)立創(chuàng)建的測(cè)試用例文檔或測(cè)試用例管理數(shù)據(jù)庫(kù)中。測(cè)試計(jì)劃和測(cè)試詳細(xì)規(guī)格、測(cè)試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測(cè)試計(jì)劃主要從宏觀(guān)上規(guī)劃測(cè)試活動(dòng)的范圍、方法和資源配置,而測(cè)試詳細(xì)規(guī)格、測(cè)試用例是完成測(cè)試任務(wù)的具體戰(zhàn)術(shù)。
問(wèn)題六:常見(jiàn)的測(cè)試用例設(shè)計(jì)方法都有哪些?請(qǐng)分別以具體的例子來(lái)說(shuō)明這些方法在測(cè)試用例設(shè)計(jì)工作中的應(yīng)用。
1. 等價(jià)類(lèi)劃分
劃分等價(jià)類(lèi): 等價(jià)類(lèi)是指某個(gè)輸入域的子集合.在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的.并合理地假定:測(cè)試某等價(jià)類(lèi)的代表值就等于對(duì)這一類(lèi)其他值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類(lèi),在每一個(gè)等價(jià)類(lèi)中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類(lèi)劃分可有兩種不同的情況:有效等價(jià)類(lèi)和無(wú)效等價(jià)類(lèi).
2. 邊界值分析法
邊界值分析方法是對(duì)等價(jià)類(lèi)劃分方法的補(bǔ)充。測(cè)試工作經(jīng)驗(yàn)告訴我,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤.
使用邊界值分析方法設(shè)計(jì)測(cè)試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價(jià)類(lèi)的邊界,就是應(yīng)著重測(cè)試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類(lèi)中的典型值或任意值作為測(cè)試數(shù)據(jù).
3. 錯(cuò)誤推測(cè)法
基于經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤, 從而有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法.
錯(cuò)誤推測(cè)方法的基本思想: 列舉出程序中所有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,根據(jù)他們選擇測(cè)試用例. 例如, 在單元測(cè)試時(shí)曾列出的許多在模塊中常見(jiàn)的錯(cuò)誤. 以前產(chǎn)品測(cè)試中曾經(jīng)發(fā)現(xiàn)的錯(cuò)誤等, 這些就是經(jīng)驗(yàn)的總結(jié). 還有, 輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發(fā)生錯(cuò)誤的情況. 可選擇這些情況下的例子作為測(cè)試用例.
4. 因果圖方法
前面介紹的等價(jià)類(lèi)劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會(huì)產(chǎn)生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價(jià)類(lèi),他們之間的組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對(duì)于多種條件的組合,相應(yīng)產(chǎn)生多個(gè)動(dòng)作的形式來(lái)考慮設(shè)計(jì)測(cè)試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5. 正交表分析法
有時(shí)候,可能因?yàn)榇罅康膮?shù)的組合而引起測(cè)試用例數(shù)量上的激增,同時(shí),這些測(cè)試用例并沒(méi)有明顯的優(yōu)先級(jí)上的差距,而測(cè)試人員又無(wú)法完成這么多數(shù)量的測(cè)試,就可以通過(guò)正交表來(lái)進(jìn)行縮減一些用例,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性。
6. 場(chǎng)景分析方法
指根據(jù)用戶(hù)場(chǎng)景來(lái)模擬用戶(hù)的操作步驟,這個(gè)比較類(lèi)似因果圖,但是可能執(zhí)行的深度和可行性更好。
問(wèn)題七:您認(rèn)為做好測(cè)試用例設(shè)計(jì)工作的關(guān)鍵是什么?
白盒測(cè)試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測(cè)試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問(wèn)題
問(wèn)題八:詳細(xì)的描述一個(gè)測(cè)試活動(dòng)完整的過(guò)程。
1.項(xiàng)目經(jīng)理通過(guò)和客戶(hù)的交流,完成需求文檔,由開(kāi)發(fā)人員和測(cè)試人員共同完成需求文檔的評(píng)審,評(píng)審的內(nèi)容包括:需求描述不清楚的地方和可能有明顯沖突或者無(wú)法實(shí)現(xiàn)的功能的地方。項(xiàng)目經(jīng)理通過(guò)綜合開(kāi)發(fā)人員,測(cè)試人員以及客戶(hù)的意見(jiàn),完成項(xiàng)目計(jì)劃。然后SQA進(jìn)入項(xiàng)目,開(kāi)始進(jìn)行統(tǒng)計(jì)和跟蹤
2.開(kāi)發(fā)人員根據(jù)需求文檔完成需求分析文檔,測(cè)試人員進(jìn)行評(píng)審,評(píng)審的主要內(nèi)容包括是否有遺漏或者雙方理解不同的地方。測(cè)試人員完成測(cè)試計(jì)劃文檔,測(cè)試計(jì)劃包括的內(nèi)容上面有描述。
3. 測(cè)試人員根據(jù)修改好的需求分析文檔開(kāi)始寫(xiě)測(cè)試用例,同時(shí)開(kāi)發(fā)人員完成概要設(shè)計(jì)文檔,詳細(xì)設(shè)計(jì)文檔。此兩份文檔成為測(cè)試人員撰寫(xiě)測(cè)試用例的補(bǔ)充材料。
4.測(cè)試用例完成后,測(cè)試和開(kāi)發(fā)需要進(jìn)行評(píng)審。
5.測(cè)試人員搭建環(huán)境
6.開(kāi)發(fā)人員提交第一個(gè)版本,可能存在未完成功能,需要說(shuō)明。測(cè)試人員進(jìn)行測(cè)試,發(fā)現(xiàn)BUG后提交給BugZilla。
7.開(kāi)發(fā)提交第二個(gè)版本,包括Bug Fix以及增加了部分功能,測(cè)試人員進(jìn)行測(cè)試。
8.重復(fù)上面的工作,一般是3-4個(gè)版本后BUG數(shù)量減少,達(dá)到出貨的要求。
9.如果有客戶(hù)反饋的問(wèn)題,需要測(cè)試人員協(xié)助重現(xiàn)以及回歸測(cè)試。