Functional Testing Interview Questions
Functional Testing Interview Questions
How to handle a situation when you don’t have time for complete
testing?
When we do not have enough time to test, you might want to perform a Risk
Analysis and determine which modules/areas of your AUT are prone to the
highest risk and are critical to the success of the product and handle them first.
Going the exploratory route instead of documenting the test cases is another
way, but it is risky for sure.
➢ To continually write a whole new and different set of test cases to exercise
different parts of the software.
➢ To regularly review the existing test cases and add a new test case to them.
➢ Using these methods, it’s possible that we can find more defects in
the segment where defect numbers dropped.
What is the difference between Positive and
Negative Testing?
Positive Testing Negative Testing
Positive testing ensures that your application Negative testing determines that your
working as expected. If any error occurred during application can handle the invalid input or
positive testing, then the test fails unwanted user behavior
Phase 1 You’re developing the Register User Module for Login in phase
one, and while the Mobile number is required, you can leave it blank due
to a glitch and it will go undiscovered.
Now that the Register module has a defect in which the mobile number
can be left blank, this could result in a login failure or even a system
error or crash if the null mobile number is not handled properly.
Pesticide Paradox: - If the same tests are repeated over and over again,
eventually the same test cases will no longer find new bugs.
The successful completion of a full test cycle after the final bug fix marks the end
of the testing phase.
➢ Testing deadline
The end date of the validation stage also declares the closure of the validation if
no critical or high-priority defects remain in the system.
It is the amount of code concealed via automated tests. If the team achieves the
intended level of code coverage (CC) ratio, then it can choose to end the
validation.
2 Testing objectives
3 Test scope
5 Environment
8 Deliverables
9 Risk factors
What is meant by test coverage?
Many times, it is the developers who test individual units or modules to check if
they are working correctly.
Whereas, integration testing validates how well two or more units of software
interact with each other.
There are three ways to validate integration:
For example:
Let’s assume a scenario where we have to test the interface between Modules A
and B. We have developed only Module A. Here, we can test Module A if we have
the real Module B or a dummy module for it. In this case, we call Module B as
the test stub.
Now, Module B can’t send or receive data directly from Module A. In such a
scenario, we’ve to move data from one module to another using some external
features called test driver
➢ Screenshots
➢ A previous version of the application
➢ Wireframes
Another reliable way is to have discussions with the developer and the business
analyst. It helps in solving the doubts, and it opens a channel for bringing clarity
on the requirements. Also, the emails exchanged could be useful as a testing
reference.
Smoke testing is yet another option that would help verify the main functionality
of the application. It would reveal some very basic bugs in the application. If none
of this work, then we can just test the application from our previous experiences.
We perform retesting to verify the defect fixes. But, the Sanity testing assures that the
bug fix does not break other parts of the application.
Retesting has a higher priority over Sanity. But in some cases, both get executed in
parallel.
Non-functional testing: In software terms, when an application works as per the user’s
expectation, smoothly and efficiently under any condition, then it is stated as a reliable
application. Based on quality, it is very critical to test these parameters. This type of
testing is called non-functional testing.
What do you understand by STLC?
Software testing life cycle (STLC) proposes the test execution in a planned and
systematic manner. In the STLC model, many activities occur to improve the
quality of the product.
➢ Requirement Analysis
➢ Test Planning
➢ Test Case Development
➢ Environment Setup
➢ Test Execution
➢ Test Cycle Closure
Fault is a condition that makes the software fail to execute while performing the
considered function.
➢ Unit testing
➢ Integration testing
➢ Regression testing
➢ Smoke testing
➢ Functional testing
➢ Performance testing
• Load testing
• Stress testing
• Network, Security testing
➢ White-box and Black-box testing
➢ Alpha and Beta testing
➢ System testing
What will you do when a bug turns up during testing?
When a bug occurs, we can follow the below steps.
➢ We can run more tests to make sure that the problem has a clear description.
➢ We can also run a few more tests to ensure that the same problem doesn’t exist
with different inputs.
➢ Once we are certain of the full scope of the bug, we can add details and report it.
Priority: It specifies which bug should get fixed first. It defines the user’s point of
view.
For example, let’s say, the QA has detected 70 defects during the testing cycle and
the customer reported 20 more after the release. Then, DDP would be: 70/(70 +
20) = 72.1%
It gets measured as the ratio of defects fixed to total the number of issues
discovered.
For example, let’s say, there were 75 defects discovered during the test cycle while
62 of them got fixed by the development team at the time of measurement. The
DRE would be 62/75 = 82.6%
The day of birth of a defect is the day it got assigned and accepted by the development
team.
The end time is the day the defect got verified and closed, not just the day it got fixed by
the development team.
Quality Control (QC) is relevant to the quality of the product. QC not only finds the
defects but suggests improvements too. Thus, a process that is set by QA is
implemented by QC. QC is the responsibility of the testing team.
Software testing is the process of ensuring that the product which is developed
by developers meets the users’ requirements. The aim of performing testing is to
find bugs and make sure that they get fixed. Thus, it helps to maintain the quality
of the product to be delivered to the customer.
Tell me about some of the essential qualities an experienced QA or
Test Lead must possess.
A QA or Test Lead should have the following qualities:
Bug release: A bug release is when a particular version of the software is released
with a set of known bug(s). These bugs are usually of low severity/priority. It is
done when a software company can afford the existence of bugs in the released
software but not the time/cost for fixing it in that particular version.
Documenting the test cases will make it easier for developers to assess
the testing effort developer will need along with test coverage, tracking
and tracing requirement. Some commonly applied to investigate
procedures of the documentation associated with software testing are:
➢ Test Plan
➢ Test Scenario
➢ Test Case
➢ Traceability Matrix
When some small changes are made in some part of the system, a
regression test is used to ensure that the system’s functionality does not
break somewhere in the system. The regression test makes sure that the
changes do not change the performance and working of the system.
When the following events occur it is recommended to perform
regression testing:
Assume you order a book from Amazon. The moment you receive the parcel, the first
thing you do is to check that the parcel is addressed to you, and then make sure parcel is
intact and not torn.
Next, you open the parcel and see the book is what you ordered and also make sure it is
new, not old.
You flip through the pages to make sure everything is good. Right? Well, you just
completed your smoke testing on the parcel.
So the same lines when you have a software product or mobile app, you do a round of
basic checks to make sure that the software or app is ready for testing. This kind of
testing which is done to make sure that the build is stable enough to undergo regression and
functional testing is called Smoke Testing.