背面試題是避免面試出現(xiàn)被問懵的現(xiàn)象最好的方式,昨天我們分享了第一期軟測經(jīng)典面試題,今天我們繼續(xù)分享,還是老規(guī)矩建議收藏~~
16、簡述一下缺陷的生命周期?
提交->確認(rèn)->分配->修復(fù)->驗(yàn)證->關(guān)閉
17、軟件的安全性應(yīng)從哪幾個(gè)方面去測試?
用戶認(rèn)證機(jī)制:如數(shù)據(jù)證書、智能卡、雙重認(rèn)證、安全電子交易協(xié)議
加密機(jī)制
安全防護(hù)策略:如安全日志、入侵檢測、隔離防護(hù)、漏洞掃描
數(shù)據(jù)備份與恢復(fù)手段:存儲(chǔ)設(shè)備、存儲(chǔ)優(yōu)化、存儲(chǔ)保護(hù)、存儲(chǔ)管理
防病毒系統(tǒng)
18、一套完整的測試應(yīng)該由哪些階段組成?
測試計(jì)劃、測試設(shè)計(jì)與開發(fā)、測試實(shí)施、測試評(píng)審與測試結(jié)論
19、軟件系統(tǒng)中除用戶文檔之外,文檔測試還應(yīng)該關(guān)注哪些文檔?
開發(fā)文檔
軟件需求說明書
數(shù)據(jù)庫設(shè)計(jì)說明書
概要設(shè)計(jì)說明書
詳細(xì)設(shè)計(jì)說明書
可行性研究報(bào)告
管理文檔
項(xiàng)目開發(fā)計(jì)劃
測試計(jì)劃
測試報(bào)告
開發(fā)進(jìn)度月報(bào)
開發(fā)總結(jié)報(bào)告
20、簡述軟件系統(tǒng)中用戶文檔的測試要點(diǎn)?
讀者群。文檔面向的讀者定位要明確。對(duì)于初級(jí)用戶、中級(jí)用戶以及高級(jí)用戶應(yīng)該有不同的定位
術(shù)語。文檔中用到的術(shù)語要適用與定位的讀者群,用法一致,標(biāo)準(zhǔn)定義與業(yè)界規(guī)范相吻合。
正確性。測試中需檢查所有信息是否真實(shí)正確,查找由于過期產(chǎn)品說明書和銷售人員夸大事實(shí)而導(dǎo)致的錯(cuò)誤。檢查所有的目錄、索引和章節(jié)引用是否已更新,嘗試鏈接是否準(zhǔn)確,產(chǎn)品支持電話、地址和郵政編碼是否正確。
完整性。對(duì)照軟件界面檢查是否有重要的分支沒有描述到,甚至是否有整個(gè)大模塊沒有描述到。
一致性。按照文檔描述的操作執(zhí)行后,檢查軟件返回的結(jié)果是否與文檔描述的相同。
易用性。對(duì)關(guān)鍵步驟以粗體或背景色給用戶以提示,合理的頁面布局、適量的圖表都可以給用戶更高的易用性。需要注意的是文檔要有助于用戶排除錯(cuò)誤。不但描述正確操作,也要描述錯(cuò)誤處理辦法。文檔對(duì)于用戶看到的錯(cuò)誤信息應(yīng)當(dāng)有更詳細(xì)的文檔解釋。
圖表與界面截圖。檢查所有圖表與界面截圖是否與發(fā)行版本相同。
樣例與示例。像用戶一樣載入和使用樣例。如果是一段程序,就輸入數(shù)據(jù)并執(zhí)行它。以每一個(gè)模塊制作文件,確認(rèn)它們的正確性。
語言。不出現(xiàn)錯(cuò)別字,不要出現(xiàn)有二義性的說法。特別要注意的是屏幕截圖或繪制圖形中的文字。
印刷與包裝。檢查印刷質(zhì)量;手冊(cè)厚度與開本是否合適;包裝盒的大小是否合適;有沒有零碎易丟失的小部件等等。
21、如何理解壓力、負(fù)載、性能測試測試?
性能測試是一個(gè)較大的范圍,實(shí)際上性能測試本身包含了性能、強(qiáng)度、壓力、負(fù)載等多方面的測試內(nèi)容。
壓力測試是對(duì)服務(wù)器的穩(wěn)定性以及負(fù)載能力等方面的測試,是一種很平常的測試。增大訪問系統(tǒng)的用戶數(shù)量、或者幾個(gè)用戶進(jìn)行大數(shù)據(jù)量操作都是壓力測試。
而負(fù)載測試是壓力相對(duì)較大的測試,主要是測試系統(tǒng)在一種或者集中極限條件下的相應(yīng)能力,是性能測試的重要部分。100個(gè)用戶對(duì)系統(tǒng)進(jìn)行連續(xù)半個(gè)小時(shí)的訪問可以看作壓力測試,那么連續(xù)訪問8個(gè)小時(shí)就可以認(rèn)為負(fù)載測試,1000個(gè)用戶連續(xù)訪問系統(tǒng)1個(gè)小時(shí)也可以看作是負(fù)載測試。
實(shí)際上壓力測試和負(fù)載測試沒有明顯的區(qū)分。測試人員應(yīng)該站在關(guān)注整體性能的高度上來對(duì)系統(tǒng)進(jìn)行測試。
22、什么是系統(tǒng)瓶頸?
瓶頸主要是指整個(gè)軟硬件構(gòu)成的軟件系統(tǒng)某一方面或者幾個(gè)方面能力不能滿足用戶的特定業(yè)務(wù)要求,“特定”是指瓶頸會(huì)在某些條件下會(huì)出現(xiàn),因?yàn)楫吘勾蠖鄶?shù)系統(tǒng)在投入前。
嚴(yán)格的從技術(shù)角度講,所有的系統(tǒng)都會(huì)有瓶頸,因?yàn)榇蠖鄶?shù)系統(tǒng)的資源配置不是協(xié)調(diào)的,例如CPU使用率剛好達(dá)到100%時(shí),內(nèi)存也正好耗盡的系統(tǒng)不是很多見。因此我們討論系統(tǒng)瓶頸要從應(yīng)用的角度討論:關(guān)鍵是看系統(tǒng)能否滿足用戶需求。在用戶極限使用系統(tǒng)的情況下,系統(tǒng)的響應(yīng)仍然正常,我們可以認(rèn)為改系統(tǒng)沒有瓶頸或者瓶頸不會(huì)影響用戶工作。
因此我們測試系統(tǒng)瓶頸主要是實(shí)現(xiàn)下面兩個(gè)目的:
-發(fā)現(xiàn)“表面”的瓶頸。主要是模擬用戶的操作,找出用戶極限使用系統(tǒng)時(shí)的瓶頸,然后解決瓶頸,這是性能測試的基本目標(biāo)。
-發(fā)現(xiàn)潛在的瓶頸并解決,保證系統(tǒng)的長期穩(wěn)定性。主要是考慮用戶在將來擴(kuò)展系統(tǒng)或者業(yè)務(wù)發(fā)生變化時(shí),系統(tǒng)能夠適應(yīng)變化。滿足用戶目前需求的系統(tǒng)不是最好的,我們?cè)O(shè)計(jì)系統(tǒng)的目標(biāo)是在保證系統(tǒng)整個(gè)軟件生命周期能夠不斷適應(yīng)用戶的變化,或者通過簡單擴(kuò)展系統(tǒng)就可以適應(yīng)新的變化。
23、文檔測試主要包含什么內(nèi)容?
在國內(nèi)軟件開發(fā)管理中,文檔管理幾乎是最弱的一項(xiàng),因而在測試工作中特別容易忽略文檔測試也就不足為奇了。要想給用戶提供完整的產(chǎn)品,文檔測試是必不可少的。文檔測試一般注重下面幾個(gè)方面:
文檔的完整性:主要是測試文檔內(nèi)容的全面性與完整性,從總體上把握文檔的質(zhì)量。例如用戶手冊(cè)應(yīng)該包括軟件的所有功能模塊。
描述與軟件實(shí)際情況的一致性:主要測試軟件文檔與軟件實(shí)際的一致程度。例如用戶手冊(cè)基本完整后,我們還要注意用戶手冊(cè)與實(shí)際功能描述是否一致。因?yàn)槲臋n往往跟不上軟件版本的更新速度。
易理解性:主要是檢查文檔對(duì)關(guān)鍵、重要的操作有無圖文說明,文字、圖表是否易于理解。對(duì)于關(guān)鍵、重要的操作僅僅只有文字說明肯定是不夠的,應(yīng)該附有圖表使說明更為直觀和明了。
文檔中提供操作的實(shí)例:這項(xiàng)檢查內(nèi)容主要針對(duì)用戶手冊(cè)。對(duì)主要功能和關(guān)鍵操作提供的應(yīng)用實(shí)例是否豐富,提供的實(shí)例描述是否詳細(xì)。只有簡單的圖文說明,而無實(shí)例的用戶手冊(cè)看起來就像是軟件界面的簡單拷貝,對(duì)于用戶來說,實(shí)際上沒有什么幫助。
印刷與包裝質(zhì)量:主要是檢查軟件文檔的商品化程度。有些用戶手冊(cè)是簡單打印、裝訂而成,過于粗糙,不易于用戶保存。優(yōu)秀的文檔例如用戶手冊(cè)和技術(shù)白皮書,應(yīng)提供商品化包裝,并且印刷精美。
24、功能測試用例需要詳細(xì)到什么程度才是合格的?
這個(gè)問題也是測試工程師經(jīng)常問的問題。有人主張測試用例詳細(xì)到每個(gè)步驟執(zhí)行什么都要寫出來,目的是即使一個(gè)不了解系統(tǒng)的新手都可以按照測試用例來執(zhí)行工作。主張這類寫法的人還可以舉出例子:歐美、日本等軟件外包文檔都是這樣做的。
另外一種觀點(diǎn)就是主張寫的粗些,類似于編寫測試大綱。主張這種觀點(diǎn)的人是因?yàn)檐浖_發(fā)需求管理不規(guī)范,變動(dòng)十分頻繁,因而不能按照歐美的高標(biāo)準(zhǔn)來編寫測試用例。這樣的測試用例容易維護(hù),可以讓測試執(zhí)行人員有更大的發(fā)揮空間。
實(shí)際上,軟件測試用例的詳細(xì)程度首先要以覆蓋到測試點(diǎn)為基本要求。舉個(gè)例子:“用戶登陸系統(tǒng)”的測試用例可以不寫出具體的執(zhí)行數(shù)據(jù),但是至少要寫出五種以上情況(),如果只用一句話覆蓋了這個(gè)功能是不合格的測試用例。覆蓋功能點(diǎn)不是指列出功能點(diǎn),而是要寫出功能點(diǎn)的各個(gè)方面(如果組合情況較多時(shí)可以采用等價(jià)劃分)。
另一個(gè)影響測試用例的就是組織的開發(fā)能力和測試對(duì)象特點(diǎn)。如果開發(fā)力量比較落后,編寫較詳細(xì)的測試用例是不現(xiàn)實(shí)的,因?yàn)楦緵]有那么大的資源投入,當(dāng)然這種情況很隨著團(tuán)隊(duì)的發(fā)展而逐漸有所改善。測試對(duì)象特點(diǎn)重點(diǎn)是指測試對(duì)象在進(jìn)度、成本等方面的要求,如果進(jìn)度較緊張的情況下,是根本沒有時(shí)間寫出高質(zhì)量的測試用例的,甚至有些時(shí)候測試工作只是一種輔助工作,因而不編寫測試用例。
因此,測試用例的編寫要根據(jù)測試對(duì)象特點(diǎn)、團(tuán)隊(duì)的執(zhí)行能力等各個(gè)方面綜合起來決定編寫策略。最后要注意的是測試人員一定不能抱怨,力爭在不斷提高測試用例編寫水平的同時(shí),不斷地提高自身能力。
25、沒有產(chǎn)品說明書和需求文檔地情況下能夠進(jìn)行黑盒測試嗎?
這個(gè)問題是國內(nèi)測試工程師經(jīng)常遇到的問題,根源就是國內(nèi)軟件開發(fā)文檔管理不規(guī)范,對(duì)變更的管理方法就更不合理了。實(shí)際上沒有任何文檔的時(shí)候,測試人員是能夠進(jìn)行黑盒測試的,這種測試方式我們可以稱之為探索測試,具體做法就是測試工程師根據(jù)自己的專業(yè)技能、領(lǐng)域知識(shí)等不斷的深入了解測試對(duì)象、理解軟件功能,進(jìn)而發(fā)現(xiàn)缺陷。
在這種做法基本上把軟件當(dāng)成了產(chǎn)品說明書,測試過程中要和開發(fā)人員不斷的進(jìn)行交流。尤其在作項(xiàng)目的時(shí)候,進(jìn)度壓力比較大,可以作為加急測試方案。最大的風(fēng)險(xiǎn)是不知道有些特性是否被遺漏。
26、測試中的“殺蟲劑怪事”是指什么?
“殺蟲劑怪事”一詞由BorisBeizer在其編著的《軟件測試技術(shù)》第二版中提出。用于描述測試人員對(duì)同一測試對(duì)象進(jìn)行的測試次數(shù)越多,發(fā)現(xiàn)的缺陷就會(huì)越來越少的現(xiàn)象。就像老用一種農(nóng)藥,害蟲就會(huì)有免疫力,農(nóng)藥發(fā)揮不了效力。這種現(xiàn)象的根本原因就是測試人員對(duì)測試軟件過于熟悉,形成思維定勢。
為了克服這種現(xiàn)象,測試人員需要不斷編寫新的測試程序或者測試用例,對(duì)程序的不同部分進(jìn)行測試,以發(fā)現(xiàn)更多的缺陷。也可以引用新人來測試軟件,剛剛進(jìn)來的新手往往能發(fā)現(xiàn)一些意想不到的問題。
27、完全測試程序是可能的嗎?
軟件測試初學(xué)者可能認(rèn)為拿到軟件后需要進(jìn)行完全測試,找到全部的軟件缺陷,使軟件“零缺陷”發(fā)布。實(shí)際上完全測試是不可能的。主要有以下一個(gè)原因:
-完全測試比較耗時(shí),時(shí)間上不允許;
-完全測試通常意味著較多資源投入,這在現(xiàn)實(shí)中往往是行不通的;
-輸入量太大,不能一一進(jìn)行測試;
-輸出結(jié)果太多,只能分類進(jìn)行驗(yàn)證;
-軟件實(shí)現(xiàn)途徑太多;
-軟件產(chǎn)品說明書沒有客觀標(biāo)準(zhǔn),從不同的角度看,軟件缺陷的標(biāo)準(zhǔn)不同;
因此測試的程度要根據(jù)實(shí)際情況確定。
28、軟件測試的風(fēng)險(xiǎn)主要體現(xiàn)在哪里?
我們沒有對(duì)軟件進(jìn)行完全測試,實(shí)際就是選擇了風(fēng)險(xiǎn),因?yàn)槿毕輼O有可能存在沒有進(jìn)行測試的部分。舉個(gè)例子,程序員為了方便,在調(diào)試程序時(shí)會(huì)彈出一些提示信息框,而這些提示只在某種條件下會(huì)彈出,碰巧程序發(fā)布前這些代碼中的一些沒有被注釋掉。在測試時(shí)測試工程師又沒有對(duì)其進(jìn)行測試。如果客戶碰到它,這將是代價(jià)昂貴的缺陷,因?yàn)榻桓逗蟛疟豢蛻舭l(fā)現(xiàn)。
因此,我們要盡可能的選擇最合適的測試量,把風(fēng)險(xiǎn)降低到最小。
29、發(fā)現(xiàn)的缺陷越多,說明軟件缺陷越多嗎?
這是一個(gè)比較常見的現(xiàn)象。測試工程師在沒有找到缺陷前會(huì)絞盡腦汁的思考,但是找到一個(gè)后,會(huì)接二連三的發(fā)現(xiàn)很多缺陷,頗有個(gè)人成就感。其中的原因主要如下:
-代碼復(fù)用、拷貝代碼導(dǎo)致程序員容易犯相同的錯(cuò)誤。類的繼承導(dǎo)致所有的子類會(huì)包含基類的錯(cuò)誤,反復(fù)拷貝同一代碼意味可能也復(fù)制了缺陷。
-程序員比較勞累是可以導(dǎo)致某些連續(xù)編寫的功能缺陷較多。程序員加班是一種司空見慣的現(xiàn)象,因此體力不只時(shí)容易編寫一些缺陷較多的程序。而這些連續(xù)潛伏缺陷恰恰時(shí)測試工程師大顯身手的地方。
“缺陷一個(gè)連著一個(gè)”不是一個(gè)客觀規(guī)律,只是一個(gè)常見的現(xiàn)象。如果軟件編寫的比較好,這種現(xiàn)象就不常見了。測試人員只要嚴(yán)肅認(rèn)真的測試程序就可以了。
30、所有的軟件缺陷都能修復(fù)嗎?所有的軟件缺陷都要修復(fù)嗎?
從技術(shù)上講,所有的軟件缺陷都是能夠修復(fù)的,但是沒有必要修復(fù)所有的軟件缺陷。測試人員要做的是能夠正確判斷什么時(shí)候不能追求軟件的完美。對(duì)于整個(gè)項(xiàng)目團(tuán)隊(duì),要做的是對(duì)每一個(gè)軟件缺陷進(jìn)行取舍,根據(jù)風(fēng)險(xiǎn)決定那些缺陷要修復(fù)。發(fā)生這種現(xiàn)象的主要原因如下:
-沒有足夠的時(shí)間資源。在任何一個(gè)項(xiàng)目中,通常情況下開發(fā)人員和測試人員都是不夠用的,而且在項(xiàng)目中沒有預(yù)算足夠的回歸測試時(shí)間,再加上修改缺陷可能引入新的缺陷,因此在交付期限的強(qiáng)大壓力下,必須放棄某些缺陷的修改。
-有些缺陷只是特殊情況下出現(xiàn),這種缺陷處于商業(yè)利益考慮,可以在以后升級(jí)中進(jìn)行修復(fù)。
-不是缺陷的缺陷。我們經(jīng)常會(huì)碰到某些功能方面的問題被當(dāng)成缺陷來處理,這類問題可以以后有時(shí)間時(shí)考慮再處理。
最后要說的是,缺陷是否修改要由軟件測試人員、項(xiàng)目經(jīng)理、程序員共同討論來決定是否修復(fù),不同角色的人員從不同的角度來思考,以做出正確的決定。
有想學(xué)習(xí)軟件測試的同學(xué),可以參考千鋒軟件測試培訓(xùn)班提供的軟件測試學(xué)習(xí)路線,內(nèi)容包含軟件測試環(huán)境配置與管理,數(shù)據(jù)庫測試技術(shù),軟件測試編程技術(shù),應(yīng)用程序測試技術(shù),互聯(lián)網(wǎng)/移動(dòng)互聯(lián)網(wǎng)測試技術(shù)等,根據(jù)千鋒軟件測試培訓(xùn)機(jī)構(gòu)提供的軟件測試學(xué)習(xí)路線圖,可以讓你對(duì)學(xué)好軟件測試需要掌握的知識(shí)有個(gè)清晰的了解,并能快速入門軟件測試。想要獲取學(xué)習(xí)路線或?qū)W習(xí)資料的同學(xué)可以添加我們的軟測技術(shù)交流qq群:858327674 加群找管理領(lǐng)取即可,軟測相關(guān)問題也可以加群解答,等你來哦~~~