【軟件測試 Python自動化】全網最全大廠面試題,看完之後你就是面試官!

前言

爲了讓你們更好的理解和學習投入到Python自動化來
找到一份好的資料也是學習過程當中,很是重要的一個點。你的檢索能力越強,你就會越容易找到最合適你的資料。python

有須要的小夥伴能夠複製羣號 313782132 這裏可免費領取!
程序員

暗號:博客。web

1、什麼是兼容性測試?兼容性測試側重哪些方面?

參考答案:面試

    • 兼容測試主要是檢查軟件在不一樣的硬件平臺、軟件平臺上是否能夠正常的運行,便是一般說的軟件的可移植性。數據庫

    • 兼容的類型,若是細分的話,有平臺的兼容,網絡兼容,數據庫兼容,以及數據格式的兼容。
      兼容測試的重點是,對兼容環境的分析。一般,是在運行軟件的環境不是很肯定的狀況下,才須要作兼容。根據軟件運行的須要,或者根據需求文檔,通常都可以得出用戶會在什麼環境下使用該軟件,把這些環境整理成表單,就得出作兼容測試的兼容環境了。瀏覽器

    • 兼容和配置測試的區別在於,作配置測試一般不是Clean OS 下作測試,而兼容測試可能是在Clean OS 的環境下作的。服務器

2、我如今有個程序,發如今Windows 上運行得很慢,怎麼判別是程序存在問題仍是軟硬件系統存在問題?

參考答案:微信

一、檢查系統是否有中毒的特徵;網絡

二、檢查軟件/硬件的配置是否符合軟件的推薦標準;數據結構

三、確認當前的系統是不是獨立,即沒有對外提供什麼消耗CPU 資源的服務;

四、若是是C/S 或者B/S 結構的軟件,須要檢查是否是由於與服務器的鏈接有問題,或者訪問有問題形成的;

五、在系統沒有任何負載的狀況下,查看性能監視器,確認應用程序對CPU/內存的訪問狀況。

 

3、測試的策略有哪些?

參考答案:

黑盒/白盒,靜態/動態,手工/自動,冒煙測試,迴歸測試,公測(Beta 測試的策略)

 

4、正交表測試用例設計方法的特色是什麼?

參考答案:

  • 用最少的實驗覆蓋最多的操做,測試用例設計不多,效率高,可是很複雜;

  • 對於基本的驗證功能,以及二次集成引發的缺陷,通常都能找出來;可是更深的缺陷,更復雜的缺陷,仍是無能爲力的;

  • 具體的環境下,正交表通常都很難作的。大多數,只在系統測試的時候使用此方法。

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

參考答案:
就是Bugzilla 的狀態轉換圖。

6、描述測試用例設計的完整過程?

參考答案:

需求分析+ 需求變動的維護工做;

根據需求得出測試需求;

設計測試方案,評審測試方案;

方案評審經過後,設計測試用例,再對測試用例進行評審

7、單元測試的策略有哪些?

參考答案:

邏輯覆蓋、循環覆蓋、同行評審、桌前檢查、代碼走查、代碼評審、景泰數據流分析
什麼是併發?在lordrunner 中,如何進行併發的測試?集合點失敗了會怎麼樣?

參考答案:
在同一時間點,支持多個不一樣的操做。
LoadRunner 中提供IP 假裝,集合點,配合虛擬用戶的設計,以及在多臺電腦上設置,能夠比較好的模擬
真實的併發。

集合點,便是多個用戶在某個時刻,某個特定的環境下同時進行虛擬用戶的操做的。集合點失敗,則集合
點的才操做就會取消,測試就不能進

8、QTP 中的Action 有什麼做用?有幾種?

參考答案:

Action 的做用:

 用Action 能夠對步驟集進行分組
 步驟重組,而後被總體調用
 擁有本身的sheet
 組合有相同需求的步驟,總體操做
 具備獨立的對象倉庫

Action 的種類:
 可複用Action
 不可複用Action
 外部Action

9、你所熟悉的軟件測試類型都有哪些?請試着分別比較這些不一樣的測試類型的區別與聯繫(如功能測試、性能測試……)?

參考答案:

Compatibility Testing(兼容性測試),也稱「Configuration testing(配置測試)」,兼容性測試是
將驗證軟件與其所依賴的環境的依賴程度,包括對硬件的依賴程度,對平臺軟件,其它軟件的依賴程度,來檢
查程序能正常的運行的測試

