常規面試及職業選擇問題(1)

1. 你的測試職業發展是什麼?

測試經驗越多,測試能力越高。所以我的職業發展是需要時間積累的,一步步向着高級測試工程師奔去。而且我也有初步的職業規劃,前3年積累測試經驗,按如何做好測試工程師的要點去要求自己,不斷更新自己改正自己,做好測試任務。

2. 你認爲測試人員需要具備哪些素質

做測試應該要有一定的協調能力,因爲測試人員經常要與開發接觸處理一些問題,如果處理不好的話會引起  2、些衝突,這樣的話工作上就會不好做。還有測試人員要有一定的耐心,有的時候做測試很枯燥乏味。除了耐心,測試人員不能放過每一個可能的錯誤。

3. 你爲什麼能夠做測試這一行

雖然我的測試技術還不是很成熟,但是我覺得我還是可以勝任軟件測試這個工作的,因爲做軟件測試不僅是要求技術好,還有有一定的溝通能力,耐心、細心等外在因素。綜合起來看我認爲我是勝任這個工作的。

4. 測試的目的是什麼?

測試的目的是找出軟件產品中的錯誤,是軟件儘可能的符合用戶的要求。當然軟件測試是不可能找出全部錯誤的。

5. 測試分爲哪幾個階段?

一般來說分爲5個階段:單元測試、集成測試、確認測試、系統測試、驗收測試

6. 單元測試的測試對象、目的、測試依據、測試方法?

測試對象是模塊內部的程序錯誤,目的是消除局部模塊邏輯和功能上的錯誤和缺陷。測試依據是模塊的詳細設計,測試方法是採用白盒測試。

7. 怎樣看待加班問題

加班的話我沒有太多意見,但是我還是覺得如果能夠合理安排時間的話,不會有太多時候加班的。

8. 結合你以前的學習和工作經驗,你認爲如何做好測試。

根據我以前的工作和學習經驗,我認爲做好工作首先要有一個良好的溝通,只有溝通無障礙了,纔會有好的協作,纔會有更好的效率,再一個就是技術一定要過關,做測試要有足夠的耐心,和一個良好的工作習慣,不懂的就要問,實時與同事溝通這樣的話才能做好測試工作。

9. 你爲什麼選擇軟件測試行業

因爲之前瞭解軟件測試這個行業,覺得他的發展前景很好。

10. 根據你以前的工作或學習經驗描述一下軟件開發、測試過程,由哪些角色負責,你做什麼

要有架構師、開發經理、測試經理、程序員、測試員。我在裏面主要是負責所分到的模塊執行測試用例。

11. 根據你的經驗說說你對軟件測試/質量保證的理解

軟件質量保證與測試是根據軟件開發階段的規格說明和程序的內部結構而精心設計的一批測試用例(即輸入數據和預期的輸出結果),並根據這些測試用例去運行程序,以發現錯誤的過程。它是對應用程序的各個方面進行測試以檢查其功能、語言有效性及其外觀排布。

12. 軟件測試的流程是什麼?

需求調查:全面瞭解系統概況、應用領域、軟件開發週期、軟件開發環境、開發組織、時間安排、功能需求、性能需求、質量需求及測試要求等。根據系統概況進行項目所需的人員、時間和工作量估計以及項目報價。
  制定初步的項目計劃。
  測試準備:組織測試團隊、培訓、建立測試和管理環境等。
  測試設計:按照測試要求進行每個測試項的測試設計,包括測試用例的設計和測試腳本的開發等。
  測試實施:按照測試計劃實施測試。
  測試評估:根據測試的結果,出具測試評估報告。

13. 你對SQA的職責和工作活動(如軟件度量)的理解?

SQA就是獨立於軟件開發的項目組,通過對軟件開發過程的監控,來保證軟件的開發流程按照指定的CMM規程(如果有相應的CMM規程),對於不符合項及時提出建議和改進方案,必要時可以向高層經理彙報以求問題的解決。通過這樣的途徑來預防缺陷的引入,從而減少後期軟件的維護成本。SQA主要的工作活動包括制定SQA工作計劃,參與階段產物的評審,進行過程質量、功能配置及物理配置的審計等;對項目開發過程中產生的數據進行度量等等。

