自動化測試架構師(技術專家)面試100+題

自動化測試架構師(技術專家)面試100+題

對於有志要朝向自動化測試技術專家或是測試架構師發展,

筆者建議透過不同專案上的歷練累積經驗,

這篇文章廣泛的列出關於自動化測試的實務與面試考題,

可以透過這 100題客觀的自我檢視,自我衡量還有哪些主題可以繼續專研。

技術專家與架構師

未來會有越來越多 “技術專家” 或是測試”架構師”的需求,

因為軟體發展的複雜度,因為技術成長的驅動都需要技術專家與架構師,

因此許多公司,特別是大型有規模的公司都會有雙軌制,管理職或是技術職的發展方向,

針對自動化測試架構師 or 自動化測試技術專家需要懂哪些呢?

這篇文章舉 100+面試與實務考題,供讀者客觀的自我檢視。

紅色是筆者認為更普遍與常見的題目,不管在實務上或是面試上。

如果不會回答時,可以試著回覆…?

不會回答分為幾種情況

情境1. 知道但是沒有用過

例如,”Selenium RC”,知道但是沒有用過。其實非常常見與正常,

( Selenium RC的架構是上一代的架構,已經過時)

這種情況可以說明:

  • 自己的 Selenium RC的認知
  • 為什麼不採用 Selenium RC的原因
  • 進一步說明自己會採用的架構或是建議的架構為何?

情境2: 大概知道但是沒有用過

例如:ClickAndWait 與WaitFor的差異?

這種情況可以說明:

  • 特定指令使用的差異我可以查一下技術文件,如果可以會後再寄相關參考資料給您?
  • (接著試著將問題再拉高一個層次回答)
  • 如果我的認知沒有錯誤,相關 “wait”的處理,主要解決的問題是 ……..
  • 為了解決自動化測試 ……的問題,所以通常會使用 ……..,我的經驗是……..
  • 建議這樣的情況……..可以採用 ………..

情境3: 完全沒有頭緒

如果真的沒有頭緒怎麼辦?

例如:請問 “Page Object”您的使用經驗?

  • 可以據實回答使用經驗。”我並沒有使用過 Page Object,但是我相信我或許用其他方式來解決問題。如果可以,可否交流與請教團隊上目前使用 Page Object主要要解決的問題領域為何?”

這篇不是要強調將自己不會的變成會的。

這邊要強調的是如何進行進一步的交流。而不只是單純的回答 “我不知道”

據實回答自己的使用經驗與認知來做交流,當作是一場技術交流之旅也是一種學習。

Selenium的綜合性認知

  1. What do you know about Selenium? How long you are working with Selenium and what version?
  2. What are the technical challenges that you faced with selenium?
  3. What are the test types supported by Selenium?
  4. Does Selenium support mobile internet testing?
  5. Does Selenium support Google Android Operating System? What mobile devices it may support?
  6. What is Selenese?
  7. How do you connect Database from selenium?
  8. What test can Selenium do?
  9. What is difference between QTP and Selenium?
  10. What are the types of text patterns available in Selenium?
  11. What are the disadvantages of using Selenium as testing tool?
  12. How do you handle the secured connection error in HTTPS?
  13. List the browsers, OS supported by the Selenium
  14. Does selenium support flex? How does it understand those objects?
  15. When you have selenium issues, what approach you take to resolve it?
  16. What langugaes are supported for the selenium development?
  17. Name 5 different exceptions you had in selenium webdriver and mention what instance you got it and how do you resolve it?
  18. How will you execute your login script using chrome browser from your editor using selenium?
  19. How do you create html test report from your test script?
  20. How do you manage the code versions in your project?
  21. What are the other tools that you have used to successfully implement selenium in your project and for what as well?
  22. Have you worked in Maven, Junit, TestNG?
  23. How to use regular expressions in Selenium?
  24. I like to know all the methods supported in webdriver and its syntax. Where do you think you can find it?

