Luyện nói tiếng Anh bằng Shadowing qua video: QA Automation Engineer Technical Interview questions and answers

Đang tạo bài học...
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.

Từ vựng và ghi chú luyện nói cho bài học này

Bài luyện nói trình độ C1 này dựa trên video “QA Automation Engineer Technical Interview questions and answers”. Những từ được nhắc lại nhiều nhất trong bài: test, page, automation, flaky. Video này có 195 câu và 2642 từ để luyện shadowing. Phần lời nói dài 13:55. Người nói nói nhanh, khoảng 190 từ mỗi phút, nên sẽ có nhiều chỗ nối âm và nuốt âm. 83% số từ nằm trong 3.000 từ tiếng Anh thông dụng nhất; phần còn lại nên xem trước khi luyện.

Từ vựng quan trọng trong video

15 từ khó nhất trong video, kèm phiên âm và nghĩa:

TừPhiên âmNghĩa
automation danh từ/ˌɔ.təˈmeɪ.ʃən/sự tự động hóa
helper danh từ/ˈhɛlpɚ/phó thủ
playwright danh từ/ˈpleɪˌɹaɪt/nhà soạn kịch
authentication danh từ/ɔːˌθɛntɪˈkeɪʃn̩/xác thực
attribute danh từ/ˈæt.ɹɪˌbjut/định ngữ
explicit tính từ/ɪkˈsplɪs.ɪt/rõ ràng
pasta danh từ/ˈpɑ.stə/mì ống
organize động từ/ˈɔɹɡənaɪz/sắp xếp, tổ chức
password danh từ/ˈpæs.wɜɹd/mật khẩu
troubleshoot động từ/ˈtɹʌbl̩ˌʃuːt/khắc phục sự cố
beginner danh từ/bəˈɡɪnɚ/người bắt đầu, người mới học
internship danh từ/ˈɪntɜːnʃɪp/thực tập
chunk danh từ/t͡ʃʌŋk/mảnh, mẩu
refresh động từ/ɹɪˈfɹɛʃ/làm mới, làm tươi
analyze động từ/ˈæn.əˌlaɪz/phân tích

Cụm động từ bạn sẽ nghe

TừNghĩa
open up động từmở

Những câu đáng luyện lại

Các câu ngắn, trọn ý trong video mà bạn có thể dùng lại khi giao tiếp hằng ngày:

  • 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.

Ngữ pháp trong video

Những cấu trúc người nói dùng nhiều nhất, kèm đúng cụm từ trong video:

Cấu trúcTrong video
Câu bị động be + quá khứ phân từ — nhấn vào việc xảy ra, không phải người làmbe automated · is automated · are automated
Mệnh đề quan hệ who / which + mệnh đề — thêm thông tin về người hoặc vậtcontext, which means · CRUD, which is

Phát âm cần chú ý

Người nói dùng 33 dạng rút gọn, ví dụ I'm, you're, we're. Hãy nói theo dạng ngắn đúng như bạn nghe.

  • Âm “th”: authentication /ɔːˌθɛntɪˈkeɪʃn̩/, thumb /ˈθʌm/
  • Âm “sh” và “zh”: automation /ˌɔ.təˈmeɪ.ʃən/, actionable /ˈæk.ʃə.nə.bəl/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/, regression /ɹiːˈɡɹɛʃ.ən/, troubleshoot /ˈtɹʌbl̩ˌʃuːt/
  • Từ dài — đặt trọng âm cho đúng: automation /ˌɔ.təˈmeɪ.ʃən/, actionable /ˈæk.ʃə.nə.bəl/, authentication /ɔːˌθɛntɪˈkeɪʃn̩/, selenium /sɪˈliːni.əm/, manually /ˈmænj(u)əliː/

Những âm người Việt thường gặp khó:

  • Cụm phụ âm cuối — đọc đủ từng âm, đừng nuốt âm cuối: password /ˈpæs.wɜɹd/, grandparent /ˈɡɹæn(d)pɛəɹənt/, inject /ɪnˈd͡ʒɛkt/, chunk /t͡ʃʌŋk/, matrix /ˈmeɪ.tɹɪks/
  • Âm /tʃ/, /dʒ/ và /ʒ/ — tiếng Việt không có, đừng đọc thành “ch” hay “gi”: inject /ɪnˈd͡ʒɛkt/, chunk /t͡ʃʌŋk/, module /ˈmɑd͡ʒul/, java /ˈd͡ʒɑː.və/
  • Âm /æ/ — mở miệng rộng hơn âm “e”: static /ˈstæt.ɪk/, actionable /ˈæk.ʃə.nə.bəl/, attribute /ˈæt.ɹɪˌbjut/, manually /ˈmænj(u)əliː/, password /ˈpæs.wɜɹd/

Cách luyện với video này

  1. Nghe hết video một lần, chưa cần nói, và ghi lại những từ bạn chưa biết.
  2. Bắt đầu ở tốc độ 0,75×, nói đuổi từng câu, rồi quay lại tốc độ bình thường khi đã quen.
  3. Ghi âm giọng mình rồi so với bản gốc, chú ý các từ như automation, helper, playwright.

Phương Pháp Shadowing Là Gì?

Shadowing là kỹ thuật học ngôn ngữ có cơ sở khoa học, ban đầu được phát triển cho chương trình đào tạo phiên dịch viên chuyên nghiệp và được phổ biến rộng rãi bởi nhà đa ngôn ngữ học Dr. Alexander Arguelles. Nguyên lý cốt lõi đơn giản nhưng cực kỳ hiệu quả: bạn nghe tiếng Anh của người bản xứ và lặp lại to ngay lập tức — như một "cái bóng" (shadow) đuổi theo người nói với độ trễ chỉ 1–2 giây. Khác với luyện ngữ pháp hay học từ vựng bị động, Shadowing buộc não bộ và cơ miệng phải đồng thời xử lý và tái tạo ngôn ngữ thực tế. Các nghiên cứu khoa học xác nhận phương pháp này cải thiện đáng kể phát âm, ngữ điệu, nhịp điệu, nối âm, kỹ năng nghe và độ lưu loát khi nói — đặc biệt hiệu quả cho người luyện IELTS Speaking và muốn giao tiếp tiếng Anh tự nhiên như người bản ngữ.

Phương pháp shadowing: đọc hướng dẫn từng bước đầy đủ →