- 相關(guān)推薦
2017軟件測試常見的面試筆試題(附答案)
軟件測試是一種實(shí)際輸出與預(yù)期輸之間的審核或者比較過程。那么關(guān)于2017軟件測試常見的面試筆試題有哪些呢?下面CN人才網(wǎng)小編為大家?guī)淼氖?017軟件測試常見的面試筆試題(附答案),希望對大家有所幫助~
1、您認(rèn)為做好測試用例設(shè)計(jì)工作的關(guān)鍵是什么?
白盒測試用例設(shè)計(jì)的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果
黑盒法用例設(shè)計(jì)的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時(shí)間內(nèi)發(fā)現(xiàn)最多的問題
2、問:一臺(tái)客戶端有三百個(gè)客戶與三百個(gè)客戶端有三百個(gè)客戶對服務(wù)器施壓,有什么區(qū)別?
300個(gè)用戶在一個(gè)客戶端上,會(huì)占用客戶機(jī)更多的資源,而影響測試的結(jié)果。線程之間可能發(fā)生干擾,而產(chǎn)生一些異常。
300個(gè)用戶在一個(gè)客戶端上,需要更大的帶寬。
IP地址的問題,可能需要使用IP Spoof來繞過服務(wù)器對于單一IP地址最大連接數(shù)的限制。
所有用戶在一個(gè)客戶端上,不必考慮分布式管理的問題;而用戶分布在不同的客戶端上,需要考慮使用控制器來整體調(diào)配不同客戶機(jī)上的用戶。同時(shí),還需要給予相應(yīng)的權(quán)限配置和防火墻設(shè)置。
3、軟件配置管理的作用?軟件配置包括什么?
軟件配置管理(Software Configuration Management,SCM)是一種標(biāo)識(shí)、組織和控制修改的技術(shù)。軟件配置管理應(yīng)用于整個(gè)軟件工程過程。在軟件建立時(shí)變更是不可避免的,而變更加劇了項(xiàng)目中軟件開發(fā)者之間的混亂。SCM活動(dòng)的目標(biāo)就是為了標(biāo)識(shí)變更、控制變更、確保變更正確實(shí)現(xiàn)并向其他有關(guān)人員報(bào)告變更。從某種角度講,SCM是一種標(biāo)識(shí)、組織和控制修改的技術(shù),目的是使錯(cuò)誤降為最小并最有效地提高生產(chǎn)效率。
軟件配置包括如下內(nèi)容:配置項(xiàng)識(shí)別、工作空間管理、版本控制、變更控制、狀態(tài)報(bào)告、配置審計(jì)
4、目前主要的測試用例設(shè)計(jì)方法是什么?
白盒測試:邏輯覆蓋、循環(huán)覆蓋、基本路徑覆蓋
黑盒測試:邊界值分析法、等價(jià)類劃分、錯(cuò)誤猜測法、因果圖法、狀態(tài)圖法、測試大綱法、隨機(jī)測試、場景法
5、什么是測試用例 什么是測試腳本 兩者的關(guān)系是什么?
為實(shí)施測試而向被測試系統(tǒng)提供的輸入數(shù)據(jù)、操作或各種環(huán)境設(shè)置以及期望結(jié)果的一個(gè)特定的集合。
測試腳本是為了進(jìn)行自動(dòng)化測試而編寫的腳本。
測試腳本的編寫必須對應(yīng)相應(yīng)的測試用例
6、簡述什么是靜態(tài)測試、動(dòng)態(tài)測試、黑盒測試、白盒測試、α測試 β測試
靜態(tài)測試是不運(yùn)行程序本身而尋找程序代碼中可能存在的錯(cuò)誤或評估程序代碼的過程。
動(dòng)態(tài)測試是實(shí)際運(yùn)行被測程序,輸入相應(yīng)的測試實(shí)例,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,判定執(zhí)行結(jié)果是否符合要求,從而檢驗(yàn)程序的正確性、可靠性和有效性,并分析系統(tǒng)運(yùn)行效率和健壯性等性能。
黑盒測試一般用來確認(rèn)軟件功能的正確性和可操作性,目的是檢測軟件的各個(gè)功能是否能得以實(shí)現(xiàn),把被測試的程序當(dāng)作一個(gè)黑盒,不考慮其內(nèi)部結(jié)構(gòu),在知道該程序的輸入和輸出之間的關(guān)系或程序功能的情況下,依靠軟件規(guī)格說明書來確定測試用例和推斷測試結(jié)果的正確性。
白盒測試根據(jù)軟件內(nèi)部的邏輯結(jié)構(gòu)分析來進(jìn)行測試,是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量,一般黑盒測試由項(xiàng)目經(jīng)理在程序員開發(fā)中來實(shí)現(xiàn)。
α測試是由一個(gè)用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的受控測試,Alpha測試不能由程序員或測試員完成。
β測試是軟件的多個(gè)用戶在一個(gè)或多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。
7、軟件測試分為幾個(gè)階段 各階段的測試策略和要求是什么?
和開發(fā)過程相對應(yīng),測試過程會(huì)依次經(jīng)歷單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試四個(gè)主要階段:
單元測試:單元測試是針對軟件設(shè)計(jì)的最小單位––程序模塊甚至代碼段進(jìn)行正確性檢驗(yàn)的測試工作,通常由開發(fā)人員進(jìn)行。
集成測試:集成測試是將模塊按照設(shè)計(jì)要求組裝起來進(jìn)行測試,主要目的是發(fā)現(xiàn)與接口有關(guān)的問題。由于在產(chǎn)品提交到測試部門前,產(chǎn)品開發(fā)小組都要進(jìn)行聯(lián)合調(diào)試,因此在大部分企業(yè)中集成測試是由開發(fā)人員來完成的。
系統(tǒng)測試:系統(tǒng)測試是在集成測試通過后進(jìn)行的,目的是充分運(yùn)行系統(tǒng),驗(yàn)證各子系統(tǒng)是否都能正常工作并完成設(shè)計(jì)的要求。它主要由測試部門進(jìn)行,是測試部門最大最重要的一個(gè)測試,對產(chǎn)品的質(zhì)量有重大的影響。
驗(yàn)收測試:驗(yàn)收測試以需求階段的《需求規(guī)格說明書》為驗(yàn)收標(biāo)準(zhǔn),測試時(shí)要求模擬實(shí)際用戶的運(yùn)行環(huán)境。對于實(shí)際項(xiàng)目可以和客戶共同進(jìn)行,對于產(chǎn)品來說就是最后一次的系統(tǒng)測試。測試內(nèi)容為對功能模塊的全面測試,尤其要進(jìn)行文檔測試。
單元測試測試策略:
自頂向下的單元測試策略:比孤立單元測試的成本高很多,不是單元測試的一個(gè)好的選擇。
自底向上的單元測試策略:比較合理的單元測試策略,但測試周期較長。
孤立單元測試策略:最好的單元測試策略。
集成測試的測試策略:
大爆炸集成:適應(yīng)于一個(gè)維護(hù)型項(xiàng)目或被測試系統(tǒng)較小
自頂向下集成:適應(yīng)于產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定;高層接口變化較小;底層接口未定義或經(jīng)?赡鼙恍薷;產(chǎn)口控制組件具有較大的技術(shù)風(fēng)險(xiǎn),需要盡早被驗(yàn)證;希望盡早能看到產(chǎn)品的系統(tǒng)功能行為。
自底向上集成:適應(yīng)于底層接口比較穩(wěn)定;高層接口變化比較頻繁;底層組件較早被完成。
基于進(jìn)度的集成
優(yōu)點(diǎn):具有較高的并行度;能夠有效縮短項(xiàng)目的開發(fā)進(jìn)度。
缺點(diǎn):樁和驅(qū)動(dòng)工作量較大;有些接口測試不充分;有些測試重復(fù)和浪費(fèi)。
系統(tǒng)測試的測試策略:
數(shù)據(jù)和數(shù)據(jù)庫完整性測試;功能測試;用戶界面測試;性能評測;負(fù)載測試;強(qiáng)度測試;容量測試;安全性和訪問控制測試;故障轉(zhuǎn)移和恢復(fù)測試;配置測試;安裝測試;加密測試;可用性測試;版本驗(yàn)證測試;文檔測試
8、軟件測試各個(gè)階段通常完成什么工作?各個(gè)階段的結(jié)果文件是什么?包括什么內(nèi)容?
單元測試階段:各獨(dú)立單元模塊在與系統(tǒng)地其他部分相隔離的情況下進(jìn)行測試,單元測試針對每一個(gè)程序模塊進(jìn)行正確性校驗(yàn),檢查各個(gè)程序模塊是否正確地實(shí)現(xiàn)了規(guī)定的功能。生成單元測試報(bào)告,提交缺陷報(bào)告。
集成測試階段:集成測試是在單元測試的基礎(chǔ)上,測試在將所有的軟件單元按照概要設(shè)計(jì)規(guī)格說明的要求組裝成模塊、子系統(tǒng)或系統(tǒng)的過程中各部分工作是否達(dá)到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標(biāo)及要求的活動(dòng)。該階段生成集成測試報(bào)告,提交缺陷報(bào)告。
系統(tǒng)測試階段:將通過確認(rèn)測試的軟件,作為整個(gè)給予計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行全面的功能覆蓋。該階段需要提交測試總結(jié)和缺陷報(bào)告。
9、黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優(yōu)點(diǎn)和缺點(diǎn)!
黑盒測試的優(yōu)點(diǎn)有:比較簡單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn);與軟件的內(nèi)部實(shí)現(xiàn)無關(guān); 從用戶角度出發(fā),能很容易的知道用戶會(huì)用到哪些功能,會(huì)遇到哪些問題;基于軟件開發(fā)文檔,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能;在做軟件自動(dòng)化測試時(shí)較為方便。
黑盒測試的缺點(diǎn)有:不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%;自動(dòng)化測試的復(fù)用性較低。
白盒測試的優(yōu)點(diǎn)有:幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱 藏的問題。
白盒測試的缺點(diǎn)有:程序運(yùn)行會(huì)有很多不同的路徑,不可能測試所有的運(yùn)行路徑;測試基于代碼,只能測試開發(fā)人員做的對不對,而不能知道設(shè)計(jì)的正確與否,可能會(huì)漏掉一些功能需求;系統(tǒng)龐大時(shí),測試開銷會(huì)非常大。
10、如何測試一個(gè)紙杯?
功能度:用水杯裝水看漏不漏;水能不能被喝到
安全性:杯子有沒有毒或細(xì)菌
可靠性:杯子從不同高度落下的損壞程度
可移植性:杯子在不同的地方、溫度等環(huán)境下是否都可以正常使用
兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等
易用性:杯子是否燙手、是否有防滑措施、是否方便飲用
用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細(xì)描述
疲勞測試:將杯子盛上水(案例一)放24小時(shí)檢查泄漏時(shí)間和情況;盛上汽油(案例二)放24小時(shí)檢查泄漏時(shí)間和情況等
壓力測試:用根針并在針上面不斷加重量,看壓強(qiáng)多大時(shí)會(huì)穿透
11、你自認(rèn)為測試的優(yōu)勢在哪里?
該面試也沒有固定不變的答案,但可參考以下幾點(diǎn),并結(jié)合自身特點(diǎn):
有韌性、有耐心、做事有條理性、喜歡面對挑戰(zhàn)、有信心做好每一件事情、較強(qiáng)的溝通能力、從以前的經(jīng)理處都得到了很好的評價(jià)表明我做的很好