14. 說說你對軟件配置管理的理解

項目在開發過程中要用相應的配置管理工具對配置項(包括各個階段的產物)進行變更控制,配置管理的使用取決於項目規模和複雜性及風險的水平。軟件的規模越大,配置管理就越顯得重要。還有在配置管理中,有一個很重要的概念,那就是基線,是在一定階段各個配置項的組合,一個基線就提供了一個正式的標準,隨後的工作便基於此標準,並只有經過授權後才能變更這個標準。配置管理工具主要有CC,VSS,CVS,SVN等,我只用過SVN,對其他的工具不是很熟悉。

15. 怎樣寫測試計劃和測試用例

簡單點,測試計劃裏應有詳細的測試策略和測試方法,合理詳盡的資源安排等,至於測試用例,那是依賴於需求(包括功能與非功能需求)是否細化到功能點,是否可測試等。

16. 你在測試中發現了一個 bug ,但是開發經理認爲這不是一個 bug ,你應該怎樣解決。

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

17. 給你一個網站,你如何測試

首先,查找需求說明、網站設計等相關文檔,分析測試需求。制定測試計劃,確定測試範圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;數據庫測試;安全性測試;兼容性測試
設計測試用例,鏈接測試、提交功能的測試和界面測試、性能測試。
數據庫測試:要具體決定是否需要開展。數據庫一般需要考慮連結性,對數據的存取操作,數據內容的驗證等方面。
安全性測試:
1 基本的登錄功能的檢查
2 是否存在溢出錯誤,導致系統崩潰或者權限泄露
3 相關開發語言的常見安全性問題檢查,例如 SQL 注入等。
4 如果需要高級的安全性測試,確定獲得專業安全公司的幫助,外包測試,或者獲取支持兼容性測試,根據需求說明的內容,確定支持的平臺組合:瀏覽器的兼容性;操作系統的兼容性;軟件平臺的兼容性;數據庫的兼容性開展測試,並記錄缺陷。

18. 軟件生存週期及其模型是什麼?

軟件生存週期是軟件開發全部過程、活動和任務的結構框架,是從可行性研究到需求分析、軟件設計、編碼、測試、軟件發佈維護的過程。在經歷需求、分析、設計、實現、部署後,軟件將被使用並進入維護階段,直到最後由於缺少維護費用而逐漸消亡。這樣的一個過程,稱爲"生命週期模型"(Life Cycle Model)。

19. 什麼是軟件測試?軟件測試的目的與原則

使用人工或自動手段,來運行或測試某個系統的過程。其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別。
軟件測試的目的:
測試是程序的執行過程,目的在於發現錯誤;
軟件測試的原則:
1、軟件測試應儘早執行,並貫穿於整個軟件生命週期
2、軟件測試應追溯需求
3、必須確定預期輸出(或結果)
4、必須徹底檢查每個測試結果
5、嚴格執行測試計劃,排除測試的隨意性
6、注意合法合理的輸入,也要注意非法的非預期的輸入
7、檢查程序是否做了不該做的
8、測試應從“小規模”開始,逐步轉向“大規模”
9、反覆使用同樣的測試會使軟件具有抵抗力
10、關注缺陷的修復

20. 軟件配置管理的作用?軟件配置包括什麼?

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

21. 什麼是軟件質量?

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

22. 目前主要的測試用例設計方法是什麼?

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

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

