Manual QA Interview Questions TestPro Flashcards

1
Q

What is the software development life cycle?

A

SDLC- Software Development Life Cycle is a process used by the software industry to design, develop and test high-quality software. It is also called Software Development Process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is understanding the SDLC so important to Software QA Engineers?

A

SDLC includes the following stages: Requirement phase, Design phase, Coding (programming), Testing, Release (Production), Maintenance (Support). Testing is one of the most important components of the software development lifecycle Quality assurance is the planned and systematic set of activities that ensures that software processes and products conform to requirements, standards, and procedures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the Agile Software Development Model?

A

Agile software development methodologies often called Agile, preach flexibility and pragmatism in the application delivery process. This iterative software development approach delivers value to users in small increments rather than through a single large launch. Agile teams evaluate requirements and results continuously, which leads to the efficient implementation of change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

When to use the Agile model?

A
  • When new changes are needed to be implemented. The freedom agile gives to change is very important. New changes can be implemented at very little cost because of the frequency of new increments that are produced.
  • To implement a new feature the developers need to lose only the work of a few days, or even only hours, to roll back and implement it.
  • Unlike the waterfall model in agile model very limited planning is required to get started with the project. Agile assumes that the end users’ needs are ever changing in a dynamic business and IT world. Changes can be discussed and features can be newly effected or removed based on feedback. This effectively gives the customer the finished system they want or need.
  • Both system developers and stakeholders alike find they also get more freedom of time and options than if the software was developed in a more rigid sequential way. Having options gives them the ability to leave important decisions until more or better data or even entire hosting programs are available; meaning the project can continue to move forward without fear of reaching a sudden standstill.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Main differences between Waterfall and Agile?

A

THE MAIN DIFFERENCE IS FLEXIBLY!!!
In Agile things have to be done in parallel since new features come every week and there is not enough time and resources to do things stage by stage. It provides flexibility, which makes it more bug free and more inclined towards better client satisfaction. Where waterfall model has no flexibility: it does not allow any modifications once the module is completed, in case of changes we’d have to build the entire project from scratch, and testing can be done only at the end of development module.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does ‘Sprint’ in Agile development stands for?

A

A sprint is a short, time-boxed period when a scrum team works to complete a set amount of work. Sprints are at the very heart of scrum and agile methodologies, and getting sprints right will help your agile team ship better software with fewer headaches.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q
  • What is a typical ‘Sprint’ duration?
A

Some people would say that the two weeks sprint has become the industry standard, but in the reality, sprint duration could be completely different. It could vary from 1 to 4 weeks and highly depends on the company, team and the project and what will work best for them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The Scrum Master’s Responsibilities

A

Facilitating (not participating in) the daily standup.
Helping the team maintain their burndown chart.
Setting up retrospectives, sprint reviews or sprint planning sessions.
Shielding the team from interruptions during the sprint.
Removing obstacles that affect the team.
Walking the product owner through more technical user stories. Encouraging collaboration between the Scrum team and product owner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

The Product Owner Responsibilities

A

One person responsible for collecting all the information from the stakeholders and presents it in one prioritize list for the team. PO is the one who can accept or reject the work. Product owner is responsible for maximizing the value of the product and work of the development team. PO is a sole person responsible for managing product backlog.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

The Product Owner Responsibilities

A

One person responsible for collecting all the information from the stakeholders and presents it in one prioritize list for the team. PO is the one who can accept or reject the work. Product owner is responsible for maximizing the value of the product and work of the development team. PO is a sole person responsible for managing product backlog.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are QA Responsibilities?

A
  • Should attend sprint-planning session. This ensures QA is in sync with development team from the start and allows QA to identify possible problem areas and risks early on.
  • Should attend daily stands up. This promotes a collaborative team environment, making QA feel involved and part of the team.
  • Should do testing throughout the entire duration of the sprint, the workload for QA should be spread out and this allows for issues to be found earlier instead of only at the end.
  • Schedule a quick face to face handoff demonstration for each feature with the developer. This allows QA to see exactly how to the new feature works and is a good time for them ask the developer any questions.
  • Should attend sprint retrospectives. Sprint retrospectives are the opportunity to define weakness and determine solutions for them.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Typical Agile Team consists of

A
  • 1 product owner
    1 scrum master (project manager)
    5 developers
  • 2 QA
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Software Quality Assurance?

A

Software quality is a perceptual and conditional thing. It may be understood differently. For consumers and some positions within the software company (upper management, sales, PR, marketing) it is about customer satisfaction. From a QA standpoint, it is about software being up to requirements.
Software QA is the process of monitoring and improving all activities associated with software development, from the gathering of requirements, design, and reviews to coding, testing, and implementation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Software Testing?

A

Software testing is a process of executing a program or application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying that a software program or application or product:

meets the business and technical requirements that guided its design and development;
works as expected;
can be implemented with the same characteristic.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the difference between Software Testing and Software QA?

A

Testing is mainly an ‘error detection’ process focusing on improving the source code.
Software QA is ‘preventative’. It aims to ensure quality in the methods & processes at all the stages of SDLC. (“Quality Assurance” measures the quality of processes used to create a quality product).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why software quality is not perfect?

A

You can’t find all bugs in software,
Not all bugs which are found will be fixed.
To make perfect software takes a long time but, in reality, we do have not enough time to fix all the bugs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is adhoc testing?

A

AD HOC TESTING is a method of software testing without any planning and documentation. The tests are conducted informally and randomly without any formal procedure or expected results.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is a Bug?

A

A software bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Bug report components are?

A
  1. Short summary (Bug Title);
  2. Environment;
  3. Steps to reproduce;
  4. Expected and actual results;
  5. Attachments if applicable;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What t is JQL?

A

JQL stands for Jira Query Language and is the most powerful and flexible way to search for your issues in Jira. JQL is for everyone: developers, testers, agile project managers and business users.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What kind of searching is in Jira?

A

Basic and Advanced Search.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is Confluence? What kind of data you can found in Confluence?

A

Confluence is a collaboration wiki tool used to help teams to collaborate and share knowledge efficiently. With confluence, we can capture project requirements, assign tasks to specific users, and manage several calendars at once with the help of Team Calendars add-on. You can also find in Confluence:

Private documentation about your project

Vocabulary glossary abbreviations

Environments and any other information about projects etc

How to install tools

Contact information of team members

PTO calendar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is a Test Case?

A

A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the most important components of Test Cases?

A
  • Test case ID (assigned automatically by TC management system)
  • The purpose (Title, Description) of the test case
  • Instruction on how to get from the application base state to a verifiable application output or expected result
  • Expected result
  • Execution Properties:
  • Actual Result
  • Pass/Fail indicator
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is a Check List?

A

A checklist is a catalog of items/tasks that are recorded for tracking. This list could either be ordered in a sequence or haphazard.
It is often referred to as a simplified version of a test case. In some companies, this format is used instead of test cases to decrease writing maintenance time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

What is a Test Suite?

A

The test suite is a collection of test cases that are intended to be used to test a software program to show that it has a specified set of behaviors. A test suite often contains detailed instructions or goals for each collection of test cases and information on the system configuration to be used during testing. It can take any of the three states namely active, in progress and completed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

How many Test Cases can you create if you don’t have requirements?

A

To begin with, I will try to test it based on common sense. When I believe I am at the stage where I can ask questions, I will go and talk to people — team members first, and then the product manager. Based on the information I collected, I will create a test plan and try to get a second opinion on it, probably by sending my doc to PM and QA manager.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

How do you write Test Cases?

A
  1. Freestyle
  2. Gherkin style.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What is Smoke Testing?

A

Smoke test (also confidence testing, sanity testing) — superficial build acceptance. Smoke testing refers the first test made after assembly or repairs to the system, to provide some assurance that the system under test will not catastrophically fail.
Smoke test — is light type testing, objective is figure out, to verify that all build works, is a alive. When the application was released in testing environment the QA team started smoke test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

What is Sanity Check Testing?

A

The difference between smoke and sanity, at least as I understand it, is that the smoke test is a quick test to see that after a build the application is good enough for testing. Then, you do a sanity test which tells you if a particular functional area is good enough that it actually makes sense to proceed with tests on this area.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What is Bug Triage?

A

Bug triage is a process where each bug is prioritized based on its severity, frequency, risk, etc. Triage is used in software testing / QA to define the severity and priority of new defects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q
  • Why do we need to have ‘Bug Triage’?
A

The goal of bug triage is to evaluate, prioritize and assign the resolution of defects. The team needs to validate the severity of the defect, make changes as per need, finalize resolution of the defects, and assign resources. Mainly used in agile project management.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q
  • Why do we need to have ‘Bug Triage’?
A

The goal of bug triage is to evaluate, prioritize and assign the resolution of defects. The team needs to validate the severity of the defect, make changes as per need, finalize resolution of the defects, and assign resources. Mainly used in agile project management.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What are Severity and Priority?

A

Bug Severity is the degree of impact that a defect has on the system. Bug Priority is the order of severity that has impacted the system. Severity is related to the standards and functionality of the system; priority is related to scheduling.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Which test management tools did you use before? Do you like it? And why?

A

In my current project, we are using Zephyr. It’s a great tool. Zephyr uses structured and freeform test execution cycles and is easy to use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is a Test Cycle?

A

A Test Cycle is a container for Test Cases and Test Suites that spans multiple users and projects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

How to create a Test Cycle in Zephyr?

A

Click on Tests > Plan Test Cycle, add and execute tests as part of those cycles.

37
Q

What is a Smoke Test Suite?

A

A Smoke Test Suite combines a number of Smoke Tests into a small suite of tests so that when the application is ready to deliver to staging or pre-production, developers will know in a matter of minutes whether the latest version of their application is ready for further QA and review. Smoke Tests are also used at times in emergencies or when teams want to release a hotfix for their production applications.

38
Q

Describe your current project?

A

In my company, I’m currently working on the testing of a personal audio streaming service. It’s a responsive web application.

39
Q

What is Regression Testing?

A

Regression Testing is a type of testing that is done to verify that a code change in the software does not impact the existing functionality of the product. This is to make sure the product works fine with new functionality, bug fixes or any changes to the existing features. Previously executed test cases are re-executed in order to verify the impact of changes.
Regression Testing is a type of Software Testing in which test cases are re-executed in order to check whether the previous functionality of the application is working fine and the new changes have not introduced any new bugs.
This test can be performed on a new build when there is a significant change in the original functionality that too even in a single bug fix. Regression means retesting the unchanged parts of the application.

40
Q

When to Perform Regression Testing?

A

Regression Testing is usually performed after the verification of changes or new functionality. But this is not always the case. For a release that takes months to complete, regression tests must be incorporated into the daily test cycle. For weekly releases, regression tests can be performed when the Functional Testing of the changes is over.
Regression checking is a variation of retest (which is simply to repeat a test). When Retesting, the reason can be anything. Say, you were testing a particular feature and it was the end of the day — you could not finish testing and had to stop the process without deciding if the test passed/failed. The next day when you come back, you perform the test once more, which means you are repeating a test you performed before. The simple act of repeating a test is a Retest.

41
Q

How Much Regression is Required?

A

This depends upon the scope of newly added features. If the scope of a fix or feature is too broad, then the application area which is affected is also quite large and the testing should be performed thoroughly including all the application test cases. But this can be effectively decided when the tester gets input from a developer about the scope, nature, and the amount of change. As these are repetitive tests, test cases can be automated so that a set of test cases alone can be easily executed on a new build.
Regression test cases need to be selected very carefully so that maximum functionality is covered in a minimum set of test cases. These sets of test cases need continuous improvements for newly added functionality. It becomes very difficult when the application scope is very big and there are continuous increments or patches to the system. In such cases, selective tests need to be executed in order to save testing cost and time. These selective test cases are picked based on the enhancements done to the system and the parts it can affect the most.

42
Q

What do we do in a Regression Check?

A
  • Re-run the previously conducted tests.
  • Compare the current results with previously executed test results.
43
Q

How to Select a Regression Test Suite?

A

Most of the bugs found in the production environment occur because of the changes done or bugs fixed at the eleventh hour i.e. the changes done at a later stage. The bug fix at the last stage might create other issues/bugs in the Product. That’s why Regression checking is very important before releasing a Product. Below is a list of test cases that can be used while performing this Test:

  • Functionalities that are frequently used.
  • Test cases that cover the module where the changes have been done.
  • Complex test cases.
  • Integration test cases which include all the major components.
  • Test cases for the core functionality or feature of the Product.
  • Priority 1 and Priority 2 test cases should be included.
  • Test cases that frequently fail or recent testing defects were found in the same.
44
Q

How Many Test Cases are in your Suite?

A

It is around 450 but some of them are mobile only or desktop only or both, so it depends on the platform and we don’t always execute all of them.

45
Q

What is a Test Plan?

A

The test plan is a document described for software testing scope and activities. It is the basis for formally testing any software /product in the project. It is a document describing scope, approach, resources, and schedule of intended test activities.

46
Q

What Does the Test Plan Include?

A
  • Introduction
  • Test items
  • Features to be tested
  • Features not to be tested
  • Test techniques
  • Testing tasks
  • Suspension criteria
  • Features pass or fail criteria
  • Test environment (Entry criteria, Exit criteria)
  • Test deliverables
  • Staff and training needs
  • Responsibilities
  • Schedule
  • Approvals
  • Risks and Contingencies
47
Q

Who Prepares the Test Plan?

A

It completely depends on the company you are working in.
In some companies, the Test Manager prepares the test plan and in some companies, the Test Lead prepares the test plan.
In some companies, the entire Test Team has a meeting in presence of the Test Lead and they decide together on the test plan.

48
Q

What is Gherkin?

A

Gherkin is a language, which is used to write Features, Scenarios, and Steps. The purpose of Gherkin is to help us write concrete requirements.
List Gherkin keywords, which you using in your test cases?
- GIVEN
- WHEN
- THEN
- AND

49
Q

How mobile testing and mobile app testing are different?

A

Mobile testing means checking the functionalities of a mobile device while mobile app testing means testing applications running over mobile devices.

50
Q

Give an example of common mobile bugs and how you prioritizing it?

A

We, testers work to find four types of common bugs; critical, block, minor, and major. For example there, a phone system crash when testing a particular feature of the device will be classified as a critical bug. The GUI bugs will be categorized as minor bugs, and functional disability of a particular feature will be submitted to a major bug list. Certain performance unavailability through the device is ON will fall into the block bug list.

There are many things that can go wrong with a mobile application and all the bugs couldn’t be categorized under the same headline. Some of the common ones are crashing the phone OS during the test of a feature on the phone. Not able to perform any task on the phone, GUI, bugs, a specific feature of an application is not operating (this is very common). In addition to this, the other ones are:

Slow performance of an application;

Totally unresponsive behavior of an app.

51
Q

What are the types of mobile applications?

A
  • Native apps are created for one specific platform or operating system.
  • Web apps are responsive versions of websites that can work on any mobile device or OS because they’re delivered using a mobile browser.
  • Hybrid apps are combinations of both native and web apps, but wrapped within a native app, giving it the ability to have its own icon or be downloaded from an app store.
52
Q

What according to you is the importance of Usability testing?

A

Usability testing is used to check if the app is user-friendly.
It involves analyzing customers’ behavior and experience with the application to identify bugs and discrepancies.
The metrics considered for usability testing are

  • the design of the app
  • response time
  • how intuitive it is.
53
Q

What is the latest version of iOS?

A

You should google the latest version and remember it before the interview.

54
Q

What is the latest version of Android?

A

You should google the latest version and remember it before the interview.

55
Q

What is the extension of Android files?

A

.apk (Android application package)

56
Q

How would you define AVD?

A

AVD stands for Android Virtual Device. It is an Android emulator to test applications on PCs.

57
Q

What is the extension of iOS files?

A

.ipa (iOS App Store Package)

58
Q

What all major networks to be considered while performing application testing?

A

You should test the application on 4G, 3G, 2G, and WIFI. 2G is a slower network, it’s good if you verify your application on a slower network also to track your application performance.

59
Q

What are the tools based on cloud-based mobile testing?

A

Perfecto Mobile, AWS Device Farm, BrowserStack, SauceLabs.

60
Q

What is the most common problem with the emulators, according to you?

A

They often fail to capture the important attributes of a device. Also, they suffer a lot from the compatibility issues if no open source technology is considered.

61
Q

How would you define a good test case? And a bad test case? Can you give us examples?

A

Bad test case: There can be two main bad test case scenarios. The first one would be very undescriptive, e.g. install, launch and login. In this case you don’t really know what to expect exactly from the test. The other bad test case would be a test case that tries to test many different functionalities at the same time. The result would be that you don’t concentrate on just one aspect of the app at a time and you might be missing other important functionality.

Good test case: Here is an example of a good test case: install and launch the application. Try to login with user info@interview.com with password “abcd”, wait 5 seconds for the app to respond and shows you the app interface after the login.

62
Q

On what metrics is the sanity test performed on mobile apps?

A

The sanity test on apps can be performed based on 5 metrics:

  1. Performance on different devices.
  2. Performance in various network environments.
  3. Installation and update of apps.
  4. If the app allows calls when running in the background.
  5. Media compatibility.
63
Q

What is WAP?

A

WAP stands for Wireless Application Protocol. Used in network apps, this communication protocol enables data access through wireless networks.
It facilitates easy connectivity between mobiles and the internet and enhances wireless interoperability.

64
Q

How will you communicate app crashes to the developer?

A
  1. I would start by identifying the scenario in which the app crashes.
  2. Then I would use a defect tracking tool to report app crashing and attach screenshots with the error message.
  3. I would also suggest steps to reproduce to bring app crashes in control.
65
Q

What would you do if your app works well on some devices and crashes on others?

A
  1. I would conduct compatibility tests to analyze the application’s performance on multiple devices with different network environments.
  2. This will help in the identification of the devices on which the app crashes.
  3. I would try uninstalling and installing the app and if it still does not function properly, I would highlight the issue to the developer and suggest fixes.
66
Q

Can you name 2 apps for Android and iOS each to record crash logs?

A

To record crash logs, you can use Android Studio and Eclipse for Android devices and iOS LogInfo and Xcode iOS devices.

67
Q

What are the most important mobile application test cases according to you?

A

In my opinion, the most important mobile app test cases are:

  • Usability test case.
  • Battery usage test case.
  • app functioning test case.
  • Touchscreen test case.
  • Security test case.
68
Q

What is an API?

A

API is an acronym for Application Programming Interface. An API is a set of routines, protocols, and tools for building Software Applications. APIs specify how one software program should interact with another software program.

In simple terms, API acts as an interface between two software applications and allows the two software applications to communicate with each other. API is a collection of software functions that can be executed by another software program.

69
Q

What is API Testing?

A

API testing is a type of software testing that involves testing APIs directly and also as part of integration testing, to check whether the API meets expectations in terms of functionality, reliability, performance and security of an application. In API Testing, our main focus will be on the business logic layer of the software architecture. API testing can be performed on any software system which contains multiple APIs.

70
Q

What is Rest API?

A

REST stands for Representational State Transfer. It is a set of functions helping developers in performing requests and receiving responses. Interaction is made through the HTTP Protocol in REST API.

71
Q

What are the common tests that are performed on APIs?

A

Some of the common tests we perform on APIs are as follows.

  1. Verify whether the return value is based on the input condition. The response of the APIs should be verified based on the request.
  2. Verify whether the system is authenticating the outcome when the API is updating any data structure.
  3. Verify whether the API triggers some other event or request another API.
  4. Verify the behavior of the API when there is no return value.
72
Q

What exactly needs to be verified in API Testing?

A

Basically, with API Testing, we send a request to the API with the known data and we analyse the response.

  1. Data accuracy;
  2. HTTP status codes;
  3. Response time;
  4. Error codes in case API returns any errors;
  5. Authorization checks;
  6. Non-functional testing such as performance testing and security testing.
73
Q

Name some tools used for API Testing?

A

Postman, Swagger… Maybe also Insomnia.

74
Q

Name some of the API examples which are quite popular.

A

Some of the more popular API examples are:

  • Google Maps API
  • YouTube
  • Twitter
  • Amazon Advertising API
75
Q

Name some of the most commonly used HTTP methods?

A

Some of the HTTP methods are

GET: It enables you to retrieve data from a server
POST: It enables you to add data to an existing file or resource in a server
PUT: It lets you replace an existing file or resource in a server
DELETE: It lets you delete data from a server
PATCH: It is used to apply partial modifications to a resource

76
Q

What is an API collection?

A

The definition of Collections is confined to a grouping of requests.

77
Q

What is Automation Testing?

A

Automation Testing is a technique using an automation tool to write and execute tester’s test scripts and cases.

The main goal of Automation Testing is to reduce the number of test cases to be run manually and not eliminate Manual Testing altogether.

78
Q

When will you Automate a Test?

A

Automation in preferred in following cases

  • Repetitive Tasks;
  • Smoke and Sanity Tests;
  • Test with multiple data set;
  • Regression test cases.
79
Q

How to Automate a Test Case (major steps)?

A

Prior to answering this question we have to answer which cases can be automated…

  1. Tasks or Test Cases requiring multiple data sets can be automated;
  2. Automate things which are difficult for humans, for example time sensitive actions requiring accurate timing to capture a state change or certain actions like loading a component with a hundred operations per second;
  3. Certain tasks which require regular setup of environment, for example, are good candidates for automation;
  4. Tasks involving complex calculations candidate for automation;
  5. Regression/Smoke tests are also good candidates for automation.
80
Q

When will you NOT use Automate Testing?

A

One should not automate in following cases.

  • When the Application Under Test changes frequently;
  • One time test cases;
  • Ad Hoc – Random testing.
81
Q

What is Selenium?

A

SELENIUM is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms. You can use multiple programming languages like Java, C#, Python etc to create Selenium Test Scripts.

Selenium IDESelenium IDE (Integrated Development Environment) is a prototyping tool for building test scripts. It is a Firefox plugin and provides an easy-to-use interface for developing automated tests. It is implemented as a Firefox Add-On. Selenium IDE has a recording feature, which records user actions as they are performed and then exports them as a reusable script in one of many programming languages that can be later executed. Selenium provides a record/playback tool for authoring tests without learning a test scripting language. It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, including Java, C#, Groovy, Perl, PHP, Python and Ruby. Scripts may be automatically recorded and edited manually providing autocompletion support and the ability to move commands around quickly. Scripts are recorded in Selenese, a special test scripting language for Selenium. Selenese provides commands for performing actions in a browser (click a link, select an option), and for retrieving data from the resulting pages.

82
Q

Selenium WebDriver

A

Selenium WebDriver accepts commands (sent in Selenese, or via a Client API) and sends them to a browser. This is implemented through a browser-specific driver, which sends commands to a browser, and retrieves results. Most browser drivers actually launch and access a browser application (such as Firefox or Internet Explorer).

Selenium WebDriver does not need a special server to execute tests. Instead, the WebDriver directly starts a browser instance and controls it. However, Selenium Grid can be used with WebDriver to execute tests on remote systems. Where possible, WebDriver uses native operating system level functionality rather than browser-based JavaScript commands to drive the browser. This bypasses problems with subtle differences between native and JavaScript commands, including security restrictions.

83
Q

Explain Cucumber shortly.

A

Cucumber is a tool that is based on Behavior Driven Development (BDD) methodology.

The main aim of the Behavior Driven Development framework is to make various project roles such as Business Analysts, Quality Assurance, Developers, etc., understand the application without diving deep into the technical aspects.

84
Q

What language is used by Cucumber?

A

Gherkin is the language that is used by the Cucumber tool. It is a simple English representation of the application behavior. Gherkin language uses several keywords to describe the behavior of applications such as Feature, Scenario, Scenario Outline, Given, When, Then, etc.

85
Q

What is meant by a feature file?

A

A feature file must provide a high-level description of an Application Under Test (AUT). The first line of the feature file must start with the keyword ‘Feature’ following the description of the application under test.
A feature file may include multiple scenarios within the same file. A feature file has the extension feature.

86
Q

What are the various keywords that are used in Cucumber for writing a scenario?

A

Mentioned below are the keywords that are used for writing a scenario:

  • Given
  • When
  • Then
  • And
87
Q

What programming language is used by Cucumber?

A

Cucumber tool provides support for multiple programming languages such as Java, .NET, Ruby etc. It can also be integrated with multiple tools such as Selenium, Capybara etc.

88
Q

What is the purpose of the Step Definition file in Cucumber?

A

A step definition file in Cucumber is used to segregate the feature files from the underlying code. Each step of the feature file can be mapped to a corresponding method on the Step Definition file.

While feature files are written in an easily understandable language such as Gherkin, Step Definition files are written in programming languages such as Java, .NET, Ruby etc.

89
Q

What is an Automation Framework?

A

Framework approach in automation. A test automation framework is an integrated system that sets the rules of automation of a specific product. This system integrates the function libraries, test data sources, object details and various reusable modules.

90
Q

Describe your Automation Framework?

A

Programming Language: JavaScript

Test Framework: WebdriverIO for Node.js

Webdriver: Selenium

Behavior-Driven Development Tool: Cucumber

Assertion Library: Chai

Dependency Management: Yarn

Browser: Chrome

Cloud Service: SauceLabs

CI tool: Jenkins

IDE: Microsoft Visual Studio Code