понедельник, 16 января 2023 г.

QA Automation Interview Questions

 

Most common interview questions.
Those are provided as reference, and are subjective.

Introduce Yourself

I have 7 years of experience in manual and automation testing
Worked with Ubuntu, CentOS, MacOS, Windows 
Experienced in  Clouds: Amazon, Google, Azure

I have strong experience in: 
- automation, regression, functional, smoke testing; 
- write test cases, bug reports. 

I used:
- RobotFramework
- Selenium
- PhantomJS

Experienced in coding:
- Python
- JavaScript, 
- Typescript

Worked with Databases:
- MySQL, Postgres, MS SQL 

I'm good in scripting:
- Bash, PowerShell

Worked:
- Jenkins (including Groovy coding)
- Rundeck
- Grafana

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.


 What is sanity and regression testing?

 

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?


 I always try to have a to do list in work. I assign low, mid, or high priority to each task on the list–not to the entire project. And then I work accordingly–taking care of the tasks with highest priority first, regardless of the project they belong to. Of course if I got a call from a manager or a specific deadline was set for me to deliver some report or analysis, I prioritized it to other tasks to ensure I’d meet the deadline. 

What is the difference between quality assurance, quality control, and testing?

 Quality assurance is a set of processes that help “avoid” defects and assure quality. While Quality Control is a set of activities that help detect defects and quality issues before the products reach the hands of end customers. Testing is one of the ways of detecting those defects.

Can you explain the Software Development Life Cycle, and how testing fits in?

The software development life cycle is a process of planning, creating, testing, and deploying information systems across hardware and software. Software development is an iterative process that is followed for a software project that consists of several phases for building and running software applications.
The testing phase of the software development lifecycle (SDLC) is where you focus on investigation and discovery. During the testing phase, developers find out whether their code and programming work according to customer requirements.

When do you think QA activities should start?

QA activity should start from the beginning of the project. The more early it starts the more beneficial it is to set the standards for achieving the quality. If the QA activities get delayed it will result in more cost, time, and effort.

What is a good test case?

Typically, test cases should be small, isolated and atomic. Test cases should be easy to understand and steps should be executed fast. They should independent with each other & fail/pass independently from one another. Fairly, each good test should have defined its expected result.

How do you define the format of writing a good test case?

  1.    Keep things simple and transparent.
  2.    Make test cases reusable.
  3.    Keep test case IDs unique.
  4.    Peer review is important.
  5.    Test cases should have the end user or defined requirements in mind.
  6.    Specify expected results and assumptions.

  7. What is the difference between severity and priority?

Severity is basically a parameter that denotes the total impact of a given defect on any software. Priority is basically a parameter that decides the order in which we should fix the defects. Severity relates to the standards of quality. Priority relates to the scheduling of defects to resolve them in software.

What is the difference between Assert and Verify commands in test automation?

In the case of the “Assert” command, as soon as the validation fails the execution of that particular test method is stopped. Following that the test method is marked as failed. Whereas, in the case of “Verify”, the test method continues execution even after the failure of an assertion statement.

What is a use case?

A use case is a written description of how users will perform tasks on your website. It outlines, from a user's point of view, a system's behavior as it responds to a request. Each use case is represented as a sequence of simple steps, beginning with a user's goal and ending when that goal is fulfilled.

What does a test plan include?

A Test Plan is a detailed document that catalogs the test strategies, objectives, schedule, estimations, deadlines, and resources required to complete that project. Think of it as a blueprint for running the tests needed to ensure the software is working correctly – controlled by test managers.

What is a test strategy?

A test strategy is an outline that describes the testing approach of the software development cycle. The purpose of a test strategy is to provide a rational deduction from organizational, high-level objectives to actual test activities to meet those objectives from a quality assurance perspective.

Are test plans and test strategies the same?

Test plan is a document that defines scope, objective, approach, and emphasis of a software testing initiative. Test strategy is a set of guidelines that describe the test design and how to perform testing.

What is testware?

Testware is an umbrella term for all utilities and application software that serve in combination for testing a software package, but not necessarily contribute to operational purposes.

What is a bug?

A malfunction in the software/system is an error that may cause components or the system to fail to perform its required functions.

