軟件測試常見的面試題

1、您認爲做好測試用例設計工作的關鍵是什麼?
  白盒測試用例設計的關鍵是以較少的用例覆蓋儘可能多的內部程序邏輯結果
  黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內發現最多的問題

2、問:一臺客戶端有三百個客戶與三百個客戶端有三百個客戶對服務器施壓,有什麼區別?
  300個用戶在一個客戶端上,會佔用客戶機更多的資源,而影響測試的結果。線程之間可能發生干擾,而產生一些異常。
  300個用戶在一個客戶端上,需要更大的帶寬。
  IP地址的問題,可能需要使用IP Spoof來繞過服務器對於單一IP地址最大連接數的限制。
  所有用戶在一個客戶端上,不必考慮分佈式管理的問題;而用戶分佈在不同的客戶端上,需要考慮使用控制器來整體調配不同客戶機上的用戶。同時,還需要給予相應的權限配置和防火牆設置。

3、軟件配置管理的作用?軟件配置包括什麼?
  軟件配置管理(Software Configuration Management,SCM)是一種標識、組織和控制修改的技術。軟件配置管理應用於整個軟件工程過程。在軟件建立時變更是不可避免的,而變更加劇了項目中軟件開發者之間的混亂。SCM活動的目標就是爲了標識變更、控制變更、確保變更正確實現並向其他有關人員報告變更。從某種角度講,SCM是一種標識、組織和控制修改的技術,目的是使錯誤降爲最小並最有效地提高生產效率。
  軟件配置包括如下內容:配置項識別、工作空間管理、版本控制、變更控制、狀態報告、配置審計

4、目前主要的測試用例設計方法是什麼?
  白盒測試:邏輯覆蓋、循環覆蓋、基本路徑覆蓋
  黑盒測試:邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態圖法、測試大綱法、隨機測試、場景法

5、什麼是測試用例 什麼是測試腳本 兩者的關係是什麼?
  爲實施測試而向被測試系統提供的輸入數據、操作或各種環境設置以及期望結果的一個特定的集合。
  測試腳本是爲了進行自動化測試而編寫的腳本。
  測試腳本的編寫必須對應相應的測試用例

6、簡述什麼是靜態測試、動態測試、黑盒測試、白盒測試、α測試 β測試
  靜態測試是不運行程序本身而尋找程序代碼中可能存在的錯誤或評估程序代碼的過程。
  動態測試是實際運行被測程序,輸入相應的測試實例,檢查運行結果與預期結果的差異,判定執行結果是否符合要求,從而檢驗程序的正確性、可靠性和有效性,並分析系統運行效率和健壯性等性能。
  黑盒測試一般用來確認軟件功能的正確性和可操作性,目的是檢測軟件的各個功能是否能得以實現,把被測試的程序當作一個黑盒,不考慮其內部結構,在知道該程序的輸入和輸出之間的關係或程序功能的情況下,依靠軟件規格說明書來確定測試用例和推斷測試結果的正確性。
  白盒測試根據軟件內部的邏輯結構分析來進行測試,是基於代碼的測試,測試人員通過閱讀程序代碼或者通過使用開發工具中的單步調試來判斷軟件的質量,一般黑盒測試由項目經理在程序員開發中來實現。
  α測試是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在模擬實際操作環境下進行的受控測試,Alpha測試不能由程序員或測試員完成。
  β測試是軟件的多個用戶在一個或多個用戶的實際使用環境下進行的測試。開發者通常不在測試現場,Beta測試不能由程序員或測試員完成。

