【12】進大廠必須掌握的面試題-持續測試面試

Java架構師社群發表於2020-10-21

Q1。什麼是連續測試?

我將建議您遵循以下提到的解釋:
連續測試是作為軟體交付管道的一部分執行自動測試的過程,以獲得與最新版本相關的業務風險的即時反饋。這樣,每個構建都將得到持續測試,從而使開發團隊能夠快速獲得反饋,從而可以防止這些問題發展到軟體交付生命週期的下一個階段。由於無需手動重建專案並在進行更改後重新執行所有測試,因此,這極大地加快了開發人員的工作流程。

Q2。什麼是自動化測試?

自動化測試或測試自動化是使手動過程自動化以測試被測應用程式/系統的過程。自動化測試涉及使用單獨的測試工具,使您可以建立可重複執行且不需要任何手動干預的測試指令碼。

Q3。 自動化測試的好處是什麼?

我列出了自動化測試的一些優點。將這些內容包含在您的答案中,您可以新增自己的經驗,瞭解持續測試如何幫助您之前的公司:

  • 支援重複測試用例的執行
  • 幫助測試大型測試矩陣
  • 啟用並行執行
  • 鼓勵無人值守的執行
  • 提高準確性,從而減少人為錯誤
  • 節省時間和金錢

Q4。如何在DevOps生命週期中自動化測試?

我在下面提到了一個通用流程,您可以在其中參考:
在DevOps中,開發人員必須將對原始碼所做的所有更改提交到共享儲存庫。每次更改程式碼後,Jenkins等持續整合工具都會從此共享儲存庫中提取程式碼,並將其部署到由Selenium等工具完成的持續測試中,如下圖所示。
這樣,與傳統方法不同,可以連續測試程式碼中的任何更改。

自動化測試-devops面試問題

Q5。為什麼連續測試對DevOps很重要?

您可以這樣回答這個問題:“連續測試允許立即對程式碼中所做的任何更改進行測試。這樣可以避免由於在週期結束時進行“大爆炸”測試而產生的問題,例如釋出延遲和質量問題。這樣,連續測試有助於更頻繁,更優質的釋出。”

Q6。連續測試工具的關鍵要素是什麼?

連續測試的關鍵要素是:

  • 風險評估:涵蓋風險緩解任務,技術債務,質量評估和測試覆蓋率優化,以確保構建準備好進行到下一個階段。
  • 策略分析:確保所有流程與組織不斷髮展的業務保持一致,並滿足合規性要求。
  • 需求可追溯性:它確保滿足真正的需求並且不需要返工。物件評估用於確定哪些需求處於危險之中,按預期工作或需要進一步驗證。
  • 高階分析:它在諸如靜態程式碼分析,變更影響分析和範圍評估/優先順序等領域中使用自動化,以首先防止缺陷並在每次迭代中完成更多工作。
  • 測試優化:確保測試產生準確的結果並提供可行的結果。方面包括測試資料管理,測試優化管理和測試維護
  • 服務虛擬化:確保訪問真實的測試環境。通過服務視覺化,可以訪問所需測試階段的虛擬形式,從而減少了浪費時間來測試環境設定和可用性。

Q7。您喜歡哪種測試工具,該工具有什麼好處?

在這裡提及您使用過的測試工具,並據此來制定答案。我在下面提到一個示例:
我致力於Selenium,以確保高質量和更頻繁地釋出。

硒的一些優點是:

  • 它是免費和開源的
  • 它擁有龐大的使用者群併為社群提供幫助
  • 它具有跨瀏覽器相容性(Firefox,Chrome,Internet Explorer,Safari等)。
  • 它具有出色的平臺相容性(Windows,Mac OS,Linux等)
  • 它支援多種程式語言(Java,C#,Ruby,Python,Pearl等)
  • 它具有新的定期儲存庫開發
  • 它支援分散式測試

Q8。Selenium支援哪些測試型別?

Selenium支援兩種型別的測試:
迴歸測試:它是在修復了錯誤的區域附近對產品進行重新測試的行為。
功能測試:指單獨測試軟體功能(功能點)。

Q9。什麼是Selenium IDE?

我的建議是通過定義Selenium IDE來開始這個答案。它是Selenium指令碼的整合開發環境。它被實現為Firefox擴充套件,並允許您記錄,編輯和除錯測試。Selenium IDE包含整個Selenium Core,使您可以輕鬆,快速地記錄和回放將在其執行的實際環境中進行的測試。現在,您的答案中將
包含一些優點。藉助自動完成支援和快速移動命令的能力,Selenium IDE是建立Selenium測試的理想環境,無論您喜歡哪種測試樣式。

Q10。Selenium中的Assert和Verify命令有什麼區別?

我在下面提到了“宣告”和“驗證”命令之間的區別:

  • 斷言命令檢查給定條件是對還是錯。假設我們斷言給定元素是否存在於網頁上。如果條件為真,則程式控制元件將執行下一個測試步驟。但是,如果條件為假,則執行將停止並且不會執行進一步的測試。
  • 驗證命令還會檢查給定條件是對還是錯。不管條件是對還是假,程式的執行都不會停止,即驗證過程中的任何失敗都不會停止執行,並且所有測試步驟都將被執行。

Q11。如何使用WebDriver啟動瀏覽器?

可以使用以下語法啟動瀏覽器:

WebDriver driver = new FirefoxDriver();
WebDriver driver = new ChromeDriver();
WebDriver driver = new InternetExplorerDriver();

Q12。什麼時候應該使用Selenium Grid?

對於這個答案,我的建議是給Selenium Grid一個小的定義。它可用於在多個平臺和瀏覽器上同時執行相同或不同的測試指令碼,以實現分散式測試執行。這允許在不同環境下進行測試,並顯著節省執行時間。

歡迎關注 Java架構師社群公眾號.
本文轉載自Java架構師必看 ,更多內容點選檢視!

相關文章