軟件安全性測試包括程序、數據庫安全性測試。
根據系統安全指標不同測試策略也不同。用戶認證安全的測試要考慮問題:
1、明確區分系統中不同用戶權限,系統中會不會出現用戶衝突,系統會不會因用戶的權限的改變造成混亂;
2、用戶登陸密碼是否是可見、可複製,是否可以通過絕對途徑登陸系統(拷貝用戶登陸後的鏈接直接進入系統)用戶退出系統後是否刪除了所有鑑權標記,是否可以使用後退鍵而不通過輸入口令進入系統
3、系統網絡安全的測試要考慮問題,測試採取的防護措施是否正確裝配好,有關係統的補丁是否打上,模擬非授權攻擊,看防護系統是否堅固
4、採用成熟的網絡漏洞檢查工具檢查系統相關漏洞(即用最專業的黑客攻擊工具攻擊試一下,現在最常用的是 NBSI 系列和 IPhacker IP )
5、採用各種木馬檢查工具檢查系統木馬情況,採用各種防外掛工具檢查系統各組程序的外掛漏洞
6、數據庫安全考慮問題:
系統數據是否機密(比如對銀行系統,這一點就特別重要,一般的網站就沒有太高要求)
系統數據的完整性
系統數據可管理性
系統數據的獨立性
系統數據可備份和恢復能力(數據備份是否完整,可否恢復,恢復是否可以完整)

24. 什麼是測試用例 什麼是測試腳本 兩者的關係是什麼?

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

25. 簡述什麼是靜態測試、動態測試、黑盒測試、白盒測試、α測試 β測試 靜態測試:不運行程序本身而尋找程序代碼中可能存在的錯誤或評估程序代碼的過程。

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

26. 軟件產品質量特性是什麼? ?

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

27. 軟件測試的策略是什麼? 測試的策略有哪些?

軟件測試策略:在一定的軟件測試標準、測試規範的指導下,依據測試項目的特定環境約束
而規定的軟件測試的原則、方式、方法的集合。
測試策略有黑盒/白盒,靜態/動態,手工/自動,冒煙測試,迴歸測試,公測(Beta測試的策略)。

28. 軟件測試分爲幾個階段

軟件測試按階段劃分可以分爲單元測試、集成測試、系統測試和驗收測試4個階段

29. 測試人員在軟件開發過程中的任務是什麼?

1、尋找 Bug;
2、避免軟件開發過程中的缺陷;
3、衡量軟件的品質;
4、關注用戶的需求。
總的目標是:確保軟件的質量。

30. 黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優點和缺點

黑盒測試的優點有:
1、比較簡單,不需要了解程序內部的代碼及實現;與軟件的內部實現無關;
2、從用戶角度出發,能很容易的知道用戶會用到哪些功能,會遇到哪些問題;
3、基於軟件開發文檔,所以也能知道軟件實現了文檔中的哪些功能;
4、在做軟件自動化測試時較爲方便。
黑盒測試的缺點有:
1、不可能覆蓋所有的代碼,覆蓋率較低,大概只能達到總代碼量的 30%;
2、自動化測試的複用性較低。

白盒測試的優點有:
1、幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質量,發現代碼中隱藏的問題
白盒測試的缺點有:
1、程序運行會有很多不同的路徑,不可能測試所有的運行路徑;
2、測試基於代碼,只能測試開發人員做的對不對,而不能知道設計的正確與否,可能會漏掉一
些功能需求;
3、系統龐大時,測試開銷會非常大。

31. 如何測試一個紙杯?

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

32. 測試計劃工作的目的是什麼?測試計劃文檔的內容應該包括什麼?其中哪些是最重要的?

答案:軟件測試計劃是指導測試過程的綱領性文件。
包含了產品概述、測試策略、測試方法、測試區域、測試配置、測試周期、測試資源、測試
交流、風險分析等內容。藉助軟件測試計劃,參與測試的項目成員,尤其是測試管理人員,
可以明確測試任務和測試方法,保持測試實施過程的順暢溝通,跟蹤和控制測試進度,應對
測試過程中的各種變更。
測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關係,測試計劃主要從宏觀上規劃
測試活動的範圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。
所以其中最重要的是測試測試策略和測試方法(最好是能先評審)。

33. 黑盒測試的測試用例常見設計方法都有哪些?

