쉐도잉 연습: QA Automation Engineer Technical Interview questions and answers - 영상으로 영어 말하기 배우기

레슨 만드는 중...
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.

이 레슨의 어휘와 말하기 포인트

이 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ɚ/조수, 도우미
playwright 명사/ˈpleɪˌɹaɪt/극작가
authentication 명사/ɔːˌθɛntɪˈkeɪʃn̩/인증
selenium 명사/sɪˈliːni.əm/셀렌, 셀레늄
attribute 명사/ˈæt.ɹɪˌbjut/속성, 특질
explicit 형용사/ɪkˈsplɪs.ɪt/명백(明白)하다, 명확(明確)하다
newbie 명사/ˈnjuːbi/초보자, 뉴비
regression 명사/ɹiːˈɡɹɛʃ.ən/회귀
username 명사로그인, 사용자명
token 명사/ˈtoʊkən/토큰
pasta 명사/ˈpɑ.stə/파스타
organize 동사/ˈɔɹɡənaɪz/조직하다

따라 말해 볼 만한 문장

영상에 나오는 짧고 완결된 문장으로, 일상 대화에서 그대로 쓸 수 있습니다:

  • 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

주의할 발음

화자는 I'm, you're, we're 같은 축약형과 약화된 형태를 33번 사용합니다. 들리는 대로 짧게 발음하세요.

  • “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ː/

한국어 화자가 어려워하는 소리:

  • /f/ — ㅍ(/p/)으로 바꾸지 말고 윗니를 아랫입술에 대기: flaky /ˈfleɪki/, workflow /ˈwɝkfloʊ/, refresh /ɹɪˈfɹɛʃ/, specify /ˈspɛs.əˌfaɪ/
  • /v/ — ㅂ(/b/)과 구별하기: repetitive /ɹɪˈpɛtɪtɪv/, navigate /ˈnæv.ɪ.ɡeɪt/, java /ˈd͡ʒɑː.və/
  • /z/ — ㅈ이 아니라 성대를 울리는 /s/: browser /ˈbɹaʊ.zəɹ/, organize /ˈɔɹɡənaɪz/, utilize /ˈjuː.tɪ.laɪz/, analyze /ˈæn.əˌlaɪz/, translate /tɹænzˈleɪt/

이 영상으로 연습하는 방법

  1. 먼저 말하지 않고 영상을 끝까지 듣고 모르는 단어를 적어 둡니다.
  2. 0.75배속으로 한 문장씩 섀도잉을 시작하고, 익숙해지면 보통 속도로 돌아갑니다.
  3. 자신의 목소리를 녹음해 원본과 비교하고, automation, automate, pipeline 같은 단어에 특히 주의합니다.

쉐도잉이란? 영어 실력을 빠르게 키우는 과학적 방법

쉐도잉(Shadowing)은 원래 전문 통역사 훈련을 위해 개발된 언어 학습 기법으로, 다언어 학자인 Dr. Alexander Arguelles에 의해 대중화된 방법입니다. 핵심 원리는 간단하지만 매우 강력합니다: 원어민의 영어를 들으면서 1~2초의 짧은 지연으로 즉시 소리 내어 따라 말하는 것——마치 '그림자(shadow)'처럼 화자를 따라가는 것입니다. 문법 공부나 수동적인 청취와 달리, 쉐도잉은 뇌와 입 근육이 동시에 실시간으로 영어를 처리하고 재현하도록 훈련합니다. 연구에 따르면 이 방법은 발음 정확도, 억양, 리듬, 연음, 청취력, 말하기 유창성을 크게 향상시킵니다. IELTS 스피킹 준비와 자연스러운 영어 소통을 원하는 분들에게 특히 효과적입니다.

섀도잉 방법: 단계별 전체 가이드 읽기 →