問:你在測試中發現了一個 bug ,但是開發經理認為這不是一個 bug ,你應該怎樣解決。
首先,將問題提交到缺陷管理庫里面進行備案然后,要獲取判斷的依據和標准:根據需求說明書、產品說明、設計文檔等,確認實際結果是否與計划有不一致的地方,提供缺陷是否確認的直接依據;如果沒有文檔依據,可以根據類似軟件的一般特性來說明是否存在不一致的地方,來確認是否是缺陷;根據用戶的一般使用習慣,來確認是否是缺陷;與設計人員、開發人員和客戶代表等相關人員探討,確認是否是缺陷;合理的論述,向測試經理說明自己的判斷的理由,注意客觀、嚴謹,不參雜個人情緒。等待測試經理做出最終決定,如果仍然存在爭議,可以通過公司政策所提供的渠道,向上級反映,並有上級做出決定。
問:給你一個網站,你如何測試?
首先,查找需求說明、網站設計等相關文檔,分析測試需求。
制定測試計划,確定測試范圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;數據庫測試;安全性測試;兼容性測試
設計測試用例:功能性測試可以包括,但不限於以下幾個方面:
鏈接測試。鏈接是否正確跳轉,是否存在空頁面和無效頁面,是否有不正確的出錯信息返回等。
界面測試可以包括但不限於一下幾個方面:頁面是否風格統一,美觀頁面布局是否合理,重點內容和熱點內容是否突出控件是否正常使用對於必須但為安裝的空間,是否提供自動下載並安裝的功能文字檢查
性能測試一般從以下兩個方面考慮:壓力測試;負載測試;
強度測試數據庫測試要具體決定是否需要開展。數據庫一般需要考慮連結性,對數據的存取操作,數據內容的驗證等方面。
安全性測試:
1 基本的登錄功能的檢查
2 是否存在溢出錯誤,導致系統崩潰或者權限泄露
3 相關開發語言的常見安全性問題檢查,例如 SQL 注入等。
4 如果需要高級的安全性測試,確定獲得專業安全公司的幫助,外包測試,或者獲取支持兼容性測試,根據需求說明的內容,確定支持的平台組合,瀏覽器的兼容性;操作系統的兼容性;軟件平台的兼容性
問:一台客戶端有三百個客戶與三百個客戶端有三百個客戶對服務器施壓,有什么區別? ?
300 個用戶在一個客戶端上,會占用客戶機更多的資源,而影響測試的結果。線程之間可能發生干擾,而產生一些異常。300 個用戶在一個客戶端上,需要更大的帶寬。IP 地址的問題,可能需要使用 IP Spoof 來繞過服務器對於單一 IP 地址最大連接數的限制。所有用戶在一個客戶端上,不必考慮分布式管理的問題;而用戶分布在不同的客戶端上,需要考慮使用控制器來整體調配不同客戶機上的用戶。同時,還需要給予相應的權限配置和防火牆設置。
軟件生存周期及其模型是什么?
軟件生存周期是軟件開發全部過程、活動和任務的結構框架,是從可行性研究到需求分析、軟件設計、編碼、測試、軟件發布維護的過程。在經歷需求、分析、設計、實現、部署后,軟件將被使用並進入維護階段,直到最后由於缺少維護費用而逐漸消亡。這樣的一個過程,稱為"生命周期模型"
什么是軟件測試?軟件測試的目的與原則
使用人工或自動手段,來運行或測試某個系統的過程。其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
軟件測試的目的:
測試是程序的執行過程,目的在於發現錯誤一個成功的測試用例在於發現至今未發現的錯誤一個成功的測試是發現了至今未發現的錯誤的測試確保產品完成了它所承諾或公布的功能,並且用戶可以訪問到的功能都有明確的書面說明。確保產品滿足性能和效率的要求確保產品是健壯的和適應用戶環境的
軟件測試的原則:
軟件測試應盡早執行,並貫穿於整個軟件生命周期軟件測試應追溯需求測試應由第三方來構造窮舉測試是不可能的,要遵循 Good-enough 原則必須確定預期輸出(或結果)必須徹底檢查每個測試結充分注意測試中的群集現象
缺陷的二八定理嚴格執行測試計划,排除測試的隨意性注意合法合理的輸入,也要注意非法的非預期的輸入檢查程序是否做了不該做的測試應從“小規模”開始,逐步轉向“大規模”反復使用同樣的測試會使軟件具有抵抗力關注缺陷的修復
軟件配置管理的作用?軟件配置包括什么?
軟件配置管理作為軟件開發過程的必要環節和軟件開發管理的基礎,貫穿整個軟件生命周期,同時對軟件開發過程的宏觀管理即項目管理也有重要的支持作用。一個軟件開發組織真正有效的實施軟件配置管理,將會使軟件開發過程有更好的可預測性,使系統具有可重復性,大大提高軟件組織的競爭力。
軟件配置包括如下內容:
配置項識別、工作空間管理、版本控制、變更控制、狀態報告、配置審計
什么是軟件質量?
軟件質量:軟件產品的特性可以滿足用戶的功能、性能需求的能力。
目前主要的測試用例設計方法是什么?
白盒測試:邏輯覆蓋循環覆蓋基本路徑覆蓋
黑盒測試:邊界值分析法、等價類划分、錯誤猜測法、因果圖法、場景法
軟件產品質量特性是什么? ?
功能性:適應性、准確性、互操作性、依從性、安全性。
可靠性:成熟性、容錯性、以恢復性。
可使用性:易理解性、易學習性、易操作性。
效率:時間特性、資源特性。
可維護性:易分析性、易變更性、穩定性、易測試性。
可移植性: 適應性、易安裝性、遵循性、易替換性。
軟件測試的策略是什么? ?
軟件測試策略:在一定的軟件測試標准、測試規范的指導下,依據測試項目的特定環境約束
而規定的軟件測試的原則、方式、方法的集合。
軟件測試分為幾個 階段 各階段的測試策略和要求是什么? ?
軟件測試按階段划分可以分為單元測試、集成測試、系統測試和<驗收測試>
單元測試測試策略:
自頂向下的單元測試策略
總結:比孤立單元測試的成本高很多,不是單元測試的一個好的選擇。
自底向上的單元測試策略
總結:比較合理的單元測試策略,但測試周期較長。
孤立單元測試策略
總結:最好的單元測試策略。
系統測試的測試策略
數據和數據庫完整性測試;功能測試;用戶界面測試;性能評測;負載測試;強度測試;容
量測試;安全性和訪問控制測試;故障轉移和恢復測試;配置測試;安裝測試;加密測試;
可用性測試;版本驗證測試;文檔測試
測試人員在軟件開發過程中的任務是什么?
1、尋找 Bug;
2、避免軟件開發過程中的缺陷;
3、衡量軟件的品質;
4、關注用戶的需求。
總的目標是:確保軟件的質量。
在您以往的工作中,一條軟件缺陷(或者叫 Bug)記錄都包含了哪些內容?如何提交高質量
的軟件缺陷(Bug)記錄?
一條 Bug 記錄最基本應包含:編號、Bug 所屬模塊、Bug 描述、Bug 級別、發現日期、發現
人、修改日期、修改人、修改方法、回歸結果等等;
要有效的發現 Bug 需參考需求以及詳細
設計等前期文檔設計出高效的測試用例,然后嚴格執行測試用例,對發現的問題要充分確認
肯定,然后再向外發布如此才能提高提交 Bug 的質量。
黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優點和缺點!
黑盒測試的優點有:
比較簡單,不需要了解程序內部的代碼及實現;
與軟件的內部實現無關;
從用戶角度出發,能很容易的知道用戶會用到哪些功能,會遇到哪些問題;
基於軟件開發文檔,所以也能知道軟件實現了文檔中的哪些功能;
在做軟件自動化測試時較為方便。
黑盒測試的缺點有:
不可能覆蓋所有的代碼,覆蓋率較低,大概只能達到總代碼量的 30%;
自動化測試的復用性較低。
白盒測試的優點有:
幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質量,發現代碼中隱藏的問題。
白盒測試的缺點有:
程序運行會有很多不同的路徑,不可能測試所有的運行路徑;
測試基於代碼,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一
些功能需求;
系統龐大時,測試開銷會非常大。
如何測試一個 紙杯?
功能度:用水杯裝水看漏不漏;水能不能被喝到
安全性:杯子有沒有毒或細菌
可靠性:杯子從不同高度落下的損壞程度
可移植性:杯子在不同的地方、溫度等環境下是否都可以正常使用
兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等
易用性:杯子是否燙手、是否有防滑措施、是否方便飲用
用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細描述
疲勞測試:將杯子盛上水(案例一)放 24 小時檢查泄漏時間和情況;盛上汽油(案例二)
放 24 小時檢查泄漏時間和情況等
壓力測試:用根針並在針上面不斷加重量,看壓強多大時會穿透
測試計划工作的目的是什么?測試計划文檔的內容應該包括什么?其中哪些是最重要的?
包含了產品概述、測試策略、測試方法、測試區域、測試配置、測試周期、測試資源、測試
交流、風險分析等內容。借助軟件測試計划,參與測試的項目成員,尤其是測試管理人員,
可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對
測試過程中的各種變更。
測試計划和測試詳細規格、測試用例之間是戰略和戰術的關系,測試計划主要從宏觀上規划
測試活動的范圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。
所以其中最重要的是測試測試策略和測試方法(最好是能先評審)。
在您以往的工作中,一條軟件缺陷(或者叫 Bug )記錄都包含了哪些內容?如何提交高
質量的軟件缺陷( Bug )記錄?
在傳統的 BugZilla 中,BUG 描述應該包括以下的信息
和 BUG 產生對應的軟件版本和模塊
開發的接口人員
BUG 的優先級
BUG 的嚴重程度
BUG 可能屬於的模塊,如果不能確認,可以用開發人員來判斷
BUG 標題,需要清晰的描述現象
BUG 描述,需要盡量給出重新 Bug 的步驟
BUG 附件中能給出相關的日志和截圖。
高質量的 BUG 記錄就是指很容易理解的 BUG 記錄,所以,對於描述的要求高,能提供的信息
多且准確,很好的幫助開發人員定位,因此提交高質量的軟件缺陷記錄需要注意對 BUG 記錄
的描述質量多且准確。
BUG 管理工具的跟蹤過程用 BugZilla 為例子
測試人員發現了 BUG,提交到 Bugzilla 中,狀態為 new,
BUG 的接受者為開發接口人員開發接口將 BUG 分配給相關的模塊的開發人員,狀態修改為已分配,開發人員和測試確認BUG,
如果是本人的 BUG,則設置為接收;
如果是別的開發人員的問題,則轉發出去,由下一個開發人員來進行此行為;
如果認為不是問題,則需要大家討論並確認后,拒絕這個 BUG,然后測試人員關閉此問題。如果開發人員接受了 BUG,並修改好以后,將 BUG 狀態修改為已修復,並告知測試在哪個版本中可以測試。
測試人員在新版本中測試,如果發現問題依然存在,則拒絕驗證;如果已經修復,則關閉BUG。
四、您認為在測試人員同開發人員的溝通過程中,如何提高溝通的效率和改善溝通的效果?
維持測試人員同開發團隊中其他成員 良好的人際關系的關鍵是什么?
盡量面對面的溝通,其次是能直接通過電話溝通,如果只能通過 Email 等非及時溝通工具的
話,強調必須對特性的理解深刻以及能表達清楚。
運用一些測試管理工具如 TestDirector 進行管理也是較有效的方法,同時要注意在
TestDirector 中對 BUG 有准確的描述。
在團隊中建立測試人員與開發人員良好溝通中注意以下幾點:
一真誠
二是團隊精神
三是在專業上有共同語言
四是要對事不對人,工作至上
當然也可以通過直接指出一些小問題,而不是進入 BUG Tracking System 來增加對方的好感。
你自認為測試的優勢在哪里?
該面試也沒有固定不變的答案,但可參考以下幾點,並結合自身特點:
有韌性
有耐心
做事有條理性
喜歡面對挑戰
有信心做好每一件事情
較強的溝通能力
從以前的經理處都得到了很好的評價表明我做的很好
集成測試通常都有那些策 略?
1、大爆炸集成
2、自頂向下集成
3、自底向上集成
4、三明治集成適應於大部分軟件開發項目
5、基干集成
6、分層集成
7、基於功能的集成
8、基於消息的集成
9、基於風險的集成
10、基於進度的集成
常用(Linux 的常用命令
答:ls pwd mkdir rmdir rm cp mv cd ps ping tail more echo adduser passwd logout exit,
函數被限制在聲明它的模塊的本地范圍內使用
引用與指針有什么區別?
1) 引用必須被初始化,指針不必。
2) 引用初始化以后不能被改變,指針可以改變所指的對象。
3) 不存在指向空值的引用,但是存在指向空值的指針。
軟件驗收測試包括 ___ 、 ___ 、 ____ 三種類型。
軟件驗收測試包括正式驗收測試、alpha 測試、beta 測試三種測試。
系統測試的策略有 ____________________________等 等 15 種方法。
系統測試的策略有很多種的,有性能測試、負載測試、強度測試、易用性測試、安全測試、
配置測試、安裝測試、文檔測試、故障恢復測試、用戶界面測試、恢復測試、分布測試、可
用性測試。
設計系統測試計划需要參考的項目文檔有 ___ 、 ___ 和 ____ 。
設計系統測試計划需要參考的項目文檔有軟件測試計划、軟件需求工件、和迭代計划。
通過畫因果圖來寫測試用例的步驟為 ___ 、 ___ 、 ___ 、 ___ 及把因果圖轉換為狀態圖共五
個步驟。 利用因果圖生成測試用例的基本步驟是:
§ 分析軟件規格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結
果(即輸出條件),並給每個原因和結果賦予一個標識符。
§ 分析軟件規格說明描述中的語義,找出原因與結果之間,原因與原因之間對應的是什么
關系? 根據這些關系,畫出因果圖。
§ 由於語法或環境限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現。
為表明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。 § 把因果圖轉換成判
定表。
§ 把判定表的每一列拿出來作為依據,設計測試用例。
什么是白盒測試?什么是黑盒測試? ? 什么是回歸測試? ?
答:白盒測試是測試人員要了解程序結構和處理過程,按照程序內部邏輯測試程序,檢查程序
中的每條通路是否按照預定要求正確工作.它主要的針對被測程序的源代碼,測試着可以完
全不考慮程序的功能.
白盒測試流程:詳細設計-->源程序-->分析程序內部邏輯結構-->流程圖-->制定測試用例
-->被測程序-->執行路徑-->覆蓋情況分析 .
黑盒測試:(Black-box Testing,又稱為功能測試或數據驅動測試)是把測試對象看作一
個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟件產品的功能,不需測試軟件產品
的內部結構和處理過程。
回歸測試: (regression testing): 回歸測試有兩類:用例回歸和錯誤回歸;用例回
歸是過一段時間以后再回頭對以前使用過的用例在重新進行測試,看看會重新發現問題。錯
誤回歸,就是在新版本中,對以前版本中出現並修復的缺陷進行再次驗證,並以缺陷為核心,
對相關修改的部分進行測試的方法。
設計用例的方法:
在測試的不同階段運用不用的測試方法設計用例的方法依據不同:
白盒測試用例設計有如下方法:邏輯覆蓋、循環覆蓋和基本路徑覆蓋
黑盒測試用例設計方法:等價類划分、邊界值分析、錯誤猜測、因果圖、狀態圖、測試大綱、
場景法、正交策略表。
一個測試工程師應具備那些素質?
1、責任心
2、溝通能力
3、團隊合作精神
4、耐心、細心、信心
5、時時保持懷疑態度,並且有缺陷預防的意識
6、具備一定的編程經驗
問題九:你對我們公司了解有多少?
建議從招聘廣告上多了解信息,同時到應聘公司的網站上去盡可能多的了解這個公司的情
況,以便回答好這類問題。
一套完整的測試應該由哪些階段組成?
可行性分析、需求分析、概要設計、詳細設計、編碼、單元測試、集成測試、系統測試、驗
收測試
測試用例通常包括那些內容
版本、編號、項目、設計人員、設計日期、輸入、預期輸出、
軟件測試用例的基本要素包括:測試用例編號、測試標題、重要級別、測試輸入、操作步驟、預期結果。
在實際項目中你是如何做測試計划
答案:
1.對客戶提供的或需求分析人員編寫的用戶需求文檔或需求規格說明書進行分析,提煉出測試要點;
2.根據測試要點編寫測試用例。
3.由評審組對測試用例進行評審--修改--再次評審--初步定稿
4.執行測試
4.1 按照測試用例對系統進行功能驗證及客戶的需求驗證
4.2 將測試過程中產生的Bug錄入缺陷管理系統
4.3 新版本發布后,對本次版本新增加的功能以及開發人員修正的Bug進行回歸測試
4.4 根據項目需要提交測試報告。