1) 等價類劃分
劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的.併合理地假定:測試某等價類的代表值就等於對這一類其它值的測試因此,可以把全部輸入數據合理劃分爲若干等價類,在每一個等價類中取一個數據作爲測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
2) 邊界值分析法
邊界值分析方法是對等價類劃分方法的補充。測試工作經驗告訴我,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應着重測試的邊界情況.應當選取正好等於,剛剛大於或剛剛小於邊界的值作爲測試數據,而不是選取等價類中的典型值或任意值作爲測試數據.
3)錯誤猜測法
基於經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法
4)因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是着重考慮輸入條件,但未考慮輸入條件
之間的聯繫, 相互組合等. 考慮輸入條件之間的相互組合,可能會產生一些新的情況. 但要
檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的
組合情況也相當多. 因此必須考慮採用一種適合於描述對於多種條件的組合,相應產生多個
動作的形式來考慮設計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成
的就是判定表. 它適合於檢查程序輸入條件的各種組合情況.
5)正交表分析法
有時候,可能因爲大量的參數的組合而引起測試用例數量上的激增,同時,這些測試用例並
沒有明顯的優先級上的差距,而測試人員又無法完成這麼多數量的測試,就可以通過正交表
來進行縮減一些用例,從而達到儘量少的用例覆蓋儘量大的範圍的可能性。
6)場景分析方法
指根據用戶場景來模擬用戶的操作步驟,這個比較類似因果圖,但是可能執行的深度和可行
性更好。
7)狀態圖法
通過輸入條件和系統需求說明得到被測系統的所有狀態,通過輸入條件和狀態得出輸出條
件;通過輸入條件、輸出條件和狀態得出被測系統的測試用例。

34. 詳細的描述一個測試活動完整的過程。

1、 項目經理通過和客戶的交流,完成需求文檔
2、 開發人員和測試人員共同完成需求文檔的評審,
3、 項目經理通過綜合開發人員,測試人員以及客戶的意見,完成項目計劃。
4、 SQA 進入項目,開始進行統計和跟蹤開發人員根據需求文檔完成需求分析文檔,測試人員進行評審,評審的主要內容包括是否有遺漏或者雙方理解不同的地方。測試人員完成測試計劃文檔,測試計劃包括的內容上面有描述。
5、 寫測試用例,同時開發人員完成概要設計文檔,詳細設計文檔。此兩份文檔成爲測試人員撰寫測試用例的補充材料。
6、 測試用例完成後,測試和開發需要進行評審。
7、 測試人員搭建環境,開發人員提交第一個版本,可能存在未完成功能,需要說明。測試人員進行測試,發現 BUG後提交
8、 開發提交第二個版本,測試人員進行測試。重複上面的工作,一般是 3-4 個版本後 BUG 數量減少,達到出貨的要求。如果有客戶反饋的問題,需要測試人員協助重現並重新測試。
9、

35. 軟件驗收測試包括 ___ 、 ___ 、 ____ 三種類型。

軟件驗收測試包括正式驗收測試、alpha 測試、beta 測試三種測試。

36. 系統測試的策略有 _________等 15 種方法。(該題15 個空)

性能測試、負載測試、強度測試、易用性測試、安全測試、配置測試、安裝測試、文檔測試、故障恢復測試、用戶界面測試、恢復測試、分佈測試、可用性測試。

37. 設計系統測試計劃需要參考的項目文檔有 ___ 、 ___ 和 ____ 。

軟件測試計劃、軟件需求工件、和迭代計劃。

38. 軟件測試項目從什麼時候開始?爲什麼?

軟件測試應該在需求分析階段就介入,因爲測試的對象不僅僅是程序編碼,應該對軟件開發過程中產生的所有產品都測試,並且軟件缺陷存在放大趨勢.缺陷發現的越晚,修復它所花費的成本就越大.

39. 什麼是迴歸測試? ?

