Introduce Yourself
- MySQL, Postgres, MS SQL
I'm good in scripting:
- Bash, PowerShell
What are you expecting from the new job?
Modern tech stack
Possibility to grow as a professional
Respectful team
What have you done in your last project?
My duties botFramework, Selenium, PhantomJS. In one of the project I done a framework from a scratch. A part of my duties I had to work on UI automation backend testing. We transform existing test cases in to automation tests.
I have used tools like: RoWhat was your role in the team?
Automating test cases in Robot Framework, arrange data to prepare tests.
Why you chose the QA job?
- I like to improve things
- Doing QA I help make software better
- I like the new technologies
What do you think is the most beautiful and spectacular thing you have achieved in the field during your career?
I did several nice reports in grafana and automated alerts to improve performance of the team and reduce the costs of our monthly bills using python, grafana, rundeck
monitor configurations in production
monitor current version and see version history
Detecting misconfiguration/misuse of twilio numbers and our environments. So we could reduce our monthly costs
analyze errors in elastic search and build nice statistics to show
how many errors do we have split per error type. So if we have 1000 errors we can see what errors occur the most
see when error started to happen and see the first version of the product
What do you think was the most difficult project you worked on and why?
When you have disagreements with your colleagues regarding the process and work method, how do you proceed?
All such cases are openly discussed. Usually such questions are raised during retro at the end of the sprint. But of course we can raise this questions ASAP without need to wait for the retro. If there is no agreement we may give pros/cons to help to come to an agreement. Lead is the one who makes the decision if there is no agreement. But I don’t remember any disagreements which required very long discussions.
How did you get assignments?
On Sprint planning we take tickets which needs to be developed and tested. We used to assign tickets to QA right at the beginning so everyone has an equivalent amount of tasks.
Tickets must be well described and QA may be in touch with the developer from the beginning of task development.
In a day ruffly how many manual test cases could you convert to automated test cases?
It depends how mature is the framework, it depends of course, usually 1-2 hours, sometimes less , sometimes more.
Which is the difference between white box testing and black box testing?
Black box is testing when we don’t know what is happening inside, so we just testing from outside based on contract, so in other words black box testing is the way when QA analyzes the functionality of the application, without knowledge of the internal design.
In which cases do you prefer manual testing over automation testing, what is it preferable to do on manual testing ?
Manual testing make sense when it’s hard to automate, but it’s a minor reason but also when such testing is not done frequently.
If this is a very basic string with a user name and a password, how would you test this in the auomated way? Imagine you have a login page with a user name and a password how would you test this basic functionality in the automated way?
So in automation would be the next steps:
1. Open the page
2. Find the inputs elements
3. Feel the data
4. Submit the credentials and see the result.
5. We need to evaluate success login, failed login with invalid credentials.
6. If data is not submitted at all like empty login, empty passwords.
7. We can also check if clicking on the submit button via ENTER key
Imagin that you have a project with a lot of manual test cases and we decide to automate all this so which test cases would you prioritize to be the first ones to be automated?
Success case, evaluate for errors, if there are any issues if invalid data is pass from the users.
If you have a lot of testes which you will grub first and automated?
The most frequently used cases should be automated first.
What will be be the criteria to choose the good automation tool?
Wide Test Environment support
Easy to use
Good debugging facility
Robust object identification
Record and Playback
Supports common programming languages for test script creation, for example, Java
Image testing abilities
Testing of database
Parameterization
Support multiple automation frameworks
Type of support is available for the tools like documentation, tutorials, training, etc
Cost and budget
Good reporting system
Have you done integration in ILCD environment?
We did it in Jenkins but integration part was done partially by dev ops and wifus.
What was your role in this framework, did you make some enhancement, any improvement?
My duties were to automate existing tests, so we transform existing test cases in to automation tests so if something was missing in the automation framework it was the responsibility of each QA engineer to enhance it.
You mentioned that you use Python, Selenium and Robot Framework, if this something that was build but is something that you know how to put all the pieces together?
I would create an abstraction layer so for example of consists of the data base I would create a repository for each of entity to make easy calls from the test and for the API calls would kind of the same abstraction layer cause same API’s can be called from different tests.
Which tools would you use, are you familiar with API testing?
For API calls y would use request libraries to make get posts, code request and check the responses of the standard assertions.
How would you do to avoid repetitive manual work?
In case that we need to test the purchase of some order so we know that some API is expected to be called so from our automation test we need to make such call and see if response is correct.
What is agile?
Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster.
Sanity Testing is performed to check the stability of new functionality or code changes in the existing build. Regression testing is performed to check the stability of all areas impacted by any functionality change or code change.
What is the difference between Regression and Retesting?
Retesting is done to check that the initial bug which was found and fixed is working as it should, while regression testing is used to sweep the application for defects that may have arisen from the change or other unknown residual bugs.
What are the types of waits in Selenium ?
We have 3 tipes of waits in selenium:
-implicit wait
-explicit wait
-fluent wait
What is the difference between Load testing and Stress testing?
Load tests help you understand how a system behaves under an expected load. Stress tests help you understand the upper limits of a system's capacity using a load beyond the expected maximum.
Difference between PUT and PATCH requests:
The main difference between PUT and PATCH requests is witnessed in the way the server processes the enclosed entity to update the resource identified by the Request-URI. When making a PUT request, the enclosed entity is viewed as the modified version of the resource saved on the original server, and the client is requesting to replace it. However, with PATCH, the enclosed entity boasts a set of instructions that describe how a resource stored on the original server should be partially modified to create a new version.
The second difference is when it comes to idempotency. HTTP PUT is said to be idempotent since it always yields the same results every after making several requests. On the other hand, HTTP PATCH is basically said to be non-idempotent. However, it can be made to be idempotent based on where it is implemented.
When will you automate a test?
Automation is preferred in following cases:
Repetitive Tasks
Smoke and Sanity Tests
Test with multiple data set
Regression test cases
When will you not automate testing?
When the Application Under Test changes frequently
One time test cases
Adhoc – Random testing
What are the points that are covered while planning phase of automation?
During planning phase of automation things which must be taken in concern are
Selection the “right” Automation tool
Selection Automation Framework if any
List of In scope and out of scope items for automation
Test Environment Setup
Identify Test Deliverables
In what condition we cannot use automation testing for the Agile method?
Automation testing is not useful for agile methods in following conditions:
When Agile testing always ask for changes in requirements
When Exhaustive level of documentation is required in Agile
Only suitable for those regression tests during agile testing like continuous integration.
How can you speed up an auto test suite?
Applications that require UI testing that interacts with multiple elements can slow down the testing process. It’s better to create a simple test script that speeds up test execution.
What types of frameworks are used in software automation testing?
Four types of frameworks are used:
Data-driven automation framework
Keyword-driven automation framework
Modular automation framework
Hybrid automation framework
What is the scripting standard while performing automation testing?
While writing the scripts for automation, you must consider the following things:
Uniform naming convention.
Names of tests, functions, variables must be consistent and easy to understand.
Clean code (easy to read, no duplications, code is understandable without comments)
Use of Frameworks wherever possible.
Imagine that you have
a Postman collection , let’s say hundred different API’s and to test this API’s
you need to log in so it does an endpoint are you call an access token, so with
the access token you can test the automated main endpoints , so you make a
login request can the access token then use the access token for remained main endpoints so if to automate this
on Postman how would you do that?
On a folder level I would create a prescript to make
authentication get the token and add it to the header.
How we add it to the
header? When you make the requests you are get in the token, how would you make
sure that token is available to every API in that collection?
It depends how it’s used but we can replace this token into
environment variable and use this environment variable as authentication
header.
What are the most popular tools for automation testing?
The most popular test tool for automation testing are:
Selenium.
UFT.
Rational Robot.
How can you measure the success of automation testing?
Following criteria can map the success of automation testing:
Defect Detection Ratio
Automation execution time and time savings to release the product
Reduction in Labour & other costs
What are the differences between open-source tools, vendor tools, & in-house tools in automation testing?
Here are the differences between all:
Open-Source Tools: They are free tools with source code available on the internet. Example: Selenium
Vendor Tools: These testing tools are developed by companies, and you need to purchase their licenses. Example: Microfocus UFT.
In-house Tools: It is built by companies for their use.
What are the Prerequisites (requirements before to do somethig) of Automation Testing?
A few important pre-requisites of Automation Testing are:
A stable build
Functionalities to be tested
Test cases for automated Testing
Can you do automation without a framework?
Frameworks are guidelines and not mandatory to create and execute automation scripts. So, yes, we can automate without a framework. Enhancing and maintaining test scripts would be easy if we created and followed a framework.
What you know about Selenium?
Selenium is a free (open source) test automation suite. It is used to automate Web and Mobile environments. It consists of the following.
Selenium WebDriver (the most popular)
Selenium supports scripting in languages like Java, C# (c sharp), Python, Ruby, PHP, Perl, and JavaScript.
Selenium IDE (Browser Addon–Record and Playback Tool)
Selenium Grid (Distributed Testing)
What are the attributes of a good automation framework?
Here are some important attributes of a good automation framework:
Modular: It is a framework that should be adaptable to change. So that testers should be able to modify the scripts as per the environment.
Reusable: It should be reusable so that methods or utilities should be written in a common file accessible to all the scripts.
Consistent: It should be written in a consistent format.
Independent: The automation scripts should be written in such a way that they are independent of each other.
Integration: Automation Framework should be developed in such a way that it is easy to integrate with other applications.
What is Cross-Browser Testing?
It is a subset of browser automation testing that helps you ensure that the online application operates correctly across different browsers. Google Chrome, Mozilla Firefox, Microsoft Edge, Safari, etc.
Which Testing can be done using the Selenium Framework?
You can use a Selenium framework for the following testing:
Load testing of web applications.
Regression testing of web applications.
Functional testing of web applications.
Is Automation testing white box testing or black box testing?
Automation testing is primarily black box testing.
What keyword is used to fetch the URL of the current page in Selenium?
Selenium WebDriver can help you find the current URL of a page with the getcurrent URL. This method will find the URL of the open applications and result in a string.
Where will you maintain information like URL, login, and password?
They should always be maintained in a separate file. If not done, then the automation tester must change it in every file with its reference.
What are the essential modules of an automation testing framework?
Here are some essential modules of the automation testing framework:
Test Assertion Tool: This testing tool will provide assert statements for assessing the expected values in the application under test. For Example, Junit, TestNG etc.
Data Setup: Ensures that each test case takes the test data from the database, a file, or embedded in the test script.
Build Management Tool: The framework requires to be built and deployed to create test scripts.
Continuous integration tool: They are required to integrate and deploy the changes done in the framework at each iteration.
Reporting tool: It helps to generate a readable report after the test cases for a better view of the steps, failures, and results.
Logging tool: They help in better debugging of the error and bugs.
What is Cucumber?
Cucumber is an open-source (BDE) behavior-driven development tool. It is used tool for web-based application automation testing and supports languages like Java, Ruby, Scala, Groovy, etc. Cucumber reads executable specifications written in plain text and tests the application under test for those specifications.
What is Test Complete?
TestComplete is an automated UI testing tool for desktop applications, web, mobile, etc. It offers the flexibility to record a test case on one browser and run it on multiple browsers, thus supporting cross browsers testing.
What is Cypress?
Cypress is an open-source testing framework. It is developed in JavaScript and has lately gained popularity because of its simplicity and extensive capabilities that enable browser testing, and user manuals should be thoroughly documented.
How can you handle the alert popups in Selenium WebDriver?
Selenium gives alerts if there are issues while you test. The pop-up interface allows you to handle the alert by switching the control to the pop-up, pressing the OK or Cancel buttons, and turning back to the source page screen.
String srcPage = driver.getWindowHandle();
Alert pop = driver.switchTo().alert(); // shift control to the alert pop-up.
Pop.accept(); // click k button.
Write steps to automate primary “login” functionality test cases for an application?
Here are the steps to automate basic login functionality:
Step 1) Understand the project requirement.
Step 2) Identify the Test scenarios.
Step 3) Prepare a data input file with the data corresponding to each scenario.
Step 4) Launch the tool from the program.
Step 5) Identify the username, password, and login buttons.
Step 6) Verify that the error message for negative scenarios is the same as the success message for positive test scenarios.
What is your preferred work environment?
I have worked in many types of environments and enjoyed learning new things from each. I would say that while I don’t prefer a particular environment, I really like working with people who are committed to getting things done and who are passionate about their work.
How do you coordinate and prioritize your workload?
I always communicate with my team lead about expected due dates for my assignments first. Then I create my own deadline based on my assigned due dates. Typically, I like to give myself at least a day or two in advance, that way I can complete my work and still have time to review everything thoroughly before turning it in.
How do you manage multiple projects simultaneously?
- Keep things simple and transparent.
- Make test cases reusable.
- Keep test case IDs unique.
- Peer review is important.
- Test cases should have the end user or defined requirements in mind.
- Specify expected results and assumptions.
- What is the difference between severity and priority?
- New. Let's say a software tester starts inspecting a product and finds a bug. ...
- Assigned. A project manager, team lead, or developer in charge reviews the report. ...
- Opened. ...
- Fixed. ...
- Retest. ...
- Reopened. ...
- Verified. ...
- Closed.
- What is the difference between functional testing and non-functional testing?
- Yes. I write them based on ideal user experience. ...
- Ask questions of product managers/developers. ...
- Research similar features on other apps/websites. ...
- Brainstorm any possible action you can do with the feature. ...
- Ask developers what logic they used in the code.
- What QA methods do you use and why?
- Involve a QA team starting with the discovery phase. ...
- Plan and record your testing process. ...
- Test-driven development. ...
- Obligatory code review for every single feature. ...
- Don't neglect integration testing. ...
- Automate when possible. ...
- Keep in mind user experience. ...
- Ask questions.
- If you had to execute a big suite in a small window of time, how would you do it?
- Unrealistic expectations of automated testing.
- Using the wrong tools.
- Automate useless tests and neglecting important test cases.
- Choosing the wrong testing time.
- Lack of proper testing.
- How would you ensure that your team does not overlook details in the QA process?
- Be clear on requirements. ...
- Produce quality code. ...
- Set up the right environments for QA. ...
- Conduct test coverage and tests cases review sessions regularly.
- How do you know a test was executed correctly?
- Defined / Desired Defect count is reached.
- All Show Stopper defects or Blockers are fixed and No known Critical / Severity 1 defect is in Open Status.
- All High Priority defects are identified and fixed.
- Defect Rate falls below defined acceptable rate.
- What do you do if you discover your team is performing a test on a product even after finding a defect?
- Set your quality standards. ...
- Decide which quality standards to focus on. ...
- Create operational processes to deliver quality. ...
- Review your results. ...
- Get feedback. ...
- Make improvements.
- How does one reduce the number of faults in a project?
- Change the Groupthink Regarding Defects. ...
- Thoroughly Analyze Software Requirements. ...
- Practice Frequent Code Refactoring. ...
- Perform Aggressive Regression Testing. ...
- Execute Defect Analysis. ...
- Consider Continuous Changes. ...
- Integrate Error Monitoring Software.
- If a client found a sizable defect in a status report, how would you resolve the issue to stop it from occurring again?
- Explain the situation to client and ask some more time to fix the bug.
- If the client is not ready to give some time then analyse the impact of defect/bug and try to find workarounds for the defect and mention these issues in the release notes as known issues or known limitations or known bugs.
- If you joined our company, what three things would you do first?
- Knowing about the organization: ...
- Prepare all my documents. ...
- Make to-do-list: ...
- Can you tell me about a time you missed a bug?
- Improved test efficiency.
- Lower maintenance costs.
- Minimal manual intervention.
- Maximum test coverage.
- Reusability of code.
- Can you name the five types of test automation frameworks?
- Linear Automation Framework.
- Modular Based Testing Framework.
- Library Architecture Testing Framework.
- Data-Driven Framework.
- Keyword-Driven Framework.
- How do you measure the effectiveness or success of automation testing?
Automated Test Coverage
Can you give me three examples of conditions that aren’t suitable for automation testing?
- User experience tests for usability (tests that require a user to respond as to how easy the app is to use).
- Tests that you will only run one time. ...
- Test that needs to run ASAP.
- What steps need to happen before you can implement automation testing successfully?
- Structure, Organize, & Set Up Source Control. ...
- Familiarize Yourself with the Application. ...
- Determine Your Testing Environments & Gather Data. ...
- Set Up a Smoke Test Project. ...
- Create Utilities for On Screen Actions. ...
- Build and Manage Verifications.
- Could you share some of the key differences between automatic testing and manual testing?
- When flexibility is needed. ...
- When short-term projects are active. ...
- When usability is being tested.
- What specific steps do you take to implement automation testing?
- Step 1: Defining the Scope of Automation. ...
- Step 2: Selecting a Testing Tool. ...
- Step 3: Planning, Designing, and Development. ...
- Step 4: Executing Test Cases and Build your reports. ...
- Step 5: Maintaining previous test cases.
- Explain the code-driven automation testing approach.
- Step 1) Identify the Requirement for Tools. How can you select a testing tool if you do not know what you are looking for? ...
- Step 2) Evaluate the Tools and Vendors. ...
- Step 3) Estimate Cost and Benefit. ...
- Step 4) Make the Final Decision.
- 1)Dynamic Element Locators.
- 2) Conditional Checks.
- 3) Control Structures.
- 4) Easy assertions.
- 5) Easy modifications without redo.
- 6) Reusable steps.
- 7) Cross-browser support.
- Tell me about the most important modules in automation testing.
- Linear Automation Framework.
- Modular Based Testing Framework.
- Library Architecture Testing Framework.
- Data-Driven Framework.
- Keyword-Driven Framework.
- Hybrid Testing Framework.
- Would you use automation to run ad hoc tests?
- Effective Communicating and Collaborating in Team. This is perhaps a challenge not just in test automation but also in manual testing teams. ...
- Selecting a Right Tool. ...
- Demanding Skilled Resources. ...
- Different Types of Assertions. It has an Assert class that provides multiple methods supporting different types of assertions. ...
- Run tests in Parallel. Using its testNG. ...
- Make tests dependent on one another. ...
- Prioritizing tests. ...
- Grouping of tests. ...
- Why might you choose to use TestNG instead of JUnit?
- Automated testing is very much expensive than the manual testing.
- It also becomes inconvenient and burdensome as to decide who would automate and who would train.
- It has limited to some organisations as many organisations not prefer test automation.
- Explain why it’s important to have a modular, reusable and consistent automation testing framework.
What was the setups between
Dev ops and QA’s in the previous companies you have been worked?
We worked as a one team , we participate in the planning as
well, so we take parts to discuss how we are going to test new features and
what can we do as a part of a current sprint, so a developers could have an
understanding what they will be ale to deliver by the end of the sprint as
well.
Have you create some specific
libraries that helps you in testing or it was more like writing tests themselves?
We created a kind of our framework to make an abstraction
from our UI application so page object model was created by us, to reuse coding
between different pages of the same components.
What will be the ideal
model of a QA in a company? Do you prefer to be a part of a team o to be more
separate?
Both works for me, but in my opinion collaboration with
developers will bring more efficient results, so we know what they are doing
and they know what we are doing so is no kind of completion between us, so we
know that we want to chive the same goal.
If you have a piece
of software and it kind depends on a time so you have some additional things
that can create events and there is no direct way how to create a database.
Should the service have some kind of artificial endpoints that are not used by
end consumer? Purely for testing of any other technics that are very hard to do.
What’s the QA approach to such a thing?
Personally I don’t like to create artificial API’s but it
can be helpful in each cases when is no other possibility to arrange data or to
requested it, but we need to make sure that artificial API’s are not go to
production or protected.
You’ve done a lot of
Python?
Yes, my part of automation was focused on python and a bit
of C#.
C# was run on Monol?
It was on .Net core so it could run on Linux or Widows.
When you learning new
things what is your favorite chanell?
I focused more on Youtube or Linkedin Learning Courses.
What was the last
very exciting technology that you came across and you enjoy?
I can not call it technology, in the recent project I worked
for we used Grafana havely to visualize out reports statistics so based on our
data we could build different charts , graffs to understand our current
situation in the production, so how many errors we have, how many transactions
succeded, so we could spend less time in creating such things in admin panel
and do build our dash boards to have full inside of what is going on and spend
less time to investigate what’s the problem, to understand the route cous when
it start to happen, to understand when it prefixed the problem and to be alerted
whenever such problems come in
production.
Комментариев нет:
Отправить комментарий