100% found this document useful (1 vote)
873 views28 pages

QA Interview Questions

Quality assurance is the process of planning and monitoring quality processes, quality control finds defects and suggests improvements, and testing validates requirements and finds bugs. QA activities should start early. A test strategy is at a higher level than a test plan. The software testing life cycle has defined steps. A good test case finds defects, has details, and coverage. If time is limited, prioritize and execute high priority tests first. QAs can help resolve production issues and prevent bugs by writing test cases for issues found. Functional testing validates functionality while nonfunctional testing validates performance. Negative testing validates graceful behavior with invalid inputs unlike positive testing. Requirement traceability and coverage matrices ensure complete testing. Artifacts include requirements, use cases

Uploaded by

Hassaan Naeem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
873 views28 pages

QA Interview Questions

Quality assurance is the process of planning and monitoring quality processes, quality control finds defects and suggests improvements, and testing validates requirements and finds bugs. QA activities should start early. A test strategy is at a higher level than a test plan. The software testing life cycle has defined steps. A good test case finds defects, has details, and coverage. If time is limited, prioritize and execute high priority tests first. QAs can help resolve production issues and prevent bugs by writing test cases for issues found. Functional testing validates functionality while nonfunctional testing validates performance. Negative testing validates graceful behavior with invalid inputs unlike positive testing. Requirement traceability and coverage matrices ensure complete testing. Artifacts include requirements, use cases

Uploaded by

Hassaan Naeem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

What is the difference between Quality Assurance, Quality Control and testing?

Quality Assurance: is the process of planning and defining the way of monitoring and
implementing the quality (test) processes within a team and organization. This method defines
and sets the quality standards of the projects.

Quality Control: is the process of finding defects and providing suggestions to improve the quality
of the software. The methods used by Quality Control are usually established by the quality
assurance.
It is the primarily responsibility of the testing team to implement quality control.

Testing: is the process of finding defects / bug. It validates whether the software built by the
development team meets the requirements set by the user and the standards set by the
organization.
Here the focus is on finding bugs and testing team acts as quality gatekeeper.

When you think QA activities should start?


QA activity should start from the beginning of the project. The more early it starts the more
benefit it is to set the standards for achieving the quality. The cost, time and efforts are very
challenging in case the QA activities are delayed.

What is the difference between Test Plan and Test Strategy


Test Strategy is at a higher level, mostly created by the Project Manager which demonstrates the
overall approach of the testing for the entire project, whereas Test plan basically depicts the how
the testing should be performed for a particular application, falling under a project.

Can you explain the software testing life cycle?


Software Testing Life Cycle refers to a testing process which has specific steps to be executed in a
definite sequence to ensure that the quality goals have been met.
Please refer to the below link to know more:

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


A test case has the below format:

• Test case ID,


• Test case description
• Severity
• Priority
• Environment
• Build version
• Steps to execute
• Expected results
• Actual results
What is a good test case?
In simple words, a good test case is one which finds a defect. But all test case will not find
defects, so A good test case can also be one which has all the prescribed details and coverage.

What would you do if you have a large suit to execute in a very less time?
In case we have less time, and have to execute larger volume of test cases, we should prioritize
the test case at first instant and execute the high priority test cases first and then move on to the
lower priority ones.
This way we can make sure that the important aspects of the software is tested.

Alternatively, we may also seek customer preference that which is the most important
functionality of the software according to them, and we should start testing from those areas and
then gradually move to those areas, which are of less importance.

Do you think QA’s can also participate to resolve production issues?


Definitely!! It would be a good learning curve for QA’s to participate in resolving production
issues. Many a time production issues could be resolved by clearing the logs or making some
registry settings or by restarting the services.

These kind of environmental issues could be very well be fixed by the QA team.

Also If QAs have an insight on resolving the production issues, they may also include them while
writing the test cases, and this way they can contribute to improve quality and try to minimize
the production defects.

Suppose you find a bug in production, how would you make sure that the same bug is not introduced
again?
Best way is to immediately write a test case for the production defect and include it in the
regression suite. This way we ensure that the bug does not get introduced again.

Also many a time we can also think of alternate test cases or similar kind of test case and include
them in our planned execution.

What is the difference between functional and nonfunctional testing?


Functional testing deals with the functional aspect of the application. This technique tests that the
system is behaving as per the requirement and specification. They are directly linked with
customer requirement. We validate the test cases against the specified requirement and make
the test pass or failed accordingly. Examples include regression, integration, system, smoke etc…

Nonfunctional testing – on the other hand tests the Nonfunctional aspect of the application. It
tests NOT the requirement, but the environmental factors like performance, load and stress.
These are not explicitly specified in the requirement but are prescribed in the quality standards.
So as QA we have to make sure that these testing are also given sufficient time and priority.
What is negative testing? How is it different from positive testing?
Negative testing is a technique which validates that the system behaves gracefully in case of any
invalid inputs. For example, in case user enters any invalid data in a text box, system should
display a proper message instead of technical message which the user does not understands.

Negative testing is different from positive testing in a way that positive testing validates that our
system works as expected and compares the test results with the expected results.
Most of the time scenarios for negative testing are not mentioned in the functional requirement
documents. As a QA we have to identify the negative scenarios and should have provisions to test
those.

How would you ensure that your testing is complete and has good coverage?
Requirement traceability matrix and Test coverage matrices will help us to determine that our
test cases have good coverage. Requirement traceability matrices will help us to determine that
the test conditions are enough so that all the requirements are covered. Coverage matrices will
help us to determine that the test cases are enough to satisfy all the identified test conditions in
RTM.

