Manual Testing Interview Questions
Manual Testing Interview Questions
7) What is a bug?
A computer bug is an error, flaw, mistake, failure, or fault in a computer program that
prevents it from working correctly or produces an incorrect result
12) If a bug has high severity then usually that is treated as high priority, then why do
priority given by test engineers/project managers and severity given by testers?
High severity bugs affect the end users. Testers tests an application with the users point of
view, hence it is given as high severity. High priority is given to the bugs which affects the
production. Project managers assign a high priority based on production point of view
13) What is the difference between functional testing and regression testing?
Functional testing is a testing process where we test the functionality/behavior of each
functional component of the application i.e. minimize button, transfer button, links etc. i.e. we
check what is each component doing in that application.
Regression testing is the testing the behavior of the application of the unchanged areas when
there is a change in the build. i.e. we check whether the changed requirement has altered the
behavior of the unchanged areas. The impacted area may be the whole of the application or
some part of the application.
20) Give me some example for high severity and low priority defect?
If suppose the title of the particular concern is not spelled correctly, it would give a negative
impact.eg ICICC is spelled as a title for the project of the concern ICICI. then it is a high
severity, low priority defect.
25) suppose the product/application has to deliver to client at 5.00PM,At that time you
or your team member caught a high severity defect at 3PM.(Remember defect is
high severity)But the client is cannot wait for long time. You should deliver the
product at 5.00Pm exactly. Then what is the procedure you follow?
The bug is high severity only so we send the application to the client and find out the severity
is priority or not, if its priority then we ask him to wait.
Here we found defects/bugs in the last minute of the delivery or release date
Then we have two options
1. Explain the situation to client and ask some more time to fix the bug.
2. If the client is not ready to give some time then analyze the impact of defect/bug and try to
find workarounds for the defect and mention these issues in the release notes as known
issues or known limitations or known bugs. Here the workaround means remedy process to
be followed to overcome the defect effect.
3. Normally this known issues or known limitations (defects) will be fixed in next version or
next release of the software
26) Give me examples for high priority and low severity defects?
Suppose in one banking application there is one module ATM Facility. In that ATM facility
whenever we are depositing/withdrawing money it is not showing any conformation message
but actually at the back end it is happening properly without any mistake means only missing
of message. In this case as it is happening properly so there is nothing wrong with the
application but as end user is not getting any conformation message so he/she will be
confuse for this. So we can consider this issue as HIGH Priority but LOW Severity defects.
29) If you have executed 100 test cases, every test case passed but apart from these
test cases you found some defect for which test case is not prepared, then how you
can report the bug?
While reporting this bug into bug tracking tool you will generate the test case I mean put the
steps to reproduce the bug.
30) What is the difference between web based application and client server application
The basic difference between web based application & client server application is that the web
application are 3 tiers & client based are 2 tiers. In web based changes are made at one place
& it is reflected on other layers also whereas client based separate changes need be installed
on client machine also.
31) What is test plan? and can you tell the test plan contents?
Test plan is a high level document which explains the test strategy, time lines and available
resources in detail. Typically a test plan contains:
-Objective
-Test strategy
-Resources
-Entry criteria
-Exit criteria
-Use cases/Test cases
-Tasks
-Features to be tested and not tested
-Risks/Assumptions.
32) How many test cases can you write per a day, an average figure?
Complex test cases 4-7 per day
Medium test cases 10-15 per day
Normal test cases 20-30 per day
33) How you can decide the numbers of test cases are enough for testing the given
module?
The developed test cases are covered all the functionality of the application we can say test
cases are enough. If u know the functionality covered or not u can use RTM.
34) Who will prepare FRS (functional requirement documents)? What is the important of
FRS?
The Business Analyst will pre pare the FRS.
Based on this we are going to prepare test cases. It contains
1. Overview of the project
2. Page elements of the Application (Filed Names)
3. Proto type of the of the application
4. Business rules and Error States
5. Data Flow diagrams
6. Use cases contains Actor and Actions and System Responses
35) What is the difference between Retesting and Data Driven Testing?
Retesting: It is manual process in which application will be tested with entire new set of data.
Data Driven Testing(DDT)-It is a Automated testing process in which application is tested
with multiple test data.DDT is very easy procedure than retesting because the tester should sit
and need to give different new inputs manually from front end and it is very tedious and
boring procedure.
39) What r the client side scripting languages and server side scripting languages
Client side scripting languages are JavaScript, VB Script, and PHP
Server side Scripting languages are Perl, JSP, ASP, PHP.etc
Client side scripting languages are useful to validate the inputs or user actions from user side
or client side.
Server side Scripting languages are to validate the inputs at server side.
These scripting languages provide security for the application. and also provides dynamic
nature to web or client server application
Client side scripting is good because it won't send the unwanted input's to server for
validation. From front-end itself it validated the user inputs and restricts the user activities
and guides him.
40) If a very low defect (user interface) is detected by u and the developer not
compromising with that defect what will u do?
User interface defect is a high visibility defect and easy to reproduce.
Follow the below procedure
1. Reproduce the defect
2. Capture the defect screen shots
3. Document the proper inputs that you are used to get the defect in the defect report
4. Send the defect report with screen shots and procedure for defect reproduction.
Before going to this you must check your computer hard ware configuration that is same as
developer system configuration and also check the system graphic drivers are properly
installed or not. If the problem in graphic drivers the User interface error will come, so first
check your side if it is correct from your side then report the defect by following the above
method.
41) If u r only person in the office and client asked u for some changes and u didn’t get
what the client asked for what will u do?
One thing here is very important. Nobody will ask test engineer to change software that is
not your duty, even if it is related to testing and anybody is not there try to listen car fully if
you are not understand ask him again and inform to the corresponding people immediately.
Here the client need speedy service, we (our company) should not get any blame from
customer side.
42) How many Test-Cases can be written for the calculator having 0-9 buttons, Add,
Equal to buttons. The test cases should be focused only on add-functionality but not
GUI. What are those test-cases?
Test-Cases for the calculator:
So here we have 12 buttons total i.e. 0,1,2,3,4,5,6,7,8,9,ADD,Equalto -12 buttons.
Here u can press at least 4 buttons at a time minimum for example 0+1= for zero u should
press 'zero' labeled button for plus u should press '+' labeled button for one u should press
'one' labeled button for equal to u should press 'equal to' labeled button 0+1=here + and =
positions will not vary so first number position can be varied from 0 to 9 i.e. From permutation
and combinations u can fill that space in 10 ways in the same way second number position
can be varied from 0 to 9 i.e. from permutation and combinations u can fill that space in 10
ways. Total number of possibilities are =10x10=100
This is exhaustive testing methodology and this is not possible in all cases.
In mathematics we have one policy that the function satisfies the starting and ending values
of a range then it can satisfy for entire range of values from starting to ending.
then we check the starting conditions i.e. one test case for '0+0=' (expected values you know
that is '0') then another test case for '9+9='(expected values you know that is '18') only two
test cases are enough to test the calculator functionality.
47) Apart from bug reporting what is ur involvement in project life cycle
As a Test engineer we design test cases, prepare test cases, Execute Test cases, track the
bugs, analyze the results, report the bugs, involved in regression testing, performance of
system, testing system integration, at last preparation of Test summary Report
48) Write high level test cases
Write all the test cases under high level TC, which can be covered the main functionalities like
creation, edition, deletion, etc. as per prescribed in the screen.
Write all the test cases under low level TC, which can be covered the screen, like input fields
are displayed as per the requirements, buttons are enabled or disabled, and test case for low
priority functionalities.
Example a screen contains two edit boxes login and password and a must buttons OK and
Reset and check box for the label "Remember my password". Now let us write high level TC
and low level test cases.
HIGH LEVEL TC
1. Verify that User is able to login with valid login and valid password.
2. Verify that User is not able to login with invalid login and valid password.
3. Verify that Reset button clears the filled screen.
4. Verify that a pop up message is displayed for blank login.etc...
LOW LEVEL TC
1. Verify that after launching the URL of the application below fields are displays in the screen.
a. Login Name b. Password c. OK BUTTON d. RESET button e. check box, provided for the
label "remember my password" is unchecked.
2. Verify that OK button should be disabled before selecting login and password fields.
3. Verify that OK button should ne enabled after selecting login and password.
4. Verify that User is able to check the check box, provided for the label "remember my
password ".etc..
In this way, we can categorize all the test cases under HIGH LEVEL and LOW LEVEL.
50) If a project is long term project, requirements are also changes then test plan will
change or not? why
Yes, definitely. If requirement changes, the design documents, specifications (for that
particular module which implements the requirements) will also change. Hence the test plan
would also need to be updated. This is because "Resource Allocation" is one section in the test
plan. We would need to write new test cases, review, and execute it. Hence resource
allocation would have to be done accordingly. As a result the Test plan would change
51) What is the Difference between Stub Testing and Driver Testing?
Stub testing:
In top down approach, a core module is developed. To test that core module, small dummy
modules r used. So stubs r small dummy modules that test the core module.
Driver testing:
In bottom up approach, small modules r developed. To test them a dummy core module called
driver is developed.
54) When will do the beta test? When will do the alpha test?
Alpha and Beta tests comes under User acceptance test. We will conduct these two, when
system being released. We are giving opportunity to customer to check all functionalities
covered or not. Alpha testing conducting for software application by real customer at
development site. Beta testing conducting for software product by model customer at
customer site
55) How do you select test cases for Regression Testing(The point is when there is
change code how do you come know which part of code or modules it will affect).
Consider an example of a form which has a username, password and Login button.
There is a code change and a new button "Reset" is introduced. Regression testing (for that
build) will include testing only the "Login" button and not the Reset button (testing Reset
button will be a part of conation testing). Hence the Regression tester need not worry about
the change in code functionality. But he has to make sure that the existing functionality is
working as desired. Testing of "Reset" button will be included as a part of Regression, for the
next build
56) Can anyone explain the example of high severity and low priority, low severity and
high priority, high severity and high priority, low severity and low priority
Severity: Severity determines the defect's effect on the application. Severity is given by
Testers
Priority: Determines the defect urgency of repair. Priority is given by Test lead or project
manager
1) High severity and high priority - Database connectivity cannot be established by multiple
users. & if u click on explorer icon or any other icon then system crash & In the above
example if there is a fault while calculating weekly report. This is a high severity and high
priority fault because this fault will block the functionality of the application immediately
within a week. It should be fixed urgently.
2) Low severity and low priority- Small issues like, incorrect number of decimal digits in the
output. & in login window, spell of ok button is "Ko". & there is a spelling mistake on the
pages which has very less hits throughout the month on any website. This fault can be
considered as low severity and low priority.
3) Low severity and high priority - Images not updated & in login window, there is an
restriction login name should be 8 character if user enter 9 or than 9 in that case system
get crash.& If there is a spelling mistake or content issue on the homepage of a website
which has daily hits of lakhs. In this case, though this fault is not affecting the website or
other functionalities but considering the status and popularity of the website in the
competitive market it is a high priority fault.
4) High severity and low priority- In a module of say 2 interfaces, the link between them is
broken or is not functioning & supposes logo of any brand company is not proper in their
product, so it affect their business. & For example an application which generates some
banking related reports weekly, monthly, quarterly & yearly by doing some calculations. If
there is a fault while calculating yearly report. This is a high severity fault but low priority
because this fault can be fixed in the next release as a change request.
58) In SDLC process what is the role of PM, TL, DEVELOPER, tester in each and every
phase? Please explain me in detail?
In the SDLC we have these phases
1. Initial phase
2. Analysis phase
3. Designing phase
4. Coding phase
5. Testing
6. Delivery and maintenance
In the initial phase project manager can prepare a document for the requirements, team
leader will prepare a team which is having test engineers, developer will provided by the
project manager, tester will prepare test cases for that particular project
Analysis phase all the members have a meeting to finalize the technology to develop that
project, the employee, time.
Designing phase the project manager like senior level management will give the directions
and source code to the team members to develop the actual code that is guidelines will be
given in this phase
Coding phase developer will develop the actual code using the source code and they release
the application to the tester
Testing phase they deploy their test cases to that application and prepare a bug profile
document if there is any defect/bug in that application and send it back to developer,
developer may rectify and releases that application as next build and if the bug not
understand it will send to the project lead in the delivery phase the Sr. test eng can deploy the
application in the client environment
Maintenance phase if the client get any problem with the application it may solved by the
project lead with the help of testers and developers
59) How do You Test Application without having any requirement and Document?
If it is an existing system or if a build is available then we explore the system while testing.
This helps knowing the functional use of the system, and its usability.
By asking questions to end users and how they use it will be more beneficial. Also, you may
work with BA to know more about the system.
Black box test is nothing but the same where you explore the system without having any prior
knowledge to the system.
62) When will u make update and modify the test object properties in the repository?
Whenever the developer may change any one of the object properties definitely we have to
change the same in the OR object repository. If new version net build released from the
development department we the test engineers must to modify or update the same is
compulsory, otherwise that test will show the bug
63) What are the documents needed to create a test case? How u tell it is test case?
System requirements specification, Use case document, Test Plan
64) At the time of testing web based applications and client server applications, what
you observed as a tester?
We generally check for the links, data retrieving and posting.
We perform load and stress testing especially for Web based and Client-Server applications.
67) Is it mandatory to use USECASES or directly one can write test cases from
requirements?
It’s not mandatory to write Use Cases, if the requirements are clear you can go ahead with
Test Cases. Use Cases are written to know the business flow of the module/application
69) How GUI testing will be done in manual testing for a website?
For any testing there should be some set of standards to be followed. Particularly in GUI
testing, look and feel should be good. We should follow the requirements specification
documents for GUI testing.
There should be some screen shots (given by client) which we should follow as it is.
And for button sizes, font, font size , colors used, placing of links, objects and the placing of
the objects in the page should be followed some standards. If we take a button in the page
that should be some standard size. If the size of that button is more or less the client feel bad
about that. So we should have minimum common sense while testing GUI testing. Some time
there may be some mistakes in the screen shots provided by the client also, but that is our
responsibility to raise those issues.
72) What is a broken link in web testing and how to test it.
When we clicked on Hyperlink if it opens Page can't be displayed then that Hyperlink is called
as Broken link
81) What if the application has functionality that wasn't in the requirements?
It may take serious effort to determine if an application has significant unexpected or hidden
functionality, and it would indicate deeper problems in the software development process. If
the functionality isn't necessary to the purpose of the application, it should be removed, as it
may have unknown impacts or dependencies that were not taken into account by the designer
or the customer. If not removed, design information will be needed to determine added testing
needs or regression testing needs. Management should be made aware of any significant
added risks as a result of the unexpected functionality. If the functionality only effects areas
such as minor improvements in the user interface, for example, it may not be a significant
risk.
82) How does a client/server environment affect testing?
Client/server applications can be quite complex due to the multiple dependencies among
clients, data communications, hardware, and servers. Thus testing requirements can be
extensive. When time is limited (as it usually is) the focus should be on integration and
system testing. Additionally, load/stress/performance testing may be useful in determining
client/server application limitations and capabilities. There are commercial tools to assist with
such testing. (See the 'Tools' section for web resources with listings that include these kinds of
test tools.)
83) When will the testing starts? a) Once the requirements are Complete b) In
requirement phase?
Once the requirements are complete. This is Static testing. Here, u r supposed to read the
documents (requirements) and it is quite a common issue in S/w industry that many
requirements contradict with other requirements. These are also can be reported as bugs.
However, they will be reviewed before reporting them as bugs (defects).
DRE=A/A+B = 0.8
A = Testing Team (Defects by testing team)
B = customer ( ” ” customer )
If dre <=0.8 then good product otherwise not.
88) What is “V-n-V” Model? Why is it called as “V”& why not “U”? Also tell at what
Stage Testing should be best to stared?
It is called V coz it looks like V. the detailed V model is shown below.
There is no such stage for which you wait to start testing.
Testing starts as soon as SRS document is ready. You can raise defects that are present in the
document. It’s called verification.
90) .What are you going to do if there is no Functional Spec or any documents related to
the system and developer who wrote the code does not work in the company
anymore, but you have system and need to test?
In this case fist you will need to do the exploratory testing of the product. In this testing you
will come to know the system and its basic workflow. In exploratory testing you can also find
some ‘blocker’ bugs that cause system to be crash. If you are a white box tester then next
step you can do is to see the different module code. By this you will know the test cases for
different modules and relation of modules.
Verification:
Verification ensures the product is designed to deliver all functionality to the
customer; it typically involves reviews and meetings to evaluate documents, plans,
code, requirements and specifications; this can be done with checklists, issues lists,
and walkthroughs and inspection meetings.
Validation:
Validation ensures that functionality, as defined in requirements, is the intended
behaviour of the product; validation typically involves actual testing and takes place
after verifications are completed
Important definitions
Black box testing – Internal system design is not considered in this type of testing. Tests
are based on requirements and functionality.
White box testing – This testing is based on knowledge of the internal logic of an
application’s code. Also known as Glass box Testing. Internal software and code working
should be known for this type of testing. Tests are based on coverage of code statements,
branches, paths, conditions.
Unit testing – Testing of individual software components or modules. Typically done by the
programmer and not by testers, as it requires detailed knowledge of the internal program
design and code. may require developing test driver modules or test harnesses.
Incremental integration testing – Bottom up approach for testing i.e continuous testing
of an application as new functionality is added; Application functionality and modules should
be independent enough to test separately. done by programmers or by testers.
Functional testing – This type of testing ignores the internal parts and focus on the output
is as per requirement or not. Black-box type testing geared to functional requirements of an
application.
System testing - Entire system is tested as per the requirements. Black-box type testing
that is based on overall requirements specifications, covers all combined parts of a system.
Regression testing - Testing the application as a whole for the modification in any module
or functionality. Difficult to cover all the system in regression testing so typically automation
tools are used for these testing types.
Acceptance testing -Normally this type of testing is done to verify if system meets the
customer specified requirements. User or customer do this testing to determine whether to
accept application.
Load testing – Its a performance testing to check system behavior under load. Testing an
application under heavy loads, such as testing of a web site under a range of loads to
determine at what point the system’s response time degrades or fails.
Stress testing – System is stressed beyond its specifications to check how and when it
fails. Performed under heavy load like putting large number beyond storage capacity,
complex database queries, continuous input to system or database load.
Performance testing - Term often used interchangeably with ’stress’ and ‘load’ testing. To
check whether system meets performance requirements. Used different performance and
load tools to do this.
Usability testing – User-friendliness check. Application flow is tested, Can new user
understand the application easily, Proper help documented whenever user stuck at any
point. Basically system navigation is checked in this testing.
Recovery testing - Testing how well a system recovers from crashes, hardware failures, or
other catastrophic problems.
Security testing – Can system be penetrated by any hacking way. Testing how well the
system protects against unauthorized internal or external access. Checked if system,
database is safe from external attacks.
Alpha testing – In house virtual user environment can be created for this type of testing.
Testing is done at the end of development. Still minor design changes may be made as a
result of such testing.
Beta testing – Testing typically done by end-users or others. Final testing before releasing
application for commercial purpose