Functional testing (功能測試),也稱爲behavioral testing(行爲測試)或黑盒測試,根據產品特徵、操做描述和用
戶方案,測試一個產品的特性和可操做行爲以肯定它們知足設計需求。本地化軟件的功能測試,用於驗證應用
程序或網站對目標用戶能正確工做。使用適當的平臺、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,
就像應用程序是專門爲該市場開發的同樣。

Performance testing(性能測試),性能測試是指經過自動化的測試工具模擬多種正常、峯值以
及異常負載條件來對系統的各項性能指標進行測試

主要包括如下三個方面:

  • 應用在客戶端性能的測試

  • 應用在網絡上性能的測試和應用在服務器端

  • 性能的測試

10、測試活動中,若是發現需求文檔不完善或者不許確,怎麼處理?

參考答案:

應該當即和相關人員進行協調交流。

 

11、你認爲作好測試計劃工做的關鍵是什麼?

參考答案:

軟件測試計劃就是在軟件測試工做正式實施以前明確測試的對象,而且經過對資源、時間、風險、測試範
圍和預算等方面的綜合分析和規劃,保證有效的實施軟件測試;

作好測試計劃工做的關鍵:目的,管理,規範

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

參考答案:測試計劃、測試設計與開發、測試實施、測試評審與測試結論

十3、單元測試的主要內容?

模塊接口測試、局部數據結構測試、路徑測試、錯誤處理測試、邊界測試

十4、簡述集成測試與系統測試關係?

(1)集成測試的主要依據概要設計說明書,系統測試的主要依據是需求設計說明書;
(2)集成測試是系統模塊的測試,系統測試是對整個系統的測試,包括相關的軟硬件平臺、網絡以及相關外
設的測試。

十5、軟件系統中除用戶文檔以外,文檔測試還應該關注哪些文檔?

參考答案:

開發文檔
軟件需求說明書
數據庫設計說明書
概要設計說明書
詳細設計說明書
可行性研究報告
管理文檔
項目開發計劃
測試計劃
測試報告
開發進度月報
開發總結報告

十6、如何理解壓力、負載、性能測試測試?

參考答案:
性能測試是一個較大的範圍,實際上性能測試自己包含了性能、強度、壓力、負載等多方面的測試內
容。
壓力測試是對服務器的穩定性以及負載能力等方面的測試,是一種很日常的測試。

增大訪問系統的用戶數量、或者幾個用戶進行大數據量操做都是壓力測試。而負載測試是壓力相對較大的測試,主要是測試
系統在一種或者集中極限條件下的相應能力,是性能測試的重要部分。

100 個用戶對系統進行連續半個小時的訪問能夠看做壓力測試,那麼連續訪問8 個小時就能夠認爲負載測試,1000 個用戶連續訪問系統

1 個小時也能夠看做是負載測試。

實際上壓力測試和負載測試沒有明顯的區分。測試人員應該站在關注總體性能的高度上來對系統進行
測試。

十7、什麼是系統瓶頸?

參考答案:

瓶頸主要是指整個軟硬件構成的軟件系統某一方面或者幾個方面能力不能知足用戶的特定業務要求,
「特定」是指瓶頸會在某些條件下會出現,由於畢竟大多數系統在投入前。

嚴格的從技術角度講,全部的系統都會有瓶頸,由於大多數系統的資源配置不是協調的,例如CPU 使
用率恰好達到100%時,內存也正好耗盡的系統不是不少見。

所以咱們討論系統瓶頸要從應用的角度討論:關鍵是看系統可否知足用戶需求。在用戶極限使用系統的狀況下,系統的響應仍然正常,咱們能夠認爲改系統沒有瓶頸或者瓶頸不會影響用戶工做。

所以咱們測試系統瓶頸主要是實現下面兩個目的:

-發現「表面」的瓶頸。主要是模擬用戶的操做,找出用戶極限使用系統時的瓶頸,而後解決瓶頸,這是性
能測試的基本目標。
-發現潛在的瓶頸並解決,保證系統的長期穩定性。主要是考慮用戶在未來擴展系統或者業務發生變化時,
系統可以適應變化。知足用戶目前需求的系統不是最好的,咱們設計系統的目標是在保證系統整個軟件
生命週期可以不斷適應用戶的變化,或者經過簡單擴展系統就能夠適應新的變化。

十8、文檔測試主要包含什麼內容?

參考答案:

