- 相關推薦
2023軟件測試常見的筆試題目
在平平淡淡的日常中,我們都經常看到試題的身影,借助試題可以更好地考查參試者所掌握的知識和技能。你所見過的試題是什么樣的呢?以下是小編幫大家整理的2023軟件測試常見的筆試題目,僅供參考,歡迎大家閱讀。
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、你自認為測試的優勢在哪里?
該面試也沒有固定不變的答案,但可參考以下幾點,并結合自身特點:
有韌性、有耐心、做事有條理性、喜歡面對挑戰、有信心做好每一件事情、較強的溝通能力、從以前的經理處都得到了很好的評價表明我做的很好。
軟件測試工作的面試題目
1、什么是兼容性測試?兼容性測試側重哪些方面?
2、我現在有個程序,發現在Windows上運行得很慢,怎么判別是程序存在問題還是軟硬件系統存在問題?
3、檢查系統是否有中毒的特征;
4、檢查軟件/硬件的配置是否符合軟件的推薦標準;
5、確認當前的系統是否是獨立,即沒有對外提供什么消耗CPU資源的服務;
6、如果是C/S或者B/S結構的軟件,需要檢查是不是因為與服務器的連接有問題,或者訪問有問題造成的;
7、在系統沒有任何負載的情況下,查看性能監視器,確認應用程序對CPU/內存的訪問情況。
8、測試的策略有哪些?黑盒/白盒,靜態/動態,手工/自動,冒煙測試,回歸測試,公測(Beta測試的策略)
9、正交表測試用例設計方法的特點是什么?
10、用最少的實驗覆蓋最多的操作,測試用例設計很少,效率高,但是很復雜;
11、對于基本的驗證功能,以及二次集成引起的缺陷,一般都能找出來;但是更深的缺陷,更復雜的缺陷,還是無能為力的;
12、具體的環境下,正交表一般都很難做的。大多數,只在系統測試的時候使用此方法。
13、描述使用bugzilla缺陷管理工具對軟件缺陷(BUG)跟蹤的管理的流程?標記就是Bugzilla的狀態轉換圖。
14、你覺得bugzilla在使用的過程中,有什么問題?標記界面不穩定; 根據需要配置它的不同的部分,過程很煩瑣。流程控制上,安全性不好界定,很容易對他人的Bug進行誤操作;沒有綜合的評分指標,不好確認修復的優先級別。
15、描述測試用例設計的完整過程?需求分析 + 需求變更的維護工作;根據需求, 得出測試需求;設計測試方案,評審測試方案;方案評審通過后,設計測試用例,再對測試用例進行評審。
軟件測試筆試的題目及答案
1、客戶交付一個性能測試項目,請闡述你的實施流程。
答案:
測試設計階段:
1)了解被測系統的性能需求,定義測試目標和范圍;
2)了解系統的技術信息,如系統架構等;
3)確定測試方案、進度安排,并制定測試計劃,場景設置方案,及需要收集的測試數據;
4)同相關人員協商討論測試方案;
5)準備數據收集模板;不同項目的性能測試,需要收集的數據不同;針對性的制定一個模板,更符合需要;
測試環境準備:
1)技術準備;選擇性能測試工具;測試方案中涉及到的技術問題;測試數據的收集方案實現;如:如何監控系統資源等;
2)搭建測試環境;
3)創建初始數據;如虛擬用戶使用的賬號等;
測試執行階段:
1)錄制腳本;
2)調試腳本;
3)執行場景;
4)收集測試數據,并簡單整理;
測試分析階段:
1)分析測試數據;
提交測試報告 。
2、解釋5個常用的性能指標的名稱與具體含義。
答案:
并發:所有用戶在同一時刻對系統執行操作,一般指做同一件事情或操作。
在線:所有用戶在一段時間內對系統執行操作。
請求響應時間
從client端發出請求到得到響應的整個時間;
包括:client端響應時間+網絡響應時間+Server端響應時間。
事務請求響應時間
完成相應事務所用的時間;這個是性能測試中重點關注的指標。
TPS(Transaction Per Second)
每秒鐘系統能夠處理的交易或事務的數量。它是衡量系統處理能力的重要指標。TPS是LoadRunner中重要的性能參數指標。
點擊率(Hit Per Second)
每秒發送的HTTP請求的數量;點擊率越大對Server的壓力越大。
資源利用率
對不同資源的使用程度,如CPU,I/O,內存,……
3、寫出5個Loadrunner中常用函數,并對其中2個舉例說明用法。
答案:
字符串復制
strcpy(str,”Hello “) ;
字符串連接
strcat(str,”World !”);
lr_message(“str: %s”,str);
sprintf(s, “%s love %s.”, “I”, “ocean”); //產生:”I love ocean. ”
變量轉為參數,將變量str的值存到參數Param中
lr_save_string(str,”Param”);
參數復制
lr_save_string(lr_eval_string(“{Param}”),”Param_1″);
參數轉為變量
strcpy(str1,lr_eval_string(“{Param_1}”));
4、簡述LoadRunner的工作原理?
答案: loadrunner會自動監控指定的URL或應用程序所發出的請求及服務器返回的響應,它做為一個第三方(Agent)監視客戶端與服務器端的所有對話,然后把這些對話記錄下來,生成腳本,再次運行時模擬客戶端發出的請求,捕獲服務器端的響應。
5、LaodRunner腳本中action()和init、end()除了迭代的區別還有其他嗎?
答案: 集合點只能插入到Action部分,vuser_init和vuser_end中不能插入集合點。action()和init、end()都可以插入事務點。
6、什么是集合點?設置集合點有什么意義?LoadRunner中設置集合點的函數是哪個?
答案: 集合點:是一個并發訪問的點,例如在測試計劃中,可能會要求系統能夠承受1000 人同時提交數據,在LoadRunner 中可以通過在提交數據操作前面加入集合點,這樣當虛擬用戶運行到提交數據的集合點時,LoadRunner 就會檢查同時有多少用戶運行到集合點,如果不到1000 人,LoadRunner 就會命令已經到集合點的用戶在此等待,當在集合點等待的用戶達到1000 人時,LoadRunner 命令1000 人同時去提交數據,并發訪問的目的。
注意:集合點經常和事務結合起來使用,常放在事務的前面,集合點只能插入到Action 部分,vuser_init和vuser_end中不能插入集合點。集合點函數如下:lr_rendezvous(“SubmitData”)
7、錄制Web腳本時,生成的腳本中存在亂碼該如何解決?
答案 : 錄制腳本前,打開錄制選項配置對話框Record-Options,進入到Advanced標簽,先勾選”Support charset”,然后選擇中支持UTF-8再次錄制,就不會出現中文亂碼問題了。
8、HTML-based script與URL-based script的腳本有什么區別?
答案: 使用”HTML-based script”的模式錄制腳本,VuGen為用戶的每個HTML操作生成單獨的步驟,這種腳本看上去比較直觀;使用”URL-based script”模式錄制腳本時,VuGen可以捕獲所有作為用戶操作結果而發送到服務器的HTTP請求,然后為用戶的每個請求分別生成對應方法。
通常,基于瀏覽器的Web應用會使用”HTML-based script”模式來錄制腳本;而沒有基于瀏覽器的Web應用、Web應用中包含了與服務器進行交互的Java Applet、基于瀏覽器的應用中包含了向服務器進行通信的JavaScript/VBScript代碼、基于瀏覽器的應用中使用了HTTPS安全協議,這時使用”URL-based script”模式進行錄制。
9、使用LoadRunner進行綜合場景測試,如何設置能夠使被測系統所受壓力減輕,請分別加以說明。
答案: 若使被測系統所受壓力減輕,可從如下方面進行綜合調解:
將測試腳本中think time值加大并在控制臺中按比例實現,此處think time指在transaction外部的時間;
Controller中Run-Time Setting的Pacing設置值加大;
虛擬用戶登錄時使用遞增策略,間隔稍長。
【軟件測試常見的筆試題目】相關文章:
關于軟件測試筆試題目10-10
軟件測試筆試題及答案05-17
軟件測試之綜合類筆試12-31
騰訊校招軟件測試筆試經驗08-25
軟件測試工程師筆試試題02-14
華為Java筆試題目02-08
采編記者筆試題目02-08
護士招聘筆試題目02-09
銷售崗位筆試題目06-30