A RTM will look something like:

Similarly Test coverage matrices will look like:


What are the different artifacts you refer when you write the test cases?
The main artifacts used are:

• Functional requirement specification


• Requirement understanding document
• Use Cases
• Wireframes
• User Stories
• Acceptance criteria
• Many a time UAT test cases

Have you ever managed writing the test cases without having any documents?
Yes, many a time we have a situation where we have to write test cases without having any concrete
documents. In that case, best way is to

• Collaborate with the BA and development team.


• Dig into mails which have some information.
• Dig into older test cases / regression suite
• If the feature is new, try to read the wiki pages or help of the application to have an idea
• Sit with the developer and try to understand the changes being made.
• Based on your understanding, identify the test condition and send it to BA or stakeholders to
review them.

What do you by Verification and Validation?


Validation is the process of evaluating the final product to check whether the software meets the
business needs.

The test execution which we do in our day to day life are actually the validation activity which
includes smoke testing, functional testing, regression testing, systems testing etc…

Verification is a process of evaluating the intermediary work products of a software development


lifecycle to check if we are in the right track of creating the final product.

What are the different verification techniques you know?


Verification techniques are static in nature. There are 3 verification techniques:
Review, Inspection and walkthrough.
1) Review – Is a method by which the code / test cases are examined by the individual other than
the author who has produced it.
It is one of the easy and best way to ensure coverage and quality.
2) Inspection – Is a technical and disciplined way to examine and correct the defects in the test
artifact or code. Because it is disciplined, it has various roles:
• Moderator – Who facilitates the entire inspection meeting
• Recorder – Who records the minutes of meeting, defects occurred, and other points
discussed.
• Reader – The one who will read out the document / code. The leader also leads the
entire inspection meeting.
• Producer – The author. They are ultimately responsible to update their document / code
as per the comments.
• Reviewer – All the team can be considered as reviewer. This role can also be played be
some group of experts is the project demands.

3) Walkthrough – Is a process in which the author of the document / code reads the content and
gets the feedback.
This is most of the time a kind of FYI (For your information) session rather than seeking
corrections.

What is the difference between Load and Stress testing?


Stress Testing is a technique which validates the behavior of the system when it executes under
stress. To explain, we reduce the resources and check the behavior of the system.
We first understand the upper limit of the system and gradually reduce the resources and check
the system behavior.
In Load testing we validate the system behavior under the expected load. The load can be of
concurrent user or resources accessing the system at the same time.

In case you have any doubts regarding your project, how do you approach?
In case of any doubts, first try to get it clear by reading the available artifacts / application help. In
case of doubts still persisting, ask immediate supervisor or the senior member of your team.
BA’s would also be a good choice to ask the doubts. We can also touch base with the
development team in case of any doubts. The last option would be to follow up with the manager
and finally to the stakeholders.

Have you used any Automation tools?


The answer to this question is very much exclusive to individual. Reply with all the tools and
strategy of automation that you have used in your project.

How do you determine which piece of software require how much testing?
We can know this factor by finding out the Cyclomatic Complexity.
The technique helps to identify the below 3 questions for the programs / features

• Is the feature / program testable?


• Is the feature/ program understood by every one?
• Is the feature / program reliable enough?
As a QA we can use this technique to identify the “level” of our testing.

It is a practice that if the result of cyclomatic complexity is more or a bigger number, we consider
that piece of functionality to be of complex nature and hence we conclude as a tester; that the
piece of code / functionality requires an in-depth testing.
On the other hand if the result of the Cyclomatic Complexity is a smaller number, we conclude as
QA that the functionality is of less complexity and decide the scope accordingly.

As a QA its very important that we understand the entire testing lifecycle and should be able to
suggest changes in our process if required.

The goal is to deliver high quality software and in that way a QA should take all the necessary
measures to improve the process and way testing team executes the tests.

What is Testware?

Testware is test artifacts like test cases, test data, test plans needed to design and execute a test.

What is the difference between build and release?

Build: It is a number given to Installable software that is given to the testing team by the
development team.

Release: It is a number given to Installable software that is handed over to the customer by the
tester or developer.

What are the automation challenges that SQA(Software Quality Assurance) team faces while testing?

• Mastering the automation tool


• Reusability of Automation script
• Adaptability of test case for automation
• Automating complex test cases.

What is bug leakage and bug release?

Bug release is when software or an application is handed over to the testing team knowing that
the defect is present in a release. During this the priority and severity of bug is low, as bug can be
removed before the final handover.

Bug leakage is something, when the bug is discovered by the end users or customer, and not
detected by the testing team while testing the software.

What is data driven testing?

Data driven testing is an automation testing framework, which tests the different input values on
the AUT. These values are read directly from the data files. The data files may include csv files,
excel files, data pools and many more.

Explain the steps for Bug Cycle?

• Once the bug is identified by the tester, it is assigned to the development manager in open status
• If the bug is a valid defect the development team will fix it.
• If it is not a valid defect, the defect will be ignored and marked as rejected
• The next step will be to check whether it is in scope. If the bug is not the part of the current
release then the defects are postponed
• If the defect or bug is raised earlier then the tester will assign a DUPLICATE status
• When bug is assigned to developer to fix, it will be given a IN-PROGRESS status
• Once the defect is repaired, the status will change to FIXED at the end the tester will give CLOSED
status if it passes the final test.

What does the test strategy include?

The test strategy includes an introduction, resource, scope and schedule for test activities, test
tools, test priorities, test planning and the types of test that has to be performed.

Mention the different types of software testing?