Selenium IDE 的使用

  1. What are the capabilities of Selenium IDE?
  2. What are the challenges with Selenium IDE?
  3. Which are the browsers supported by Selenium IDE?
  4. How to execute a single line command from Selenium IDE?
  5. How to insert a break point in Selenium IDE?
  6. How to debug the tests in Selenium IDE?
  7. How to export the tests from Selenium IDE to Selenium RC/WebDriver in different languages?
  8. How to export Selenium IDE Test Suite to Selenium RC Suites?
  9. Which is the command used for displaying the values of a variable into the output console or log?
  10. What are the limitations of Selenium IDE
  11. Which wildcards does SIDE support?
  12. If a Selenium function requires a script argument, what would that argument look like in general terms?
  13. If a Selenium function requires a pattern argument, what prefixes might that argument have?
  14. What is the difference between an assert and a verify with Selenium commands?
  15. Difference between waitFor and pause commands ?
  16. How to take snapshot using IDE?
  17. How to pass data when rerunning scripts in IDE?

 

Selenium RC 與 Selenium WebDriver

  1. What is Selenium RC?
  2. Why Selenium RC is used?
  3. Which are the browsers supported by Selenium RC?
  4. How to configure Selenium RC with eclipse to run Junit Tests?
  5. Which is the command used for running the Selenium RC Server?
  6. How do you run selenium commands in slow motion in Selenium RC?
  7. What is the difference between Thread.Sleep() and Selenium.setSpeed()?
  8. What are the challenges with Selenium RC test suites when running in JUnit?
  9. Can we handle pop-ups in RC ?
  10. How will you find a specific text available in a page?
  11. How does webdriver identifies UI Elements?
  12. What tools – do you use to identify the Xpath?
  13. How Selenium Grid works?
  14. What are the capabilities of Selenium WebDriver ?
  15. What is selenium Server default port number?
  16. What is new about Selenium 2 vs Selenium 1?

自動化測試的一些個案情境

  1. How do you select second value from a drop down menu ?
  2. Which Selenium command(s) simulates clicking a link?
  3. How to scroll the webpage using webdriver?
  4. How to set focus on an object?
  5. Write a sample code to run a javascript using webdriver code?
  6. How to find the present URL on the application?
  7. How to find the number of browsers opened by selenium?
  8. Write a sample code to forcibly close all open browsers
  9. How will you simulate a keyboard action using webdriver? Write a sample code to perform browser refresh
  10. Difference between click and clickandwait statements?
  11. How to run the selenium webdriver scripts in the background? Write a sample code to perform that action.
  12. I am getting “Unable to bind to locking port 7054” . What does that mean?
  13. I have a hidden webelement in a page and like to get the static text. How to do that?
  14. How do I know when a page has finished loading?
  15. How do you handle secured connection error in HTTPS ?
  16. Does WebDriver support file uploads?
  17. I got an unexpected pop up error in my screen, how will you handle in your script?
  18. Have you worked in Ajax? What kind of challenges you have faced during web Ajax and how did you overcome?
  19. How to click an element which resides in a frame? Sample code pls
  20. Desired capabilities and Actual capabilities – What are the differences and how do you use them?
  21. I have to find the color of a specific text. How can I do that?
  22. I need to find each href of all links in a page. How do you do that?
  23. Difference between webdriver and remotewebdriver?
  24. How will you handle the untrusted SSL certificates?
  25. I have a table with 8 rows and 4 columns and I need to read all data from the table. How will you do?
  26. I have menu -> menu item -> child menu item and all works by the mouse over. How will you perform the operation?
  27. I like compare images between 2 browsers. How will you do that?
  28. Write a program tp find the count of number of edit fields in a page.
  29. When running in hub, I have set my desired capabilities for my script to run in IE 8 and but there is no exact matching capabilities.  What will happen?
  30. I like to drag drop several data from one place to another. How shall I do that?
  31. When I start my firefox driver, I like to have the home page is loaded as my project URL . How do I do that without using
    get method?