Can you explain the basic steps of the bug cycle?

  1. New. Let's say a software tester starts inspecting a product and finds a bug. ...
  2. Assigned. A project manager, team lead, or developer in charge reviews the report. ...
  3. Opened. ...
  4. Fixed. ...
  5. Retest. ...
  6. Reopened. ...
  7. Verified. ...
  8. Closed.

  9. What is the difference between functional testing and non-functional testing?

Functional testing ensures that the functions and features of the application work properly. Non-functional testing examines other aspects of how well the application works.

What is meant by verification and validation?

Verification is testing that your product meets the specifications / requirements you have written. "Did I build what I said I would?". Validation tests how well you addressed the business needs that caused you to write those requirements. It is also sometimes called acceptance or business testing.

Can you describe the differences between negative and positive testing?

A positive test case tests that a system does what it is supposed to. Example: will allow you to login when valid credentials are supplied. A negative test case tests that a system does not do things it shouldn't. Example: should not allow you to login when invalid credentials are supplied.

Have you ever written test cases without documents?

  1.  Yes. I write them based on ideal user experience. ...
  2.   Ask questions of product managers/developers. ...
  3.   Research similar features on other apps/websites. ...
  4.   Brainstorm any possible action you can do with the feature. ...
  5.   Ask developers what logic they used in the code.

  6.        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?

In that case, we should prioritize the test case at first instance and execute the high priority test cases first and then move on to the lower priority ones. This way we can make sure that the important aspects of the software are tested.

What challenges would QA engineer teams encounter with automation during testing?

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

  1. Be clear on requirements. ...
  2. Produce quality code. ...
  3. Set up the right environments for QA. ...
  4. Conduct test coverage and tests cases review sessions regularly.

  5.     How do you know a test was executed correctly?

  1. Defined / Desired Defect count is reached.
  2. All Show Stopper defects or Blockers are fixed and No known Critical / Severity 1 defect is in Open Status.
  3. All High Priority defects are identified and fixed.
  4. Defect Rate falls below defined acceptable rate.

  5. What do you do if you discover your team is performing a test on a product even after finding a defect?

Do a retrospective meeting and find the root cause for the defect and also make sure that we have test scenario's and test cases ready for regression. Perform a quick regression on QA Environment for the hotfix and make sure that build is stable and no new defects introduced because of the defect.

How would you create and sustain quality control?

  1. Set your quality standards. ...
  2. Decide which quality standards to focus on. ...
  3. Create operational processes to deliver quality. ...
  4. Review your results. ...
  5. Get feedback. ...
  6. Make improvements.

  7.   How does one reduce the number of faults in a project?

  1. Change the Groupthink Regarding Defects. ...
  2. Thoroughly Analyze Software Requirements. ...
  3. Practice Frequent Code Refactoring. ...
  4. Perform Aggressive Regression Testing. ...
  5. Execute Defect Analysis. ...
  6. Consider Continuous Changes. ...
  7. Integrate Error Monitoring Software.

  8. If a client found a sizable defect in a status report, how would you resolve the issue to stop it from occurring again?

  1. Explain the situation to client and ask some more time to fix the bug.
  2. 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.

  3. If you joined our company, what three things would you do first?

  1. Knowing about the organization: ...
  2. Prepare all my documents. ...
  3. Make to-do-list: ...

  4. Can you tell me about a time you missed a bug?

If possible, try to find out what happened to understand better how things could be improved in the future. For example, you might suggest more thorough testing if a bug was missed because someone wasn't testing on an appropriate platform.

What are the different verification techniques you know?

A few verification methods are inspection, code review, desk-checking, and walkthroughs. A few widely-used validation methods are black box testing, white box testing, integration testing, and acceptance testing. 

What testing tools do you prefer and why?

Selenium: Selenium is an open-source tool that i used for automating web browser testing. It supports a wide range of browsers and can be used with many programming languages.

What charts and visuals do you use when reporting test results and progress?

By using a histogram, pie or Pareto charts that show where your development and testing efforts should go.

What’s an example of how you have used data and research to improve a process?

Test data is very important in testing, because it determines if an application works as expected and it also helps in catching bugs if the data entered is alphanumeric but the requirements only says it should only accept numbers then the application did not throw an error.

Do you believe manual testing is important and why?

The purpose of manual testing is to catch bugs and feature issues before a software application goes live. When manually testing, the tester validates the key features of a software application. Analysts execute test cases and develop summary error reports without specialized automation tools.

What quality assurance process do you use and why?

Evaluating objectively the performance of processes and work products against process descriptions, standards, and procedures; Identifying and raising noncompliance issues; Providing feedback to staff and reporting to management about the results of quality assurance activities;

What traits do you think an excellent QA engineer should have?

The most important qualities you'll need are attention to detail, the ability to communicate quickly and clearly with your team, and the knack to learn new things on the fly.

What is an automated test script and when would you use one?

An automated test script is the next level, where the script programmatically performs the setup and validation all on its own. Turning your test script into an automated test script can save time, reduce error and serve as documentation for your software.

What are the benefits of using a test automation framework?

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

Base metrics
Test pass rate
Defect Resolution

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?

  1. Structure, Organize, & Set Up Source Control. ...
  2. Familiarize Yourself with the Application. ...
  3. Determine Your Testing Environments & Gather Data. ...
  4. Set Up a Smoke Test Project. ...
  5. Create Utilities for On Screen Actions. ...
  6. Build and Manage Verifications.

  7. Could you share some of the key differences between automatic testing and manual testing?

In manual testing, a human performs the tests step by step, without test scripts. In automated testing, tests are executed automatically via test automation frameworks, along with other tools and software.

Tell me what a hybrid testing framework is and when you would use it.

It is a mix of both the Data-Driven and Keyword Driven frameworks. In this case, the keywords as well as the test data, are externalized.

Can you share three examples of when you would use manual testing instead of automation 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?

  1. Step 1: Defining the Scope of Automation. ...
  2. Step 2: Selecting a Testing Tool. ...
  3. Step 3: Planning, Designing, and Development. ...
  4. Step 4: Executing Test Cases and Build your reports. ...
  5. Step 5: Maintaining previous test cases.

  6. Explain the code-driven automation testing approach.

Code Driven Testing is a software development approach in which it uses testing frameworks that allows the execution of unit tests to determine whether various sections of the code are acting accordingly as expected under various conditions.

What programming languages would you use to implement graphical user interface (GUI) automation testing?

Java seems to have the best built in support for GUI programming, however, C++ using the MFC libraries has more than adequate tools for GUI development and may be a better choice when speed and efficiency are important.

How do you determine which tool to use for each automation testing project?

  1. Step 1) Identify the Requirement for Tools. How can you select a testing tool if you do not know what you are looking for? ...
  2. Step 2) Evaluate the Tools and Vendors. ...
  3. Step 3) Estimate Cost and Benefit. ...
  4. Step 4) Make the Final Decision.

What are some of the features you look for in a good automation testing tool?

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

Ad-hoc testing can't be performed using AutomationManual testing is the only one option during the initial stage of the application. When the application is in regression phase and stable then the user can automate the basic functions within the application.

Can you highlight three of the challenges associated with automation testing framework development?

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


What are some of the most important features of TestNG?

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

Comparing TestNG Vs JUnit, TestNG annotations are easier to use and understand than JUnit. TestNG allows us to create parallel tests, whereas JUnit does not support running parallel tests. In TestNG, Test cases can be grouped together, while in JUnit, Grouping tests together is not possible.

In the agile method, what conditions would prevent us from using automation testing?

If a test is only performed once then it shouldn't be automated. "One-time tasks and exploratory testing/edge cases shouldn't be automated ...

What are some of the disadvantages of using automation testing and how can you overcome them?

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

These frameworks allow testers to create module-wise test cases, breaking down the complete application into smaller modules. This module-wise segregation of test scripts results in easy maintenance and scalability of test code. Furthermore, it allows you to write individual test scripts independent of other modules.

Explain what data-driven testing is and when you would use it.

Data-driven tests will read data from data storages, for example, from a file or database, rather than use hard-coded values. Such a separation makes tests logically simpler. A test containing several sets of hard-coded values can be rather difficult to modify and maintain.

What practices can you implement to improve the ROI of automation testing?

To boost the ROI in software testing, plan to take on secondary responsibilities. Before you expand QA work roles and responsibilities, however, assess the effects on QA workload, identify conflicts with existing priorities, clarify which activity takes precedence and determine who works on what. 

When there are too many UI tests and too few unit tests, this is known as..

A Pyramid

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.

 

 

 

 

 

 

 



Комментариев нет:

Отправить комментарий