• Unit testing
• Integration testing and regression testing
• Shakeout testing
• Smoke testing
• Functional testing
• Performance testing
• White box and Black box testing
• Alpha and Beta testing
• Load testing and stress testing
• System testing

What is branch testing and what is boundary testing?

The testing of all the branches of the code, which is tested once, is known as branch testing.
While the testing, which is focused on the limit conditions of the software is known as boundary
testing.

What are the contents of test plans and test cases?

• Testing objectives
• Testing scope
• Testing the frame
• The environment
• Reason for testing
• The criteria for entrance and exit
• Deliverables
• Risk factors
What is Agile testing and what is the importance of Agile testing?

Agile testing is software testing, is testing using Agile Methodology. The importance of this testing
is that, unlike normal testing process, this testing does not wait for the development team to
complete the coding first and then doing testing. The coding and testing both goes
simultaneously. It requires continuous customer interaction.

What is Test case?

Test case is a specific condition to check against the Application Under Test. It has information of
test steps, prerequisites, test environment, and outputs.

What is the strategy for Automation Test Plan?

• The strategy for Automation Test Plan


• Preparation of Automation Test Plan
• Recording the scenario
• Error handler incorporation
• Script enhancement by inserting check points and looping constructs
• Debugging the script and fixing the issues
• Rerunning the script
• Reporting the result

What is quality audit?

The systematic and independent examination for determining the effectiveness of quality control
procedures is known as the quality audit.

What are the tools used by a tester while testing?

• Selenium
• Firebug
• OpenSTA
• WinSCP
• YSlow for FireBug
• Web Developer toolbar for firebox

Above are just sample tools. The tools a Tester may vary with his/her project.

Explain stress testing, load testing and volume testing?

• Load Testing: Testing an application under heavy but expected load is known as Load Testing.
Here, the load refers to the large volume of users, messages, requests, data, etc.
• Stress Testing: When the load placed on the system is raised or accelerated beyond the normal
range then it is known as Stress Testing.
• Volume Testing: The process of checking the system, whether the system can handle the
required amounts of data, user requests, etc. is known as Volume Testing.
What are the five common solutions for software developments problems?

• Setting up the requirements criteria, the requirements of a software should be complete, clear
and agreed by all
• The next thing is the realistic schedule like time for planning , designing, testing, fixing bugs and
re-testing
• Adequate testing, start the testing immediately after one or more modules development.
• Use rapid prototype during design phase so that it can be easy for customers to find what to
expect
• Use of group communication tools

What is a 'USE' case and what does it include?

The document that describes, the user action and system response, for a particular functionality
is known as USE case. It includes revision history, table of contents, flow of events, cover page,
special

What is CRUD testing and how to test CRUD?

CRUD stands for Create, Read, Update and Delete. CRUD testing can be done using SQL
statements.

What is thread testing?

A thread testing is a top-down testing, where the progressive integration of components follows
the implementation of subsets of the requirements, as opposed to the integration of components
by successively lower levels.

What is configuration management?

It is a process to control and document any changes made during the life of a project. Release
control, Change control and Revision control are the important aspects of configuration
management.

What is Ad Hoc testing?

It is a testing phase where the tester tries to break the system by randomly trying the system's
functionality. It can include negative testing as well.

List out the roles of Software Quality Assurance engineer?

A software quality assurance engineer tasks may include following things amongst others

• Writing source code


• Software design
• Control of source code
• Reviewing code
• Change management
• Configuration management
• Integration of software
• Program testing
• Release management process

Explain what are test driver and test stub and why it is required?

• The stub is called from the software component to be tested. It is used in top down approach
• The driver calls a component to be tested. It is used in bottom up approach
• It is required when we need to test the interface between modules X and Y and we have
developed only module X. So we cannot just test module X but if there is any dummy module we
can use that dummy module to test module X

Explain what is Bug triage?

A bug triage is a process to

• Ensure bug report completeness


• Assign and analyze the bug
• Assigning bug to proper bug owner
• Adjust bug severity properly
• Set appropriate bug priority

List out various tools required to support testing during development of the application?

To support testing during development of application following tools can be used

• Test Management Tools: JIRA, Quality Center etc.


• Defect Management Tools: Test Director, Bugzilla
• Project Management Tools: Sharepoint
• Automation Tools: RFT, QTP, and WinRunner

Explain what is a cause effect graph?

A cause effect graph is a graphical representation of inputs and the associated outputs effects
that can be used to design test cases.

Explain what is Test Metric is software testing and what information does it contains?

In software testing, Test Metric is referred to the standard of test measurement. They are the
statistics narrating the structure or content of a testing. It contains information like

• Total test
• Test run
• Test passed
• Test failed
• Tests deferred
• Test passed the first time

Explain what is traceability matrix?

A test matrix is used to map test scripts to requirements.

Explain what is the difference between Regression testing and Retesting?

Retesting is carried out to check the defects fixes, while regression testing is performed to check
whether the defect fix have any impact on other functionality.

List out the software quality practices through the software development cycle?

Software quality practices includes

• Review the requirements before starting the development phase


• Code Review
• Write comprehensive test cases
• Session based testing
• Risk based testing
• Prioritize bug based on usage
• Form a dedicated security and performance testing team
• Run a regression cycle
• Perform sanity tests on production
• Simulate customer accounts on production
• Include software QA Test Reports

Explain what is the rule of a "Test Driven Development"?

The rule of a Test Driven Development is to prepare test cases before writing the actual code.
Which means you are actually be writing code for the tests before you write code for the
application.

Mention what are the types of documents in SQA?

