跟讀練習: QA Automation Engineer Technical Interview questions and answers - 通過影片學習英語口語

選擇練習模式

每種模式都會開啟全屏練習室。

195 句
如果句子過短或過長,請點選 Edit 進行調整。
1
UA Automation Engineer Technical Interview Questions.
2
That's what you guys have been asking about for a while in a previous YouTube video.
3
So what I'm going to do is I'm going to answer
4
10 the most popular technical UA Automation Engineer interview questions for you, so you will know how the person with a 12 years experience would get those done.
5
But I'm going to answer it only for those folks who will hit that big fat thumb up button below right now,
6
who will subscribe to our channel and also join our Instagram and Telegram communities.
7
Links to each you can find right here.
8
Now, let me quickly introduce myself and then we're gonna get started.
9
My name is Sergei Kromchenko.
10
I'm a Software QA Engineer Lead Manager and a Senior Engineer Manager of SDAP in the past, but these days I'm helping people like Q to become a QA Engineer from scratch
11
or to improve your existing skills as a founder and a main mentor of Cognify.
12
Now, let's get into it.
13
Question number one.
14
What are the best candidates for the test automation?
15
Or, which test cases would you automate first?
16
Well, you should always think about why are you automating things?
17
Number one, because you want to get rid of a huge amount of manual job, right?
18
You want to get rid of that chunk of the job.
19
And how do you do that?
20
You automate the most repetitive tests.
21
Those tests that you run on a daily basis, every single day or as often as possible.
22
And those are usually regression tests.
23
So very first candidate is regression suite.
24
Number two, you should always think about a business logic.
25
What is the most important for your business?
26
And number three, you guys should always think, what is the most challenging or difficult test to be automated?
27
So you could take it and automate it so you wouldn't have to do it manually over and over again.
28
Those would be the best candidates for a test automation.
29
Question number two, what is a page object and how do you implement it?
30
Well, first thing first, page object is a programming design pattern.
31
It speaks for itself.
32
Page object model.
33
So we grab a page from the user interface that looks like this and we put it in terms of code.
34
We pretty much translate it into code where we create all of the elements such as buttons,
35
links, text fields, etc. And we put those in a class or object.
36
And we create helper methods such as login, such as logout, such as register.
37
So instead of you manually clicking navigate to login page, you clicking on the username, typing in your username, clicking on a password,
38
typing in your password, you create one method or a function called login
39
and you simply copy paste it in multiple places where you need to use it.
40
So this is a page object model.
41
That's why it's called page object because we're creating a copy, an object that looks like the page but in terms of code
42
and we can later reuse it
43
and how do you implement it well i kind of partially already described it you take your page
44
that looks like this where all of the selectors
45
or locators are visible and you would convert it to something
46
that looks like this where it's pretty much a human readable language
47
and by the way if you guys are interested in learning automation
48
and in going through up to 84 rounds of interview preparation throughout three months
49
and a half test automation course i'm actually hosting one at CodeMify.
50
So, if you're interested, I'm going to leave a link right below this video.
51
Let's continue.
52
Question number three.
53
And this one will mostly be related to Selenium WebDriver versus Cypress and Playwright.
54
Because implicit and explicit weight is something
55
that is already automatically taken off in most cases for playwright
56
and a cypress but in the selenium
57
or selenium based frameworks you will still need to worry about it implicit
58
and explicit weights what are they implicit weight is a weight
59
for the particular amount of time where we say hey wait for this locator
60
or this selector for as long as that
61
so what it's going to do web driver is going to be waiting for
62
that element to appear on the page
63
and constantly checking for it as soon as it appears on a page you will not look for it anymore
64
so it's not a hard it's not a threat sleep in java
65
or pause in cypress it's implicit weight explicit weight on the other hand will wait for very similar thing
66
but you wait for that element to be either clickable or visible or at etc. for a different status of that element,
67
not simply for it to appear on a DOM.
68
How do you handle dynamic or constantly changing elements?
69
That's a good question.
70
Number one, you find a static one, you find a one that doesn't change.
71
And you can build the path, you can use the X path, but I would recommend you to simply build a path from the parent or grandparent into child, whatever is unique.
72
If, or I would say, it's not even if, it's in every single case where you have issues with selectors or elements.
73
You should talk to your development team so software developers would add actionable elements
74
or they would add static IDs for every single actionable item on the page.
75
And what do you mean by that?
76
Buttons, links, text fields, anything that you can click and will do something on a page is an actionable item.
77
So every one of them should have some static, some test ID or whatever you want to call it, whatever want to call the attribute should have unique and static
78
value or an attribute so you could use it in your test automation that's the first thing
79
that you should always do when you join a company
80
and you see that they do not have anything static
81
and everything is dynamic level two answer to this question is
82
you actually do the job you ask hey can i get access to the ui repo
83
so i could start adding hooks or attributes for my test automation And if you can do so, or if they can teach you to do so,
84
you're going to get a raise in the near future, trust me, if you decide to do so.
85
How do you organize your test cases to ensure good coverage and easy maintenance?
86
Well, you could use some of the design patterns.
87
For example, page object model.
88
It will keep your tests well organized, structured, and somewhat scalable different programming patterns that you can use for your code,
89
but this is one of the most popular ones in the world.
90
Still, as of now, there are quite a few new ones coming in the world of JS, TS and quickly spreading into different frameworks and languages,
91
but regardless, page object model is the most popular one.
92
So, you will keep all of the tasks in a feature-like base or in a module-based structure,
93
and you will keep your tests maintainable as you will keep all of the locators
94
and helper methods in the particular pages that are easy to understand for the new people that join your company.
95
And how do you keep a good track of what is automated, what's not?
96
Well, you should always think of the traceability matrix.
97
That's the place where you kinda can know what's already automated or not.
98
And also, there are quite a few reporters that can also show you which areas are automated and which are simply not.
99
And by the way, if you guys having doubts if you should join a QA bootcamp or not, I did start a QA introduction week.
100
It's a whole week of the internship in a role of QA where you will go through a bootcamp, do the job for a US-based startup and try it if you actually like it or not.
101
If you're interested, I'm going to leave a link right below this video.
102
Let's continue.
103
How do you integrate task automation into CICD pipeline?
104
Well, that's kind of an interesting question, because you could use Jenkins, GitHub Actions, GitLab CI, AWS CI, or whatever they call it, regardless.
105
The question sounds like, how do you integrate it into CI?
106
Which means, CI is already there.
107
Which means, most likely, the question is about, by the way, you guys should double-check it.
108
Are they talking about integrating test automation into devs pipeline, or creating your own pipeline for QA team needs?
109
If you're talking about QA team needs, as simple as GitHub Actions, for example, by the way, link to which you can find right here, where I'm actually setting it up from scratch.
110
So in GitHub Actions, you simply create a YAML file and you specify what runs, when it runs, after which triggers, and how many threads do you run.
111
As simple as that, you can see it on that video.
112
If we're talking about devs pipeline that already exists and you have to integrate it into their pipeline, That's a senior as that question in my opinion.
113
Well, because I did it as the senior as that.
114
Usually, QA automation engineers would not be as involved, but when you're stepping into this game, you're pretty much getting upgraded to a senior position.
115
In majority of cases, some companies will be mid-level, but anyways, if you want it to be integrated into devs pipeline, number one, you have to talk to devs, see who created it, who maintains it,
116
most likely they're gonna have to do that
117
or even devops team sometimes as i did it in the past you could also do it as an as
118
that automation engineer or senior as
119
that the way i was you would have to chit chat
120
with the with the dev team understand their workflow have a
121
meeting with them to understand how you can integrate it where
122
exactly it will fit where exactly reports will be showing
123
and who will be checking those reports are those reports going to be checked automatically to continue ci cd process
124
or is it going to be a manual step to check all of the test automation results
125
and only then click button to release your software to your environment
126
or staging or even fraud it depends on your company setup
127
but definitely you should talk to your developing team before start doing
128
that that's a somewhat challenging one for newbies how do you handle authentication
129
and session management in your test automation well the very basic
130
way to handle authentication is simply create a user in interface
131
login helper method right you add your login helper method to every single test
132
and you wait for half of your life
133
because now you're you all of your thousand tests taking i
134
don't know five thousand more seconds than before not very scalable not very efficient in my opinion
135
but it works for the beginners then you decide like you look into it
136
and you're like well it's not efficient i'm wasting
137
so much time can i improve it somehow you definitely can by utilizing apis you can simply shoot an API request, get a response, get a token,
138
and then open up the page and inject it into local storage.
139
And then your page will be loaded as you're already logged in.
140
That's kind of the better option, but there's also another better option.
141
In Playwright, there is something called browser context.
142
Different frameworks have it implemented differently.
143
I think Playwright does the best job in it, where you can handle browser context, which means you log in only once,
144
you get that token stored in a local storage, everything that you need is stored in a browser, and you pretty much copy the browser context from one page, you paste it in another page,
145
you refresh it, and everything is already loaded.
146
You don't have to even send a request and get a response.
147
Even though API is a very fast way and a very efficient way,
148
browser context is even a better way to handle your authentication and a session management.
149
The next two are going to be quite challenging for newbies.
150
This one sounds like flaky tests.
151
How do you deal with them?
152
How do you troubleshoot them?
153
And how do you debug them?
154
Walk me through step by step.
155
This is, I would say, mid to senior level question where I would ask a lot of questions first.
156
Number one, you have to analyze what is happening.
157
Why is the test flaky?
158
And where is it flaky?
159
In the CI or neural local?
160
Is it flaky in the headless mode or in the headed mode?
161
Is it flaky when you run all the tests, only single file, or only single test?
162
When you answer all of those questions, you will very likely understand, I would say in the 70% of the cases,
163
you will likely understand why are those tests flaky and why are they failing?
164
If you did not, you should always look to into user interface.
165
I had quite a lot of flaky tests in my life and I can give you some of the examples.
166
User interface.
167
Whenever you have a certain side of the screen or whenever you start using scroll method of WebDriver.io or WebDriver any frameworks,
168
you will show a scroller bar on the right side and that scroller bar might be covering one of the buttons.
169
It did happen to me like seven or eight years ago.
170
The other case is
171
when an extra parameter passed into form data before sending API requests is causing to create two objects instead of one.
172
That's kind of insane but check your code, make sure there is nothing extra.
173
So flaky tests will honestly depend on quite a lot of things.
174
And the last and the worst case in my life that I had in flaky tests,
175
I couldn't find out why are some users failing randomly to log in until I have actually wrote a loop
176
and ran it 100 times until I found out that every 20th,
177
30th, 50th time it fails but it's a flaky backend for the login.
178
So it took me a while to figure that out, but even the backend can be flaky.
179
So guys, before you start digging into your code and to find out why is your test flaky,
180
make sure it's not a user interface or actually backend that is flaky.
181
This girl got it and that helped her to get a job offer.
182
I did torture her for two weeks.
183
I told her you have to automate CRUD, which is POST, PUT, GET, and DELETE.
184
She did automate it.
185
She spent two freaking entire weeks.
186
And guess what happened afterwards?
187
Well, she went for an interview in Europe and she got exactly same challenge.
188
And she've sold it in only two hours because she did suffer for two weeks.
189
She did say she hates me, but then she said she loved me because that helped her to get her job offer and to get 40% raised.
190
Make sure to watch her story because she did share a lot of secrets how to get a job.
191
And how can you guys also get a job?
192
Now, I want to thank you for your time
193
and I want to ask you guys to tell me
194
which were the most interesting interview questions that you did receive throughout your career.
195
Thank you and I'll see you next time.