迴歸測試: (regression testing): 迴歸測試有兩類:用例迴歸和錯誤迴歸;
1、 用例迴歸是過一段時間以後再回頭對以前使用過的用例在重新進行測試,看看會重新發現問題。
2、 錯誤迴歸,就是在新版本中,對以前版本中出現並修復的缺陷進行再次驗證,並以缺陷爲核心,對相關修改的部分進行測試的方法。

40. 單元測試、集成測試、系統測試的側重點是什麼?

1、單元測試:針對的是軟件設計的最小單元–程序模塊(面向過程中是函數、過程;面向對象中是類),進行正確性檢驗的測試工作,在於發現每個程序模塊內部可能存在的差錯.一般有兩個步驟:人工靜態檢查\動態執行跟蹤
2、集成測試:針對的是通過了單元測試的各個模塊所集成起來的組件進行檢驗,其主要內容是各個單元模塊之間的接口,以及各個模塊集成後所實現的功能.
3、系統測試:針對的是集成好的軟件系統,作爲整個計算機系統的一個元素,與計算機硬件\外設\某些支持軟件\數據和人員等其他系統元素結合在一起,要在實際的運行環境中,對計算機系統進行一系列的集成測試和確認測試.

41. 設計用例的方法有哪些?

1、 白盒測試用例設計有如下方法:邏輯覆蓋、循環覆蓋和基本路徑覆蓋。
2、 黑盒測試用例設計方法:等價類劃分、邊界值分析、錯誤猜測、因果圖、狀態圖、測試大綱、場景法、正交策略表。

42. 一個測試工程師應具備那些素質?

1、責任心
2、溝通能力
3、團隊合作精神
4、耐心、細心、信心
5、時時保持懷疑態度,並且有缺陷預防的意識
6、具備一定的編程經驗

43. 集成測試通常都有那些策略?

基於分解的集成:大爆炸集成\自頂向下集成\自底向上集成\ 三明治集成\基於調用圖的集成\基於路徑的集成\分層集成\基於功能的集成\高頻集成\基於進度的集成\基於風險集成\基於事件集成\基於使用的集成\C/S 集成

44. 你所瞭解的的軟件測試類型都有哪些,簡單介紹一下。

1、 按測試 策略分類:1、靜態與動態測試 2、黑盒與白盒測試 3、手工和自動測試 4、冒煙測試 5、迴歸測試;
2、 按測試階段分類:單元測試、集成測試、系統測試;
3、 其他常見測試方法:1、功能測試 2、性能測試 3、壓力測試 4、負載測試 5、易用性測試 6、安裝測試 7、界面測試 8、配置測試 9、文檔測試 10、兼容性測試 11、安全性測試 12、恢復測試

45. 分別概述創建測試計劃與測試詳細規格、測試用例

應把詳細的測試技術指標包含到獨立創建的測試詳細規格文檔,把用於指導測試小組執行測試過程的測試用例放到獨立創建的測試用例文檔或測試用例管理數據庫中。測試計劃和測試詳細規格、測試用例之間是戰略和戰術的關係,測試計劃主要從宏觀上規劃測試活動的範圍、方法和資源配置,而測試詳細規格、測試用例是完成測試任務的具體戰術。

46. 您認爲做好測試用例設計工作的關鍵是什麼?

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

47. 性能測試工作的目的是什麼?做好性能測試工作的關鍵是什麼?

性能測試的目的主要是發現在併發多用戶和大數據量操作時是否會出現與需求有差異的地方。性能測試工作的關鍵是做好系統分析和功能分析,確定系統瓶頸所在

48. 你的測試職業發展目標是什麼?

測試經驗越多,測試能力越高。所以我的職業發展是需要時間累積的,一步步向着高級測試工程師奔去。而且我也有初步的職業規劃,前 3 年累積測試經驗,不斷的更新自己改正自己,做好測試任務。

49. 測試結束的標準是什麼?

從微觀上來說,在測試計劃中定義,比如系統在一定性能下平穩運行 72 小時,目前錯誤跟蹤系統中,本版本中沒有一般嚴重的 BUG,普通 BUG 的數量在 3 以下,BUG 修復率 90%以上等等參數,然後由開發經理,測試經理,項目經理共同簽字認同版本 Release。如果說宏觀的,則是當這個軟件徹底的消失以後,測試就結束了。