The types of documents in SQA are

• Requirement Document
• Test Metrics
• Test cases and Test plan
• Task distribution flow chart
• Transaction Mix
• User profiles
• Test log
• User profiles
• Test incident report
• Test summary report

Explain what should your QA documents include?

QA testing document should include

• List the number of defects detected as per severity level


• Explain each requirement or business function in detail
• Inspection reports
• Configurations
• Test plans and test cases
• Bug reports
• User manuals
• Prepare separate reports for managers and users

Explain what is MR and what information does MR consists of?

MR stands for Modification Request also referred as Defect report. It is written for reporting
errors/problems/suggestions in the software.

What does the software QA document should include?

Software QA document should include

• Specifications
• Designs
• Business rules
• Configurations
• Code changes
• Test plans
• Test cases
• Bug reports
• User manuals, etc

Mention how validation activities should be conducted?

Validation activities should be conducted by following techniques

• Hire third party independent verification and validation


• Assign internal staff members that are not involved in validation and verification activities
• Independent evaluation

What Testing tools do you use/recommend, and Why?


This is one of my favorite Quality Assurance interview questions. In addition, I’ve
covered this question previously.
You and I both know that tools help remove repetitive, redundant and repeatable
activities from your roster; that they improve the flow of information across the
project, team and organization.
Tools help you focus on the high value activities and automate the rest.
In that sense, yes, tooling is important.
Where people are concerned, everything can be tainted with emotions. Emotions
are involved even with matters like selecting the right Test Automation tool for
your team. Believe me, it happens.

In an Automated world, how relevant is Manual Testing?


This Quality Assurance interview question helps you pick off the candidates that
tend to exaggerate the importance or use of Automated Testing.
“There Is No Right Answer To This Question, And Sometimes It Can Come Down To Your
(The Interviewer’s) Own Personal Bias Towards Either Technique. Now That Is Something
To Watch Out For.”
The inexperienced or over eager candidate tries to provide a response they think
will please you. Whereas the right candidate will provide a dispassionate analysis of
the pros and cons of each technique, and how they can coexist without any
conflicts.
There is no right answer to this question, and sometimes it can come down to your
(the interviewer’s) own personal bias towards either technique. Now that is
something to watch out for.

What is the difference between Agile and Scrum?


A fundamental Scrum and Agile question. Yet, you’d be surprised at t he answers
you get with this one.
Many candidates struggle to articulate a clear response to this question. So, I
sometimes use it to unsettle them. Such questions make the interviewees more
alert and at the same you get to measure how well they react to b eing put in a box.
This question is usually a precursor to more prodding discussions about Agile and
Scrum, and the other Agile development methodologies out there. A good
interviewer doesn’t stop with asking about the differences. They will try to test
how deeply the tester understands Agile methodologies.

What are the first three things you’d do if you join us?
No candidate understands enough about your organisation (unless they are internal
of course, but still) to give you an effective response. At the same time, they
cannot NOT respond. Why would you consider anyone that cannot respond to a
fundamental question like this?
That is why this is a good Quality Assurance interview question to ask. Because it
tests the candidate’s ability to demonstrate their understanding of what your team,
department, organisation does.
Good candidates conduct prior research about your company or team specifically,
and use the interview to cull more detail about the specific challenges you are
facing on a day to day basis.
While you can’t really expect world changing ideas in response, it Is known to
happen. Some of the best ideas I’ve picked up are from brilliant candidates that I
interviewed for a role in my team.
So this question isn’t a blank bullet. It’s an opportunity for the candidate to create
a great impression on you with their r esponse. And if you catch an idea or two that
can make your life easier, that’s a bonus!

How would you bring down the defects count in a project?


With Quality Assurance roles, you aren’t just looking for testers and test managers
that can do run of the mill jobs. You’re looking for talented people to transform
your ways of working and to infuse vigour and fervour into your team and your
deliveries.
Questions like this one are designed to bring out the talent in your prospective
Tester or Test Manager.
“Talent Is About Taking What You Do And Completely Transforming It, So In The Best
Case, You Don’t Actually Have To Do It Anymore But Still Derive The Expected Outcome.”
Talent should attempt to bring sweeping changes to the way you do things.
Sometimes such efforts can fail, but mostly however, they succeed. Personally, I
believe ‘world changing’ ideas are worth a shot over ‘incremental improvements’.
Don’t get me wrong, incremental improvements are the building blocks of Agile.
Yet, now and then, the world changing transformations are necessary to take us
into the future.
Think Apple’s iPhone with just one home button and multi touch in a world that
couldn’t think of a smartphone without a keyboard and couldn’t get past awkward
stylus-based touch screens.
Think Xiaomi in a world of Samsungs and Sonys that charged a bomb for quality and
the rest that churned out subpar phones in the name of ‘affordable’.
That is talent. Talent is about taking what you do and completely transforming it,
so in the best case, you don’t have to do it anymore but still derive the expected
outcome.
When you ask this Quality Assurance interview question, you’re testing your
potential candidates to see if they’re mere doers or innovators.

What is Agile, or What is Agile Testing?


Yes, this is a fundamental question. And yes, the answers are equally fundamental.
Yet, there is more to asking This question than there is to any other.
Why do you need to ask this question?
Especially when you’re recruiting for the more senior positions in your t eam, asking
this question can unseat the candidates a bit.
With experience, the average Agile Test Lead/Test Manager stops expecting such
questions during interviews. They prepare for questions around the more
complex Agile Testing topics – like exploratory tests, test-driven development, etc.
Probing your prospective candidates with this fundamental Quality Assurance
interview question will push the best among them to pause and think about their
response. More than getting an expected answer, thi s question is a good way to
push them out of their comfort zone.
With this open-ended question, you allow the candidate an opportunity to express
their Agile experience and thinking freely. In this way, this question also helps you
measure the them on their ability to articulate their thoughts clearly.

