教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

軟件測試常見面試題

更新時間:2019年04月22日09時49分 來源:軟件測試培訓(xùn) 瀏覽次數(shù):

  面試給公司和應(yīng)聘者提供了進(jìn)行雙向交流的機(jī)會,能使公司和應(yīng)聘者之間相互了解,從而雙方都可更準(zhǔn)確做出聘用與否、受聘與否的決定。而近些年來的軟件測試面試題著實讓不少面試的同學(xué)犯了難。那么今天傳智播客整理了一些關(guān)于軟件測試常見的面試題以及答案,希望能幫助到大家。

軟件測試

  1、您認(rèn)為做好測試用例設(shè)計工作的關(guān)鍵是什么?

  白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)果   黑盒法用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題

  2、問:一臺客戶端有三百個客戶與三百個客戶端有三百個客戶對服務(wù)器施壓,有什么區(qū)別?

  300個用戶在一個客戶端上,會占用客戶機(jī)更多的資源,而影響測試的結(jié)果。線程之間可能發(fā)生干擾,而產(chǎn)生一些異常。

  300個用戶在一個客戶端上,需要更大的帶寬。

  IP地址的問題,可能需要使用IP Spoof來繞過服務(wù)器對于單一IP地址最大連接數(shù)的限制。

  所有用戶在一個客戶端上,不必考慮分布式管理的問題;而用戶分布在不同的客戶端上,需要考慮使用控制器來整體調(diào)配不同客戶機(jī)上的用戶。同時,還需要給予相應(yīng)的權(quán)限配置和防火墻設(shè)置。

  3、軟件配置管理的作用?軟件配置包括什么?

  軟件配置管理(Software Configuration Management,SCM)是一種標(biāo)識、組織和控制修改的技術(shù)。軟件配置管理應(yīng)用于整個軟件工程過程。在軟件建立時變更是不可避免的,而變更加劇了項目中軟件開發(fā)者之間的混亂。SCM活動的目標(biāo)就是為了標(biāo)識變更、控制變更、確保變更正確實現(xiàn)并向其他有關(guān)人員報告變更。從某種角度講,SCM是一種標(biāo)識、組織和控制修改的技術(shù),目的是使錯誤降為最小并最有效地提高生產(chǎn)效率。

  軟件配置包括如下內(nèi)容:配置項識別、工作空間管理、版本控制、變更控制、狀態(tài)報告、配置審計

  4、目前主要的測試用例設(shè)計方法是什么?

  白盒測試:邏輯覆蓋、循環(huán)覆蓋、基本路徑覆蓋

  黑盒測試:邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態(tài)圖法、測試大綱法、隨機(jī)測試、場景法

  5、什么是測試用例 什么是測試腳本 兩者的關(guān)系是什么?

  為實施測試而向被測試系統(tǒng)提供的輸入數(shù)據(jù)、操作或各種環(huán)境設(shè)置以及期望結(jié)果的一個特定的集合。

  測試腳本是為了進(jìn)行自動化測試而編寫的腳本。

  測試腳本的編寫必須對應(yīng)相應(yīng)的測試用例

  6、簡述什么是靜態(tài)測試、動態(tài)測試、黑盒測試、白盒測試、α測試 β測試

  靜態(tài)測試是不運行程序本身而尋找程序代碼中可能存在的錯誤或評估程序代碼的過程。

  動態(tài)測試是實際運行被測程序,輸入相應(yīng)的測試實例,檢查運行結(jié)果與預(yù)期結(jié)果的差異,判定執(zhí)行結(jié)果是否符合要求,從而檢驗程序的正確性、可靠性和有效性,并分析系統(tǒng)運行效率和健壯性等性能。

  黑盒測試一般用來確認(rèn)軟件功能的正確性和可操作性,目的是檢測軟件的各個功能是否能得以實現(xiàn),把被測試的程序當(dāng)作一個黑盒,不考慮其內(nèi)部結(jié)構(gòu),在知道該程序的輸入和輸出之間的關(guān)系或程序功能的情況下,依靠軟件規(guī)格說明書來確定測試用例和推斷測試結(jié)果的正確性。

  白盒測試根據(jù)軟件內(nèi)部的邏輯結(jié)構(gòu)分析來進(jìn)行測試,是基于代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量,一般黑盒測試由項目經(jīng)理在程序員開發(fā)中來實現(xiàn)。

  α測試是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實際操作環(huán)境下進(jìn)行的受控測試,Alpha測試不能由程序員或測試員完成。

  β測試是軟件的多個用戶在一個或多個用戶的實際使用環(huán)境下進(jìn)行的測試。開發(fā)者通常不在測試現(xiàn)場,Beta測試不能由程序員或測試員完成。

  7、軟件測試分為幾個階段 各階段的測試策略和要求是什么?

  和開發(fā)過程相對應(yīng),軟件測試過程會依次經(jīng)歷單元測試、集成測試、系統(tǒng)測試、驗收測試四個主要階段:

  單元測試:單元測試是針對軟件設(shè)計的最小單位––程序模塊甚至代碼段進(jìn)行正確性檢驗的測試工作,通常由開發(fā)人員進(jìn)行。

  集成測試:集成測試是將模塊按照設(shè)計要求組裝起來進(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)行的,目的是充分運行系統(tǒng),驗證各子系統(tǒng)是否都能正常工作并完成設(shè)計的要求。它主要由測試部門進(jìn)行,是測試部門最大最重要的一個測試,對產(chǎn)品的質(zhì)量有重大的影響。

  驗收測試:驗收測試以需求階段的《需求規(guī)格說明書》為驗收標(biāo)準(zhǔn),測試時要求模擬實際用戶的運行環(huán)境。對于實際項目可以和客戶共同進(jìn)行,對于產(chǎn)品來說就是最后一次的系統(tǒng)測試。測試內(nèi)容為對功能模塊的全面測試,尤其要進(jìn)行文檔測試。

  單元測試測試策略:

  自頂向下的單元測試策略:比孤立單元測試的成本高很多,不是單元測試的一個好的選擇。

  自底向上的單元測試策略:比較合理的單元測試策略,但測試周期較長。

  孤立單元測試策略:最好的單元測試策略。

  集成測試的測試策略:

  大爆炸集成:適應(yīng)于一個維護(hù)型項目或被測試系統(tǒng)較小

  自頂向下集成:適應(yīng)于產(chǎn)品控制結(jié)構(gòu)比較清晰和穩(wěn)定;高層接口變化較小;底層接口未定義或經(jīng)??赡鼙恍薷?產(chǎn)口控制組件具有較大的技術(shù)風(fēng)險,需要盡早被驗證;希望盡早能看到產(chǎn)品的系統(tǒng)功能行為。

  自底向上集成:適應(yīng)于底層接口比較穩(wěn)定;高層接口變化比較頻繁;底層組件較早被完成。

  基于進(jìn)度的集成

  優(yōu)點:具有較高的并行度;能夠有效縮短項目的開發(fā)進(jìn)度。

  缺點:樁和驅(qū)動工作量較大;有些接口測試不充分;有些測試重復(fù)和浪費。

  系統(tǒng)測試的測試策略:

  數(shù)據(jù)和數(shù)據(jù)庫完整性測試;功能測試;用戶界面測試;性能評測;負(fù)載測試;強(qiáng)度測試;容量測試;安全性和訪問控制測試;故障轉(zhuǎn)移和恢復(fù)測試;配置測試;安裝測試;加密測試;可用性測試;版本驗證測試;文檔測試

  8、軟件測試各個階段通常完成什么工作?各個階段的結(jié)果文件是什么?包括什么內(nèi)容?

  單元測試階段:各獨立單元模塊在與系統(tǒng)地其他部分相隔離的情況下進(jìn)行測試,單元測試針對每一個程序模塊進(jìn)行正確性校驗,檢查各個程序模塊是否正確地實現(xiàn)了規(guī)定的功能。生成單元測試報告,提交缺陷報告。

  集成測試階段:集成測試是在單元測試的基礎(chǔ)上,測試在將所有的軟件單元按照概要設(shè)計規(guī)格說明的要求組裝成模塊、子系統(tǒng)或系統(tǒng)的過程中各部分工作是否達(dá)到或?qū)崿F(xiàn)相應(yīng)技術(shù)指標(biāo)及要求的活動。該階段生成集成測試報告,提交缺陷報告。

  系統(tǒng)測試階段:將通過確認(rèn)測試的軟件,作為整個給予計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對計算機(jī)系統(tǒng)進(jìn)行全面的功能覆蓋。該階段需要提交測試總結(jié)和缺陷報告。

  9、黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優(yōu)點和缺點!

  黑盒測試的優(yōu)點有:比較簡單,不需要了解程序內(nèi)部的代碼及實現(xiàn);與軟件的內(nèi)部實現(xiàn)無關(guān); 從用戶角度出發(fā),能很容易的知道用戶會用到哪些功能,會遇到哪些問題;基于軟件開發(fā)文檔,所以也能知道軟件實現(xiàn)了文檔中的哪些功能;在做軟件自動化測試時較為方便。

  黑盒測試的缺點有:不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%;自動化測試的復(fù)用性較低。

  白盒測試的優(yōu)點有:幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱 藏的問題。

  白盒測試的缺點有:程序運行會有很多不同的路徑,不可能測試所有的運行路徑;測試基于代碼,只能測試開發(fā)人員做的對不對,而不能知道設(shè)計的正確與否,可能會漏掉一些功能需求;系統(tǒng)龐大時,測試開銷會非常大。

  10、如何測試一個紙杯?

  功能度:用水杯裝水看漏不漏;水能不能被喝到

  安全性:杯子有沒有毒或細(xì)菌

  可靠性:杯子從不同高度落下的損壞程度

  可移植性:杯子在不同的地方、溫度等環(huán)境下是否都可以正常使用

  兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等

  易用性:杯子是否燙手、是否有防滑措施、是否方便飲用

  用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細(xì)描述

  疲勞測試:將杯子盛上水(案例一)放24小時檢查泄漏時間和情況;盛上汽油(案例二)放24小時檢查泄漏時間和情況等

  壓力測試:用根針并在針上面不斷加重量,看壓強(qiáng)多大時會穿透

  11、你自認(rèn)為測試的優(yōu)勢在哪里?

  該面試也沒有固定不變的答案,但可參考以下幾點,并結(jié)合自身特點:

  有韌性、有耐心、做事有條理性、喜歡面對挑戰(zhàn)、有信心做好每一件事情、較強(qiáng)的溝通能力、從以前的經(jīng)理處都得到了很好的評價表明我做的很好

  傳智播客軟件測試課程全面覆蓋中高端技能清晰的學(xué)習(xí)路線,可以幫助學(xué)員開啟軟件測試學(xué)習(xí)之旅。

  軟件測試課程:基礎(chǔ)部分包括前置基礎(chǔ)(DOS命令、HTML、CSS等)、Linux和數(shù)據(jù)庫(操作系統(tǒng)、MySQL高級、Redis數(shù)據(jù)庫等)、功能測試(測試用例設(shè)計、Web項目、APP項目測試等);中級部分包括Python編程(Python開發(fā)環(huán)境、面向?qū)ο?、異常處理?、Web自動化(Web自動化入門/基礎(chǔ)/高級、Unittest框架等)、移動自動化(Appium、常用API、Pytest等);高級部分包括接口自動化(JMeter、requests、mock等)、性能測試(測試方案、Vugen、Analysis等)、單元測試和shell編程(測試流程、測試報告、shell等)。更多的關(guān)于傳智播客軟件測試培訓(xùn)課程歡迎隨時咨詢網(wǎng)頁右下角咨詢窗口。

0 分享到:
和我們在線交談!