下載應用

流利口語所需的一切

AI 發音評分逐句打分
音標練習掌握每個音
詞彙學習建立你的詞庫
詞彙遊戲邊玩邊學

同頻道

FOR YOU

推薦影片

本課的詞彙與口語要點

這節 C1 級別的口語課以影片“QA Automation Engineer Technical Interview questions and answers”為素材。 影片中反覆出現的詞有:test, page, automation, flaky。 這段影片共有 195 個句子、2642 個單詞可供跟讀。 講話部分時長為 13:55。 說話人語速較快,每分鐘約 190 個詞,會出現較多連讀和弱讀。 83% 的單詞屬於英語最常用的 3,000 詞,其餘的詞建議在練習前先學一下。

影片中的重點詞彙

影片中最難的 15 個單詞,附發音和釋義:

單詞發音釋義
automation 名詞/ˌɔ.təˈmeɪ.ʃən/自動化 /自動化
automate 動詞/ˈɔ.təˌmeɪt/自動化 /自動化
pipeline 名詞/ˈpaɪpˌlaɪn/管道, 管線 /管線
helper 名詞/ˈhɛlpɚ/幫手 /幫手, 助手
implicit 形容詞/ɪmˈplɪsɪt/隱含的 /隱含的, 隱含的
playwright 名詞/ˈpleɪˌɹaɪt/劇作家 /劇作家, 編劇 /編劇
actionable 形容詞/ˈæk.ʃə.nə.bəl/可行動的 /可行動的
authentication 名詞/ɔːˌθɛntɪˈkeɪʃn̩/認證 /認證, 鑒權 /鑑權
cypress 名詞/ˈsaɪ.pɹəs/柏樹 /柏樹
selector 名詞/sɪˈlɛktə(ɹ)/選擇器 /選擇器
selenium 名詞/sɪˈliːni.əm/硒
attribute 名詞/ˈæt.ɹɪˌbjut/屬性 /屬性
explicit 形容詞/ɪkˈsplɪs.ɪt/精確
newbie 名詞/ˈnjuːbi/新手, 菜鳥 /菜鳥
regression 名詞/ɹiːˈɡɹɛʃ.ən/回歸 /迴歸, 迴歸 /迴歸

影片中出現的短語動詞

單詞釋義
find out 動詞找出, 查明
go through 動詞通過 /通過

值得反覆跟讀的句子

影片中簡短而完整的句子,可以直接用在日常對話裡:

  • What is the most important for your business?
  • How do you handle dynamic or constantly changing elements?
  • How do you deal with them?
  • How do you troubleshoot them?
  • Thank you and I'll see you next time.

影片中的語法

說話人最常用的結構,並附上影片中的原話:

結構影片中的用法
被動語態 be + 過去分詞 — 強調發生了什麼,而不是誰做的be automated · is already automatically taken · is automated
定語從句 who / which + 從句 — 補充說明人或事物context, which means · CRUD, which is

需要注意的發音

說話人用了 33 次縮略和弱讀形式,例如 I'm, you're, we're。請按聽到的簡短形式來說。

  • “th” 音: authentication /ɔːˌθɛntɪˈkeɪʃn̩/, thumb /ˈθʌm/
  • “sh” 和 “zh” 音: automation /ˌɔ.təˈmeɪ.ʃən/, actionable /ˈæk.ʃə.nə.bəl/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/, regression /ɹiːˈɡɹɛʃ.ən/, troubleshoot /ˈtɹʌbl̩ˌʃuːt/
  • 長單詞——注意重音位置: automation /ˌɔ.təˈmeɪ.ʃən/, actionable /ˈæk.ʃə.nə.bəl/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/, selenium /sɪˈliːni.əm/, manually /ˈmænj(u)əliː/