Does TDD guarantee a bug-free product?


With the advent of the more Agile concepts like Extreme Programming (XP), Paired
Programming and Test-Driven Development (TDD), we found ways to build software
better, faster and cheaper.
All these methodologies have simple goals – to speed up development, to discover
major bugs earlier, and build a lot more product and faster than is possible with
other methodologies. Extreme Programming, Paired Programming, Test -Driven
Development and the likes do not give you a release -ready product. Release-
worthy, yes, but Release-ready, No.
You need a level of (mostly Traditional ) testing to make a product release -ready. By
their very nature of focusing on the critical bugs, extreme Agile methodologies
won’t (and can’t) give you this assurance.

Explain how you decide on your Device Strategy?


For Digital-focused teams, device strat egy is paramount. A sound device strategy will help
you effectively manage product support.
• Does your app support Android Gingerbread? Really, you do?
• What about iOS 6?
• You should continue to provide support for Samsung Galaxy SII, right?

There’s much more to device strategy than some techie or tester arbitrarily
deciding to regularly cull older devices, operating systems from support.
Device Strategy is a business decision.
You must consider questions like:
• What percentage of your customers still use a p articular Android OS version?
• Are you going to try and support a small fraction of customers that choose to remain
tethered to an archaic browser, mobile OS, device?
• Or are you going to nudge them to upgrade to a better phone, tablet, OS, browser?

Do your regulators have a say in your device strategy?


There are still a lot of firms that provide employees laptops with Windows 7 and
Office 2010 or 2013. This is at times because their staff continue to use specific
software that won’t yet work with Window s 10. Or, their IT security haven’t yet
figured out how to fix all the vulnerabilities that a new OS version introduces to
their internal systems and servers.
Device Strategy is a complicated beast, and is a decision not made lightly or by one
individual. It’s a collective decision that has far reaching implications for your
customers, colleagues and regulators.
Device Strategy plays a central role in determining the direction your team,
project, product will take, and how this will impact customer experien ce and
bottom-line. And a response to this Quality Assurance interview question should
reflect that thinking.

How do Testers work with Scrum Teams?


The answer is: It depends.
It depends on how agile a team really is.
The easiest answer is that the testers within the Scrum team, and deliver to sprints.
This is true for well-run Agile initiatives. Embedding testers or testing roles within
the Scrum team helps drive development to primarily pass test cases.
“The Hallmark Of A Good Scrum Tester Is When They Help Reduce The Defects Count And
Percentage Of Defects Found Per Line Of Code Written.”
By nature of how Agile and Scrum work, a Scrum team is expected to possess all the
skills necessary to deliver an Agile project — including Testing. And, we all know
that anyone in the team can deliver any skill — when the team is truly Agile.
The hallmark of a good Scrum tester is when they help reduce the defects count
and percentage of defects found per line of code written.
How do they do this? By working with the r est of the team to deliver to
requirements. And what better way to do this than by working day -to-day as part of
the Scrum team!
On the other hand, the more experienced agile tester knows that at times,
traditional test cycles need to be run outside the Sc rum.

When Traditional test cycles are (unfortunately) necessary


If you work for a large multinational company that is overhauling its mobile app for
all its markets, they probably have a product team that is delivering some ‘core’
features for the app, to then be customised for individual markets before
deployment. The ‘core’ team’s focus will be on fixing major bugs that block
progress of product development; not make the product bug-free.
Depending on which version of the product is being deployed to eac h market, it is
quite possible that a release needs to be thoroughly tested prior to deployment to
ensure the code is Almost bug-free. This is when you will need traditional System
Integration Testing (SIT) and User Acceptance Testing (UAT) cycles to ‘clea n’ the
code to make it deployment-ready.
Unless somebody has worked Primarily in self-contained projects where there is no
dependency on teams external to the Scrum team, you should expect to hear about
dedicated traditional testing cycles. Such knowledge demonstrates valuable
experience in working on distributed Agile projects and working Agile alongside
Waterfall teams.
This Quality Assurance interview question is important because it helps you
measure the level at which a candidate opera tions, and the exposure they must
working in non-ideal Agile working environments.

What charts and graphs do you use to report Testing progress?


You expect a knowledgeable and considered response to this question.
The answer could, of course, be anything. Some candidates will have had exposure
to the Burnup Chart, and its many uses and advantages over the Burndown. They
could tell you about how they used Defect Trends to augment Testing Burndown
reports, to present a more holistic view.
By challenging them to go beyond the routine answer, you can push boundaries
with your candidate.
For instance, tell them you agree that the Burndown chart is a great reporting tool.
So, you’re taking it off the table as an answer. Ask them what better reporting
techniques exist.
For prospective Test Leads and Managers, this Quality Assurance interview
question and its answer is a great way to measure experience and maturity. Ask for
more detail on
projects they led and reporting techniques they used (and why).

What is difference between Retesting and Regression testing?


The difference between Retesting and Regression testing are as follows:

- Retesting is done to verify defects fixes where as regression is perfo rm to check if


the defect fix have not impacted other functionality that was working fine before
doing changes in the code.

- Retesting is planned testing based on the defect fixes listed where as regression is
not be always specific to any defect fix. Al so regression can be executed for some
modules or all modules.