在國內軟件開發管理中,文檔管理幾乎是最弱的一項,於是在測試工做中特別容易忽略文檔測試也就
不足爲奇了。要想給用戶提供完整的產品,文檔測試是必不可少的。文檔測試通常注重下面幾個方面:
文檔的完整性:主要是測試文檔內容的全面性與完整性,從整體上把握文檔的質量。例如用戶手冊應
該包括軟件的全部功能模塊。

描述與軟件實際狀況的一致性:主要測試軟件文檔與軟件實際的一致程度。例如用戶手冊基本完整
後,咱們還要注意用戶手冊與實際功能描述是否一致。由於文檔每每跟不上軟件版本的更新速度。
易理解性:主要是檢查文檔對關鍵、重要的操做有無圖文說明,文字、圖表是否易於理解。對於關
鍵、重要的操做僅僅只有文字說明確定是不夠的,應該附有圖表使說明更爲直觀和明瞭。

文檔中提供操做的實例:這項檢查內容主要針對用戶手冊。對主要功能和關鍵操做提供的應用實例是
否豐富,提供的實例描述是否詳細。只有簡單的圖文說明,而無實例的用戶手冊看起來就像是軟件界面的
簡單拷貝,對於用戶來講,實際上沒有什麼幫助。

印刷與包裝質量:主要是檢查軟件文檔的商品化程度。有些用戶手冊是簡單打印、裝訂而成,過於粗
糙,不易於用戶保存。優秀的文檔例如用戶手冊和技術白皮書,應提供商品化包裝,而且印刷精美。

十9、功能測試用例須要詳細到什麼程度纔是合格的?

參考答案:
這個問題也是測試工程師常常問的問題。有人主張測試用例詳細到每一個步驟執行什麼都要寫出來,目
的是即便一個不瞭解系統的新手均可以按照測試用例來執行工做。

主張這類寫法的人還能夠舉出例子:

歐美、日本等軟件外包文檔都是這樣作的。另一種觀點就是主張寫的粗些,相似於編寫測試大綱。

主張這種觀點的人是由於軟件開發需求管理不規範,變更十分頻繁,於是不能按照歐美的高標準來編寫測試用例。這樣的測試用例容易維護,可讓測試執行人員有更大的發揮空間。

實際上,軟件測試用例的詳細程度首先要以覆蓋到測試點爲基本要求。舉個例子:「用戶登錄系統」
的測試用例能夠不寫出具體的執行數據,可是至少要寫出五種以上狀況(),若是隻用一句話覆蓋了這個
功能是不合格的測試用例。覆蓋功能點不是指列出功能點,而是要寫出功能點的各個方面(若是組合狀況
較多時能夠採用等價劃分)。

另外一個影響測試用例的就是組織的開發能力和測試對象特色。若是開發力量比較落後,編寫較詳細的
測試用例是不現實的,由於根本沒有那麼大的資源投入,固然這種狀況很隨着團隊的發展而逐漸有所改
善。測試對象特色重點是指測試對象在進度、成本等方面的要求,若是進度較緊張的狀況下,是根本沒有
時間寫出高質量的測試用例的,甚至有些時候測試工做只是一種輔助工做,於是不編寫測試用例。

所以,測試用例的編寫要根據測試對象特色、團隊的執行能力等各個方面綜合起來決定編寫策略。最
後要注意的是測試人員必定不能抱怨,力爭在不斷提升測試用例編寫水平的同時,不斷地提升自身能力。

# 二10、配置和兼容性測試的區別是什麼?

參考答案:
配置測試的目的是保證軟件在其相關的硬件上可以正常運行,而兼容性測試主要是測試軟件可否與不一樣的
軟件正確協做。

配置測試的核心內容就是使用各類硬件來測試軟件的運行狀況,通常包括:
(1)軟件在不一樣的主機上的運行狀況,例如Dell 和Apple;
(2)軟件在不一樣的組件上的運行狀況,例如開發的撥號程序要測試在不一樣廠商生產的Modem 上的運行情
況;
(3)不一樣的外設;
(4)不一樣的接口;
(5)不一樣的可選項,例如不一樣的內存大小;
兼容性測試的核心內容:
(1)測試軟件是否能在不一樣的操做系統平臺上兼容;
(2)測試軟件是否能在同一操做系統平臺的不一樣版本上兼容;
(3)軟件自己可否向前或者向後兼容;
(4)測試軟件可否與其它相關的軟件兼容;
(5)數據兼容性測試,主要是指數據可否共享;

配置和兼容性測試通稱對開發系統類軟件比較重要,例如驅動程序、操做系統、數據庫管理系統等。具
體進行時仍然按照測試用例來執行。