7、軟件測試分爲幾個階段 各階段的測試策略和要求是什麼?
  和開發過程相對應,測試過程會依次經歷單元測試、集成測試、系統測試、驗收測試四個主要階段:
  單元測試:單元測試是針對軟件設計的最小單位––程序模塊甚至代碼段進行正確性檢驗的測試工作,通常由開發人員進行。
  集成測試:集成測試是將模塊按照設計要求組裝起來進行測試,主要目的是發現與接口有關的問題。由於在產品提交到測試部門前,產品開發小組都要進行聯合調試,因此在大部分企業中集成測試是由開發人員來完成的。
  系統測試:系統測試是在集成測試通過後進行的,目的是充分運行系統,驗證各子系統是否都能正常工作並完成設計的要求。它主要由測試部門進行,是測試部門最大最重要的一個測試,對產品的質量有重大的影響。
  驗收測試:驗收測試以需求階段的《需求規格說明書》爲驗收標準,測試時要求模擬實際用戶的運行環境。對於實際項目可以和客戶共同進行,對於產品來說就是最後一次的系統測試。測試內容爲對功能模塊的全面測試,尤其要進行文檔測試。
  單元測試測試策略:
  自頂向下的單元測試策略:比孤立單元測試的成本高很多,不是單元測試的一個好的選擇。
  自底向上的單元測試策略:比較合理的單元測試策略,但測試周期較長。
  孤立單元測試策略:最好的單元測試策略。
  集成測試的測試策略:
  大爆炸集成:適應於一個維護型項目或被測試系統較小
  自頂向下集成:適應於產品控制結構比較清晰和穩定;高層接口變化較小;底層接口未定義或經常可能被修改;產口控制組件具有較大的技術風險,需要儘早被驗證;希望儘早能看到產品的系統功能行爲。
  自底向上集成:適應於底層接口比較穩定;高層接口變化比較頻繁;底層組件較早被完成。
  基於進度的集成
  優點:具有較高的並行度;能夠有效縮短項目的開發進度。
  缺點:樁和驅動工作量較大;有些接口測試不充分;有些測試重複和浪費。
  系統測試的測試策略:
  數據和數據庫完整性測試;功能測試;用戶界面測試;性能評測;負載測試;強度測試;容量測試;安全性和訪問控制測試;故障轉移和恢復測試;配置測試;安裝測試;加密測試;可用性測試;版本驗證測試;文檔測試

8、軟件測試各個階段通常完成什麼工作?各個階段的結果文件是什麼?包括什麼內容?
  單元測試階段:各獨立單元模塊在與系統地其他部分相隔離的情況下進行測試,單元測試針對每一個程序模塊進行正確性校驗,檢查各個程序模塊是否正確地實現了規定的功能。生成單元測試報告,提交缺陷報告。
  集成測試階段:集成測試是在單元測試的基礎上,測試在將所有的軟件單元按照概要設計規格說明的要求組裝成模塊、子系統或系統的過程中各部分工作是否達到或實現相應技術指標及要求的活動。該階段生成集成測試報告,提交缺陷報告。
  系統測試階段:將通過確認測試的軟件,作爲整個給予計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其他系統元素結合在一起,在實際運行環境下,對計算機系統進行全面的功能覆蓋。該階段需要提交測試總結和缺陷報告。

9、黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優點和缺點!
  黑盒測試的優點有:比較簡單,不需要了解程序內部的代碼及實現;與軟件的內部實現無關; 從用戶角度出發,能很容易的知道用戶會用到哪些功能,會遇到哪些問題;基於軟件開發文檔,所以也能知道軟件實現了文檔中的哪些功能;在做軟件自動化測試時較爲方便。
  黑盒測試的缺點有:不可能覆蓋所有的代碼,覆蓋率較低,大概只能達到總代碼量的30%;自動化測試的複用性較低。
  白盒測試的優點有:幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質量,發現代碼中隱 藏的問題。
  白盒測試的缺點有:程序運行會有很多不同的路徑,不可能測試所有的運行路徑;測試基於代碼,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一些功能需求;系統龐大時,測試開銷會非常大。

10、如何測試一個紙杯?
  功能度:用水杯裝水看漏不漏;水能不能被喝到
  安全性:杯子有沒有毒或細菌
  可靠性:杯子從不同高度落下的損壞程度
  可移植性:杯子在不同的地方、溫度等環境下是否都可以正常使用
  兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等
  易用性:杯子是否燙手、是否有防滑措施、是否方便飲用
  用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細描述
  疲勞測試:將杯子盛上水(案例一)放24小時檢查泄漏時間和情況;盛上汽油(案例二)放24小時檢查泄漏時間和情況等
  壓力測試:用根針並在針上面不斷加重量,看壓強多大時會穿透

11、你自認爲測試的優勢在哪裏?
  該面試也沒有固定不變的答案,但可參考以下幾點,並結合自身特點:
  有韌性、有耐心、做事有條理性、喜歡面對挑戰、有信心做好每一件事情、較強的溝通能力、從以前的經理處都得到了很好的評價表明我做的很好

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章