- Retesting concern with executing those test cases that are failed earlier whereas
regression concern with executing test cases that was passed in earlier builds.

- Retesting has higher priority over regression, but in some case retesting and
regression testing are carried out in parallel.
What is severity and priority of bug? Give some example.
Priority: concern with application from the business point of view.

It answers: How quickly we need to fix the bug? Or How soon the bug should get
fixed?

Severity: concern with functionality of application. It deals with the impact of the
bug on the application.

How much the bug is affecting the functionality of the application?

High Priority and Low Severity:


Company logo is not properly displayed on their website.

High Priority and High Severity:


Suppose you are doing online shopping and filled payment information, but after
submitting the form, you get a message like "Order has been cancelled."

Low Priority and High Severity:


If we have a typical scenario in which the application get crashed, but that scenario
exists rarely.

Low Priority and Low Severity:


There is a mistake like "You have registered succ ess" instead of successfully,
success is written.

What are the common problems with software automation?


Software problem are listed below:

1. Purchasing the license of tool (QTP, selenium, QC, LR)


2. Lack of skilled Tester to run the tool
3. Expectation that automated tests will find a lot of new defects
4. Maintenance of automated tests
5. Technical problems of tools

What is the role of QA in a project development?


QA stands for QUALITY ASSURANCE. QA team assures the quality by monitor th e
whole development process. QA tracks the outcomes and adjusting process to meet
the expectation.

The role of Quality Assurance is discussed below:

- QA team is responsible for monitoring the process to be carried out for


development.
- Responsibilities of QA team are planning testing execution process.
- QA Lead creates the time tables and agrees on a Quality Assurance plan for the
product.
- QA team communicated QA process to the team members.
- QA team ensures traceability of test cases to requirement s.

What is data driven testing?


Data Driven is an automation testing part in which test input or output values,
these values are read from data files. It is performed when the values are changing
by the time. The different data files may include data poo ls, csv files, Excel files.
The data is then loaded into variables in recorded or manually coded scripts. For
data driven testing we use Parameterizing and Regular expression Technique.

Ex: To evaluate login functionality, we use different user name and p assword
combinations, variables are used to access different username and password. The
list of username and password are stored in a data table or excel sheet.

What is alpha and beta testing?


Alpha testing: is performed by the IN-House developers. After alpha testing the
software is handed over to software QA team, for additional testing in an
environment that is similar to the client environment.

Beta testing: It is performed by end user. So that they can make sure that the
product is bug free or working as per the requirement. IN -house developers and
software QA team perform alpha testing. The public, a few select prospective
customers or the general public performs beta testing.

What are test driver and test stub and why we need them?
- The Stub is called from the software component to be tested. It is used in top
down approach.
- The driver calls a component to be tested. It is used in bottom up approach.
- Both test stub and test driver are dummy software components.

We need test stub and test driver because of following reason:

- Suppose we want to test the interface between modules A and B and we have
developed only module A. So we cannot test module A but if a dummy module is
prepare, using that we can test modul e A.

- Now module B cannot send or receive data from module A directly so, in these
cases we have to transfer data from one module to another module by some
external features. This external feature used is called Driver.
What is Monkey testing?
Monkey testing is a type of Black Box Testing used mostly at the Unit Level. In this
tester enter the data in any format and check the software is not crashing. In this
testing we use Smart monkey and Dumb monkey.

- Smart monkeys are used for load and stress testi ng, they will help in finding the
bugs. They are very expensive to develop.

- Dumb monkey, are important for basic testing. They help in finding those bugs
which are having high severity. Dumb monkey are less expensive as compare to
Smart monkeys.

Example: In phone number filed Symbols are entered.

What is Traceability Matrix?


Traceability Matrix is a method used to validate the compliance of product with
requirements for that product. The requirement is written in a row of the matrix
and the columns of the matrix. Now they are used to identify how and where each
requirement has been addressed.

It is in the form of table that correlates two base lined documents that require a
many-to-many relationship. It is used with high level requirement and detailed
requirement of the software product to the matching parts of high level design,
detailed design, test plan, and test cases. The relationship to the source documents
is required for both backward traceability and forward traceability.
Explain paradigms for interfacing module.
The paradigms for interfacing modules:

- Procedure Call Interface: A procedure from one module calls to procedure of


another module. The caller can pass data to the called procedure while calling and
also the called procedure can pass data to the caller while returning control back
to the caller procedure.

- Shared Memory: When a block of memory is shared between two modules. The
memory block may be allocated by one of the two modules or third module of the
same application.

- Message Passing Interface: One module generates a message and sends the
message to another module. It helps in building up the communication between
different process or modules.

What are the factors responsible for the estimation of system integration test cycle and total integration
time?
The number of system integration test cycle and total integr ation time are
determined by the following parameters:
- Number of modules in the system.
- Relative complexity of the modules.
- Relative complexity of the interface between the modules.
- Number of modules needed to be clustered together in each test cy cle.
- Whether the modules to be integrated have been adequately tested before.
- Turnaround time for each test -debug-fix cycle.

What are the things the tests ensure?


Test must ensure that:

- The number of parameters sent in a message agrees with the number of


parameters expected to receive.
- The parameter order in the message match the order expected.
- The field sizes and data type match.
- When a message is generated from stored data prior to being sent, the message
truly reflects the stored data.
- When a received message is stored, data copying is consistent with the received
message.

What is random testing?


When test inputs are selected randomly from the input domain of the system, this
is Random Testing. Random testing involves following proced ure:

- The input domain is selected.