50. 軟件測試分爲黑盒和白盒,分別適合什麼情況?

1、 白盒測試又稱爲結構測試、邏輯驅動測試或基於程序本身的測試,它着重於程序的內部結構及算法,通常不關心功能與性能指標;
2、 黑盒測試又被稱爲功能測試、數據驅動測試或基於規格說明的測試,它實際上是站在最終用戶的立場,檢驗輸入輸出信息及系統性能指標是否符合規格說明書中有關功能需求及性能需求的規定。

51. 一套完整的測試應該由哪些階段組成?

可行性分析、需求分析、概要設計、詳細設計、編碼、單元測試、集成測試、系統測試、驗收測試

52. 軟件測試用例通常包括那些內容?

軟件測試用例的基本要素包括測試用例編號、測試標題、重要級別、測試輸入、操作步驟、預期結果。

53. 你的測試職業發展目標是什麼?

測試經驗越多,測試能力越高。所以我的職業發展是需要時間累積的,一步步向着高級測試工程師奔去。而且我也有初步的職業規劃,前 3 年累積測試經驗,按如何做好測試工程師的要求自己,不斷的更新自己改正自己,做好測試任務。

54. 請試着比較一下黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別與聯繫。

1、 黑盒測試:已知產品的功能設計規格,可以進行測試證明每個實現了的功能是否符合要求。
這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求規格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數據驅動測試。黑盒測試主要是爲了發現以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數據結構錯誤或外部信息(例如數據文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?

2、 白盒測試:已知產品的內部工作過程,可以通過測試證明每種內部操作是否符合設計規格要求,所有內部成分是否以經過檢查。軟件的白盒測試是對軟件的過程性細節做細緻的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態,確定實際狀態是否與預期的狀態一致。因此白盒測試又稱爲結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行如下檢查:
1、對程序模塊的所有獨立的執行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環的邊界和運行的界限內執行循環體。
4、測試內部數據結構的有效性,等等。

3、 單元測試(模塊測試)是開發者編寫的一小段代碼,用於檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用於判斷某個特定條件(或者場景)下某個特定函數的行爲。單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這麼說,程序員有責任編寫功能代碼,同時也就有責任爲自己的代碼編寫單元測試。
4、 集成測試(也叫組裝測試,聯合測試)是單元測試的邏輯擴展。它的最簡單的形式是:兩個已經測試過的單元組合成一個組件,並且測試它們之間的接口。從這一層意義上講,組件是指多個單元的集成聚合。在現實方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,並最終擴展進程,將您的模塊與其他組的模塊一起測試。最後,將構成進程的所有模塊一起測試。
5、 系統測試是將經過測試的子系統裝配成一個完整系統來測試。它是檢驗系統是否確實能提供系統方案說明書中指定功能的有效方法。(常見的聯調測試)系統測試的目的是對最終軟件系統進行全面的測試,確保最終軟件系統滿足產品需求並且遵循系統設計。
6、 驗收測試是部署軟件之前的最後一個測試操作。驗收測試的目的是確保軟件準備就緒,並且可以讓最終用戶將其用於執行軟件的既定功能和任務。驗收測試是向未來的用戶表明系統能夠像預定要求那樣工作。經集成測試後,已經按照設計把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接着就應該進一步驗證軟件的有效性,這就是驗收測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。

55. 當開發人員說不是bug時,你如何應付?

開發人員說不是 bug,有 2 種情況:
一是需求沒有確定,所以我可以這麼做,這個時候可以找來產品經理進行確認,需不需要改動,3 方商量確定好後再看要不要改。
二是這種情況不可能發生,所以不需要修改,這個時候,我可以先儘可能的說出是 BUG 的依據是什麼,如果被用戶發現或出了問題,會有什麼不良結果,程序員可能會給你很多理由,你可以對他的解釋進行反駁。

56. 爲什麼要在一個團隊中開展軟件測試工作?

因爲沒有經過測試的軟件很難在發佈之前知道該軟件的質量,就好比 ISO 質量認證一樣,測試同樣也需要質量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發現軟件中存在的問題,及時讓開發人員得知並修改問題,在即將發佈時,從測試報告中得出軟件的質量情況。

57. 如果有機會轉成開發人員,你會去做開發工作嗎?

如果公司確實需要我可以從事開發,但我還是喜歡做測試,我認爲我更適合做測試。

58. 軟件測試分哪些階段?各階段的含義?

分爲單元測試、集成測試、確認測試、系統測試、驗收測試。單元測試是最小單位的測試,測試獨立模塊;集成測試主要測試模塊之間的接口是否正常,確認測試類似於冒煙測試通常在大規模系統測試之前驗證版本主要功能是否實現,版本的穩定性是否可以進入系統測試,系統測試是全面測試驗證系統是否滿足用戶需求包括功能、性能、兼容性等等。驗收測試是用戶參與的測試。

59. 一份測試計劃應該包括哪些內容?

背景、項目簡介、目的、測試範圍、測試策略、人員分工、資源要求、進度計劃、參考文檔、常用術語、提交文檔、風險分析。

60. 針對於軟件的行業背景,你如何理解軟件的業務?

閱讀用戶手冊瞭解軟件的功能和操作流程;看一些業務的專業書籍補充業務知識;如果有用戶實際的數據,可以拿實際的數據進行參考;參考以前的用例和 BUG 報告;在使用軟件的過程中多思考;多與產品經理交流。

61. 測試用例應包括哪些內容?

編號、模塊名稱、編寫人、日期、操作說明、輸入數據、預期結果等。

62. 什麼是兼容性測試?兼容性測試側重哪些方面。

Ø 兼容測試主要是檢查軟件在不同的硬件平臺、軟件平臺上是否可以正常的運行,即是通常說的軟件的可移植性。
Ø 兼容的類型,如果細分的話,有平臺的兼容,網絡兼容,數據庫兼容,以及數據格式的兼容。
Ø 兼容測試的重點是對兼容環境的分析。通常,是在運行軟件的環境不是很確定的情況下,才需要做兼容。根據軟件運行的需要,或者根據需求文檔,一般都能夠得出用戶會在什麼環境下使用該軟件,把這些環境整理成表單,就得出做兼容測試的兼容環境了。
Ø 兼容和配置測試的區別在於,做配置測試通常不是Clean OS下做測試,而兼容測試多是在Clean OS的環境下做的。。

63. 對某軟件進行測試,發現在 WIN98 上運行得很慢,怎麼判別是該軟件存在問題還是其軟硬件運行環境存在問題?

看軟件的運行環境要求。如果符合要求則是程序存在問題,若不符合要求則是硬件系統存在問題

64. 我現在有個程序,發現在Windows上運行得很慢,怎麼判別是程序存在問題還是軟硬件系統存在問題?

1、檢查系統是否有中毒的特徵;
2、檢查軟件/硬件的配置是否符合軟件的推薦標準;
3、確認當前的系統是否是獨立,即沒有對外提供什麼消耗CPU資源的服務;
4、如果是C/S或者B/S結構的軟件,需要檢查是不是因爲與服務器的連接有問題,或者訪問有問題造成的;
5、在系統沒有任何負載的情況下,查看性能監視器,確認應用程序對CPU/內存的訪問情況。

65. 正交表測試用例設計方法的特點是什麼?

用最少的實驗覆蓋最多的操作,測試用例設計很少,效率高,但是很複雜;
對於基本的驗證功能,以及二次集成引起的缺陷,一般都能找出來;但是更深的缺陷,更復雜的缺陷,還是無能爲力的;具體的環境下,正交表一般都很難做的。大多數,只在系統測試的時候使用此方法。

66. 描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程?

就是Bugzilla的狀態轉換圖。

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