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

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

軟件測試常見面試題

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

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

軟件測試

  1、您認為做好測試用例設計工作的關鍵是什么?

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

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

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

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

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

  所有用戶在一個客戶端上,不必考慮分布式管理的問題;而用戶分布在不同的客戶端上,需要考慮使用控制器來整體調配不同客戶機上的用戶。同時,還需要給予相應的權限配置和防火墻設置。

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

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

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

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

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

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

  5、什么是測試用例 什么是測試腳本 兩者的關系是什么?

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

  測試腳本是為了進行自動化測試而編寫的腳本。

  測試腳本的編寫必須對應相應的測試用例

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

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

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

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

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

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

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

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

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

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

  集成測試:集成測試是將模塊按照設計要求組裝起來進行測試,主要目的是發(fā)現(xiàn)與接口有關的問題。由于在產品提交到測試部門前,產品開發(fā)小組都要進行聯(lián)合調試,因此在大部分企業(yè)中集成測試是由開發(fā)人員來完成的。

  系統(tǒng)測試:系統(tǒng)測試是在集成測試通過后進行的,目的是充分運行系統(tǒng),驗證各子系統(tǒng)是否都能正常工作并完成設計的要求。它主要由測試部門進行,是測試部門最大最重要的一個測試,對產品的質量有重大的影響。

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

  單元測試測試策略:

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

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

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

  集成測試的測試策略:

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

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

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

  基于進度的集成

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

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

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

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

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

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

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

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

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

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

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

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

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

  10、如何測試一個紙杯?

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

  安全性:杯子有沒有毒或細菌

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

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

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

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

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

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

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

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

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

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

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

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

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