3rd Round Interview Questions Flashcards
Tell me about yourself
o Good afternoon, my name is Pat. I have 6 years in the industry.
o I currently work at Envestnet Asset Management in SDET role .
o I am mainly involved with the test case automation using Cypress.
o Current project is enhancing the internal web application.
o Customers can create investment accounts and view their portfolio.
o most of our test cases is validating if data pops up on the screen and We are pulling data from a database
o The libraries are already created by the seniors and we are writing the test cases on the basis of that
o a normal test case would be that
We have a dashboard, we create a dummy account
create a sample trans, type in info in the text fields and submit. assert the trans is confirmed
we would also test that a trade can be cancel, assert that it is canceled it shows as cancelled in previous transactions list
For the most part, we already created custom commands for repetitive actions like navigating to the page and logging in in our Commands file
What do you know about CapitalRX and why do you want to join?
o Taking on the pharmaceutical giants in the industry with a transparent and fair pricing on prescriptions
o I want to at least be a part of that and gain experience being surround by other go-getters.
o If there is a better way to do it, I want to learn it
o I asked Rob that if I had an idea, will I be able to run with it and will I get the feedback I need to be better. This is why I want to join a start up
o It’s a team of smart, driven people.
What types of testing have you done?
o The different type of testing I’ve done are Smoke ,Functional , Regression, End-to-End and Integration
How would you approach a ticket?
o Before I approach a ticket, I want to know what I am working on.
o I will talk to Dev team for any information.
o If they can’t give enough knowledge, I will reach out to whoever wrote the ticket. I want a complete understanding of the ticket so I can adequately test it.
o I would work based off the requirement document according to the acceptance criteria
Tell me about your experience with Cypress and what do you know about it?
o Cypress runs in a Deterministic Manner
Cypress will make a To Do List of everything you asked of it and execute it in the order you asked
Resulting in flake-free testing
o The subject is passed through the chain
o Cypress will Automatically wait for Should Assertion (4 seconds by default )
o Cypress can see the screenshot before and after the action.
If you have a click action, you can see before and after the click
If you use Type, you can see before and after click
o We can create custom commands using Cypress.Commands.add to create custom commands declared in our Commands File which will shorten steps like Login
o You don’t have to build STATE
What is a con of Cypress?
o Cypress is iffy with its error messages.
o For example, if we are working with REACT, and there is a server issue, it will say there is a REACT/DOM issue. The error messages are too generic .
o With Selenium, if there is a stale element, the error message will state the exact error and it is more clear
With testing, do you want more Front-End or Back-End ?
o You would want more Backend and less Frontend
o Front end tests are flaky so you definitely want to have backend tests
Do you have any questions?
o Punita
How do you like the work environment?
What were your biggest hurdles when you joined?
Whats the best advice you can give to do well?
o Ryan :
what hurdles did you face?
What motivates you ?
“its actually inspiring hearing something like that live instead of on youtube”
o Etugo
Manual Testing is your goto
What is the biggest hurdle that you feel exist
What is the best advice you can give to well in this environment
o Charles
What is biggest hurdle that you feel exist
What is best advice you can give to do well
Have you worked with Jira?
o Yes, I worked a bit with it. I looked up stories/tickets updated statuses on them and looked over for updates.
• Do you have any exposure to CICD (continuous integration, continuous delivery) pipelines? Jenkins?
• I know how to view the pipelines, I know how to restart the builds but I have very limited exposure to it because my organization was very contained and if I needed anything outside of that, I reached out to appropriate team , My experience has been very specific. I focused on UI testing, that’s all I had access to
What’s current pain point at job?
o The bigger the corporation, the bigger the red tape
o It feels like an assembly at times but I understand that’s how it goes but I want to grow more
o My team tried to implement javascript, We wanted to go Cypress route
o Took us a long time to get it to happen, a lot of meetings
o We did a side project to prove with performance increases that it was a good idea
o Selenium has a lot of stale elements
o I wanted to convert it
o If we handle it in javascript, it would happen so much faster
o Finally they ended up listening to us, we picked up Cypress from the ground level
o In the beginning, I bit off more than I can chew.
o The learning curve was really big, now I feel confident in cypress
• Lets say in Cypress, you have to automate a list of buttons, what do you do to click only the third buttons?
- I can use cy.get(‘locator’) . contains(‘whatever text the button has ‘)
- If the buttons all have the same locators and text, I would use cy.get(‘ locator’). Eq(‘ index of 2’) to get the 3rd element in that array
Lets say you have dropdowns everywhere, you have a big selection of actions a-z and you don’t want to write the same set of actions every time, how would do you do that method in one central location?
• I would add a custom command and name that method “login” and have it saved in a file called Commands
What do you know about Selenium ?
o When you work with Selenium or libraries that use selenium protocol like webdriverio , you run into issues like stale elements,
o Lets say the HTML is refreshing or rerendering, Selenium doesn’t see if the DOM is completely rerendered, it still thinks it working on the same page. So it is still pointing to the element before the rerender and now you have elements you cant interact with or element not visible exception. You end up needing to use Wait.Commands and Visibility of Element located.
o With modern day libraries , like puppeteer or playwright, they run in DEV TOOLS so you don’t worry about that issue, or you get it rarely. only a small component of the DOM is getting rerendered
o Overall the tests are much more maintainable under modern libraries
describe biggest challenge
o UI testing is very fragile . Stale elements,
o Development can change a locator, and all test breaks
o To make test maintainable, you have to be very conscious of how you code it.