- Test inputs are selected independently from the domain.
-The system under test is executed on these inputs. The inputs constitute a random
test set.
- The results are compared to the system specification. The test is a failure if any
input leads to incorrect results, otherwise it is a success.

What is Gantt Chart?


A Gantt Chart is used to represent a project schedule that includes duration of
individual tasks or phases, their dependencies and ordering.

- It displays the start and end points of each task and the percentage of completion
of each task

- It allows the planner to assess the duration of a project, identify the resources
needed, and lay out the order in which tasks need to be performed.

- It is useful in managing the dependencies between tasks.

- Using Gantt chart each team member can vie w the product development
schedule.
How to find all the Bugs during first round of Testing?
There could be several reasons for not debugging the entire bug in the first round
of testing process. Debugging the showstopper in the first or second build is al most
impossible. A found defect can cover up the other defects in the application. The
thread which leads to on defect could be redirected to another defect, as the
tester find the bug and lock that bug in report and after fixing of those bugs new
bugs may also arises. It is difficult to keep testing on a known defective application.
That is the reason we cannot find all the bug in first run and also we cannot
perform Exhaustive testing.

How would you prepare the Test Plan without SRS?


We can prepare a test plan directly without having SRS, When the Requirements
and URD(User Requirement Document )are available to us. URD is very helpful to
determine the requirement of the user. The SRS document only contains the
requirement of the user, but tester can also determine the requirement form the
product. Without having SRS document we cannot estimate the Testing effort and
cost of testing if we do not have SRS. SRS tell us on which platform our software is
going to be used and on basis of this we perform the test on the application. Some
time end user want to know what type of testing we are going to execute on the
application for this we can send our test plan to the client.

What is the purpose of test strategy?


We need Test Strategy for the following reason:

1. To have a signed, sealed, and delivered document, where the document contains
details about the testing methodology, test plan, and test cases.
2. Test strategy document tells us how the software product will be tested.
3. Test strategy document helps to review the test plan with the project team
members.
4. It describes the roles, responsibilities and the resources required for the test
and schedule.
5. When we create a test strategy document, we have to put into writing any
testing issues requiring resolution.
6. The test strategy is decided first, before lower level decisions are made on the
test plan, test design, and other testing issues.

What are the dimensions of the Risks?


The dimensions of the risk are described below:

Schedule: Unrealistic schedules. to develop a huge software in a single day..

Client: Ambiguous requirements definition, requirement and not clear, changes in


the requirement etc.
Human Resources: Non-availability of sufficient resources with the skill level
expected in the project.

System Resources: Non-availability of procuring all critical computer resources


either hardware and software tools or licenses for software will have an adverse
impact.

Quality: Compound factors like lack of resources along with a tight delivery
schedule and frequent changes to requirements will have an impact on the quality
of the product tested.

How to Estimate Testing effort ?


Time Estimation method for Testing Process:

1. count number of use cases (NUC) of system

Set Avg. Time Test Cases(ATTC) as per test plan

2. Estimate total number of test cases (NTC)


Total number of test cases = Number of Use Cases X Avg. Test Cases per a use case

3. Set Avg. Execution Time (AET) per a test case

4. Calculate Total Execution Time (TET)


TET = Total number of test cases * AET

5. Calculate Test Case Creation Time (TCCT)


Usually we will take 1.5 times of TET as TCCT
TCCT = 1.5 * TET

6. Time for Re-Test Case Execution (RTCE) this is for retesting


Usually we take 0.5 times of TET
RTCE = 0.5 * TET

