軟件測試面試題寶典--最經典面試(一篇足矣)


問:你在測試中發現了一個bug ,但是開發經理認為這不是一個bug ,你應該怎樣解決?

  1. 將問題提交到缺陷管理庫里面進行記錄。
  2. 要獲取判斷的依據和標准:
    根據需求說明書、產品說明、設計文檔等,確認實際結果是否與計划有不一致的地方,提供缺陷是否確認的直接依據; 如果沒有文檔依據,可以根據類似軟件的一般特性來說明是否存在不一致的地方,來確認是否是缺陷; 根據用戶的一般使用習慣,來確認是否是缺陷;
  3. 與設計人員、開發人員和客戶代表等相關人員探討,確認是否是缺陷;
  4. 合理的論述,向測試經理說明自己的判斷的理由,注意客觀、嚴謹,不參雜個人情緒。
  5. 等待測試經理做出最終決定,如果仍然存在爭議,可以通過公司政策所提供的渠道,向上級反映,並有上級做出決定。

問:給你一個網站,你如何測試?

  1. 查找需求說明、網站設計等相關文檔,分析測試需求。
  2. 制定測試計划,確定測試范圍和測試策略,一般包括以下幾個部分: 功能性測試;界面測試;性能測試;數據庫測試;安全性測試;兼容性測試
  3. 設計測試用例:

3.1 功能性測試可以包括,但不限於以下幾個方面: (1)鏈接測試:鏈接是否正確跳轉,是否存在空頁面和無效頁面,是否有不正確的出錯信息返回等。 (2)提交功能的測試。 (3)多媒體元素是否可以正確加載和顯示。 (4)多語言支持是否能夠正確顯示選擇的語言等。 (5)界面測試可以包括但不限於一下幾個方面: 頁面是否風格統一,美觀 頁面布局是否合理,重點內容和熱點內容是否突出 控件是否正常使用 對於必須但為安裝的空間,是否提供自動下載並安裝的功能 文字檢查

3.2 性能測試一般從以下三個方面考慮: 壓力測試;負載測試;強度測試

3.3 數據庫測試要具體決定是否需要開展。數據庫一般需要考慮連結性,對數據的存取操作,數據內容的驗證等方面。

3.4 安全性測試: 基本的登錄功能的檢查 是否存在溢出錯誤,導致系統崩潰或者權限泄露 關開發語言的常見安全性問題檢查,例如 SQL 注入等。 如果需要高級的安全性測試,確定獲得專業安全公司的幫助,外包測試,或者獲取支持兼容性測試,根據需求說明的內容,確定支持的平台組合:

3.5 兼容性包括:瀏覽器的兼容性;操作系統的兼容性;軟件平台的兼容性;數據庫的兼容性

  1. 開展測試,並記錄缺陷。合理的安排調整測試進度,提前獲取測試所需的資源,建立管理體系(例如,需求變更、風險、配置、測試文檔、缺陷報告、人力資源等內容)。定期評審,對測試進行評估和總結,調整測試的內容。 在搜索引擎中輸入漢字就可以解析 到對應的域名,請問如何用 LoadRunner 進行測試。 4.1 建立測試計划,確定測試標准和測試范圍 4.2 設計典型場景的測試用例,覆蓋常用業務流程和不常用的業務流程等 4.3 根據測試用例,開發自動測試腳本和場景: 4.4 錄制測試腳本 新建一個腳本(Web/HTML 協議) 點擊錄制按鈕,在彈出的對話框的 URL 中輸入”about:blank”。 在打開的瀏覽器中進行正常操作流程后,結束錄制。 調試腳本並保存。可能要注意到字符集的關聯。 設置測試場景 針對性能設置測試場景,主要判斷在正常情況下,系統的平均事務響應時間是否達標 針對壓力負載設置測試場景,主要判斷在長時間處於滿負荷或者超出系統承載能力的條件下,系統是否會崩潰。 4.5 執行測試,獲取測試結果,分析測試結果。