自動化測試進階主題?

  1. Difference between implicit and explicit wait. When will you use what?
  2. Have you worked in Page Factory? When did you use it?
  3. How will you identify the ip address of the machine that is running your specific script in selenium grid?
  4. Write selenium webdriver code to kill the browser when it is not responding?
  5. How will you perform mouse click using htmlunitdriver?
  6. I have 2 firefox versions in my machine. Write a code to open the older version of firefox in my machine?
  7. Write a code to know if there is a valid chrome installed in a specific machine?
  8. How to get the page source using webdriver?
  9. Write webdriver code to resize my browser to full screen?
  10. How will you compare objects size between 2 different browsers say firefox and chrome?
  11. I have to fetch a data from IE and copy that text in chrome browser. How will you do that?
  12. When i start my driver script, I wish to do the following in pre-script.. how do i do that?
  13. Close all browsers
  14. Clean up all cookies
  15. Delete my registration data that i will use in my database
  16. Create a new report for today’s date and time folder
  17. Launch my application

自動化測試的環境準備

  1. Given that i have 4 parallel execution of 300 scripts in all; these browsers and OS, how will you plan that action.
  2. OS – MAC, Linux, Windows
  3. Browsers – Chrome, Firefox
  4. Not more than 2 browsers at a machine.
  5. Write a method to find the hours, mins and seconds from seconds
    g. 3665 should return output 1 hr 1 min and 5 seconds
  6. Write a simple method for addition?
  7. Write a code to create a new xls with 2 sheets by name “Sheet 1” and “Sheet 2” write a code to fetch the data from xls on column 8, row 3
  8. How will you read a pdf content and confirm the data matches that in the web page?
    Why is Java platform/OS independent ?

自動化測試的特殊情境處理

  1. Have you used collections in your code ?
  2. What is the difference between Implicit and Explicit wait ?
  3. Write any sample code — Fibonacci series …
  4. I have three unique buttons in my page.(Display names are different). The internal ID & Name changes on every page load. I need to click on each button in sequence.
  5. What is This keyword? Have you used in your code.
  6. What is Interface?
  7. Diff b/w Interface & Abstraction?
  8. About Static ?
  9. how to call static method?
  10. how to click the 6th element in webpage – webdriver, but elements not in one frame…
  11. how to handle alerts
  12. code to retrieve data from excel
  13. code to take snapshot
  14. I need to click on each button in sequence. How?
  15. How to perform ‘Right click on a web page’ and get “page source”
  16. I like to know all the methods supported in webdriver and its syntax. Where do you think you can find it?
  17. How to identify the color of the text using selenium web driver?
  18. If a Selenium function requires a pattern argument, what prefixes might that argument have?
  19. I need to Crap all the content for all Tag , how do i get only the content values from source page. Please execute below code you ill get the all HTML source but i need only content of ll tags. how can i get it ?
  20. When you want to use mouse X,Y coordinate function?
  21. What kind of Frame work using in your organization..?
  22. Explain about your framework architecure..?
  23. . Where did you stored all kind of xpaths in your framework..?
  24. . What is the HUB & Node..?
  25. . How do you run your test using a framework..?
  26. . Write the xpath..?
  27. . How to handle alerts using web driver..?
  28. How to identify two fields(Radio button) in a page with same id..?
  29. . How to write a xpaths for Dynamic web pages..? (like facebook status, Filpakarts)
  30. . Junit – how do you used in projects..?
  31. How do you handle popup windows in your projects..?

 

最後…

可以看到這裡的讀者表示您對自動化測試有一定的熱情,

必且是現職的測試架構師或是有心想要朝向這個目標發展,

如果對上述的問題想要了解或是交流歡迎留言給我。

是不是要全部回答才能勝任測試架構師? No!!

自動化測試的領域很廣,上述的問題技術集中在於 Selenium + Java的解決方案,

再進一步跳脫這個技術,再往上一層概念性的思考,更重要的是為什麼選用這樣的技術?

選擇 Selenium + Java 不選擇其他技術的原因跟限制為何?

這些是筆者認為更重要的,而不是被這些技術牽著走。

工具技術會改變,但是這個專業領域試圖要解決的問題核心不變。

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *