SlideShare a Scribd company logo
Software Testing Interview Questions
A list of mostly asked software testing interview questions or QTP interview
questions and answers are given below.
1) What is the PDCA cycle and where testing fits in?
There are four steps in a normal software development process. In short, these steps
are referred to as PDCA.
PDCA stands for Plan, Do, Check, Act.
o Plan: It defines the goal and the plan for achieving that goal.
o Do/ Execute: It depends on the plan strategy decided during the planning stage. It is
done according to this phase.
o Check: This is the testing part of the software development phase. It is used to
ensure that we are moving according to plan and getting the desired result.
o Act: This step is used to solve if there any issue has occurred during the check cycle.
It takes appropriate action accordingly and revises the plan again.
The developers do the "planning and building" of the project while testers do the
"check" part of the project.
58.2M
941
Hello Java Program for Beginners
2) What is the difference between the white box, black box, and
gray box testing?
Black box Testing: The strategy of black box testing is based on requirements and
specification. It requires no need of knowledge of internal path, structure or
implementation of the software being tested.
White box Testing: White box testing is based on internal paths, code structure,
and implementation of the software being tested. It requires a full and detail
programming skill.
Gray box Testing: This is another type of testing in which we look into the box
which is being tested, It is done only to understand how it has been implemented.
After that, we close the box and use the black box testing.
Following are the differences among white box, black box, and gray box
testing are:
Black box testing Gray box testing White box testing
Black box testing does not need the
implementation knowledge of a program.
Gray box testing knows
the limited knowledge of
an internal program.
In white box te
implementation details
program are fully required
It has a low granularity. It has a medium
granularity.
It has a high granularity.
It is also known as opaque box testing, closed It is also known as It is also known as glass
box testing, input-output testing, data-driven
testing, behavioral testing and functional
testing.
translucent testing. testing, clear box testing.
It is a user acceptance testing, i.e., it is done by
end users.
It is also a user acceptance
testing.
Testers and program
mainly do it.
Test cases are made by the functional
specifications as internal details are not known.
Test cases are made by
the internal details of a
program.
Test cases are made by
internal details of a progra
3)What are the advantages of designing tests early in the life
cycle?
Designing tests early in the life cycle prevent defects from being in the main code.
4) What are the types of defects?
There are three types of defects: Wrong, missing, and extra.
Wrong: These defects are occurred due to requirements have been implemented
incorrectly.
Missing: It is used to specify the missing things, i.e., a specification was not
implemented, or the requirement of the customer was not appropriately noted.
Extra: This is an extra facility incorporated into the product that was not given by the
end customer. It is always a variance from the specification but may be an attribute
that was desired by the customer. However, it is considered as a defect because of
the variance from the user requirements.
5) What is exploratory testing?
Simultaneous test design and execution against an application is called exploratory
testing. In this testing, the tester uses his domain knowledge and testing experience
to predict where and under what conditions the system might behave unexpectedly.
6) When should exploratory testing be performed?
Exploratory testing is performed as a final check before the software is released. It is
a complementary activity to automated regression testing.
7) What are the advantages of designing tests early in the life
cycle?
It helps you to prevent defects in the code.
8) Tell me about the risk-based testing.
The risk-based testing is a testing strategy that is based on prioritizing tests by risks.
It is based on a detailed risk analysis approach which categorizes the risks by their
priority. Highest priority risks are resolved first.
9) What is acceptance testing?
Acceptance testing is done to enable a user/customer to determine whether to
accept a software product. It also validates whether the software follows a set of
agreed acceptance criteria. In this level, the system is tested for the user
acceptability.
Types of acceptance testing are:
1. User acceptance testing: It is also known as end-user testing. This type of testing is
performed after the product is tested by the testers. The user acceptance testing is
testing performed concerning the user needs, requirements, and business processes
to determine whether the system satisfies the acceptance criteria or not.
2. Operational acceptance testing: An operational acceptance testing is performed
before the product is released in the market. But, it is performed after the user
acceptance testing.
3. Contract and regulation acceptance testing: In the case of contract acceptance
testing, the system is tested against certain criteria and the criteria are made in a
contract. In the case of regulation acceptance testing, the software application is
checked whether it meets the government regulations or not.
4. Alpha and beta testing: Alpha testing is performed in the development
environment before it is released to the customer. Input is taken from the alpha
testers, and then the developer fixes the bug to improve the quality of a product.
Unlike alpha testing, beta testing is performed in the customer environment.
Customer performs the testing and provides the feedback, which is then
implemented to improve the quality of a product.
10) What is accessibility testing?
Accessibility testing is used to verify whether a software product is accessible to the
people having disabilities (deaf, blind, mentally disabled etc.).
11) What is Adhoc testing?
Ad-hoc testing is a testing phase where the tester tries to 'break' the system by
randomly trying the system's functionality.
12) What is Agile testing?
Agile testing is a testing practice that uses agile methodologies i.e. follow test-first
design paradigm.
13) What is API (Application Programming Interface)?
Application Programming Interface is a formalized set of software calls and routines
that can be referenced by an application program to access supporting system or
network services.
14) What do you mean by automated testing?
Testing by using software tools which execute test without manual intervention is
known as automated testing. Automated testing can be used in GUI, performance,
API, etc.
15) What is Bottom-up testing?
The Bottom-up testing is a testing approach which follows integration testing where
the lowest level components are tested first, after that the higher level components
are tested. The process is repeated until the testing of the top-level component.
16) What is Baseline Testing?
In Baseline testing, a set of tests is run to capture performance information. Baseline
testing improves the performance and capabilities of the application by using the
information collected and make the changes in the application. Baseline compares
the present performance of the application with its previous performance.
17) What is Benchmark Testing?
Benchmarking testing is the process of comparing application performance with
respect to the industry standard given by some other organization.
It is a standard testing which specifies where our application stands with respect to
others.
18) Which types are testing are important for web testing?
There are two types of testing which are very important for web testing:
o Performance testing: Performance testing is a testing technique in which quality
attributes of a system are measured such as responsiveness, speed under different
load conditions and scalability. The performance testing describes which attributes
need to be improved before the product is released in the market.
o Security testing: Security testing is a testing technique which determines that the
data and resources be saved from the intruders.
19) What is the difference between web application and
desktop application in the scenario of testing?
The difference between a web application and desktop application is that a web
application is open to the world with potentially many users accessing the
application simultaneously at various times, so load testing and stress testing are
important. Web applications are also prone to all forms of attacks, mostly DDOS, so
security testing is also very important in the case of web applications.
20) What is the difference between verification and validation?
Difference between verification and validation:
Verification Validation
Verification is Static Testing. Validation is Dynamic Testing.
Verification occurs before Validation. Validation occurs after Verification
Verification evaluates plans, document, requirements and
specification.
Validation evaluates products.
In verification, inputs are the checklist, issues list, walkthroughs, and
inspection.
Invalidation testing, the actual pro
is tested.
Verification output is a set of document, plans, specification and
requirement documents.
Invalidation actual product is outp
21) What is the difference between Retesting and Regression
Testing?
A list of differences between Retesting and Regression Testing:
Regression Retesting
Regression is a type of software testing that checks the code
change does not affect the current features and functions of
an application.
Retesting is the process of testing that ch
the test cases which were failed in the
execution.
The main purpose of regression testing is that the changes
made to the code should not affect the existing functionalities.
Retesting is applied on the defect fixes.
Defect verification is not an element of Regression testing. Defect verification is an element of regres
22) What is the difference between preventative and reactive
approaches to testing?
Preventative tests are designed earlier, and reactive tests are designed after the
software has been produced.
23) What is the purpose of exit criteria?
The exit criteria are used to define the completion of the test level.
24) Why is the decision table testing used?
A decision table consists of inputs in a column with the outputs in the same column
but below the inputs.
The decision table testing is used for testing systems for which the specification takes
the form of rules or cause-effect combination. The reminders you get in the table
explore combinations of inputs to define the output produced.
25) What is alpha and beta testing?
These are the key differences between alpha and beta testing:
No
.
Alpha Testing Beta Testing
1) It is always done by developers at the software
development site.
It is always performed by custome
their site.
2) It is also performed by Independent testing team It is not be performed by Indepen
testing team
3) It is not open to the market and public. It is open to the market and public.
4) It is always performed in a virtual environment. It is always performed in a real-
environment.
5) It is used for software applications and projects. It is used for software products.
6) It follows the category of both white box testing and
Black Box Testing.
It is only the kind of Black Box Testi
7) It is not known by any other name. It is also known as field testing.
26) What is Random/Monkey Testing?
Random testing is also known as monkey testing. In this testing, data is generated
randomly often using a tool. The data is generated either using a tool or some
automated mechanism.
Random testing has some limitations:
o Most of the random tests are redundant and unrealistic.
o It needs more time to analyze results.
o It is not possible to recreate the test if you do not record what data was used
for testing.
27) What is the negative and positive testing?
Negative Testing: When you put an invalid input and receive errors is known as
negative testing.
Positive Testing: When you put in the valid input and expect some actions that are
completed according to the specification is known as positive testing.
28) What is the benefit of test independence?
Test independence is very useful because it avoids author bias in defining effective
tests.
29) What is the boundary value analysis/testing?
In boundary value analysis/testing, we only test the exact boundaries rather than
hitting in the middle. For example: If there is a bank application where you can
withdraw a maximum of 25000 and a minimum of 100. So in boundary value testing
we only test above the max and below the max. This covers all scenarios.
The following figure shows the boundary value testing for the above-discussed bank
application.TC1 and TC2 are sufficient to test all conditions for the bank. TC3 and TC4
are duplicate/redundant test cases which do not add any value to the testing. So by
applying proper boundary value fundamentals, we can avoid duplicate test cases,
which do not add value to the testing.
30) How would you test the login feature of a web application?
There are many ways to test the login feature of a web application:
o Sign in with valid login, Close browser and reopen and see whether you are
still logged in or not.
o Sign in, then log out and then go back to the login page to see if you are truly
logged out.
o Log in, then go back to the same page, do you see the login screen again?
o Session management is important. You must focus on how do we keep track
of logged in users, is it via cookies or web sessions?
o Sign in from one browser, open another browser to see if you need to sign in
again?
o Log in, change the password, and then log out, then see if you can log in
again with the old password.
31) What are the types of performance testing?
Performance testing: Performance testing is a testing technique which determines
the performance of the system such as speed, scalability, and stability under various
load conditions. The product undergoes the performance testing before it gets live in
the market.
Types of software testing are:
1. Load testing:
o Load testing is a testing technique in which system is tested with an increasing
load until it reaches the threshold value.
Note: An increasing load means the increasing the number of users.
o The main purpose of load testing is to check the response time of the system
with an increasing amount of load.
o Load testing is non-functional testing means that the only non-functional
requirements are tested.
o Load testing is performed to make sure that the system can withstand a heavy
load
2. Stress testing:
o Stress testing is a testing technique to check the system when hardware
resources are not enough such as CPU, memory, disk space, etc.
o In case of stress testing, software is tested when the system is loaded with the
number of processes and the hardware resources are less.
o The main purpose of stress testing is to check the failure of the system and to
determine how to recover from this failure is known as recoverability.
o Stress testing is non-functional testing means that the only non-functional
requirements are tested.
3. Spike testing:
o Spike testing is a subset of load testing. This type of testing checks the
instability of the application when the load is varied.
o There are different cases to be considered during testing:
o The first case is not to allow the number of users so that the system will
not suffer heavy load.
o The second case is to provide warnings to the extra joiners, and this
would slow down the response time.
4. Endurance testing:
o Endurance testing is a subset of load testing. This type of testing checks the
behavior of the system.
o Endurance testing is non-functional testing means that the only non-
functional requirements are tested.
o Endurance testing is also known as Soak testing.
o Endurance testing checks the issues such as memory leak. A memory leak
occurs when the program does not release its allocated memory after its use.
Sometimes the application does not release its memory even after its use and
this unusable memory cause memory leak. This causes an issue when the
application runs for a long duration.
o Some of the main issues that are viewed during this testing are:
o Memory leaks occurred due to an application.
o Memory leaks occurred due to a database connection.
o Memory leaks occurred due to a third party software.
5. Volume testing:
o Volume testing is a testing technique in which the system is tested when the
volume of data is increased.
o Volume testing is also known as flood testing.
o Volume testing is non-functional testing means that the only non-functional
requirements are tested.
o For example: If we want to apply the volume testing then we need to expand
the database size, i.e., adding more data into the database table and then
perform the test.
6. Scalability testing
o Scalability testing is a testing technique that ensures that the system works
well in proportion to the growing demands of the end users.
o Following are the attributes checked during this testing:
o Response time
o Throughput
o Number of users required for performance test
o Threshold load
o CPU usage
o Memory usage
o Network usage
32) What is the difference between functional and non-
functional testing?
Basis of
comparison
Functional testing Non-functional testing
Description Functional testing is a testing technique
which checks that function of the
application works under the requirement
specification.
Non-functional testing checks all
non-functional aspects such
performance, usability, reliability, e
Execution Functional testing is implemented before
non-functional testing.
Non-functional testing is perfor
after functional testing.
Focus area It depends on the customer requirements. It depends on the custo
expectations.
Requirement Functional requirements can be easily
defined.
Non-functional requirements ca
be easily defined.
Manual testing Functional testing can be performed by Non-functional testing cannot
manual testing. performed by manual testing.
Testing types Following are the types of functional
testing:
o Unit testing
o Acceptance testing
o Integration testing
o System testing
Following are the types of
functional testing:
o Performance testing
o Load testing
o Stress testing
o Volume testing
o Security testing
o Installation testing
o Recovery testing
33) What is the difference between static and dynamic testing?
Static testing Dynamic testing
Static testing is a white box testing technique which
is done at the initial stage of the software
development lifecycle.
Dynamic testing is a testing process whic
done at the later stage of the soft
development lifecycle.
Static testing is performed before the code
deployment.
Dynamic testing is performed after the c
deployment.
It is implemented at the verification stage. It is implemented at the validation stage.
Execution of code is not done during this type of
testing.
Execution of code is necessary for the dyn
testing.
In the case of static testing, the checklist is made for
the testing process.
In the case of dynamic testing, test cases
executed.
34) What is the difference between negative and positive
testing?
Positive testing Negative testing
Positive testing means testing the application by
providing valid data.
Negative testing means testing the applicatio
providing the invalid data.
In case of positive testing, tester always checks
the application for a valid set of values.
In the case of negative testing, tester alw
checks the application for the invalid set of val
Positive testing is done by considering the
positive point of view for example: checking the
first name field by providing the value such as
"Akshay".
Negative testing is done by considering
negative point of view for example: checking
first name field by providing the value suc
"Akshay123".
It verifies the known set of test conditions. It verifies the unknown set of conditions.
The positive testing checks the behavior of the
system by providing the valid set of data.
The negative testing tests the behavior of
system by providing the invalid set of data.
The main purpose of the positive testing is to
prove that the project works well according to
the customer requirements.
The main purpose of the negative testing
break the project by providing the invalid se
data.
The positive testing tries to prove that the
project meets all the customer requirements.
The negative testing tries to prove that the pro
does not meet all the customer requirements.
35) What are the different models available in SDLC?
There are various models available in software testing, which are the following:
o Waterfall model
o Spiral Model
o Prototype model
o Verification and validation model
o Hybrid model
o Agile model
o Rational unified process model[RUP]
o Rapid Application development [RAD]
36) List out the difference between smoke testing and sanity
testing and dry run testing?
Following are the differences between smoke, sanity, and dry run testing:
Smoke testing Sanity testing Dry-run testing
It is shallow, wide and scripted
testing.
It is narrow and deep
and unscripted testing
A dry run testing is a process w
the effects of a possible failure
internally mitigated.
When the builds come, we will write
the automation script and execute
the scripts. So it will perform
automatically.
It will perform
manually.
For Example, An aerospace com
may conduct a Dry run of a tak
using a new aircraft and a run
before the first test flight.
It will take all the essential features
and perform high-level testing.
It will take some
significant features
and perform in-depth
testing.
37) How do we test a web application? What are the types of
tests we perform on the web application?
To test any web application such as Yahoo, Gmail, and so on, we will perform the
following testing:
o Functional testing
o Integration testing
o System testing
o Performance testing
o Compatibility testing ( test the application on the various operating systems,
multiple browsers, and different version)
o Usability testing ( check whether it is user friendly)
o Ad-hoc testing
o Accessibility testing
o Smoke testing
o Regression testing
o Security testing
o Globalization testing ( only if it is developed in different languages)
38) Why do we need to perform compatibility testing?
We might have developed the software in one platform, and the chances are there
that users might use it in the different platforms. Hence, it could be possible that
they may encounter some bugs and stop using the application, and the business
might get affected. Therefore, we will perform one round of Compatibility testing.
39) How many test cases we can write in a day?
We can tell anywhere between 2-5 test cases.
o First test case 1st day, 2nd day.
→
o Second test case 3rd day, 4th day.
→
o Forth test case 5th day.
→
o 9-10 test cases 19th day.
→
Primarily, we use to write 2-5 test cases, but in future stages we write around 6-7
because, at that time, we have the better product knowledge, we start re-using the
test cases, and the experience on the product.
40) How many test cases can we review per day?
It would be around 7 test cases we write so that we can review 7*3=21 test cases.
And we can say that 25-30 test case per day.
41) How many test cases can we run in a day?
We can run around 30-55 test cases per day.
Note: For these types of questions (39-41), always remember the ratio: x test cases we
can write, 3x test cases we can review, and 5x test cases we can execute per day.
42) Does the customer get a 100% bug-free product?
1. The testing team is not good
2. Developers are super
3. Product is old
4. All of the above
The correct answer is testing team is not good because sometimes the
fundamentals of software testing define that no product has zero bugs.
43) How to track the bug manually and with the help of
automation?
We can track the bug manually as:
o Identify the bug.
o Make sure that it is not duplicate (that is, check it in bug repository).
o Prepare a bug report.
o Store it in bug repository.
o Send it to the development team.
o Manage the bug life cycle (i.e., keep modifying the status).
Tracking the bug with the help of automation i.e., bug tracking tool:
We have various bug tracking tools available in the market, such as:
o Jira
o Bugzilla
o Mantis
o Telelogic
o Rational Clear Quest
o Bug_track
o Quality center ( it is a test management tool, a part of it is used to track the
bugs)
Note: Here, we have two categories of tools:
A product based: In the product based companies, they will use only one bug
tracking tool.
Service-based: In service-based companies, they have many projects of different
customers, and every project will have different bug tracking tools.
44) Why does an application have bugs?
The software can have a bug for the following reasons:
o Software complexity
o Programming errors
o If no communications are happening between the customer and the company,
i.e., an application should or should not perform according to the software's
needs.
o Modification in requirements
o Time pressure.
45) When we perform testing?
We will perform testing whenever we need to check all requirements are executed
correctly or not, and to make sure that we are delivering the right quality product.
46) When do we stop the testing?
We can stop testing whenever we have the following:
o Once the functionality of the application is stable.
o When the time is less, then we test the necessary features, and we stop it.
o The client's budget.
o When the essential feature itself is not working correctly.
47) For which and all types of testing do we write test cases?
We can write test cases for the following types of testing:
Different types of
testing
Test cases
Smoke testing In this, we will write only standard features; thus, we can pull out some
cases that have all the necessary functions. Therefore, we do not hav
write a test case for smoke testing.
Functional/unit
testing
Yes, we write the test case for unit testing.
Integration testing Yes, we write the test case for integration testing.
System testing Yes, we write the test case for system testing.
Acceptance testing Yes, but here the customer may write the test case.
Compatibility testing In this, we don't have to write the test case because the same test case
above are used for testing on different platforms.
Adhoc testing We don't write the test case for the Adhoc testing because there are s
random scenarios or the ideas, which we used at the time of Adhoc t
Though, if we identify the critical bug, then we convert that scenario in
test case.
Performance testing We might not write the test cases because we will perform this testing
the help of performance tools.
Usability testing In this, we use the regular checklist; therefore, we don't write the test
because here we are only testing the look and feel of the application.
Accessibility testing In accessibility testing, we also use the checklist.
Reliability testing Here, we don't write the manual test cases as we are using the automa
tool to perform reliability testing.
Regression testing Yes, we write the test cases for functional, integration, and system testing
Recovery testing Yes, we write the test cases for recovery testing, and also check how
product recovers from the crash.
Security testing Yes, we write the test case for security testing.
Globalization testing:
Localization testing
Internationalization
testing
Yes, we write the test case for L10N tes
Yes, we write the test case for I18N testing.
48) What is the difference between the traceability matrix and
the test case review process?
Traceability matrix Test case review
In this, we will make sure that each
requirement has got at least one test case.
In this, we will check whether all the scenarios
covered for the particular requirements.
49) What is the difference between use case and test case?
Following are the significant differences between the use case and the test case:
Test case Use Case
It is a document describing the input, action, and expected response
to control whether the application is working fine based on the
customer requirements.
It is a detailed descriptio
Customer Requirements.
It is derived from test scenarios, Use cases, and the SRS. It is derived from BRS/SRS
While developing test cases, we can also identify loopholes in the
specifications.
A business analyst or
Lead prepares it.
50) How to test a pen?
We can perform both manual and automation testing. First, we will see how we
perform manual testing:
Different types of
testing
Scenario
Smoke testing Checks that basic functionality is written or not.
Functional/unit
testing
Check that the Refill, pen body, pen cap, and pen size as per the requireme
Integration testing Combine pen and cap and integrate other different sizes and see whether
work fine.
Compatibility
testing
Various surfaces, multiple environments, weather conditions, and keep
oven and then write, keep it in the freezer and write, try and write on wate
Adhoc testing Throw the pen down and start writing, keep it vertically up and write, writ
the wall.
Performance
testing
Test the writing speed of the pen.
Usability testing Check whether the pen is user friendly or not, whether we can write it for m
extended periods smoothly.
Accessibility testing Handicapped people use them.
Reliability testing Drop it down and write, and continuously write and see whether it leaks or
Recovery testing Throw it down and write.
Globalization
testing
Localization testing
Price should be standard, expiry date format.
Internationalize
testing
Check whether the print on the pen is as per the country language.
Now, we will see how we perform automation testing on a pen:
For this take a roller, now put some sheets of paper on the roller, then connects the
pen to the motor and switch on the motor. The pen starts writing on the paper. Once
the pen has stopped writing, now observe the number of lines that it has written on
each page, length of each track, and multiplying all this, so we can get for how many
kilometers the pen can
POM
1) What is a page object model?
A) Page Object Model is a design pattern which has become popular in test
automation for enhancing test maintenance and reducing code duplication. A
page object is an object-oriented class that serves as an interface to a page of
your AUT.
2) What is a page object model in selenium?
A) Page Object Model in Selenium – Page Object model is an object design
pattern in Selenium, where web pages are represented as classes, and the
various elements on the page are defined as variables on the class.
3) Is Page object model a framework?
A) Page Object Model is a Design Pattern which has become popular in
Selenium Test Automation. Page object model (POM) can be used in any kind of
framework such as modular, data-driven, keyword driven, hybrid framework
etc.
4) What is the Page Factory Class?
A) The Page Factory Class is an extension to the Page Object design pattern. It is
used to initialize the elements of the Page Object or instantiate the Page
Objects itself. Annotations for elements can also be created (and
recommended) as the describing properties may not always be descriptive
enough to tell one object from the other.
5) What is Page Factory?
A) Page Factory is an inbuilt page object model concept for Selenium Web
Driver, but it is much optimized. Page Factory can be used in any kind of
framework such as Data Driven, Modular or Keyword Driven. Page Factory gives
more focus on how the code is being structured to get the best benefit out of it.
6) What is the difference between Page Object Model (POM) and Page
Factory?
A) Page Object is a class that represents a web page and hold the functionality
and members.
Page Factory is a way to initialize the web elements you want to interact with
within the page object when you create an instance of it.
7) What is Test Class?
A) Test Class – In Test Class, we will write an actual selenium test script. Here,
we call Page Action and mentioned actions to be
performed on Web Pages. For each page, we can write our own test class for
better code readability. We can write test cases in @Test annotation.
8) What is Page Action Class?
A) Page Action Class – In Page Action Class, we can write all web pages action as
per the pages and functionality. Under Page Action component, for each page
in the application, we have corresponding Page class.
9) What is Page Factory Class?
A) Page Factory class is nothing but Object Repository in other term. For each
web page, it has its own Page Object definitions. Each web element should
uniquely get identified and should be defined at class level. We will use Find By
annotation and will define web element so that we will be able to perform
actions on them.
10) Can you write sample code for Page Factory Class?
A) Page Factory Class
@FindBy(xpath=”.//*[@id=’Email’]”)
publicWebElementgmailUserIDWebEdit;
11) Can you write sample code for Page Action Class?
A) Page Action Class
publicclassPageActions_Login
{
WebDriver driver;
PageObjects_Loginpo; // Create Instance to Page Factory
class
publicPageActions_Login(WebDriver driver)
{
this.driver = driver; // set webDriver for current Page
Action
}
}
12) What are the advantages of using page object pattern?
A) ADVANTAGES OF USING PAGE OBJECT PATTERN
Easy to maintain.
Easy readability of scripts – since the test scripts, functions and locators are in
different classes it is easy to walk through the code.
Eliminate redundancy – no duplicity of functions or locators.
Re-usability of code – a locator or function can be reused in the tests.
Reliability.
Test coverage is more since the tests are written program wise.
Performance of each test can be known.
The changes is to be made only in Page Factory class if any locator changes – no
need to
GIT Interview Questions
1) What is GIT?
Git is an open source distributed version control system and source code
management (SCM) system with an insistence to control small and large projects
with speed and efficiency.
2) Which language is used in Git?
Git uses 'C' language. Git is quick, and 'C' language makes this possible by
decreasing the overhead of run times contained with high-level languages.
3) What is a repository in Git?
A repository consists of a list named .git, where git holds all of its metadata for the
catalog. The content of the .git file is private to Git.
4) What is 'bare repository' in Git?
A "bare" repository in Git includes the version control information and no working
files (no tree), and it doesn?t include the special. git sub-directory. Instead, it consists
of all the contents of the .git sub-directory directly in the main directory itself,
whereas working list comprises of:
57.7M
1.1K
Exception Handling in Java - Javatpoint
1. A .git subdirectory with all the Git associated revision history of your repo.
2. A working tree, or find out copies of your project files.
5) What is the purpose of GIT stash?
GIT stash takes the present state of the working file and index and puts in on the
stack for next and gives you back a clean working file. So in case if you are in the
middle of object and require to jump over to the other task, and at the same time
you don't want to lose your current edits, you can use GIT stash.
6) What is GIT stash drop?
When you are done with the stashed element or want to delete it from the directory,
run the git 'stash drop' command. It will delete the last added stash item by default,
and it can also remove a specific topic if you include as an argument.
7) What are the advantages of using GIT?
Here are some of the essential advantages of Git:
o Data repetition and data replication is possible
o It is a much applicable service
o For one depository you can have only one directory of Git
o The network performance and disk application are excellent
o It is effortless to collaborate on any project
o You can work on any plan within the Git
8) What is the function of 'GIT PUSH' in GIT?
'GIT PUSH' updates remote refs along with related objects
9) Why do we require branching in GIT?
With the help of branching, you can keep your branch, and you can also jump
between the different branches. You can go to your past work while at the same time
keeping your recent work intact.
10) What is the purpose of 'git config'?
The 'Git config' is a great method to configure your choice for the Git installation.
Using this command, you can describe the repository behavior, preferences, and user
information.
11) What is the definition of "Index" or "Staging Area" in GIT?
When you are making the commits, you can make innovation to it, format it and
review it in the common area known as 'Staging Area' or 'Index'.
12) What is a 'conflict' in git?
A 'conflict' appears when the commit that has to be combined has some change in
one place, and the current act also has a change at the same place. Git will not be
easy to predict which change should take precedence.
13) What is the difference between git pull and git fetch?
Git pull command pulls innovation or commits from a specific branch from your
central repository and updates your object branch in your local repository.
Git fetch is also used for the same objective, but it works in a slightly different
method. When you behave a git fetch, it pulls all new commits from the desired
branch and saves it in a new branch in your local repository. If you need to reflect
these changes in your target branch, git fetch should be followed with a git merge.
Your target branch will only be restored after combining the target branch and
fetched branch. To make it simple for you, remember the equation below:
Git pull = git fetch + git merge
14) How to resolve a conflict in Git?
If you need to resolve a conflict in Git, edit the list for fixing the different changes,
and then you can run "git add" to add the resolved directory, and after that, you can
run the 'git commit' for committing the repaired merge.
15) What is the purpose of the git clone?
The git clone command generates a copy of a current Git repository. To get the copy
of a central repository, 'cloning' is the simplest way used by programmers.
16) What is git pull origin?
pull is a get and a consolidation. 'git pull origin master' brings submits from the
master branch of the source remote (into the local origin/master branch), and then it
combines origin/master into the branch you currently have looked out.
17) What does git commit a?
Git commits "records changes to the storehouse" while git push " updates remote
refs along with contained objects" So the first one is used in a network with your
local repository, while the latter one is used to communicate with a remote
repository.
18) Why GIT better than Subversion?
GIT is an open source version control framework; it will enable you to run
'adaptations' of a task, which demonstrate the changes that were made to the code
over time also it allows you keep the backtrack if vital and fix those changes. Multiple
developers can check out, and transfer changes, and each change can then be
attributed to a particular developer.
19) Explain what is commit message?
Commit message is a component of git which shows up when you submit a change.
Git gives you a content tool where you can enter the adjustments made to a commit.
20) Why is it desirable to create an additional commit rather
than amending an existing commit?
There are couples of reason
1. The correct activity will devastate the express that was recently saved in a
commit. If only the commit message gets changed, that's not a problem. But if
the contents are being modified, chances of excluding something important
remains more.
2. Abusing "git commit- amends" can cause a small commit to increase and
acquire inappropriate changes.
21) What does 'hooks' comprise of in Git?
This index comprises of Shell contents which are enacted after running the relating
git commands. For instance, Git will attempt to execute the post-commit content
after you run a commit.
22) What is the distinction between Git and Github?
A) Git is a correction control framework, a tool to deal with your source code history.
GitHub is a hosting function for Git storehouses.
GitHub is a website where you can transfer a duplicate of your Git archive. It is a Git
repository hosting service, which offers the majority of the distributed update control
and source code management (SCM) usefulness of Git just as including its features.
23) In Git, how would you return a commit that has just been
pushed and made open?
There can be two answers to this question and ensure that you incorporate both
because any of the below choices can be utilized relying upon the circumstance:
Remove or fix the bad document in another commit and push it to the remote
repository. This is a unique approach to correct a mistake. Once you have necessary
changes to the record, commit it to the remote repository for that I will utilize
git submit - m "commit message."
Make another commit that fixes all changes that were made in the terrible commit.
to do this, I will utilize a command
git revert <name of bad commit>
24) What does the committed item contain?
Commit item contains the following parts; you should specify all the three present
below:
A set of records, representing to the condition of a task at a given purpose of time
References to parent commit objects
An SHAI name, a 40 character string that uniquely distinguishes the commit object.
25) Describing branching systems you have utilized?
This question is a challenge to test your branching knowledge with Git along these
lines, inform them regarding how you have utilized branching in your past activity
and what reason does it serves, you can refer the below mention points:
Feature Branching:
A component branch model keeps the majority of the changes for a specific element
within a branch. At the point when the item is throughout tested and approved by
automated tests, the branch is then converged into master.
Task Branching
In this model, each assignment is actualized on its branch with the undertaking key
included in the branch name. It is anything but difficult to see which code actualizes
which task, search for the task key in the branch name.
Release Branching
Once the create branch has procured enough features for a discharge, you can clone
that branch to frame a Release branch. Making this branch begins the following
discharge cycle so that no new features can be included after this point, just bug
fixes, documentation age, and other release oriented assignments ought to go in this
branch. When it is prepared to deliver, the release gets converged into master and
labeled with a form number. Likewise, it should be converged once again into
creating a branch, which may have advanced since the release was started.
At last, disclose to them that branching methodologies fluctuate starting with one
association then onto the next, so I realize essential branching activities like delete,
merge, checking out a branch, etc.
26) By what method will you know in Git if a branch has just
been combined into master?
The appropriate response is immediate.
To know whether a branch has been merged into master or not you can utilize the
below commands:
git branch - merged It records the branches that have been merged into the
present branch.
git branch - no merged It records the branches that have not been merged.
27) How might you fix a messed up submit?
To fix any messed up commit, you will utilize the order "git commit?correct." By
running this direction, you can set the wrecked commit message in the editor.
28) Mention the various Git repository hosting functions.
The following are the Git repository hosting functions:
o Pikacode
o Visual Studio Online
o GitHub
o GitEnterprise
o SourceForge.net
29) Mention some of the best graphical GIT customers for
LINUX?
Some of the best GIT customer for LINUX is
a. Git Cola
b. Smart git
c. Git-g
d. Git GUI
e. Giggle
f. qGit
30) What is Subgit? Why use it?
'Subgit' is a tool that migrates SVN to Git. It is a stable and stress-free migration.
Subgit is one of the solutions for a company-wide migration from SVN to Git that is:
a. It is much superior to git-svn
b. No need to change the infrastructure that is already placed.
c. It allows using all git and all sub-version features.
d. It provides stress ?free migration experience.
1) What is TestNG?
TestNG stands for "Testing Next Generation". It is an` automation testing
framework used for java programming language developed by Credric beust, and it
comes after the inspiration from the JUnit framework. TestNG consists of all the
features of JUnit framework but also contains some more additional features that
make TestNG more powerful.
2) What are the advantages of TestNG?
The following are the advantages of TestNG are:
o It generates the report in a proper format, which includes the following
information:
o Number of test cases executed.
o Number of test cases passed.
o Number of test cases failed.
o Number of test cases skipped
o Multiple test cases can be grouped easily by converting them into a
testng.xml file, in which you can set the priority of each test case that
determines which test case should be executed first.
o With the help of TestNG, you can execute the multiple test cases on multiple
browsers known as cross-browser testing.
o The TestNG framework can be easily integrated with other tools such as
Maven. Jenkins, etc.
o Annotations used in a TestNG framework are easily understandable such as
@BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest.
o WebDriver does not generate the reports while TestNG generates the reports
in a readable format.
o TestNG simplifies the way the test cases are coded. We do not have to write
the static main method. The sequence of actions is maintained by the
annotations only.
o TestNG allows you to execute the test cases separately. For example, if you
have six test cases, then one method is written for each test case. When we
run the program, five methods are executed successfully, and the sixth
method is failed. To remove the error, we need to run only the sixth method,
and this can be possible only through TestNG. Because TestNG generates
testng-failed.xml file in the test output folder, we will run only this xml file to
execute the failed test case.
3) How to run the test script in TestNG?
You can run the test script in TestNG by clicking right click on the TestNG class, click
on "Run As" and then select "TestNG test".
4) What are the annotations used in the TestNG?
The following are the annotations used in the TestNG are:
o Precondition annotations
Precondition annotations are executed before the execution of test methods
The Precondition annotations are @BeforeSuite, @BeforeClass, @BeforeTest,
@BeforeMethod.
o Test annotation
Test annotation is specified before the definition of the test method. It is
specified as @Test.
o Postcondition annotations
The postcondition annotations are executed after the execution of all the test
methods. The postcondition annotation can be @AfterSuite, @AfterClass,
@AfterTest, @AfterMethod.
5) What is the sequence of execution of all the annotations in
TestNG?
The sequence of execution of all the annotations in TestNG is given below:
o @BeforeSuite
o @BeforeTest
o @BeforeClass
o @BeforeMethod
o @Test
o @AfterSuite
o @AfterTest
o @AfterClass
o @AfterMethod
6) How to set the priorities in TestNG?
If we do not prioritize the test methods, then the test methods are selected
alphabetically and executed. If we want the test methods to be executed in the
sequence we want, then we need to provide the priority along with the @Test
annotation.
Let's understand through an example.
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Test_methods
4. {
5. @Test(priority=2)
6. public void test1()
7. {
8. System.out.println("Test1");
9. }
10. @Test(priority=1)
11. public void test2()
12. {
13. System.out.print("Test2");
14. }
15. }
7) Define grouping in TestNG?
The group is an attribute in TestNG that allows you to execute the multiple test
cases. For example, if we have 100 test cases of it_department and 10 test cases of
hr_department, and if you want to run all the test cases of it_department together in
a single suite, this can be possible only through the grouping.
Let's understand through an example.
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Test_methods
4. {
5. @Test(groups="it_department")
6. public void java()
7. {
8. System.out.println("I am a java developer");
9. }
10. @Test(groups="it_department")
11. public void dot_net()
12. {
13. System.out.println("I am a .Net developer");
14. }
15. @Test(groups="it_department")
16. public void tester()
17. {
18. System.out.println("I am a software tester");
19. }
20. @Test (groups="hr")
21. public void hr()
22. {
23. System.out.print("I am hr");
24. }
25. }
testng.xml
1. ?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3. <suite name="Suite">
4. <test name="It Company">
5. <groups>
6. <run>
7. <include name="it_department"/>
8. </run>
9. </groups>
10. <classes>
11. <class name="com.javatpoint.Test_methods"></class>
12. </classes>
13. </test>
14. </suite> <!-- Suite -->
8) What is dependency in TestNG?
When we want to run the test cases in a specific order, then we use the concept of
dependency in TestNG.
Two types of dependency attributes used in TestNG:
o dependsOnMethods
The dependsOnMethods attribute tells the TestNG on which methods this test
will be dependent on, so that those methods will be executed before this test
method.
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Login
4. {
5. @Test
6. public void login()
7. {
8. System.out.println("Login page");
9. }
10. @Test(dependsOnMethods="login")
11. public void home()
12. {
13. System.out.println("Home page");
14.
15. }
16. }
o dependsOnGroups
It is similar to the dependsOnMethods attribute. It allows the test methods to
depend on the group of test methods. It executes the group of test methods
before the dependent test method.
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Test_cases
4. {
5. @Test(groups="test")
6. public void testcase1()
7. {
8. System.out.println("testcase1");
9. }
10. @Test(groups="test")
11. public void testcase2()
12. {
13. System.out.println("testcase2");
14. }
15. @Test(dependsOnGroups="test")
16. public void testcase3()
17. {
18. System.out.println("testcase3");
19. }
20. }
9) What is timeOut in TestNG?
While running test cases, there can be a case when some test cases take much more
time than expected. In such a case, we can mark the test case as a failed test case by
using timeOut.
TimeOut in TestNG allows you to configure the time period to wait for a test to get
completely executed. It can be configured in two levels:
o At the suit level: It will be available to all the test methods.
o At each method level: It will be available to a particular test method.
The timeOut attribute can be specified as shown below:
1. @Test( timeOut = 700)
The above @Test annotation tells that the test method will be given 700 ms to
complete its execution otherwise it will be marked as a failed test case.
10) What is invocationCount in TestNG?
An invocationCount in TestNG is the number of times that we want to execute the
same test.
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Test_cases
4. {
5. @Test(invocationCount=5)
6. public void testcase1()
7. {
8. System.out.println("testcase1");
9. }
10.
11. }
Output
11) What is the importance of testng.xml file?
The testng.xml file is important because of the following reasons:
o It defines the order of the execution of all the test cases.
o It allows you to group the test cases and can be executed as per the
requirements.
o It executes the selected test cases.
o In TestNG, listeners can be implemented at the suite level.
o It allows you to integrate the TestNG framework with tools such as Jenkins.
12) How to pass the parameter in test case through testng.xml
file?
We can also pass the value to test methods at runtime, we can achieve this by
sending parameter values through the testng.xml file. We can use
the @Parameter annotation:
1. @Parameter("param-name");
Let's understand through an example:
1. package com.javatpoint;
2. import org.openqa.selenium.By;
3. import org.openqa.selenium.WebDriver;
4. import org.openqa.selenium.chrome.ChromeDriver;
5. import org.testng.annotations.Test;
6. import org.testng.annotations.Parameters;
7. public class Web {
8. @Parameters({"text"})
9. @Test
10. public void search()
11. {
12. // TODO Auto-generated method stub
13. System.setProperty("webdriver.chrome.driver", "D:chromedriver.exe");
14. WebDriver driver=new ChromeDriver();
15. driver.get("http://www.google.com/");
16. driver.findElement(By.name("q")).sendKeys("javatpoint tutorial");
17. }
18. }
testng.xml file
1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3. <suite name="Suite">
4. <test name="It Company">
5. <parameter name="text" value="javatpoint"/>
6. <classes>
7. <class name="com.javatpoint.Web"></class>
8. </classes>
9. </test>
10. </suite> <!-- Suite -->
On running the testng.xml file, we get the output as shown below:
13) How can we disable the test case from running?
We can disable the test case from running by using the enabled attribute. We can
assign the false value to the enabled attribute, in this way we can disable the test
case from running.
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Test_cases
4. {
5. @Test(enabled=false)
6. public void testcase1()
7. {
8. System.out.println("testcase1");
9. }
10. @Test
11. public void testcase2()
12. {
13. System.out.println("testcase2");
14. }
15.
16. }
14) What is the difference between soft assertion and hard
assertion?
Soft Assertion: In case of Soft Assertion, if TestNG gets an error during @Test, it will
throw an exception when an assertion fails and continues with the next statement
after the assert statement.
Hard Assertion: In the case of Hard Assertion, if TestNG gets an error during @Test,
it will throw an AssertException immediately when an assertion fails and stops
execution after the assert statement.
Let's understand through an example.
1. package com.javatpoint;
2. import org.testng.Assert;
3. import org.testng.annotations.Test;
4. import org.testng.asserts.SoftAssert;
5. public class Assertion {
6. SoftAssert soft_assert=new SoftAssert();
7. @Test
8. public void Soft_Assert()
9. {
10. soft_assert.assertTrue(false);
11. System.out.println("soft assertion");
12. }
13. @Test
14. public void Hard_Assert()
15. {
16. Assert.assertTrue(false);
17. System.out.println("hard assertion");
18. }
19. }
Output
15) What is the use of @Listener annotation in TestNG?
TestNG provides different kinds of listeners which can perform different actions
whenever the event is triggered. The most widely used listener in TestNG is
ITestListener interface. The ITestListener interface contains methods such as
onTestSuccess, onTestfailure, onTestSkipped, etc.
Following are the scenarios that can be made:
o If the test case is failed, then what action should be performed by the listener.
o If the test case is passed, then what action should be performed by the
listener.
o If the test case is skipped, then what action should be performed by the
listener.
Let's understand through an example.
1. package com.javatpoint;
2. import org.testng.Assert;
3. import org.testng.annotations.Listeners;
4. import org.testng.annotations.Test;
5. @Listeners(com.javatpoint.Listener.class)
6. public class Test_cases
7. {
8.
9. @Test
10. public void test_to_success()
11. {
12. Assert.assertTrue(true);
13. }
14. @Test
15. public void test_to_fail()
16. {
17. Assert.assertTrue(false);
18. }
19.
20. }
Listener.java
1. package com.javatpoint;
2. import org.testng.ITestContext;
3. import org.testng.ITestListener;
4. import org.testng.ITestResult;
5. public class Listener implements ITestListener
6. {
7. @Override
8. public void onTestStart(ITestResult result) {
9. // TODO Auto-generated method stub
10. }
11. @Override
12. public void onTestSuccess(ITestResult result) {
13. // TODO Auto-generated method stub
14. System.out.println("Success of test cases and its details are :
"+result.getName());
15. }
16. @Override
17. public void onTestFailure(ITestResult result) {
18. // TODO Auto-generated method stub
19. System.out.println("Failure of test cases and its details are :
"+result.getName());
20. }
21. @Override
22. public void onTestSkipped(ITestResult result) {
23. // TODO Auto-generated method stub
24. System.out.println("Skip of test cases and its details are : "+result.getName());
25. }
26. @Override
27. public void onTestFailedButWithinSuccessPercentage(ITestResult result) {
28. // TODO Auto-generated method stub
29. System.out.println("Failure of test cases and its details are :
"+result.getName());
30. }
31. @Override
32. public void onStart(ITestContext context) {
33. // TODO Auto-generated method stub
34. }
35. @Override
36. public void onFinish(ITestContext context) {
37. // TODO Auto-generated method stub
38. }}
Output
16) What is the use of @Factory annotation?
The @Factory annotation is useful when we want to run multiple test cases through a
single test class. It is mainly used for the dynamic execution of test cases.
Let's understand through an example.
testcase1.java
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Testcase1
4. {
5. @Test
6. public void test1()
7. {
8. System.out.println("testcase 1");
9. }
10. }
testcase2.java
1. package com.javatpoint;
2. import org.testng.annotations.Test;
3. public class Testcase2
4. {
5. @Test
6. public void test1()
7. {
8. System.out.println("testcase 2");
9. }
10. }
Factory.java
1. import org.testng.annotations.Factory;
2. public class Factory1
3. {
4. @Factory
5. public Object[] getTestClasses()
6. {
7. Object tests[]=new Object[2];
8. tests[0]=new Testcase1();
9. tests[1]=new Testcase2();
10. return tests;
11. }
12. }
17) What is the difference between @Factory and
@DataProvider annotation?
@DataProvider: It is annotation used by TestNG to execute the test method
multiple numbers of times based on the data provided by the DataProvider.
@Factory: It is annotation used by the TestNG to execute the test methods present
in the same test class using different instances of the respective class.
Jenkins Interview Questions
A list of top frequently asked Jenkins interview questions and answers are given
below.
1) What is Jenkins?
Jenkins is an open source continuous integration tool written in Java. It keeps a track
on version control system and to initiate and monitor a build system if changes
occur.
2) What is the difference between Maven, Ant and Jenkins?
The most basic difference is:
Maven and Ant are Build Technologies whereas Jenkins is a continuous integration
tool.
46.2M
835
Java Try Catch
3) Which SCM tools does Jenkins support?
Jenkins supports the following SCM tools:
o AccuRev
o CVS
o Subversion
o Git
o Mercurial
o Perforce
o Clearcase
o RTC
4) What is continuous integration in Jenkins?
In software development, multiple developers or teams work on different segments
of same web application so you have to perform integration test by integrating all
modules. In order to do that an automated process for each piece of code is
performed on daily bases so that all your codes get tested. This process is known as
continuous integration.
5) What is the relation between Hudson and Jenkins?
Hudson was the earlier name and version of current Jenkins. After some issue, the
project name was changed from Hudson to Jenkins.
6) What is the requirement for using Jenkins?
For using Jenkins, you have to need a source code repository which is accessible. For
example, a Git repository and a working build script, e.g., a Maven script, checked
into the repository.
7) What are the advantages of Jenkins?
Advantage of Jenkins includes:
o Bugs tracking are easy at early stage in development environment.
o Provides a large numbers of plugin support.
o Iterative improvement to the code.
o Build failures are cached at integration stage.
o For each code commit changes an automatic build report notification
generates.
o To notify developers about build report success or failure, it is integrated with
LDAP mail server.
o Achieves continuous integration agile development and test driven
development.
o With simple steps, maven release project is automated.
8) How to make sure that your project builds doesn?t break in
Jenkins?
You must follow these steps to make sure that your project builds doesn?t break in
Jenkins:
o First, perform successful clean install on your local machine with all unit tests.
o Check all your code changes.
o Synchronize with repository to make sure that all required config and POM
changes and any difference is checked into the repository.
9) How can you move or copy Jenkins from one server to
another?
Follow these steps to move or copy Jenkins from one server to another:
o First, copy the related job directory and slide a job from one installation of
Jenkins to another.
o Make a copy of an already existing job by making clone of a job directory by a
different name.
o Renaming an existing job by rename a directory.
10) Which commands can be used to start Jenkins manually?
You can use any one of the following commands to start Jenkins manually:
o (Jenkins_url)/restart: Forces a restart without waiting for builds to complete.
o (Jenkin_url)/safeRestart: Allows all running builds to complete.
11) What are the most useful plugins in Jenkins?
Some most useful plugins in Jenkins:
o Maven 2 project
o Amazon EC2
o HTML publisher
o Copy artifact
o Join
o Green Balls
12) How to create a backup and copy files in Jenkins?
If you want to create a back-up of your Jenkins setup, just copy the directory that
saves all the setting, build artifacts and logs of Jenkins in its home directory. You can
also copy a job directory to clone or replicate a job or rename the directory.
13) How can you clone a Git repository via Jenkins?
If you want to clone a Git repository via Jenkins, you have to enter the e-mail and
user name for your Jenkins system. Switch into your job directory and execute the
"git config" command for that.
14) How can you setup Jenkins jobs?
Follow these steps:
o Select new item from the menu.
o After that enter a name for the job and select free-style job.
o Then click OK to create new job in Jenkins.
o The next page enables you to configure your job.
15) What are the two components Jenkins is mainly integrated
with?
Jenkins is integrated with these two components:
o Version Control system like GIT,SVN
o And build tools like Apache Maven.
Maven Tutorial
Maven tutorial provides basic and advanced concepts of apache maven technology.
Our maven tutorial is developed for beginners and professionals.
Maven is a powerful project management tool that is based on POM (project object
model). It is used for projects build, dependency and documentation.
It simplifies the build process like ANT. But it is too much advanced than ANT.
Current version of Maven is 3.
00:00/04:47
Understanding the problem without Maven
There are many problems that we face during the project development. They are
discussed below:
1) Adding set of Jars in each project: In case of struts, spring, hibernate
frameworks, we need to add set of jar files in each project. It must include all the
dependencies of jars also.
2) Creating the right project structure: We must create the right project structure
in servlet, struts etc, otherwise it will not be executed.
3) Building and Deploying the project: We must have to build and deploy the
project so that it may work.
What it does?
Maven simplifies the above mentioned problems. It does mainly following tasks.
1. It makes a project easy to build
2. It provides uniform build process (maven project can be shared by all the maven
projects)
3. It provides project information (log document, cross referenced sources, mailing list,
dependency list, unit test reports etc.)
4. It is easy to migrate for new features of Maven
Apache Maven helps to manage
o Builds
o Documentation
o Reporing
o SCMs
o Releases
o Distribution
What is Build Tool
A build tool takes care of everything for building a process. It does following:
o Generates source code (if auto-generated code is used)
o Generates documentation from source code
o Compiles source code
o Packages compiled code into JAR of ZIP file
o Installs the packaged code in local repository, server repository, or central repository
Ad

More Related Content

Similar to Software Testing Interview Questions.docx (20)

SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
Gavin Thys
 
Manual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdfManual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdf
SupriyaDongare
 
Day1
Day1Day1
Day1
RahulUpadhyay135
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Murageppa-QA
 
SDET UNIT 2.pptx
SDET UNIT 2.pptxSDET UNIT 2.pptx
SDET UNIT 2.pptx
Dr. Pallawi Bulakh
 
1651003086422.pptx
1651003086422.pptx1651003086422.pptx
1651003086422.pptx
Sravya221181
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Software QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath DarshanaSoftware QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath Darshana
Shamain Peiris
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
acemindia
 
T0 numtq0nje=
T0 numtq0nje=T0 numtq0nje=
T0 numtq0nje=
International Journal of Science and Research (IJSR)
 
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
BenitoSumpter862
 
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
SantosConleyha
 
Software Testing
Software TestingSoftware Testing
Software Testing
Nettech India Thane @ 9870803004/5
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Testbytes
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
Anuraj S.L
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Venkat Alagarsamy
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
Gurpreet singh
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1
bhushan Nehete
 
Manual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdfManual Tester Interview Questions(1).pdf
Manual Tester Interview Questions(1).pdf
SupriyaDongare
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Murageppa-QA
 
1651003086422.pptx
1651003086422.pptx1651003086422.pptx
1651003086422.pptx
Sravya221181
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Software QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath DarshanaSoftware QA Fundamentals by Prabhath Darshana
Software QA Fundamentals by Prabhath Darshana
Shamain Peiris
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
acemindia
 
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
BenitoSumpter862
 
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
1. Watch the video a. Episode 9 Munchausen by Proxy Dying fo
SantosConleyha
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Testbytes
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
Anuraj S.L
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Venkat Alagarsamy
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
Gurpreet singh
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1
bhushan Nehete
 

Recently uploaded (20)

How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptxYSPH VMOC Special Report - Measles Outbreak  Southwest US 5-3-2025.pptx
YSPH VMOC Special Report - Measles Outbreak Southwest US 5-3-2025.pptx
Yale School of Public Health - The Virtual Medical Operations Center (VMOC)
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
P-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 finalP-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 final
bs22n2s
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
How to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odooHow to Set warnings for invoicing specific customers in odoo
How to Set warnings for invoicing specific customers in odoo
Celine George
 
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Marie Boran Special Collections Librarian Hardiman Library, University of Gal...
Library Association of Ireland
 
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptxSCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
SCI BIZ TECH QUIZ (OPEN) PRELIMS XTASY 2025.pptx
Ronisha Das
 
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - WorksheetCBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
CBSE - Grade 8 - Science - Chemistry - Metals and Non Metals - Worksheet
Sritoma Majumder
 
One Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learningOne Hot encoding a revolution in Machine learning
One Hot encoding a revolution in Machine learning
momer9505
 
Quality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdfQuality Contril Analysis of Containers.pdf
Quality Contril Analysis of Containers.pdf
Dr. Bindiya Chauhan
 
2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx2541William_McCollough_DigitalDetox.docx
2541William_McCollough_DigitalDetox.docx
contactwilliamm2546
 
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Michelle Rumley & Mairéad Mooney, Boole Library, University College Cork. Tra...
Library Association of Ireland
 
Understanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s GuideUnderstanding P–N Junction Semiconductors: A Beginner’s Guide
Understanding P–N Junction Semiconductors: A Beginner’s Guide
GS Virdi
 
Handling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptxHandling Multiple Choice Responses: Fortune Effiong.pptx
Handling Multiple Choice Responses: Fortune Effiong.pptx
AuthorAIDNationalRes
 
How to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 WebsiteHow to Subscribe Newsletter From Odoo 18 Website
How to Subscribe Newsletter From Odoo 18 Website
Celine George
 
Unit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdfUnit 6_Introduction_Phishing_Password Cracking.pdf
Unit 6_Introduction_Phishing_Password Cracking.pdf
KanchanPatil34
 
P-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 finalP-glycoprotein pamphlet: iteration 4 of 4 final
P-glycoprotein pamphlet: iteration 4 of 4 final
bs22n2s
 
How to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POSHow to Manage Opening & Closing Controls in Odoo 17 POS
How to Manage Opening & Closing Controls in Odoo 17 POS
Celine George
 
The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...The ever evoilving world of science /7th class science curiosity /samyans aca...
The ever evoilving world of science /7th class science curiosity /samyans aca...
Sandeep Swamy
 
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Phoenix – A Collaborative Renewal of Children’s and Young People’s Services C...
Library Association of Ireland
 
GDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptxGDGLSPGCOER - Git and GitHub Workshop.pptx
GDGLSPGCOER - Git and GitHub Workshop.pptx
azeenhodekar
 
Anti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptxAnti-Depressants pharmacology 1slide.pptx
Anti-Depressants pharmacology 1slide.pptx
Mayuri Chavan
 
Presentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem KayaPresentation of the MIPLM subject matter expert Erdem Kaya
Presentation of the MIPLM subject matter expert Erdem Kaya
MIPLM
 
Ad

Software Testing Interview Questions.docx

  • 1. Software Testing Interview Questions A list of mostly asked software testing interview questions or QTP interview questions and answers are given below. 1) What is the PDCA cycle and where testing fits in? There are four steps in a normal software development process. In short, these steps are referred to as PDCA. PDCA stands for Plan, Do, Check, Act. o Plan: It defines the goal and the plan for achieving that goal. o Do/ Execute: It depends on the plan strategy decided during the planning stage. It is done according to this phase. o Check: This is the testing part of the software development phase. It is used to
  • 2. ensure that we are moving according to plan and getting the desired result. o Act: This step is used to solve if there any issue has occurred during the check cycle. It takes appropriate action accordingly and revises the plan again. The developers do the "planning and building" of the project while testers do the "check" part of the project. 58.2M 941 Hello Java Program for Beginners 2) What is the difference between the white box, black box, and gray box testing? Black box Testing: The strategy of black box testing is based on requirements and specification. It requires no need of knowledge of internal path, structure or implementation of the software being tested. White box Testing: White box testing is based on internal paths, code structure, and implementation of the software being tested. It requires a full and detail programming skill. Gray box Testing: This is another type of testing in which we look into the box which is being tested, It is done only to understand how it has been implemented. After that, we close the box and use the black box testing. Following are the differences among white box, black box, and gray box testing are: Black box testing Gray box testing White box testing Black box testing does not need the implementation knowledge of a program. Gray box testing knows the limited knowledge of an internal program. In white box te implementation details program are fully required It has a low granularity. It has a medium granularity. It has a high granularity. It is also known as opaque box testing, closed It is also known as It is also known as glass
  • 3. box testing, input-output testing, data-driven testing, behavioral testing and functional testing. translucent testing. testing, clear box testing. It is a user acceptance testing, i.e., it is done by end users. It is also a user acceptance testing. Testers and program mainly do it. Test cases are made by the functional specifications as internal details are not known. Test cases are made by the internal details of a program. Test cases are made by internal details of a progra 3)What are the advantages of designing tests early in the life cycle? Designing tests early in the life cycle prevent defects from being in the main code. 4) What are the types of defects? There are three types of defects: Wrong, missing, and extra. Wrong: These defects are occurred due to requirements have been implemented incorrectly. Missing: It is used to specify the missing things, i.e., a specification was not implemented, or the requirement of the customer was not appropriately noted. Extra: This is an extra facility incorporated into the product that was not given by the end customer. It is always a variance from the specification but may be an attribute that was desired by the customer. However, it is considered as a defect because of the variance from the user requirements. 5) What is exploratory testing? Simultaneous test design and execution against an application is called exploratory testing. In this testing, the tester uses his domain knowledge and testing experience to predict where and under what conditions the system might behave unexpectedly.
  • 4. 6) When should exploratory testing be performed? Exploratory testing is performed as a final check before the software is released. It is a complementary activity to automated regression testing. 7) What are the advantages of designing tests early in the life cycle? It helps you to prevent defects in the code. 8) Tell me about the risk-based testing. The risk-based testing is a testing strategy that is based on prioritizing tests by risks. It is based on a detailed risk analysis approach which categorizes the risks by their priority. Highest priority risks are resolved first. 9) What is acceptance testing? Acceptance testing is done to enable a user/customer to determine whether to accept a software product. It also validates whether the software follows a set of agreed acceptance criteria. In this level, the system is tested for the user acceptability.
  • 5. Types of acceptance testing are: 1. User acceptance testing: It is also known as end-user testing. This type of testing is performed after the product is tested by the testers. The user acceptance testing is testing performed concerning the user needs, requirements, and business processes to determine whether the system satisfies the acceptance criteria or not. 2. Operational acceptance testing: An operational acceptance testing is performed before the product is released in the market. But, it is performed after the user acceptance testing. 3. Contract and regulation acceptance testing: In the case of contract acceptance testing, the system is tested against certain criteria and the criteria are made in a contract. In the case of regulation acceptance testing, the software application is checked whether it meets the government regulations or not. 4. Alpha and beta testing: Alpha testing is performed in the development environment before it is released to the customer. Input is taken from the alpha testers, and then the developer fixes the bug to improve the quality of a product. Unlike alpha testing, beta testing is performed in the customer environment. Customer performs the testing and provides the feedback, which is then implemented to improve the quality of a product.
  • 6. 10) What is accessibility testing? Accessibility testing is used to verify whether a software product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.). 11) What is Adhoc testing? Ad-hoc testing is a testing phase where the tester tries to 'break' the system by randomly trying the system's functionality. 12) What is Agile testing? Agile testing is a testing practice that uses agile methodologies i.e. follow test-first design paradigm. 13) What is API (Application Programming Interface)? Application Programming Interface is a formalized set of software calls and routines that can be referenced by an application program to access supporting system or network services. 14) What do you mean by automated testing? Testing by using software tools which execute test without manual intervention is known as automated testing. Automated testing can be used in GUI, performance, API, etc. 15) What is Bottom-up testing? The Bottom-up testing is a testing approach which follows integration testing where the lowest level components are tested first, after that the higher level components are tested. The process is repeated until the testing of the top-level component.
  • 7. 16) What is Baseline Testing? In Baseline testing, a set of tests is run to capture performance information. Baseline testing improves the performance and capabilities of the application by using the information collected and make the changes in the application. Baseline compares the present performance of the application with its previous performance. 17) What is Benchmark Testing? Benchmarking testing is the process of comparing application performance with respect to the industry standard given by some other organization. It is a standard testing which specifies where our application stands with respect to others. 18) Which types are testing are important for web testing? There are two types of testing which are very important for web testing: o Performance testing: Performance testing is a testing technique in which quality attributes of a system are measured such as responsiveness, speed under different load conditions and scalability. The performance testing describes which attributes need to be improved before the product is released in the market. o Security testing: Security testing is a testing technique which determines that the data and resources be saved from the intruders. 19) What is the difference between web application and desktop application in the scenario of testing? The difference between a web application and desktop application is that a web application is open to the world with potentially many users accessing the application simultaneously at various times, so load testing and stress testing are important. Web applications are also prone to all forms of attacks, mostly DDOS, so security testing is also very important in the case of web applications.
  • 8. 20) What is the difference between verification and validation? Difference between verification and validation: Verification Validation Verification is Static Testing. Validation is Dynamic Testing. Verification occurs before Validation. Validation occurs after Verification Verification evaluates plans, document, requirements and specification. Validation evaluates products. In verification, inputs are the checklist, issues list, walkthroughs, and inspection. Invalidation testing, the actual pro is tested. Verification output is a set of document, plans, specification and requirement documents. Invalidation actual product is outp 21) What is the difference between Retesting and Regression Testing? A list of differences between Retesting and Regression Testing: Regression Retesting Regression is a type of software testing that checks the code change does not affect the current features and functions of an application. Retesting is the process of testing that ch the test cases which were failed in the execution. The main purpose of regression testing is that the changes made to the code should not affect the existing functionalities. Retesting is applied on the defect fixes. Defect verification is not an element of Regression testing. Defect verification is an element of regres
  • 9. 22) What is the difference between preventative and reactive approaches to testing? Preventative tests are designed earlier, and reactive tests are designed after the software has been produced. 23) What is the purpose of exit criteria? The exit criteria are used to define the completion of the test level. 24) Why is the decision table testing used? A decision table consists of inputs in a column with the outputs in the same column but below the inputs. The decision table testing is used for testing systems for which the specification takes the form of rules or cause-effect combination. The reminders you get in the table explore combinations of inputs to define the output produced. 25) What is alpha and beta testing? These are the key differences between alpha and beta testing: No . Alpha Testing Beta Testing 1) It is always done by developers at the software development site. It is always performed by custome their site. 2) It is also performed by Independent testing team It is not be performed by Indepen testing team 3) It is not open to the market and public. It is open to the market and public. 4) It is always performed in a virtual environment. It is always performed in a real- environment. 5) It is used for software applications and projects. It is used for software products.
  • 10. 6) It follows the category of both white box testing and Black Box Testing. It is only the kind of Black Box Testi 7) It is not known by any other name. It is also known as field testing. 26) What is Random/Monkey Testing? Random testing is also known as monkey testing. In this testing, data is generated randomly often using a tool. The data is generated either using a tool or some automated mechanism. Random testing has some limitations: o Most of the random tests are redundant and unrealistic. o It needs more time to analyze results. o It is not possible to recreate the test if you do not record what data was used for testing. 27) What is the negative and positive testing? Negative Testing: When you put an invalid input and receive errors is known as negative testing. Positive Testing: When you put in the valid input and expect some actions that are completed according to the specification is known as positive testing. 28) What is the benefit of test independence? Test independence is very useful because it avoids author bias in defining effective tests. 29) What is the boundary value analysis/testing? In boundary value analysis/testing, we only test the exact boundaries rather than hitting in the middle. For example: If there is a bank application where you can
  • 11. withdraw a maximum of 25000 and a minimum of 100. So in boundary value testing we only test above the max and below the max. This covers all scenarios. The following figure shows the boundary value testing for the above-discussed bank application.TC1 and TC2 are sufficient to test all conditions for the bank. TC3 and TC4 are duplicate/redundant test cases which do not add any value to the testing. So by applying proper boundary value fundamentals, we can avoid duplicate test cases, which do not add value to the testing. 30) How would you test the login feature of a web application? There are many ways to test the login feature of a web application: o Sign in with valid login, Close browser and reopen and see whether you are still logged in or not. o Sign in, then log out and then go back to the login page to see if you are truly logged out. o Log in, then go back to the same page, do you see the login screen again? o Session management is important. You must focus on how do we keep track of logged in users, is it via cookies or web sessions? o Sign in from one browser, open another browser to see if you need to sign in again? o Log in, change the password, and then log out, then see if you can log in again with the old password. 31) What are the types of performance testing? Performance testing: Performance testing is a testing technique which determines the performance of the system such as speed, scalability, and stability under various load conditions. The product undergoes the performance testing before it gets live in the market. Types of software testing are:
  • 12. 1. Load testing: o Load testing is a testing technique in which system is tested with an increasing load until it reaches the threshold value. Note: An increasing load means the increasing the number of users. o The main purpose of load testing is to check the response time of the system with an increasing amount of load. o Load testing is non-functional testing means that the only non-functional requirements are tested. o Load testing is performed to make sure that the system can withstand a heavy load 2. Stress testing: o Stress testing is a testing technique to check the system when hardware resources are not enough such as CPU, memory, disk space, etc. o In case of stress testing, software is tested when the system is loaded with the number of processes and the hardware resources are less. o The main purpose of stress testing is to check the failure of the system and to determine how to recover from this failure is known as recoverability. o Stress testing is non-functional testing means that the only non-functional requirements are tested.
  • 13. 3. Spike testing: o Spike testing is a subset of load testing. This type of testing checks the instability of the application when the load is varied. o There are different cases to be considered during testing: o The first case is not to allow the number of users so that the system will not suffer heavy load. o The second case is to provide warnings to the extra joiners, and this would slow down the response time. 4. Endurance testing: o Endurance testing is a subset of load testing. This type of testing checks the behavior of the system. o Endurance testing is non-functional testing means that the only non- functional requirements are tested. o Endurance testing is also known as Soak testing. o Endurance testing checks the issues such as memory leak. A memory leak occurs when the program does not release its allocated memory after its use. Sometimes the application does not release its memory even after its use and this unusable memory cause memory leak. This causes an issue when the application runs for a long duration. o Some of the main issues that are viewed during this testing are: o Memory leaks occurred due to an application. o Memory leaks occurred due to a database connection. o Memory leaks occurred due to a third party software. 5. Volume testing: o Volume testing is a testing technique in which the system is tested when the volume of data is increased. o Volume testing is also known as flood testing. o Volume testing is non-functional testing means that the only non-functional requirements are tested.
  • 14. o For example: If we want to apply the volume testing then we need to expand the database size, i.e., adding more data into the database table and then perform the test. 6. Scalability testing o Scalability testing is a testing technique that ensures that the system works well in proportion to the growing demands of the end users. o Following are the attributes checked during this testing: o Response time o Throughput o Number of users required for performance test o Threshold load o CPU usage o Memory usage o Network usage 32) What is the difference between functional and non- functional testing? Basis of comparison Functional testing Non-functional testing Description Functional testing is a testing technique which checks that function of the application works under the requirement specification. Non-functional testing checks all non-functional aspects such performance, usability, reliability, e Execution Functional testing is implemented before non-functional testing. Non-functional testing is perfor after functional testing. Focus area It depends on the customer requirements. It depends on the custo expectations. Requirement Functional requirements can be easily defined. Non-functional requirements ca be easily defined. Manual testing Functional testing can be performed by Non-functional testing cannot
  • 15. manual testing. performed by manual testing. Testing types Following are the types of functional testing: o Unit testing o Acceptance testing o Integration testing o System testing Following are the types of functional testing: o Performance testing o Load testing o Stress testing o Volume testing o Security testing o Installation testing o Recovery testing 33) What is the difference between static and dynamic testing? Static testing Dynamic testing Static testing is a white box testing technique which is done at the initial stage of the software development lifecycle. Dynamic testing is a testing process whic done at the later stage of the soft development lifecycle. Static testing is performed before the code deployment. Dynamic testing is performed after the c deployment. It is implemented at the verification stage. It is implemented at the validation stage. Execution of code is not done during this type of testing. Execution of code is necessary for the dyn testing. In the case of static testing, the checklist is made for the testing process. In the case of dynamic testing, test cases executed. 34) What is the difference between negative and positive testing? Positive testing Negative testing
  • 16. Positive testing means testing the application by providing valid data. Negative testing means testing the applicatio providing the invalid data. In case of positive testing, tester always checks the application for a valid set of values. In the case of negative testing, tester alw checks the application for the invalid set of val Positive testing is done by considering the positive point of view for example: checking the first name field by providing the value such as "Akshay". Negative testing is done by considering negative point of view for example: checking first name field by providing the value suc "Akshay123". It verifies the known set of test conditions. It verifies the unknown set of conditions. The positive testing checks the behavior of the system by providing the valid set of data. The negative testing tests the behavior of system by providing the invalid set of data. The main purpose of the positive testing is to prove that the project works well according to the customer requirements. The main purpose of the negative testing break the project by providing the invalid se data. The positive testing tries to prove that the project meets all the customer requirements. The negative testing tries to prove that the pro does not meet all the customer requirements. 35) What are the different models available in SDLC? There are various models available in software testing, which are the following: o Waterfall model o Spiral Model o Prototype model o Verification and validation model o Hybrid model o Agile model o Rational unified process model[RUP] o Rapid Application development [RAD] 36) List out the difference between smoke testing and sanity testing and dry run testing?
  • 17. Following are the differences between smoke, sanity, and dry run testing: Smoke testing Sanity testing Dry-run testing It is shallow, wide and scripted testing. It is narrow and deep and unscripted testing A dry run testing is a process w the effects of a possible failure internally mitigated. When the builds come, we will write the automation script and execute the scripts. So it will perform automatically. It will perform manually. For Example, An aerospace com may conduct a Dry run of a tak using a new aircraft and a run before the first test flight. It will take all the essential features and perform high-level testing. It will take some significant features and perform in-depth testing. 37) How do we test a web application? What are the types of tests we perform on the web application? To test any web application such as Yahoo, Gmail, and so on, we will perform the following testing: o Functional testing o Integration testing o System testing o Performance testing o Compatibility testing ( test the application on the various operating systems, multiple browsers, and different version) o Usability testing ( check whether it is user friendly) o Ad-hoc testing o Accessibility testing o Smoke testing o Regression testing o Security testing o Globalization testing ( only if it is developed in different languages)
  • 18. 38) Why do we need to perform compatibility testing? We might have developed the software in one platform, and the chances are there that users might use it in the different platforms. Hence, it could be possible that they may encounter some bugs and stop using the application, and the business might get affected. Therefore, we will perform one round of Compatibility testing. 39) How many test cases we can write in a day? We can tell anywhere between 2-5 test cases. o First test case 1st day, 2nd day. → o Second test case 3rd day, 4th day. → o Forth test case 5th day. → o 9-10 test cases 19th day. → Primarily, we use to write 2-5 test cases, but in future stages we write around 6-7 because, at that time, we have the better product knowledge, we start re-using the test cases, and the experience on the product. 40) How many test cases can we review per day? It would be around 7 test cases we write so that we can review 7*3=21 test cases. And we can say that 25-30 test case per day. 41) How many test cases can we run in a day? We can run around 30-55 test cases per day. Note: For these types of questions (39-41), always remember the ratio: x test cases we can write, 3x test cases we can review, and 5x test cases we can execute per day. 42) Does the customer get a 100% bug-free product?
  • 19. 1. The testing team is not good 2. Developers are super 3. Product is old 4. All of the above The correct answer is testing team is not good because sometimes the fundamentals of software testing define that no product has zero bugs. 43) How to track the bug manually and with the help of automation? We can track the bug manually as: o Identify the bug. o Make sure that it is not duplicate (that is, check it in bug repository). o Prepare a bug report. o Store it in bug repository. o Send it to the development team. o Manage the bug life cycle (i.e., keep modifying the status). Tracking the bug with the help of automation i.e., bug tracking tool: We have various bug tracking tools available in the market, such as: o Jira
  • 20. o Bugzilla o Mantis o Telelogic o Rational Clear Quest o Bug_track o Quality center ( it is a test management tool, a part of it is used to track the bugs) Note: Here, we have two categories of tools: A product based: In the product based companies, they will use only one bug tracking tool. Service-based: In service-based companies, they have many projects of different customers, and every project will have different bug tracking tools. 44) Why does an application have bugs? The software can have a bug for the following reasons: o Software complexity o Programming errors o If no communications are happening between the customer and the company, i.e., an application should or should not perform according to the software's needs. o Modification in requirements o Time pressure. 45) When we perform testing? We will perform testing whenever we need to check all requirements are executed correctly or not, and to make sure that we are delivering the right quality product. 46) When do we stop the testing?
  • 21. We can stop testing whenever we have the following: o Once the functionality of the application is stable. o When the time is less, then we test the necessary features, and we stop it. o The client's budget. o When the essential feature itself is not working correctly. 47) For which and all types of testing do we write test cases? We can write test cases for the following types of testing: Different types of testing Test cases Smoke testing In this, we will write only standard features; thus, we can pull out some cases that have all the necessary functions. Therefore, we do not hav write a test case for smoke testing. Functional/unit testing Yes, we write the test case for unit testing. Integration testing Yes, we write the test case for integration testing. System testing Yes, we write the test case for system testing. Acceptance testing Yes, but here the customer may write the test case. Compatibility testing In this, we don't have to write the test case because the same test case above are used for testing on different platforms. Adhoc testing We don't write the test case for the Adhoc testing because there are s random scenarios or the ideas, which we used at the time of Adhoc t Though, if we identify the critical bug, then we convert that scenario in test case. Performance testing We might not write the test cases because we will perform this testing the help of performance tools. Usability testing In this, we use the regular checklist; therefore, we don't write the test because here we are only testing the look and feel of the application.
  • 22. Accessibility testing In accessibility testing, we also use the checklist. Reliability testing Here, we don't write the manual test cases as we are using the automa tool to perform reliability testing. Regression testing Yes, we write the test cases for functional, integration, and system testing Recovery testing Yes, we write the test cases for recovery testing, and also check how product recovers from the crash. Security testing Yes, we write the test case for security testing. Globalization testing: Localization testing Internationalization testing Yes, we write the test case for L10N tes Yes, we write the test case for I18N testing. 48) What is the difference between the traceability matrix and the test case review process? Traceability matrix Test case review In this, we will make sure that each requirement has got at least one test case. In this, we will check whether all the scenarios covered for the particular requirements. 49) What is the difference between use case and test case? Following are the significant differences between the use case and the test case: Test case Use Case It is a document describing the input, action, and expected response to control whether the application is working fine based on the customer requirements. It is a detailed descriptio Customer Requirements. It is derived from test scenarios, Use cases, and the SRS. It is derived from BRS/SRS While developing test cases, we can also identify loopholes in the specifications. A business analyst or Lead prepares it.
  • 23. 50) How to test a pen? We can perform both manual and automation testing. First, we will see how we perform manual testing: Different types of testing Scenario Smoke testing Checks that basic functionality is written or not. Functional/unit testing Check that the Refill, pen body, pen cap, and pen size as per the requireme Integration testing Combine pen and cap and integrate other different sizes and see whether work fine. Compatibility testing Various surfaces, multiple environments, weather conditions, and keep oven and then write, keep it in the freezer and write, try and write on wate Adhoc testing Throw the pen down and start writing, keep it vertically up and write, writ the wall. Performance testing Test the writing speed of the pen. Usability testing Check whether the pen is user friendly or not, whether we can write it for m extended periods smoothly. Accessibility testing Handicapped people use them. Reliability testing Drop it down and write, and continuously write and see whether it leaks or Recovery testing Throw it down and write. Globalization testing Localization testing Price should be standard, expiry date format. Internationalize testing Check whether the print on the pen is as per the country language. Now, we will see how we perform automation testing on a pen:
  • 24. For this take a roller, now put some sheets of paper on the roller, then connects the pen to the motor and switch on the motor. The pen starts writing on the paper. Once the pen has stopped writing, now observe the number of lines that it has written on each page, length of each track, and multiplying all this, so we can get for how many kilometers the pen can POM 1) What is a page object model? A) Page Object Model is a design pattern which has become popular in test automation for enhancing test maintenance and reducing code duplication. A page object is an object-oriented class that serves as an interface to a page of your AUT. 2) What is a page object model in selenium? A) Page Object Model in Selenium – Page Object model is an object design pattern in Selenium, where web pages are represented as classes, and the various elements on the page are defined as variables on the class.
  • 25. 3) Is Page object model a framework? A) Page Object Model is a Design Pattern which has become popular in Selenium Test Automation. Page object model (POM) can be used in any kind of framework such as modular, data-driven, keyword driven, hybrid framework etc. 4) What is the Page Factory Class? A) The Page Factory Class is an extension to the Page Object design pattern. It is used to initialize the elements of the Page Object or instantiate the Page Objects itself. Annotations for elements can also be created (and recommended) as the describing properties may not always be descriptive enough to tell one object from the other. 5) What is Page Factory? A) Page Factory is an inbuilt page object model concept for Selenium Web Driver, but it is much optimized. Page Factory can be used in any kind of framework such as Data Driven, Modular or Keyword Driven. Page Factory gives more focus on how the code is being structured to get the best benefit out of it. 6) What is the difference between Page Object Model (POM) and Page Factory? A) Page Object is a class that represents a web page and hold the functionality and members. Page Factory is a way to initialize the web elements you want to interact with within the page object when you create an instance of it. 7) What is Test Class? A) Test Class – In Test Class, we will write an actual selenium test script. Here, we call Page Action and mentioned actions to be
  • 26. performed on Web Pages. For each page, we can write our own test class for better code readability. We can write test cases in @Test annotation. 8) What is Page Action Class? A) Page Action Class – In Page Action Class, we can write all web pages action as per the pages and functionality. Under Page Action component, for each page in the application, we have corresponding Page class. 9) What is Page Factory Class? A) Page Factory class is nothing but Object Repository in other term. For each web page, it has its own Page Object definitions. Each web element should uniquely get identified and should be defined at class level. We will use Find By annotation and will define web element so that we will be able to perform actions on them. 10) Can you write sample code for Page Factory Class? A) Page Factory Class @FindBy(xpath=”.//*[@id=’Email’]”) publicWebElementgmailUserIDWebEdit; 11) Can you write sample code for Page Action Class? A) Page Action Class publicclassPageActions_Login { WebDriver driver; PageObjects_Loginpo; // Create Instance to Page Factory class publicPageActions_Login(WebDriver driver) {
  • 27. this.driver = driver; // set webDriver for current Page Action } } 12) What are the advantages of using page object pattern? A) ADVANTAGES OF USING PAGE OBJECT PATTERN Easy to maintain. Easy readability of scripts – since the test scripts, functions and locators are in different classes it is easy to walk through the code. Eliminate redundancy – no duplicity of functions or locators. Re-usability of code – a locator or function can be reused in the tests. Reliability. Test coverage is more since the tests are written program wise. Performance of each test can be known. The changes is to be made only in Page Factory class if any locator changes – no need to GIT Interview Questions 1) What is GIT? Git is an open source distributed version control system and source code management (SCM) system with an insistence to control small and large projects with speed and efficiency. 2) Which language is used in Git? Git uses 'C' language. Git is quick, and 'C' language makes this possible by decreasing the overhead of run times contained with high-level languages.
  • 28. 3) What is a repository in Git? A repository consists of a list named .git, where git holds all of its metadata for the catalog. The content of the .git file is private to Git. 4) What is 'bare repository' in Git? A "bare" repository in Git includes the version control information and no working files (no tree), and it doesn?t include the special. git sub-directory. Instead, it consists of all the contents of the .git sub-directory directly in the main directory itself, whereas working list comprises of: 57.7M 1.1K Exception Handling in Java - Javatpoint 1. A .git subdirectory with all the Git associated revision history of your repo. 2. A working tree, or find out copies of your project files. 5) What is the purpose of GIT stash? GIT stash takes the present state of the working file and index and puts in on the stack for next and gives you back a clean working file. So in case if you are in the middle of object and require to jump over to the other task, and at the same time you don't want to lose your current edits, you can use GIT stash. 6) What is GIT stash drop? When you are done with the stashed element or want to delete it from the directory, run the git 'stash drop' command. It will delete the last added stash item by default, and it can also remove a specific topic if you include as an argument. 7) What are the advantages of using GIT? Here are some of the essential advantages of Git: o Data repetition and data replication is possible
  • 29. o It is a much applicable service o For one depository you can have only one directory of Git o The network performance and disk application are excellent o It is effortless to collaborate on any project o You can work on any plan within the Git 8) What is the function of 'GIT PUSH' in GIT? 'GIT PUSH' updates remote refs along with related objects 9) Why do we require branching in GIT? With the help of branching, you can keep your branch, and you can also jump between the different branches. You can go to your past work while at the same time keeping your recent work intact. 10) What is the purpose of 'git config'? The 'Git config' is a great method to configure your choice for the Git installation. Using this command, you can describe the repository behavior, preferences, and user information. 11) What is the definition of "Index" or "Staging Area" in GIT? When you are making the commits, you can make innovation to it, format it and review it in the common area known as 'Staging Area' or 'Index'. 12) What is a 'conflict' in git? A 'conflict' appears when the commit that has to be combined has some change in one place, and the current act also has a change at the same place. Git will not be easy to predict which change should take precedence.
  • 30. 13) What is the difference between git pull and git fetch? Git pull command pulls innovation or commits from a specific branch from your central repository and updates your object branch in your local repository. Git fetch is also used for the same objective, but it works in a slightly different method. When you behave a git fetch, it pulls all new commits from the desired branch and saves it in a new branch in your local repository. If you need to reflect these changes in your target branch, git fetch should be followed with a git merge. Your target branch will only be restored after combining the target branch and fetched branch. To make it simple for you, remember the equation below: Git pull = git fetch + git merge 14) How to resolve a conflict in Git? If you need to resolve a conflict in Git, edit the list for fixing the different changes, and then you can run "git add" to add the resolved directory, and after that, you can run the 'git commit' for committing the repaired merge. 15) What is the purpose of the git clone? The git clone command generates a copy of a current Git repository. To get the copy of a central repository, 'cloning' is the simplest way used by programmers. 16) What is git pull origin? pull is a get and a consolidation. 'git pull origin master' brings submits from the master branch of the source remote (into the local origin/master branch), and then it combines origin/master into the branch you currently have looked out. 17) What does git commit a? Git commits "records changes to the storehouse" while git push " updates remote refs along with contained objects" So the first one is used in a network with your local repository, while the latter one is used to communicate with a remote repository.
  • 31. 18) Why GIT better than Subversion? GIT is an open source version control framework; it will enable you to run 'adaptations' of a task, which demonstrate the changes that were made to the code over time also it allows you keep the backtrack if vital and fix those changes. Multiple developers can check out, and transfer changes, and each change can then be attributed to a particular developer. 19) Explain what is commit message? Commit message is a component of git which shows up when you submit a change. Git gives you a content tool where you can enter the adjustments made to a commit. 20) Why is it desirable to create an additional commit rather than amending an existing commit? There are couples of reason 1. The correct activity will devastate the express that was recently saved in a commit. If only the commit message gets changed, that's not a problem. But if the contents are being modified, chances of excluding something important remains more. 2. Abusing "git commit- amends" can cause a small commit to increase and acquire inappropriate changes. 21) What does 'hooks' comprise of in Git? This index comprises of Shell contents which are enacted after running the relating git commands. For instance, Git will attempt to execute the post-commit content after you run a commit. 22) What is the distinction between Git and Github?
  • 32. A) Git is a correction control framework, a tool to deal with your source code history. GitHub is a hosting function for Git storehouses. GitHub is a website where you can transfer a duplicate of your Git archive. It is a Git repository hosting service, which offers the majority of the distributed update control and source code management (SCM) usefulness of Git just as including its features. 23) In Git, how would you return a commit that has just been pushed and made open? There can be two answers to this question and ensure that you incorporate both because any of the below choices can be utilized relying upon the circumstance: Remove or fix the bad document in another commit and push it to the remote repository. This is a unique approach to correct a mistake. Once you have necessary changes to the record, commit it to the remote repository for that I will utilize git submit - m "commit message." Make another commit that fixes all changes that were made in the terrible commit. to do this, I will utilize a command git revert <name of bad commit> 24) What does the committed item contain? Commit item contains the following parts; you should specify all the three present below: A set of records, representing to the condition of a task at a given purpose of time References to parent commit objects An SHAI name, a 40 character string that uniquely distinguishes the commit object. 25) Describing branching systems you have utilized?
  • 33. This question is a challenge to test your branching knowledge with Git along these lines, inform them regarding how you have utilized branching in your past activity and what reason does it serves, you can refer the below mention points: Feature Branching: A component branch model keeps the majority of the changes for a specific element within a branch. At the point when the item is throughout tested and approved by automated tests, the branch is then converged into master. Task Branching In this model, each assignment is actualized on its branch with the undertaking key included in the branch name. It is anything but difficult to see which code actualizes which task, search for the task key in the branch name. Release Branching Once the create branch has procured enough features for a discharge, you can clone that branch to frame a Release branch. Making this branch begins the following discharge cycle so that no new features can be included after this point, just bug fixes, documentation age, and other release oriented assignments ought to go in this branch. When it is prepared to deliver, the release gets converged into master and labeled with a form number. Likewise, it should be converged once again into creating a branch, which may have advanced since the release was started. At last, disclose to them that branching methodologies fluctuate starting with one association then onto the next, so I realize essential branching activities like delete, merge, checking out a branch, etc. 26) By what method will you know in Git if a branch has just been combined into master? The appropriate response is immediate. To know whether a branch has been merged into master or not you can utilize the below commands: git branch - merged It records the branches that have been merged into the present branch. git branch - no merged It records the branches that have not been merged.
  • 34. 27) How might you fix a messed up submit? To fix any messed up commit, you will utilize the order "git commit?correct." By running this direction, you can set the wrecked commit message in the editor. 28) Mention the various Git repository hosting functions. The following are the Git repository hosting functions: o Pikacode o Visual Studio Online o GitHub o GitEnterprise o SourceForge.net 29) Mention some of the best graphical GIT customers for LINUX? Some of the best GIT customer for LINUX is a. Git Cola b. Smart git c. Git-g d. Git GUI e. Giggle f. qGit 30) What is Subgit? Why use it? 'Subgit' is a tool that migrates SVN to Git. It is a stable and stress-free migration. Subgit is one of the solutions for a company-wide migration from SVN to Git that is: a. It is much superior to git-svn
  • 35. b. No need to change the infrastructure that is already placed. c. It allows using all git and all sub-version features. d. It provides stress ?free migration experience. 1) What is TestNG? TestNG stands for "Testing Next Generation". It is an` automation testing framework used for java programming language developed by Credric beust, and it comes after the inspiration from the JUnit framework. TestNG consists of all the features of JUnit framework but also contains some more additional features that make TestNG more powerful. 2) What are the advantages of TestNG? The following are the advantages of TestNG are: o It generates the report in a proper format, which includes the following information: o Number of test cases executed. o Number of test cases passed. o Number of test cases failed. o Number of test cases skipped o Multiple test cases can be grouped easily by converting them into a testng.xml file, in which you can set the priority of each test case that determines which test case should be executed first. o With the help of TestNG, you can execute the multiple test cases on multiple browsers known as cross-browser testing. o The TestNG framework can be easily integrated with other tools such as Maven. Jenkins, etc. o Annotations used in a TestNG framework are easily understandable such as @BeforeMethod, @AfterMethod, @BeforeTest, @AfterTest. o WebDriver does not generate the reports while TestNG generates the reports in a readable format.
  • 36. o TestNG simplifies the way the test cases are coded. We do not have to write the static main method. The sequence of actions is maintained by the annotations only. o TestNG allows you to execute the test cases separately. For example, if you have six test cases, then one method is written for each test case. When we run the program, five methods are executed successfully, and the sixth method is failed. To remove the error, we need to run only the sixth method, and this can be possible only through TestNG. Because TestNG generates testng-failed.xml file in the test output folder, we will run only this xml file to execute the failed test case. 3) How to run the test script in TestNG? You can run the test script in TestNG by clicking right click on the TestNG class, click on "Run As" and then select "TestNG test". 4) What are the annotations used in the TestNG? The following are the annotations used in the TestNG are: o Precondition annotations Precondition annotations are executed before the execution of test methods The Precondition annotations are @BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod. o Test annotation Test annotation is specified before the definition of the test method. It is specified as @Test. o Postcondition annotations The postcondition annotations are executed after the execution of all the test methods. The postcondition annotation can be @AfterSuite, @AfterClass, @AfterTest, @AfterMethod. 5) What is the sequence of execution of all the annotations in TestNG?
  • 37. The sequence of execution of all the annotations in TestNG is given below: o @BeforeSuite o @BeforeTest o @BeforeClass o @BeforeMethod o @Test o @AfterSuite o @AfterTest o @AfterClass o @AfterMethod 6) How to set the priorities in TestNG? If we do not prioritize the test methods, then the test methods are selected alphabetically and executed. If we want the test methods to be executed in the sequence we want, then we need to provide the priority along with the @Test annotation. Let's understand through an example. 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Test_methods 4. { 5. @Test(priority=2) 6. public void test1() 7. { 8. System.out.println("Test1"); 9. } 10. @Test(priority=1) 11. public void test2() 12. { 13. System.out.print("Test2"); 14. } 15. }
  • 38. 7) Define grouping in TestNG? The group is an attribute in TestNG that allows you to execute the multiple test cases. For example, if we have 100 test cases of it_department and 10 test cases of hr_department, and if you want to run all the test cases of it_department together in a single suite, this can be possible only through the grouping. Let's understand through an example. 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Test_methods 4. { 5. @Test(groups="it_department") 6. public void java() 7. { 8. System.out.println("I am a java developer"); 9. } 10. @Test(groups="it_department") 11. public void dot_net() 12. { 13. System.out.println("I am a .Net developer"); 14. } 15. @Test(groups="it_department") 16. public void tester() 17. { 18. System.out.println("I am a software tester"); 19. } 20. @Test (groups="hr") 21. public void hr() 22. { 23. System.out.print("I am hr"); 24. } 25. } testng.xml
  • 39. 1. ?xml version="1.0" encoding="UTF-8"?> 2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 3. <suite name="Suite"> 4. <test name="It Company"> 5. <groups> 6. <run> 7. <include name="it_department"/> 8. </run> 9. </groups> 10. <classes> 11. <class name="com.javatpoint.Test_methods"></class> 12. </classes> 13. </test> 14. </suite> <!-- Suite --> 8) What is dependency in TestNG? When we want to run the test cases in a specific order, then we use the concept of dependency in TestNG. Two types of dependency attributes used in TestNG: o dependsOnMethods The dependsOnMethods attribute tells the TestNG on which methods this test will be dependent on, so that those methods will be executed before this test method. 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Login 4. { 5. @Test 6. public void login() 7. { 8. System.out.println("Login page"); 9. } 10. @Test(dependsOnMethods="login")
  • 40. 11. public void home() 12. { 13. System.out.println("Home page"); 14. 15. } 16. } o dependsOnGroups It is similar to the dependsOnMethods attribute. It allows the test methods to depend on the group of test methods. It executes the group of test methods before the dependent test method. 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Test_cases 4. { 5. @Test(groups="test") 6. public void testcase1() 7. { 8. System.out.println("testcase1"); 9. } 10. @Test(groups="test") 11. public void testcase2() 12. { 13. System.out.println("testcase2"); 14. } 15. @Test(dependsOnGroups="test") 16. public void testcase3() 17. { 18. System.out.println("testcase3"); 19. } 20. } 9) What is timeOut in TestNG? While running test cases, there can be a case when some test cases take much more time than expected. In such a case, we can mark the test case as a failed test case by using timeOut.
  • 41. TimeOut in TestNG allows you to configure the time period to wait for a test to get completely executed. It can be configured in two levels: o At the suit level: It will be available to all the test methods. o At each method level: It will be available to a particular test method. The timeOut attribute can be specified as shown below: 1. @Test( timeOut = 700) The above @Test annotation tells that the test method will be given 700 ms to complete its execution otherwise it will be marked as a failed test case. 10) What is invocationCount in TestNG? An invocationCount in TestNG is the number of times that we want to execute the same test. 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Test_cases 4. { 5. @Test(invocationCount=5) 6. public void testcase1() 7. { 8. System.out.println("testcase1"); 9. } 10. 11. } Output
  • 42. 11) What is the importance of testng.xml file? The testng.xml file is important because of the following reasons: o It defines the order of the execution of all the test cases. o It allows you to group the test cases and can be executed as per the requirements. o It executes the selected test cases. o In TestNG, listeners can be implemented at the suite level. o It allows you to integrate the TestNG framework with tools such as Jenkins. 12) How to pass the parameter in test case through testng.xml file? We can also pass the value to test methods at runtime, we can achieve this by sending parameter values through the testng.xml file. We can use the @Parameter annotation: 1. @Parameter("param-name"); Let's understand through an example: 1. package com.javatpoint; 2. import org.openqa.selenium.By; 3. import org.openqa.selenium.WebDriver; 4. import org.openqa.selenium.chrome.ChromeDriver; 5. import org.testng.annotations.Test; 6. import org.testng.annotations.Parameters;
  • 43. 7. public class Web { 8. @Parameters({"text"}) 9. @Test 10. public void search() 11. { 12. // TODO Auto-generated method stub 13. System.setProperty("webdriver.chrome.driver", "D:chromedriver.exe"); 14. WebDriver driver=new ChromeDriver(); 15. driver.get("http://www.google.com/"); 16. driver.findElement(By.name("q")).sendKeys("javatpoint tutorial"); 17. } 18. } testng.xml file 1. <?xml version="1.0" encoding="UTF-8"?> 2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 3. <suite name="Suite"> 4. <test name="It Company"> 5. <parameter name="text" value="javatpoint"/> 6. <classes> 7. <class name="com.javatpoint.Web"></class> 8. </classes> 9. </test> 10. </suite> <!-- Suite --> On running the testng.xml file, we get the output as shown below:
  • 44. 13) How can we disable the test case from running?
  • 45. We can disable the test case from running by using the enabled attribute. We can assign the false value to the enabled attribute, in this way we can disable the test case from running. 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Test_cases 4. { 5. @Test(enabled=false) 6. public void testcase1() 7. { 8. System.out.println("testcase1"); 9. } 10. @Test 11. public void testcase2() 12. { 13. System.out.println("testcase2"); 14. } 15. 16. } 14) What is the difference between soft assertion and hard assertion? Soft Assertion: In case of Soft Assertion, if TestNG gets an error during @Test, it will throw an exception when an assertion fails and continues with the next statement after the assert statement. Hard Assertion: In the case of Hard Assertion, if TestNG gets an error during @Test, it will throw an AssertException immediately when an assertion fails and stops execution after the assert statement. Let's understand through an example. 1. package com.javatpoint; 2. import org.testng.Assert; 3. import org.testng.annotations.Test; 4. import org.testng.asserts.SoftAssert; 5. public class Assertion {
  • 46. 6. SoftAssert soft_assert=new SoftAssert(); 7. @Test 8. public void Soft_Assert() 9. { 10. soft_assert.assertTrue(false); 11. System.out.println("soft assertion"); 12. } 13. @Test 14. public void Hard_Assert() 15. { 16. Assert.assertTrue(false); 17. System.out.println("hard assertion"); 18. } 19. } Output 15) What is the use of @Listener annotation in TestNG? TestNG provides different kinds of listeners which can perform different actions whenever the event is triggered. The most widely used listener in TestNG is ITestListener interface. The ITestListener interface contains methods such as onTestSuccess, onTestfailure, onTestSkipped, etc. Following are the scenarios that can be made: o If the test case is failed, then what action should be performed by the listener.
  • 47. o If the test case is passed, then what action should be performed by the listener. o If the test case is skipped, then what action should be performed by the listener. Let's understand through an example. 1. package com.javatpoint; 2. import org.testng.Assert; 3. import org.testng.annotations.Listeners; 4. import org.testng.annotations.Test; 5. @Listeners(com.javatpoint.Listener.class) 6. public class Test_cases 7. { 8. 9. @Test 10. public void test_to_success() 11. { 12. Assert.assertTrue(true); 13. } 14. @Test 15. public void test_to_fail() 16. { 17. Assert.assertTrue(false); 18. } 19. 20. } Listener.java 1. package com.javatpoint; 2. import org.testng.ITestContext; 3. import org.testng.ITestListener; 4. import org.testng.ITestResult; 5. public class Listener implements ITestListener 6. { 7. @Override 8. public void onTestStart(ITestResult result) {
  • 48. 9. // TODO Auto-generated method stub 10. } 11. @Override 12. public void onTestSuccess(ITestResult result) { 13. // TODO Auto-generated method stub 14. System.out.println("Success of test cases and its details are : "+result.getName()); 15. } 16. @Override 17. public void onTestFailure(ITestResult result) { 18. // TODO Auto-generated method stub 19. System.out.println("Failure of test cases and its details are : "+result.getName()); 20. } 21. @Override 22. public void onTestSkipped(ITestResult result) { 23. // TODO Auto-generated method stub 24. System.out.println("Skip of test cases and its details are : "+result.getName()); 25. } 26. @Override 27. public void onTestFailedButWithinSuccessPercentage(ITestResult result) { 28. // TODO Auto-generated method stub 29. System.out.println("Failure of test cases and its details are : "+result.getName()); 30. } 31. @Override 32. public void onStart(ITestContext context) { 33. // TODO Auto-generated method stub 34. } 35. @Override 36. public void onFinish(ITestContext context) { 37. // TODO Auto-generated method stub 38. }} Output
  • 49. 16) What is the use of @Factory annotation? The @Factory annotation is useful when we want to run multiple test cases through a single test class. It is mainly used for the dynamic execution of test cases. Let's understand through an example. testcase1.java 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Testcase1 4. { 5. @Test 6. public void test1() 7. { 8. System.out.println("testcase 1"); 9. } 10. } testcase2.java 1. package com.javatpoint; 2. import org.testng.annotations.Test; 3. public class Testcase2 4. { 5. @Test 6. public void test1()
  • 50. 7. { 8. System.out.println("testcase 2"); 9. } 10. } Factory.java 1. import org.testng.annotations.Factory; 2. public class Factory1 3. { 4. @Factory 5. public Object[] getTestClasses() 6. { 7. Object tests[]=new Object[2]; 8. tests[0]=new Testcase1(); 9. tests[1]=new Testcase2(); 10. return tests; 11. } 12. } 17) What is the difference between @Factory and @DataProvider annotation? @DataProvider: It is annotation used by TestNG to execute the test method multiple numbers of times based on the data provided by the DataProvider. @Factory: It is annotation used by the TestNG to execute the test methods present in the same test class using different instances of the respective class. Jenkins Interview Questions A list of top frequently asked Jenkins interview questions and answers are given below. 1) What is Jenkins?
  • 51. Jenkins is an open source continuous integration tool written in Java. It keeps a track on version control system and to initiate and monitor a build system if changes occur. 2) What is the difference between Maven, Ant and Jenkins? The most basic difference is: Maven and Ant are Build Technologies whereas Jenkins is a continuous integration tool. 46.2M 835 Java Try Catch 3) Which SCM tools does Jenkins support? Jenkins supports the following SCM tools: o AccuRev o CVS o Subversion o Git o Mercurial o Perforce o Clearcase o RTC 4) What is continuous integration in Jenkins? In software development, multiple developers or teams work on different segments of same web application so you have to perform integration test by integrating all modules. In order to do that an automated process for each piece of code is performed on daily bases so that all your codes get tested. This process is known as continuous integration.
  • 52. 5) What is the relation between Hudson and Jenkins? Hudson was the earlier name and version of current Jenkins. After some issue, the project name was changed from Hudson to Jenkins. 6) What is the requirement for using Jenkins? For using Jenkins, you have to need a source code repository which is accessible. For example, a Git repository and a working build script, e.g., a Maven script, checked into the repository. 7) What are the advantages of Jenkins? Advantage of Jenkins includes: o Bugs tracking are easy at early stage in development environment. o Provides a large numbers of plugin support. o Iterative improvement to the code. o Build failures are cached at integration stage. o For each code commit changes an automatic build report notification generates. o To notify developers about build report success or failure, it is integrated with LDAP mail server. o Achieves continuous integration agile development and test driven development. o With simple steps, maven release project is automated. 8) How to make sure that your project builds doesn?t break in Jenkins? You must follow these steps to make sure that your project builds doesn?t break in Jenkins: o First, perform successful clean install on your local machine with all unit tests.
  • 53. o Check all your code changes. o Synchronize with repository to make sure that all required config and POM changes and any difference is checked into the repository. 9) How can you move or copy Jenkins from one server to another? Follow these steps to move or copy Jenkins from one server to another: o First, copy the related job directory and slide a job from one installation of Jenkins to another. o Make a copy of an already existing job by making clone of a job directory by a different name. o Renaming an existing job by rename a directory. 10) Which commands can be used to start Jenkins manually? You can use any one of the following commands to start Jenkins manually: o (Jenkins_url)/restart: Forces a restart without waiting for builds to complete. o (Jenkin_url)/safeRestart: Allows all running builds to complete. 11) What are the most useful plugins in Jenkins? Some most useful plugins in Jenkins: o Maven 2 project o Amazon EC2 o HTML publisher o Copy artifact o Join o Green Balls
  • 54. 12) How to create a backup and copy files in Jenkins? If you want to create a back-up of your Jenkins setup, just copy the directory that saves all the setting, build artifacts and logs of Jenkins in its home directory. You can also copy a job directory to clone or replicate a job or rename the directory. 13) How can you clone a Git repository via Jenkins? If you want to clone a Git repository via Jenkins, you have to enter the e-mail and user name for your Jenkins system. Switch into your job directory and execute the "git config" command for that. 14) How can you setup Jenkins jobs? Follow these steps: o Select new item from the menu. o After that enter a name for the job and select free-style job. o Then click OK to create new job in Jenkins. o The next page enables you to configure your job. 15) What are the two components Jenkins is mainly integrated with? Jenkins is integrated with these two components: o Version Control system like GIT,SVN o And build tools like Apache Maven. Maven Tutorial
  • 55. Maven tutorial provides basic and advanced concepts of apache maven technology. Our maven tutorial is developed for beginners and professionals. Maven is a powerful project management tool that is based on POM (project object model). It is used for projects build, dependency and documentation. It simplifies the build process like ANT. But it is too much advanced than ANT. Current version of Maven is 3. 00:00/04:47 Understanding the problem without Maven There are many problems that we face during the project development. They are discussed below: 1) Adding set of Jars in each project: In case of struts, spring, hibernate frameworks, we need to add set of jar files in each project. It must include all the dependencies of jars also. 2) Creating the right project structure: We must create the right project structure in servlet, struts etc, otherwise it will not be executed. 3) Building and Deploying the project: We must have to build and deploy the project so that it may work. What it does? Maven simplifies the above mentioned problems. It does mainly following tasks. 1. It makes a project easy to build 2. It provides uniform build process (maven project can be shared by all the maven projects) 3. It provides project information (log document, cross referenced sources, mailing list, dependency list, unit test reports etc.) 4. It is easy to migrate for new features of Maven
  • 56. Apache Maven helps to manage o Builds o Documentation o Reporing o SCMs o Releases o Distribution What is Build Tool A build tool takes care of everything for building a process. It does following: o Generates source code (if auto-generated code is used) o Generates documentation from source code o Compiles source code o Packages compiled code into JAR of ZIP file o Installs the packaged code in local repository, server repository, or central repository