7. Set Report generation Time (RGT


Usually we take 0.2 times of TET
RGT = 0.2 * TET

8. Set Test Environment Setup Time (TEST)


It also depends on test plan

9. Total Estimation time = TET + TCCT+ RTCE + RGT + TEST + some buffer.
How to create requirements test matrix template?
For a requirements test matrix template we perform following step:

Step 1: Find out number of requirements.

Step 2: Find out number of test cases.

Step 3: Create a table based on these. Let we have 10 requirements and 40 test
cases, then we create a table of 11 rows and 41 columns.

Step 4: On the first column of table copy all your 10 requirement numbers, an d
paste them into rows 2 through 11 of the table.

Step 5: Now copy all 40 test case numbers, and paste them into columns 2 through
41 of the table.

Step 6: Examine each of your 40 test cases, determine which of the 10


requirements they satisfy.

You are a tester. Now How will you choose which defect to remove in 1000000 defects?
First thing testers are not responsible for fixing the bug they are only responsible
for debugging the bug and prioritizing those bugs. These bugs are now reported in
bug report template with the severity and priority of the bug. Tester assigns
severity level to the defects depending upon their impact on other parts of
application. Every bug has its severity and priority values assign by tester. If a
defect does not allow you to go ahead and test the product, it is critical one so it
has to be fixed as soon as possible. We have 5 levels as:

- Critical
- High
- Medium
- Low
- Cosmetic

How do you perform integration testing?


Integration testing is black box testing. Integration testing focuses on the
interfaces between units, to make sure the units work together. For integration
testing we ensure that all units testing of the each component is performed earlier.
Integration testing begins only after the unit testing. The purpose of integration
testing is to ensure different components of the application interact with each
other. So that, components work as per the customer requirements. Test cases are
developed with the purpose of exercising the interfaces between the components.
Integration testing is considered complete, when actual results and expected
results are same.
What is the testing lifecycle?
There is no standard testing life cycle, but it is consist of following pha ses:

- Test Planning (Test Strategy, Test Plan, Test Bed Creation)


- Test Development (Test Procedures, Test Scenarios, Test Cases)
- Test Execution
- Result Analysis (compare Expected to Actual results)
- Defect Tracking
- Reporting

What is good code?


A good code is code that works. The good code must not contain the defect or bug
and is readable by other developers and easily maintainable. Organizations have
coding standards all developers should follow, and also every programmer and
software engineer has different ideas about what is best and what are too many or
too few rules. We need to keep in mind that excessive use of rules can decrease
both productivity and creativity. Peer reviews and code analysis tools can be used
to check for problems and enforce standards.

What are the main attributes of test automation?


The main attributes are discussed below:

- Maintainability: For each new release need to update the test automation suites.
- Reliability: Accuracy and repeatability of the test automation.
- Flexibility: Ease of working with all the different kinds of automation test ware.
- Efficiency: Total cost related to the effort needed for the automation.
- Portability: Ability of the automated test to run on different environments.
- Robustness: Effectiveness of automation on an unstable or rapidly changing
system.
- Usability: Extent to which automation can be used by different types of user.

What could go wrong with test automation?


Followings things may be go wrong in test automation :

- Ignoring automation, while planning the development phases.


- In design Phase not choosing the right technology.
- In coding Phase not automating the right test cases.
- Tool selection might go wrong.
- Test script not be updated when application is c ontinuously changing.
- Test data should be unique, if the same data is available on the application then
the application will not accept the data that we are going to add via automation.
What tools are available to support testing during development of application?
Following tools can be used to support testing during development of application:

- Test management tools example: Quality Center, JIRA.


- Defect management tool example: Bugzilla, Test Director.
- Project management: Sharepoint.
- Automation tools: QTP, RFT, WinRunner.

What are the tests activities that you want to automate in a project?
The following testing activities can be automated:

- Functional tests: Identify some P1 and P2 cases which are most critical for project
success and operations and automate them. After every new build, these scripts
will assure the fixes does not broke any of the critical functionality.

- Regression test suites: Test the need to be run after each build.

- Performance tests: Identical test the n eed to be run on different browser.

- Stress tests

- Load tests

What is the difference in responsibilities of Programmers and QA analyst?


The differences in responsibilities are listed below:

- QA is concern for Process Quality and Programmers are conc ern for Product
Quality.

- QA ensure that the processes used for developing the product of high quality
where as programmers used these processes so that end product is of good quality.

- Processes are decided by QA. Programmers are supposed to follow the processes
so that they can produce a good quality product.

- Any issue found during execution of process by the programmers is communicated


to the QA so that they can improve the process.

What is the role of Bug Tracking System?


The Bug Tracking System role is discussed below:

- Testers and developers can know the status of the bug at every stage.
- Changes to the Status will be available to all team members.
- Developers and Testers can easily interact with bugs.
- Repetition of bugs will be avoided.
- Easy to distribute the bug among the developer.
- It will act as a centralized one for defects.

How do you prioritize testing tasks within a project?


Test Process are execute in step by step. We cannot skip a ny of the process
defined. Following is the Test Process which are in terms of their priority:

1. Preparation of Test Plan.


2. Preparation of Test Cases.
3. Execution of the Test Cases.
4. Defect report and tracking.
5. Test Report Summary.

Describe Bottom-Up and Top-Down approach in Testing.


Bottom Up Approach:

- The bottom up approach testing approach is carried out with the help of the test
driver. The test driver calls a component to be tested.

- The modules in the lower level of call hierarchy are tested independently. Then
the next level modules are tested that call previously tested modules. This is done
repeatedly until all the modules are included in the testing.

- Bottom up testing stops when the top module in the call hierarchy is tested with
all lower call hierarchy modules.

Top Down Approach:

- The top down approach is carried out with the help of the t est stub. Test stub are
the dummy programs. The Stub is called from the software component to be
tested.

- Tests top layer of controlling subsystem first. Then combine modules that are
called by the tested modules and test resulted collection of modules.

- Do this until all the modules are combined and tested.

What methodologies do you used to develop test cases?


For developing the test cases we use following strategies:

- Error Guessing: The tester has to guess what fault might occur and to design the
tests to represent them.
- Equivalence Class Partitioning: The input domain data is divided into different
equivalence data classes; take few valid values with 2 invalid values. This is used to
reduce the total number of test cases to a finite set of test able test cases.

- Boundary value analysis: Boundary value analysis testing technique is used to


identify errors at boundaries rather than finding those exist in center of input
domain. Boundary value analysis is a next part of Equivalence.

What is Exploratory Testing and Specification-Driven testing?


Exploratory testing: means testing an application without a test plan and test
script. In exploring testing test explore the application on the basis on his
knowledge. The tester has no knowledge about the application previously. He
explores the application like an end user and try to use it. While using the
application his main motive is to find the bugs which are in the application.

Specification-driven testing: means to test the functionality of soft ware according


to the user requirements. In this, tester inputs multiple data and monitors the
outputs from, the test object. In this testing tester evaluate the showstopper bugs
which break the major functionality of the application. This type of testing requires
test plan and test.

Explain CMM.
Capability Maturity Model (CMM) is divided in five levels:

1. Initial: The organization is characterized by an adhoc set of activities. The


processes aren't defined and success depends on individual effort and he roics.

2. Repeatable: In this level some processes are repeatable, possibly with consistent
results.

3. Defined: In this level, we define all processes are documented for both
management and engineering activities, and standards.

4. Managed: Detailed measures of each process are defined and product quality
data is routinely collected. Both process and products are quantitatively
understood and controlled.

5. Optimizing: In this we optimize the application by following improvement


process.

You might also like