問:一台客戶端有三百個客戶與三百個客戶端有三百個客戶對服務器施壓,有什么區別? ?

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

問:軟件生存周期及其模型是什么?

軟件生存周期是軟件開發全部過程、活動和任務的結構框架,是從可行性研究到需求分析、 軟件設計、編碼、測試、軟件發布維護的過程。 在經歷需求、分析、設計、實現、部署后,軟件將被使用並進入維護階段,直到最后由於缺 少維護費用而逐漸消亡。這樣的一個過程,稱為"生命周期模型"(Life Cycle Model)。 什么是軟件測試?軟件測試的目的與原則 使用人工或自動手段,來運行或測試某個系統的過程。其目的在於檢驗它是否滿足規定的需 求或弄清預期結果與實際結果之間的差別。

問:軟件測試的目的:

測試是程序的執行過程,目的在於發現錯誤 一個成功的測試用例在於發現至今未發現的錯誤 一個成功的測試是發現了至今未發現的錯誤的測試 確保產品完成了它所承諾或公布的功能,並且用戶可以訪問到的功能都有明確的書面說明。 確保產品滿足性能和效率的要求 確保產品是健壯的和適應用戶環境的

問:軟件測試的原則:

軟件測試應盡早執行,並貫穿於整個軟件生命周期 軟件測試應追溯需求 測試應由第三方來構造 窮舉測試是不可能的,要遵循 Good-enough 原則 必須確定預期輸出(或結果) 必須徹底檢查每個測試結果 充分注意測試中的群集現象 缺陷的二八定理 嚴格執行測試計划,排除測試的隨意性 注意合法合理的輸入,也要注意非法的非預期的輸入 檢查程序是否做了不該做的 測試應從“小規模”開始,逐步轉向“大規模” 反復使用同樣的測試會使軟件具有抵抗力 關注缺陷的修復

問:軟件配置管理的作用?軟件配置包括什么?

軟件配置管理作為軟件開發過程的必要環節和軟件開發管理的基礎,貫穿整個軟件生命周期,同時對軟件開發過程的宏觀管理即項目管理也有重要的支持作用。一個軟件開發組織真正有效的實施軟件配置管理,將會使軟件開發過程有更好的可預測性,使系統具有可重復性,大大提高軟件組織的競爭力。 軟件配置包括如下內容: 配置項識別 工作空間管理 版本控制 變更控制 狀態報告 配置審計

問:什么是軟件質量?

軟件質量:軟件產品的特性可以滿足用戶的功能、性能需求的能力

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

白盒測試: 邏輯覆蓋 循環覆蓋 基本路徑覆蓋 黑盒測試: 邊界值分析法 等價類划分 錯誤猜測法 因果圖法 狀態圖法 測試大綱法 隨機測試 場景法

問:軟件的安全性應從哪幾個方面去測試?

軟件安全性測試包括程序、數據庫安全性測試。根據系統安全指標不同測試策略也不同。 用戶認證安全的測試要考慮問題: 明確區分系統中不同用戶權限 系統中會不會出現用戶沖突 系統會不會因用戶的權限的改變造成混亂 用戶登陸密碼是否是可見、可復制 是否可以通過絕對途徑登陸系統(拷貝用戶登陸后的鏈接直接進入系統) 用戶退出系統后是否刪除了所有鑒權標記,是否可以使用后退鍵而不通過輸入口令進入系統 系統網絡安全的測試要考慮問題 測試采取的防護措施是否正確裝配好,有關系統的補丁是否打上 模擬非授權攻擊,看防護系統是否堅固 采用成熟的網絡漏洞檢查工具檢查系統相關漏洞(即用最專業的黑客攻擊工具攻擊試一下, 現在最常用的是 NBSI 系列和 IPhacker IP ) 采用各種木馬檢查工具檢查系統木馬情況 采用各種防外掛工具檢查系統各組程序的外掛漏洞