二11、軟件文檔測試主要包含什麼?

參考答案:

隨着軟件文檔系統日益龐大,文檔測試已經成爲軟件測試的重要內容。文檔測試對象主要以下:

-包裝文字和圖形;
-市場宣傳材料、廣告以及其它插頁;
-受權、註冊登記表;
-最終用戶許可協議;
-安裝和設置嚮導;
-用戶手冊;
-聯機幫助;
-樣例、示範例子和模板;
-……

文檔測試的目的是提升易用性和可靠性,下降支持費用,由於用戶經過文檔就能夠本身解決問題。因文
檔測試的檢查內容主要以下:

-讀者對象——主要是文檔的內容是否能讓該級別的讀者理解;
-術語——主要是檢查術語是否適合讀者;
-內容和主題——檢查主題是否合適、是否丟失、格式是否規範等;
-圖標和屏幕抓圖——檢查圖表的準確度和精確度;
-樣例和示例——是否與軟件功能一致;
-拼寫和語法;
-文檔的關聯性——是否與其它相關文檔的內容一致,例如與廣告信息是否一致;
文檔測試是至關重要的一項測試工做,不但要給予充分的重視,更要要認真的完成,象作功能測試同樣來對待
文檔測試。

二12、沒有產品說明書和需求文檔地狀況下可以進行黑盒測試嗎?

參考答案:

這個問題是國內測試工程師常常遇到的問題,根源就是國內軟件開發文檔管理不規範,對變動的管理
方法就更不合理了。
實際上沒有任何文檔的時候,測試人員是可以進行黑盒測試的,這種測試方式咱們可
以稱之爲探索測試,具體作法就是測試工程師根據本身的專業技能、領域知識等不斷的深刻了解測試對
象、理解軟件功能,進而發現缺陷。

在這種作法基本上把軟件當成了產品說明書,測試過程當中要和開發人員不斷的進行交流。尤爲在做項
目的時候,進度壓力比較大,能夠做爲加急測試方案。最大的風險是不知道有些特性是否被遺漏。

二十3、測試中的「殺蟲劑怪事」是指什麼?

參考答案:

「殺蟲劑怪事」一詞由BorisBeizer 在其編著的《軟件測試技術》第二版中提出。用於描述測試人員
對同一測試對象進行的測試次數越多,發現的缺陷就會愈來愈少的現象。就像老用一種農藥,害蟲就會有
免疫力,農藥發揮不了效力。

這種現象的根本緣由就是測試人員對測試軟件過於熟悉,造成思惟定勢。

爲了克服這種現象,測試人員須要不斷編寫新的測試程序或者測試用例,對程序的不一樣部分進行測
試,以發現更多的缺陷。也能夠引用新人來測試軟件,剛剛進來的新手每每能發現一些意想不到的問題。

二十5、在配置測試中,如何判斷髮現的缺陷是普通問題仍是特定的配置問題?

參考答案:

在進行配置測試時,測試工程師仍然會發現一些普通的缺陷,也就是與配置環境無關的缺陷。所以判
斷新發現的問題,須要在不一樣的配置中從新執行發現軟件缺陷的步驟,若是軟件缺陷不出現了,就多是
配置缺陷;若是在全部的配置中都出現,就多是普通缺陷。
須要注意的是,配置問題能夠在一大類配置中出現。例如,撥號程序可能在全部的外置Modem 中都存
在問題,而內置的Modem 不會有任何問題。

二十6、爲何儘可能不要讓時間有富裕的員工去作一些測試?

參考答案:

表面上看這體現了管理的效率和靈活性,但實際上也體現了管理者對測試的輕視。測試和測試的人有
很大關係。測試工做人員應該是勤奮並富有耐心,善於學習、思考和發現問題,細心有條理,總結問題,
若是具有這樣的優勢,作其它工做一樣也會很出色,所以這裏還有一個要求,就是要喜歡測試這項工做。

若是他是專職的,那麼確定更有經驗和信心。國內的小夥子好象都喜歡作程序員,二者工做性質不一樣,待
遇不一樣,地位不一樣,對自我實現的價值的認識也不一樣,這是行業的一個須要改善的問題。若是隻是爲了完
成任務而完成任務,或者發現了幾個問題就以爲滿意了,這在任何其它工做中都是不行的。

二十7、軟件測試的風險主要體如今哪裏?

參考答案:

咱們沒有對軟件進行徹底測試,實際就是選擇了風險,由於缺陷極有可能存在沒有進行測試的部分。

