字節(jié)跳動十年經(jīng)驗(yàn)老鳥!耗時大半年整理的軟件測試面試真題!【建議收藏】
軟件測試工程師,和開發(fā)工程師相比起來,雖然前期可能不會太深,但是涉及的面還是比較廣的。前期面試實(shí)習(xí)生或者一年左右的崗位,問的也主要是一些基礎(chǔ)性的問題比較多。涉及的知識主要有MySQL數(shù)據(jù)庫的使用、Linux操作系統(tǒng)的使用、軟件測試框架性的問題,測試環(huán)境搭建問題、當(dāng)然還有一些自動化測試和性能測試的問題。測試工程師的面試題,基本上都是大同小異的,面試的核心主要在于框架模塊(一到兩年工作經(jīng)驗(yàn))。
今天這篇帖子主要講解之前面試自己面試過程中或者周圍人面試過程中經(jīng)常被問到且比較經(jīng)典的面試題,一家之言,如有異議或者有想問的問題,可以在評論區(qū)留言,看到后將在第一時間內(nèi)回復(fù)!
1.你的測試職業(yè)發(fā)展是什么?
測試經(jīng)驗(yàn)越多,測試能力越高。所以我的職業(yè)發(fā)展是需要時間積累的,一步步向著高級測試工程師奔去。而且我也有初步的職業(yè)規(guī)劃,前3年積累測試經(jīng)驗(yàn),按如何做好測試工程師的要點(diǎn)去要求自己,不斷更新自己改正自己,做好測試任務(wù)。
2.你認(rèn)為測試人員需要具備哪些素質(zhì)
做測試應(yīng)該要有一定的協(xié)調(diào)能力,因?yàn)闇y試人員經(jīng)常要與開發(fā)接觸處理一些問題,如果處理不好的話會引起 2、些沖突,這樣的話工作上就會不好做。還有測試人員要有一定的耐心,有的時候做測試很枯燥乏味。除了耐心,測試人員不能放過每一個可能的錯誤。
3.你為什么能夠做測試這一行
雖然我的測試技術(shù)還不是很成熟,但是我覺得我還是可以勝任軟件測試這個工作的,因?yàn)樽鲕浖y試不僅是要求技術(shù)好,還有有一定的溝通能力,耐心、細(xì)心等外在因素。綜合起來看我認(rèn)為我是勝任這個工作的。
4.測試的目的是什么?
測試的目的是找出軟件產(chǎn)品中的錯誤,是軟件盡可能的符合用戶的要求。當(dāng)然軟件測試是不可能找出全部錯誤的。
5.測試分為哪幾個階段?
一般來說分為5個階段:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試、驗(yàn)收測試
6.單元測試的測試對象、目的、測試依據(jù)、測試方法?
測試對象是模塊內(nèi)部的程序錯誤,目的是消除局部模塊邏輯和功能上的錯誤和缺陷。測試依據(jù)是模塊的詳細(xì)設(shè)計,測試方法是采用白盒測試。
7.怎樣看待加班問題
加班的話我沒有太多意見,但是我還是覺得如果能夠合理安排時間的話,不會有太多時候加班的。
8.結(jié)合你以前的學(xué)習(xí)和工作經(jīng)驗(yàn),你認(rèn)為如何做好測試。
根據(jù)我以前的工作和學(xué)習(xí)經(jīng)驗(yàn),我認(rèn)為做好工作首先要有一個良好的溝通,只有溝通無障礙了,才會有好的協(xié)作,才會有更好的效率,再一個就是技術(shù)一定要過關(guān),做測試要有足夠的耐心,和一個良好的工作習(xí)慣,不懂的就要問,實(shí)時與同事溝通這樣的話才能做好測試工作。
9.你為什么選擇軟件測試行業(yè)
因?yàn)橹傲私廛浖y試這個行業(yè),覺得他的發(fā)展前景很好。
10.根據(jù)你以前的工作或?qū)W習(xí)經(jīng)驗(yàn)描述一下軟件開發(fā)、測試過程,由哪些角色負(fù)責(zé),你做什么
要有架構(gòu)師、開發(fā)經(jīng)理、測試經(jīng)理、程序員、測試員。我在里面主要是負(fù)責(zé)所分到的模塊執(zhí)行測試用例。
跳槽最重要的一步自然是面試,馬上到金九銀十了,網(wǎng)上出現(xiàn)了各種面試題,一時會讓人眼花繚亂,分不清最該看哪個,所以小編耗時一星期為大家做了幾百道軟件測試面試的真題。還有一些其他能幫助到你們的學(xué)習(xí)資料,需要的小伙伴關(guān)注公眾號:軟件測試小dao領(lǐng)取
11.根據(jù)你的經(jīng)驗(yàn)說說你對軟件測試/質(zhì)量保證的理解
軟件質(zhì)量保證與測試是根據(jù)軟件開發(fā)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例(即輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果),并根據(jù)這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)錯誤的過程。它是對應(yīng)用程序的各個方面進(jìn)行測試以檢查其功能、語言有效性及其外觀排布。
12.軟件測試的流程是什么?
需求調(diào)查:全面了解系統(tǒng)概況、應(yīng)用領(lǐng)域、軟件開發(fā)周期、軟件開發(fā)環(huán)境、開發(fā)組織、時間安排、功能需求、性能需求、質(zhì)量需求及測試要求等。根據(jù)系統(tǒng)概況進(jìn)行項(xiàng)目所需的人員、時間和工作量估計以及項(xiàng)目報價。
制定初步的項(xiàng)目計劃。
測試準(zhǔn)備:組織測試團(tuán)隊(duì)、培訓(xùn)、建立測試和管理環(huán)境等。
測試設(shè)計:按照測試要求進(jìn)行每個測試項(xiàng)的測試設(shè)計,包括測試用例的設(shè)計和測試腳本的開發(fā)等。
測試實(shí)施:按照測試計劃實(shí)施測試。
測試評估:根據(jù)測試的結(jié)果,出具測試評估報告。
13.你對SQA的職責(zé)和工作活動(如軟件度量)的理解?
SQA就是獨(dú)立于軟件開發(fā)的項(xiàng)目組,通過對軟件開發(fā)過程的監(jiān)控,來保證軟件的開發(fā)流程按照指定的CMM規(guī)程(如果有相應(yīng)的CMM規(guī)程),對于不符合項(xiàng)及時提出建議和改進(jìn)方案,必要時可以向高層經(jīng)理匯報以求問題的解決。通過這樣的途徑來預(yù)防缺陷的引入,從而減少后期軟件的維護(hù)成本。SQA主要的工作活動包括制定SQA工作計劃,參與階段產(chǎn)物的評審,進(jìn)行過程質(zhì)量、功能配置及物理配置的審計等;對項(xiàng)目開發(fā)過程中產(chǎn)生的數(shù)據(jù)進(jìn)行度量等等。
14.說說你對軟件配置管理的理解
項(xiàng)目在開發(fā)過程中要用相應(yīng)的配置管理工具對配置項(xiàng)(包括各個階段的產(chǎn)物)進(jìn)行變更控制,配置管理的使用取決于項(xiàng)目規(guī)模和復(fù)雜性及風(fēng)險的水平。軟件的規(guī)模越大,配置管理就越顯得重要。還有在配置管理中,有一個很重要的概念,那就是基線,是在一定階段各個配置項(xiàng)的組合,一個基線就提供了一個正式的標(biāo)準(zhǔn),隨后的工作便基于此標(biāo)準(zhǔn),并只有經(jīng)過授權(quán)后才能變更這個標(biāo)準(zhǔn)。配置管理工具主要有CC,VSS,CVS,SVN等,我只用過SVN,對其他的工具不是很熟悉。
15.怎樣寫測試計劃和測試用例
簡單點(diǎn),測試計劃里應(yīng)有詳細(xì)的測試策略和測試方法,合理詳盡的資源安排等,至于測試用例,那是依賴于需求(包括功能與非功能需求)是否細(xì)化到功能點(diǎn),是否可測試等。
16.你在測試中發(fā)現(xiàn)了一個 bug ,但是開發(fā)經(jīng)理認(rèn)為這不是一個 bug ,你應(yīng)該怎樣解決。
首先,將問題提交到缺陷管理庫里面進(jìn)行備案。然后,要獲取判斷的依據(jù)和標(biāo)準(zhǔn):根據(jù)需求說明書、產(chǎn)品說明、設(shè)計文檔等,確認(rèn)實(shí)際結(jié)果是否與計劃有不一致的地方,提供缺陷是否確認(rèn)的直接依據(jù);如果沒有文檔依據(jù),可以根據(jù)類似軟件的一般特性來說明是否存在不一致的地方,來確認(rèn)是否是缺陷;根據(jù)用戶的一般使用習(xí)慣,來確認(rèn)是否是缺陷;與設(shè)計人員、開發(fā)人員和客戶代表等相關(guān)人員探討,確認(rèn)是否是缺陷;合理的論述,向測試經(jīng)理說明自己的判斷的理由,注意客觀、嚴(yán)謹(jǐn),不參雜個人情緒。等待測試經(jīng)理做出最終決定,如果仍然存在爭議,可以通過公司政策所提供的渠道,向上級反映,并有上級做出決定。
17.給你一個網(wǎng)站,你如何測試?
首先,查找需求說明、網(wǎng)站設(shè)計等相關(guān)文檔,分析測試需求。制定測試計劃,確定測試范圍和測試策略,一般包括以下幾個部分:功能性測試;界面測試;性能測試;數(shù)據(jù)庫測試;安全性測試;兼容性測試
設(shè)計測試用例,鏈接測試、提交功能的測試和界面測試、性能測試。
數(shù)據(jù)庫測試:要具體決定是否需要開展。數(shù)據(jù)庫一般需要考慮連結(jié)性,對數(shù)據(jù)的存取操作,數(shù)據(jù)內(nèi)容的驗(yàn)證等方面。
安全性測試:
1 基本的登錄功能的檢查
2 是否存在溢出錯誤,導(dǎo)致系統(tǒng)崩潰或者權(quán)限泄露
3 相關(guān)開發(fā)語言的常見安全性問題檢查,例如 SQL 注入等。
4 如果需要高級的安全性測試,確定獲得專業(yè)安全公司的幫助,外包測試,或者獲取支持兼容性測試,根據(jù)需求說明的內(nèi)容,確定支持的平臺組合:瀏覽器的兼容性;操作系統(tǒng)的兼容性;軟件平臺的兼容性;數(shù)據(jù)庫的兼容性開展測試,并記錄缺陷。
18.軟件生存周期及其模型是什么?
軟件生存周期是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架,是從可行性研究到需求分析、軟件設(shè)計、編碼、測試、軟件發(fā)布維護(hù)的過程。在經(jīng)歷需求、分析、設(shè)計、實(shí)現(xiàn)、部署后,軟件將被使用并進(jìn)入維護(hù)階段,直到最后由于缺少維護(hù)費(fèi)用而逐漸消亡。這樣的一個過程,稱為"生命周期模型"(Life Cycle Model)。
19.什么是軟件測試?軟件測試的目的與原則
使用人工或自動手段,來運(yùn)行或測試某個系統(tǒng)的過程。其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。
軟件測試的目的:
測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;
軟件測試的原則:
1、軟件測試應(yīng)盡早執(zhí)行,并貫穿于整個軟件生命周期
2、軟件測試應(yīng)追溯需求
3、必須確定預(yù)期輸出(或結(jié)果)
4、必須徹底檢查每個測試結(jié)果
5、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
6、注意合法合理的輸入,也要注意非法的非預(yù)期的輸入
7、檢查程序是否做了不該做的
8、測試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!?/p>
9、反復(fù)使用同樣的測試會使軟件具有抵抗力
10、關(guān)注缺陷的修復(fù)
20.軟件配置管理的作用?軟件配置包括什么?
軟件配置管理作為軟件開發(fā)過程的必要環(huán)節(jié)和軟件開發(fā)管理的基礎(chǔ),貫穿整個軟件生命周期,同時對軟件開發(fā)過程的宏觀管理即項(xiàng)目管理也有重要的支持作用。一個軟件開發(fā)組織真正有效的實(shí)施軟件配置管理,將會使軟件開發(fā)過程有更好的可預(yù)測性,使系統(tǒng)具有可重復(fù)性,大大提高軟件組織的競爭力。
軟件配置包括如下內(nèi)容:配置項(xiàng)識別、工作空間管理、版本控制、變更控制、狀態(tài)報告和配置審計
21.什么是軟件質(zhì)量?
軟件質(zhì)量:軟件產(chǎn)品的特性可以滿足用戶的功能、性能需求的能力。
22.目前主要的測試用例設(shè)計方法是什么?
1、白盒測試:
邏輯覆蓋、循環(huán)覆蓋、基本路徑覆蓋
2、黑盒測試:
邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態(tài)圖法、測試大綱法、隨機(jī)測試和場景法
23.軟件的安全性應(yīng)從哪幾個方面 去測試?
軟件安全性測試包括程序、數(shù)據(jù)庫安全性測試。
根據(jù)系統(tǒng)安全指標(biāo)不同測試策略也不同。用戶認(rèn)證安全的測試要考慮問題:
1、明確區(qū)分系統(tǒng)中不同用戶權(quán)限,系統(tǒng)中會不會出現(xiàn)用戶沖突,系統(tǒng)會不會因用戶的權(quán)限的改變造成混亂;
2、用戶登陸密碼是否是可見、可復(fù)制,是否可以通過絕對途徑登陸系統(tǒng)(拷貝用戶登陸后的鏈接直接進(jìn)入系統(tǒng))用戶退出系統(tǒng)后是否刪除了所有鑒權(quán)標(biāo)記,是否可以使用后退鍵而不通過輸入口令進(jìn)入系統(tǒng)
3、系統(tǒng)網(wǎng)絡(luò)安全的測試要考慮問題,測試采取的防護(hù)措施是否正確裝配好,有關(guān)系統(tǒng)的補(bǔ)丁是否打上,模擬非授權(quán)攻擊,看防護(hù)系統(tǒng)是否堅固
4、采用成熟的網(wǎng)絡(luò)漏洞檢查工具檢查系統(tǒng)相關(guān)漏洞(即用最專業(yè)的黑客攻擊工具攻擊試一下,現(xiàn)在最常用的是 NBSI 系列和 IPhacker IP )
5、采用各種木馬檢查工具檢查系統(tǒng)木馬情況,采用各種防外掛工具檢查系統(tǒng)各組程序的外掛漏洞
6、數(shù)據(jù)庫安全考慮問題:
系統(tǒng)數(shù)據(jù)是否機(jī)密(比如對銀行系統(tǒng),這一點(diǎn)就特別重要,一般的網(wǎng)站就沒有太高要求)
系統(tǒng)數(shù)據(jù)的完整性
系統(tǒng)數(shù)據(jù)可管理性
系統(tǒng)數(shù)據(jù)的獨(dú)立性
系統(tǒng)數(shù)據(jù)可備份和恢復(fù)能力(數(shù)據(jù)備份是否完整,可否恢復(fù),恢復(fù)是否可以完整)
24.什么是測試用例 什么是測試腳本 兩者的關(guān)系是什么?
為實(shí)施測試而向被測試系統(tǒng)提供的輸入數(shù)據(jù)、操作或各種環(huán)境設(shè)置以及期望結(jié)果的一個特定的集合。測試腳本是為了進(jìn)行自動化測試而編寫的腳本。測試腳本的編寫必須對應(yīng)相應(yīng)的測試用例
25.簡述什么是靜態(tài)測試、動態(tài)測試、黑盒測試、白盒測試、α測試 β測試
靜態(tài)測試:不運(yùn)行程序本身而尋找程序代碼中可能存在的錯誤或評估程序代碼的過程。
動態(tài)測試是實(shí)際運(yùn)行被測程序,輸入相應(yīng)的測試實(shí)例,檢查運(yùn)行結(jié)果與預(yù)期結(jié)果的差異,判
定執(zhí)行結(jié)果是否符合要求,從而檢驗(yàn)程序的正確性、可靠性和有效性,并分析系統(tǒng)運(yùn)行效率
和健壯性等性能。
黑盒測試:一般用來確認(rèn)軟件功能的正確性和可操作性,目的是檢測軟件的各個功能是否能得
以實(shí)現(xiàn),把被測試的程序當(dāng)作一個黑盒,不考慮其內(nèi)部結(jié)構(gòu),在知道該程序的輸入和輸出之間
的關(guān)系或程序功能的情況下,依靠軟件規(guī)格說明書來確定測試用例和推斷測試結(jié)果的正確
性。
白盒測試:根據(jù)軟件內(nèi)部的邏輯結(jié)構(gòu)分析來進(jìn)行測試,是基于代碼的測試,測試人員通過閱讀
程序代碼或者通過使用開發(fā)工具中的單步調(diào)試來判斷軟件的質(zhì)量,一般黑盒測試由項(xiàng)目經(jīng)理
在程序員開發(fā)中來實(shí)現(xiàn)。
α測試:是由一個用戶在開發(fā)環(huán)境下進(jìn)行的測試,也可以是公司內(nèi)部的用戶在模擬實(shí)際操作環(huán)
境下進(jìn)行的受控測試,Alpha 測試不能由程序員或測試員完成。
β測試是:軟件的多個用戶在一個或多個用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。開發(fā)者通常不在
測試現(xiàn)場,Beta 測試不能由程序員或測試員完成。
26.軟件產(chǎn)品質(zhì)量特性是什么? ?
功能性:適應(yīng)性、準(zhǔn)確性、互操作性、依從性、安全性。
可靠性:成熟性、容錯性、以恢復(fù)性。
可使用性:易理解性、易學(xué)習(xí)性、易操作性。
效率:時間特性、資源特性。
可維護(hù)性:易分析性、易變更性、穩(wěn)定性、易測試性。
可移植性: 適應(yīng)性、易安裝性、遵循性、易替換性。
27.軟件測試的策略是什么? 測試的策略有哪些?
軟件測試策略:在一定的軟件測試標(biāo)準(zhǔn)、測試規(guī)范的指導(dǎo)下,依據(jù)測試項(xiàng)目的特定環(huán)境約束
而規(guī)定的軟件測試的原則、方式、方法的集合。
測試策略有黑盒/白盒,靜態(tài)/動態(tài),手工/自動,冒煙測試,回歸測試,公測(Beta測試的策略)。
28.軟件測試分為幾個階段
軟件測試按階段劃分可以分為單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試4個階段
29.測試人員在軟件開發(fā)過程中的任務(wù)是什么?
1、尋找 Bug;
2、避免軟件開發(fā)過程中的缺陷;
3、衡量軟件的品質(zhì);
4、關(guān)注用戶的需求。
總的目標(biāo)是:確保軟件的質(zhì)量。
30.黑盒測試和白盒測試是軟件測試的兩種基本方法,請分別說明各自的優(yōu)點(diǎn)和缺點(diǎn)
黑盒測試的優(yōu)點(diǎn)有:
1、比較簡單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn);與軟件的內(nèi)部實(shí)現(xiàn)無關(guān);
2、從用戶角度出發(fā),能很容易的知道用戶會用到哪些功能,會遇到哪些問題;
3、基于軟件開發(fā)文檔,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能;
4、在做軟件自動化測試時較為方便。
黑盒測試的缺點(diǎn)有:
1、不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的 30%;
2、自動化測試的復(fù)用性較低。
白盒測試的優(yōu)點(diǎn)有:
1、幫助軟件測試人員增大代碼的覆蓋率,提高代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱藏的問題
白盒測試的缺點(diǎn)有:
1、程序運(yùn)行會有很多不同的路徑,不可能測試所有的運(yùn)行路徑;
2、測試基于代碼,只能測試開發(fā)人員做的對不對,而不能知道設(shè)計的正確與否,可能會漏掉一些功能需求;
3、系統(tǒng)龐大時,測試開銷會非常大。
31.如何測試一個紙杯?
1、功能度:用水杯裝水看漏不漏;水能不能被喝到;
2、安全性:杯子有沒有毒或細(xì)菌;
3、可靠性:杯子從不同高度落下的損壞程度;
4、可移植性:杯子在不同的地方、溫度等環(huán)境下是否都可以正常使用;
5、兼容性:杯子是否能夠容納果汁、白水、酒精、汽油等;
6、易用性:杯子是否燙手、是否有防滑措施、是否方便飲用;
7、用戶文檔:使用手冊是否對杯子的用法、限制、使用條件等有詳細(xì)描述;
8、疲勞測試:將杯子盛上水(案例一)放 24 小時檢查泄漏時間和情況;盛上汽油(案例二)放 24 小時檢查泄漏時間和情況等
9、壓力測試:用根針并在針上面不斷加重量,看壓強(qiáng)多大時會穿透
32.測試計劃工作的目的是什么?測試計劃文檔的內(nèi)容應(yīng)該包括什么?其中哪些是最重要的?
答案:軟件測試計劃是指導(dǎo)測試過程的綱領(lǐng)性文件。
包含了產(chǎn)品概述、測試策略、測試方法、測試區(qū)域、測試配置、測試周期、測試資源、測試
交流、風(fēng)險分析等內(nèi)容。借助軟件測試計劃,參與測試的項(xiàng)目成員,尤其是測試管理人員,
可以明確測試任務(wù)和測試方法,保持測試實(shí)施過程的順暢溝通,跟蹤和控制測試進(jìn)度,應(yīng)對
測試過程中的各種變更。
測試計劃和測試詳細(xì)規(guī)格、測試用例之間是戰(zhàn)略和戰(zhàn)術(shù)的關(guān)系,測試計劃主要從宏觀上規(guī)劃
測試活動的范圍、方法和資源配置,而測試詳細(xì)規(guī)格、測試用例是完成測試任務(wù)的具體戰(zhàn)術(shù)。
所以其中最重要的是測試測試策略和測試方法(最好是能先評審)。
33.黑盒測試的測試用例常見設(shè)計方法都有哪些?
1) 等價類劃分
劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.
2) 邊界值分析法
邊界值分析方法是對等價類劃分方法的補(bǔ)充。測試工作經(jīng)驗(yàn)告訴我,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設(shè)計測試用例,可以查出更多的錯誤.使用邊界值分析方法設(shè)計測試用例,首先應(yīng)確定邊界情況.通常輸入和輸出等價類的邊界,就是應(yīng)著重測試的邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).
3)錯誤猜測法
基于經(jīng)驗(yàn)和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設(shè)計測試用例的方法
4)因果圖方法
前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件
之間的聯(lián)系, 相互組合等. 考慮輸入條件之間的相互組合,可能會產(chǎn)生一些新的情況. 但要
檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的
組合情況也相當(dāng)多. 因此必須考慮采用一種適合于描述對于多種條件的組合,相應(yīng)產(chǎn)生多個
動作的形式來考慮設(shè)計測試用例. 這就需要利用因果圖(邏輯模型). 因果圖方法最終生成
的就是判定表. 它適合于檢查程序輸入條件的各種組合情況.
5)正交表分析法
有時候,可能因?yàn)榇罅康膮?shù)的組合而引起測試用例數(shù)量上的激增,同時,這些測試用例并
沒有明顯的優(yōu)先級上的差距,而測試人員又無法完成這么多數(shù)量的測試,就可以通過正交表
來進(jìn)行縮減一些用例,從而達(dá)到盡量少的用例覆蓋盡量大的范圍的可能性。
6)場景分析方法
指根據(jù)用戶場景來模擬用戶的操作步驟,這個比較類似因果圖,但是可能執(zhí)行的深度和可行
性更好。
7)狀態(tài)圖法
通過輸入條件和系統(tǒng)需求說明得到被測系統(tǒng)的所有狀態(tài),通過輸入條件和狀態(tài)得出輸出條
件;通過輸入條件、輸出條件和狀態(tài)得出被測系統(tǒng)的測試用例。
34.詳細(xì)的描述一個測試活動完整的過程。
1、 項(xiàng)目經(jīng)理通過和客戶的交流,完成需求文檔
2、 開發(fā)人員和測試人員共同完成需求文檔的評審,
3、 項(xiàng)目經(jīng)理通過綜合開發(fā)人員,測試人員以及客戶的意見,完成項(xiàng)目計劃。
4、 SQA 進(jìn)入項(xiàng)目,開始進(jìn)行統(tǒng)計和跟蹤開發(fā)人員根據(jù)需求文檔完成需求分析文檔,測試人員進(jìn)行評審,評審的主要內(nèi)容包括是否有遺漏或者雙方理解不同的地方。測試人員完成測試計劃文檔,測試計劃包括的內(nèi)容上面有描述。
5、 寫測試用例,同時開發(fā)人員完成概要設(shè)計文檔,詳細(xì)設(shè)計文檔。此兩份文檔成為測試人員撰寫測試用例的補(bǔ)充材料。
6、 測試用例完成后,測試和開發(fā)需要進(jìn)行評審。
7、 測試人員搭建環(huán)境,開發(fā)人員提交第一個版本,可能存在未完成功能,需要說明。測試人員進(jìn)行測試,發(fā)現(xiàn) BUG后提交
8、 開發(fā)提交第二個版本,測試人員進(jìn)行測試。重復(fù)上面的工作,一般是 3-4 個版本后 BUG 數(shù)量減少,達(dá)到出貨的要求。如果有客戶反饋的問題,需要測試人員協(xié)助重現(xiàn)并重新測試。
35.軟件驗(yàn)收測試包括 ___ 、 ___ 、 ____ 三種類型。
軟件驗(yàn)收測試包括正式驗(yàn)收測試、alpha 測試、Beta 測試三種測試。
36.系統(tǒng)測試的策略有 _________等 15 種方法。(該題15 個空)
性能測試、負(fù)載測試、強(qiáng)度測試、易用性測試、安全測試、配置測試、安裝測試、文檔測試、故障恢復(fù)測試、用戶界面測試、恢復(fù)測試、分布測試、可用性測試。
37.設(shè)計系統(tǒng)測試計劃需要參考的項(xiàng)目文檔有 ___ 、 ___ 和 ____ 。
軟件測試計劃、軟件需求工件、和迭代計劃。
38.軟件測試項(xiàng)目從什么時候開始?為什么?
軟件測試應(yīng)該在需求分析階段就介入,因?yàn)闇y試的對象不僅僅是程序編碼,應(yīng)該對軟件開發(fā)過程中產(chǎn)生的所有產(chǎn)品都測試,并且軟件缺陷存在放大趨勢.缺陷發(fā)現(xiàn)的越晚,修復(fù)它所花費(fèi)的成本就越大.
39.什么是回歸測試? ?
回歸測試: (regression testing): 回歸測試有兩類:用例回歸和錯誤回歸;
1、 用例回歸是過一段時間以后再回頭對以前使用過的用例在重新進(jìn)行測試,看看會重新發(fā)現(xiàn)問題。
2、 錯誤回歸,就是在新版本中,對以前版本中出現(xiàn)并修復(fù)的缺陷進(jìn)行再次驗(yàn)證,并以缺陷為核心,對相關(guān)修改的部分進(jìn)行測試的方法。
40.單元測試、集成測試、系統(tǒng)測試的側(cè)重點(diǎn)是什么?
1、單元測試:針對的是軟件設(shè)計的最小單元–程序模塊(面向過程中是函數(shù)、過程;面向?qū)ο笾惺穷悾?進(jìn)行正確性檢驗(yàn)的測試工作,在于發(fā)現(xiàn)每個程序模塊內(nèi)部可能存在的差錯.一般有兩個步驟:人工靜態(tài)檢查\動態(tài)執(zhí)行跟蹤
2、集成測試:針對的是通過了單元測試的各個模塊所集成起來的組件進(jìn)行檢驗(yàn),其主要內(nèi)容是各個單元模塊之間的接口,以及各個模塊集成后所實(shí)現(xiàn)的功能.
3、系統(tǒng)測試:針對的是集成好的軟件系統(tǒng),作為整個計算機(jī)系統(tǒng)的一個元素,與計算機(jī)硬件\外設(shè)\某些支持軟件\數(shù)據(jù)和人員等其他系統(tǒng)元素結(jié)合在一起,要在實(shí)際的運(yùn)行環(huán)境中,對計算機(jī)系統(tǒng)進(jìn)行一系列的集成測試和確認(rèn)測試.
最后,特意給大家準(zhǔn)備了一份13G的超實(shí)用干貨學(xué)習(xí)資源,涉及的內(nèi)容非常全面。包括,2021軟件測試面試寶典,軟件測試求職的各類精選簡歷,軟件學(xué)習(xí)路線圖,50多天的上課視頻、16個突擊實(shí)戰(zhàn)項(xiàng)目,80余個軟件測試用軟件,37份測試文檔,70個軟件測試相關(guān)問題,40篇測試經(jīng)驗(yàn)級文章,上千份測試真題分享。需要的小伙伴關(guān)注公眾號:軟件測試小dao。
既然都看到這里啦,請你幫個忙:
1、點(diǎn)贊,讓更多小伙伴看到;
2、關(guān)注我,持續(xù)更新測試干貨。