問:數據庫安全考慮問題:

系統數據是否機密(比如對銀行系統,這一點就特別重要,一般的網站就沒有太高要求) 系統數據的完整性(我剛剛結束的企業實名核查服務系統中就曾存在數據的不完整,對於這 個系統的功能實現有了障礙) 系統數據可管理性 系統數據的獨立性 系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)

問:什么是測試用例?什么是測試腳本?兩者的關系是什么?

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

問:簡述什么是靜態測試、動態測試、黑盒測試、白盒測試、α測試 β測試

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

問:軟件質量保證體系是什么 國家標准中與質量保證管理相關的幾個標准是什么? ? 他們的編號 和全稱是什么? ?

SQA 由一套軟件工程過程和方法組成,以保證(軟件的)質量。SQA 貫穿整個軟件開發過程, (它)應包括需求文檔評審、代碼控制、代碼評審、變更管理、配置管理、版本管理和軟件測 試。

問:軟件產品質量特性是什么? ?

功能性:適應性、准確性、互操作性、依從性、安全性 可靠性:成熟性、容錯性、以恢復性。 可使用性:易理解性、易學習性、易操作性。 效率:時間特性、資源特性。 可維護性:易分析性、易變更性、穩定性、易測試性。 可移植性: 適應性、易安裝性、遵循性、易替換性。

問:軟件測試的策略是什么? ?

軟件測試策略:在一定的軟件測試標准、測試規范的指導下,依據測試項目的特定環境約束而規定的軟件測試的原則、方式、方法的集合。

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

軟件測試按階段划分可以分為單元測試、集成測試、系統測試和<驗收測試>(不一定有)幾個階段 (1)單元測試測試策略: 自頂向下的單元測試策略 總結:比孤立單元測試的成本高很多,不是單元測試的一個好的選擇。 自底向上的單元測試策略 總結:比較合理的單元測試策略,但測試周期較長。 孤立單元測試策略 總結:最好的單元測試策略。 集成測試的測試策略: 大爆炸集成 適應於一個維護型項目或被測試系統較小 自頂向下集成 適應於產品控制結構比較清晰和穩定;高層接口變化較小;底層接口未定義或經常可能被修 改;產口控制組件具有較大的技術風險,需要盡早被驗證;希望盡早能看到產品的系統功能 行為。 自底向上集成 適應於底層接口比較穩定;高層接口變化比較頻繁;底層組件較早被完成。 基於進度的集成 優點:具有較高的並行度;能夠有效縮短項目的開發進度。 缺點:樁和驅動工作量較大;有些接口測試不充分;有些測試重復和浪費。

問:系統測試的測試策略

數據和數據庫完整性測試;功能測試;用戶界面測試;性能評測;負載測試;強度測試;容 量測試;安全性和訪問控制測試;故障轉移和恢復測試;配置測試;安裝測試;加密測試; 可用性測試;版本驗證測試;文檔測試 在軟件測試各個階段通常完成什么工作?各個階段的結果文件是什么?包括什么內容? 單元測試階段。各獨立單元模塊在與系統地其他部分相隔離的情況下進行測試,單元測試針 對每一個程序模塊進行正確性校驗,檢查各個程序模塊是否正確地實現了規定的功能。生成 單元測試報告,提交缺陷報告。 集成測試階段。集成測試是在單元測試的基礎上,測試在將所有的軟件單元按照概要設計規 格說明的要求組裝成模塊、子系統或系統的過程中各部分工作是否達到或實現相應技術指標 及要求的活動。該階段生成集成測試報告,提交缺陷報告。 系統測試階段。將通過確認測試的軟件,作為整個給予計算機系統的一個元素,與計算機硬 件、外設、某些支持軟件、數據和人員等其他系統元素結合在一起,在實際運行環境下,對 計算機系統進行全面的功能覆蓋。該階段需要提交測試總結和缺陷報告。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM