跟读练习: 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 发音评分逐句打分
音标练习掌握每个音
词汇学习建立你的词库
词汇游戏边玩边学

本课的词汇与口语要点

这节 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 automated · are 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秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。

影子跟读法: 阅读完整分步指南 →