舉個例子,程序員爲了方便,在調試程序時會彈出一些提示信息框,而這些提示只在某種條件下會彈出,
碰巧程序發佈前這些代碼中的一些沒有被註釋掉。在測試時測試工程師又沒有對其進行測試。若是客戶碰
到它,這將是代價昂貴的缺陷,由於交付後才被客戶發現。

所以,咱們要儘量的選擇最合適的測試量,把風險下降到最小。

二十8、發現的缺陷越多,說明軟件缺陷越多嗎?

參考答案:

這是一個比較常見的現象。測試工程師在沒有找到缺陷前會絞盡腦汁的思考,可是找到一個後,會接
二連三的發現不少缺陷,很有我的成就感。其中的緣由主要以下:

-代碼複用、拷貝代碼致使程序員容易犯相同的錯誤。類的繼承致使全部的子類會包含基類的錯誤,反覆
拷貝同一代碼意味可能也複製了缺陷。

-程序員比較勞累是能夠致使某些連續編寫的功能缺陷較多。程序員加班是一種司空見慣的現象,所以體
力不僅時容易編寫一些缺陷較多的程序。而這些連續潛伏缺陷偏偏時測試工程師大顯身手的地方。

「缺陷一個連着一個」不是一個客觀規律,只是一個常見的現象。若是軟件編寫的比較好,這種現象
就不常見了。測試人員只要嚴肅認真的測試程序就能夠了。

二十9、發現的缺陷越多,說明軟件缺陷越多嗎?

參考答案:

這是一個比較常見的現象。測試工程師在沒有找到缺陷前會絞盡腦汁的思考,可是找到一個後,會接
二連三的發現不少缺陷,很有我的成就感。其中的緣由主要以下:

-代碼複用、拷貝代碼致使程序員容易犯相同的錯誤。類的繼承致使全部的子類會包含基類的錯誤,反覆
拷貝同一代碼意味可能也複製了缺陷。

-程序員比較勞累是能夠致使某些連續編寫的功能缺陷較多。程序員加班是一種司空見慣的現象,所以體
力不僅時容易編寫一些缺陷較多的程序。而這些連續潛伏缺陷偏偏時測試工程師大顯身手的地方。

「缺陷一個連着一個」不是一個客觀規律,只是一個常見的現象。若是軟件編寫的比較好,這種現象
就不常見了。測試人員只要嚴肅認真的測試程序就能夠了。

 

三10、全部的軟件缺陷都能修復嗎?全部的軟件缺陷都要修復嗎?

參考答案:

從技術上講,全部的軟件缺陷都是可以修復的,可是沒有必要修復全部的軟件缺陷。測試人員要作的
是可以正確判斷何時不能追求軟件的完美。對於整個項目團隊,要作的是對每個軟件缺陷進行取
舍,根據風險決定那些缺陷要修復。發生這種現象的主要緣由以下:

-沒有足夠的時間資源。在任何一個項目中,一般狀況下開發人員和測試人員都是不夠用的,並且在
項目中沒有預算足夠的迴歸測試時間,再加上修改缺陷可能引入新的缺陷,所以在交付期限的強大壓力
下,必須放棄某些缺陷的修改。

-有些缺陷只是特殊狀況下出現,這種缺陷處於商業利益考慮,能夠在之後升級中進行修復。

-不是缺陷的缺陷。咱們常常會碰到某些功能方面的問題被當成缺陷來處理,這類問題能夠之後有時
間時考慮再處理。

最後要說的是,缺陷是否修改要由軟件測試人員、項目經理、程序員共同討論來決定是否修復,不一樣
角色的人員從不一樣的角度來思考,以作出正確的決定。

若是你

①從事功能測試,想進階自動化測試

②在測試界混了一、2年,依然不會敲代碼

③面試大廠卻屢屢碰壁

我邀你進羣吧!來吧~~測試員,313782132(Q羣裏有技術大牛一塊兒交流分享,學習資源的價值取決於你的行動,莫作「收藏家」)獲取更多大廠技術、面試資料

若是對python自動化測試、web自動化、接口自動化、移動端自動化、面試經驗交流等等感興趣的測試人,能夠關注微信公衆號:【傷心的辣條】,獲取軟件測試工程師大廠面試資料!

最後:

凡事要趁早,特別是技術行業,必定要提高技術功底,豐富自動化項目實戰經驗,這對於你將來幾年職業規劃,以及測試技術掌握的深度很是有幫助。

相關文章
相關標籤/搜索