中文母語者容易讀錯的音:

  • /v/ — 不要讀成 /w/,上齒輕觸下唇: repetitive /ɹɪˈpɛtɪtɪv/, navigate /ˈnæv.ɪ.ɡeɪt/, java /ˈd͡ʒɑː.və/
  • 詞尾子音 — 要讀清楚,後面不要加母音: automate /ˈɔ.təˌmeɪt/, integrate /ˈɪn.tɪ.ɡɹeɪt/, static /ˈstæt.ɪk/, implicit /ɪmˈplɪsɪt/, playwright /ˈpleɪˌɹaɪt/
  • /r/ 和 /l/ 的區別: playwright /ˈpleɪˌɹaɪt/, selector /sɪˈlɛktə(ɹ)/, readable /ˈɹiː.də.bəl/, traceability /ˌtɹeɪsəˈbɪlɪti/, troubleshoot /ˈtɹʌbl̩ˌʃuːt/

如何用這段影片練習

  1. 先完整聽一遍影片,不要開口,記下不認識的單詞。
  2. 先用 0.75 倍速逐句跟讀,熟練之後再回到正常速度。
  3. 錄下自己的聲音並與原聲對比,特別注意 automation, automate, pipeline 這類單詞。

什麼是跟讀法?

跟讀法 (Shadowing) 是一種有科學依據的語言學習技巧,最初開發用於專業口譯員的培訓,並由多語言者Alexander Arguelles博士普及。這個方法簡單而強大:您在聽英語母語原聲的同時立即大聲重複——就像是一個延遲1-2秒緊跟說話者的影子。與被動聽力或語法練習不同,跟讀法強迫您的大腦和口腔肌肉同時處理並模模擬實的講話模式。研究表明它能顯著提高發音準確性,語調,節奏,連讀,聽力理解和口語流利度——使其成為雅思口語備考和真實英語交流最有效的方法之一。

影子跟讀法: 閱讀完整分步指南 →