Interview Questions
Interview Questions
til
correction and retesting will be performed.
• Test Cycle Closure: - Testing team will meet, discuss and analyze testing artifacts to identify
strategies that have to be implemented in future, taking lessons from the current test cycle.
Pa
• Design.
• Implementation or coding.
• Testing.
• Deployment.
• Maintenance.
1.Unit Testing.
2.Integration Testing.
3.System Testing.
4.Regression testing.
5.User Acceptance Testing.
6.Pilot/Field Testing.
7.Installation or Production Testing.
til
Pa
g
Different types of tests (GUI testing, Functional testing, Regression testing, Smoke testing, load
testing, stress testing, security testing, stress testing, ad-hoc testing) are carried out to
complete system testing.
ra
• Web Application Testing.
Functionality: -Test all links, Test Forms, Test cookies, Test Business workflow.
Usability: - Test the site navigation: - Menu, Buttons, Links. Test the content.
Interface: - Application, Web server, Database Server.
Database: - Test if any error are shown while executing queries.
Compatibility: - Browser compatibility test, operating system, Hardware.
Performance: - Site work under all loads.
Security: - Test unauthorized access to secure pages should not be permitted.
Pa
• Types of Defects?
Functionality Error, Communication Error, Missing command Error, Calculation Error,
Component Error, Control Error, Logical Error, Program Error, Message Error, Runtime Error,
Typographical Error, Validation Error.
til
Pa
Example of smoke testing: -Verify that the application launches successfully, check that the GUI is
responsive ... etc.
Example of Sanity testing: - Is the surface level testing where QA engineer verifies that all the
menus, functions, commands available in the product and project are working fine.
• What is a Bug?
When actual result deviates from the expected result while testing a software application or product
then it results into a defect.
E.g.:- Application crash on clicking the SAVE button while creating a new user, hence unable to create
a new user in the application.
til
•
•
•
•
•
•
Tester finds the defect.
Status assigned to defect- New.
Pa
Defect is forwarded to Project Manager for analyze.
Project Manager decides whether defect is valid or not.
Here the defect is not valid- status given Rejected: - If the developer feels that the bug is not
genuine, he rejects the bug. Then the state of the bug is changed to “rejected”.
Manager verifies whether a similar defect was raised earlier. If yes defect is assigned a status
Duplicate:- If the bug is repeated twice or the two bugs mention the same concept of the bug,
g
then one bug status is changed to “duplicate“.
• Deferred: The bug, changed to deferred state means the bug is expected to be fixed in next
releases. The reasons for changing the bug to this state have many factors. Some of them are
priority of the bug may be low, lack of time for the release or the bug may not have major effect
on the software.
ra
• If no the defect is assigned to the developer who starts fixing the code. During this stage, the
defect is assigned a status in- progress. Once the code is fixed. Defect is assigned a status
fixed.
• Next the tester will re-test the code. In case, the test case passes the defect is closed. If the
test cases fails again, the defect is re-opened and assigned to the developer.
• Consider a situation where during the 1st release of Flight Reservation a defect was found in Fax
order that was fixed and assigned a status closed. During the second upgrade release the same
defect again re-surfaced. In such cases, a closed defect will be re-opened.
Pa
Retesting means testing the functionality or bug again to ensure the code is fixed. If it is not fixed,
defect needs to be re-opened.
Regression testing means testing your software application when it undergoes a code change to
ensure that the new code has not affected other parts of the software before its packet release.
Regression ensures the original fault has been removed; Regression testing looks for unexpected
side effects.
• In testing this is the main part, this matrix will help to crosscheck whether the test cases as
covered all the requirement specifications.
• The main purpose of Requirement Traceability Matrix is to see that all test cases are covered
so that no functionality should miss while testing.
• Requirement Traceability Matrix. Requirement Traceability Matrix or RTM captures all
requirements proposed by the client or development team and their traceability in a single
document delivered at the conclusion of the life-cycle. In other words, it is a document that
til
maps and traces user requirement with test cases.
• Traceability Matrix means it provide mapping between user requirements ansd the test cases.
Main Advantage is if we missed any test cases for the requirements at that time we can find
out easy for what test cases missed for the what functionality by preparing the tracebility
matrix.
Pa
• What is Bug Leakage?
A defect which exists during testing yet unfound by the tester which is eventually found by the
QA manager/end-user is also called bug leakage.
•
A testing phase where the tester tries to 'break' the system by randomly trying the system's
functionality is called Ad Hoc testing. This can include negative testing also.
• Ad-hoc testing can be achieved with the testing technique called Error Guessing.
• Commonly used in software development, ad hoc testing is performed without a plan of action
and any actions taken are not typically documented. Testers may not have detailed knowledge
of product requirements. Ad hoc testing is also referred to as random testing and monkey
g
testing.
• When to Execute Ad-hoc Testing:-Ad-hoc testing can be performed when there is limited
time to do exhaustive testing and usually performed after the formal test execution. Ad-hoc
testing will be effective only if the tester has in-depth understanding about the System under
Test.
ra
Types of ad-hoc testing:-
• Buddy Testing: - Two buddies mutually work on identifying defects in the same module.
• Pair testing: - Two testers are assigned modules, share ideas and work on the same
machines to find defects.
• Monkey Testing: - Monkey testing is a software testing technique in which the testing is
performed on the system under test randomly.
Pa
Functional testing: It is a mandatory testing level in system testing. During this test engineers are
concentrating on validation of customer requirements means functionalities meet in build or not. It
consists four subtests.
til
• What are the different Methodologies in Agile Development Model?
Pa
There are currently seven different agile methodologies that I am aware of:Extreme Programming
(XP).
• Scrum.
• Lean Software Development.
• Feature-Driven Development.
• Agile Unified Process.
• Crystal.
• Dynamic Systems Development Model (DSDM).
• Which are static and which are dynamic techniques?Equivalence Partitioning: - dynamic
• Use Case Testing: - dynamic
• Data Flow Analysis: - Data Flow Analysis
• Exploratory Testing: - dynamic
• Decision Testing: - dynamic
• Inspections: - Data Flow Analysis
g
• What is negative and positive testing?
Testing Technique used for Positive and Negative Testing:
• Boundary Value Analysis.
• Equivalence Partitioning.
ra
A negative test is when you put in an invalid input and receives errors. While a positive testing, is
when you put in a valid input and expect some action to be completed in accordance with the
specification.
• An input field takes the year of birth between 1900 and 2004 what are the
boundary values for testing this field?
1899,1900,2004,2005
Pa
• What is black box testing? What are the different black box testing techniques?
Black box testing is the software testing method which is used to test the software without knowing
the internal structure of code or program. This testing is usually done to check the functionality of an
application. The different black box testing techniques are
• Equivalence Partitioning.
• Boundary value analysis.
• Cause effect graphing.
• What is white box testing and list the types of white box testing?
White box testing technique involves selection of test cases based on an analysis of the internal
structure (Code coverage, branches coverage, paths coverage, condition coverage etc.) Of a
component or system. It is also known as Code-Based testing or Structural testing. Different types of
white box testing are:
• Statement Coverage.
• Decision Coverage.
til
instance, let say a bank application where you can withdraw maximum Rs.20, 000 and a minimum of
Rs.100, so in boundary value testing we test only the exact boundaries, rather than hitting in the
middle. That means we test above the maximum limit and below the minimum limit.
Pa
• What is Equivalence partitioning testing?
Equivalence partitioning testing is a software testing technique which divides the application input test
data into each partition at least once of equivalent data from which test cases can be derived. By this
testing method it reduces the time required for software testing.
QA team does verification and make sure that the With the involvement of testing team validation
software is as per the requirement in the SRS is executed on software code.
document.
It comes before validation It comes after verification
• What is the difference between UAT (User Acceptance Testing) and System testing?
System testing: - System testing is finding defects when the system under goes testing as a whole,
it is also known as end to end testing. In such type of testing, the application undergoes from
beginning till the end.
User Acceptance Testing: - User Acceptance Testing (UAT) involves running a product through a
series of specific tests which determines whether the product will meet the needs of its users.
• Explain what is testing type and what are the commonly used testing type?
• Unit Testing: Test the smallest code of an application.
• API Testing: Testing API created for the application.
• Integration Testing: Individual software modules are combined and tested.
• System Testing: Complete testing of system.
• Install/Uninstall Testing: Testing done from the point of client/customer view.
• Agile Testing: Testing through Agile technique.
til
• In manual testing what are stubs and
drivers? Why We Use Stubs And Drivers?
Stubs are dummy modules that are always distinguish as "called programs", or you can say that is
handle in top down integration testing , it used when sub programs are under construction.
Pa
Stubs are considered as the dummy modules that always simulate the low level modules.
Drivers are also considered as the form of dummy modules which are always distinguished as
"calling programs”, that is handled in bottom up integration testing, it is only used when main
programs are under construction.
Drivers are considered as the dummy modules that always simulate the high level modules.
• What is difference between Front End Testing and Back End testing?
• Front End Testing is performed on the Graphical User Interface (GUI).whereas Back
End Testing involves databases testing.
• Front end consist of web site look where user can interact whereas in case of back end it is
the database which is required to store the data.
• When ender user enters data in GUI of the front end application, then this entered data
is stored in the database. To save this data into the database we write SQL queries.
til
• Explain stress testing, load testing and volume testing?
• Stress Testing: When the load placed on the system is raised or accelerated beyond the
normal range then it is known as Stress Testing.
• Load Testing: Testing an application under heavy but expected load is known as Load
Pa
Testing. Here, the load refers to the large volume of users, messages, requests, data, etc.
• 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 the difference is between build and release in software testing?
• A “build” is a developed application for the customers that is given by development team to
the software testing team. A “release” is an official launch of the application for the
customers.
• Questions List :-
• Why we need to do software testing?
• What is sdlc? Is there any difference between sdlc and stlc?
• What is Test case? What are all components of the Test case?
g
• What about defect lifecycle?
• What is severity/priority?
• Example of severity 1 and low priority defect, sev3 and high priority defect?
• What all challenges faced during the testing of last project/application?
• Example of test scenarios for any real world product/application (Table/Wrist
ra
watch/Pencil)?
• Types of software testing?
• What is Test management tools? Examples?
• Difference between Retesting and Regression testing?
• How you prioritize your activities when you are near to project deadline?
• When you will stop the testing?
• What is load testing?
• What is stress testing?
Pa
• What is difference between mobile app testing and web application testing?
• How do u test a web application?
• Which method u use for testing? Agile?
• What is agile testing? What is scrum methodology?
• Difference between Re-testing and regression testing?
• Difference between smoke and sanity testing?
activity. It is designed to test the whole performance of the system at high load and stress condition.
Stress testing: It involves imposing the database with heavy loads. Such as, large numbers of users
access the data from the same table and that table contains large number of records.
• What are the typical problems in web testing?
- Functionality problems
- User Interface related problems
- Performance related problems
- Database related problems
- OS compatibility problems
- Browser compatibility problems
- Security related problems
til
- Load related problem
- Navigation problem
• Write the test scenarios for testing a web site?
First we have to assume that Graphical User Interface (GUI) objects and elements of a website
Pa
together is One Test Scenario. Then, we have to check all the links and buttons. Then we have to
check all forms are working properly or not. Prepare Test Scenarios of the forms of a webpage.
We can identify 4 different types of Test Scenarios of a form: -
til
• The differences between Static and Dynamic website are following:
Pa
- A static website contains Web pages with fixed content where as in Dynamic web site
content of the web page change with respect to time.
- Static website are easy to create and don't require any database design but in
case of dynamic website it require good knowledge to develop the website with
programming and database knowledge.
- In static website user cannot communicate with other and same information will be
displayed to each user where as in dynamic website user may communicate with each other.
til
• What is usability testing in web testing?
Usability testing perform with reference to the end user. In usability testing we find how easily
end user can access the application. In terms of websites and software applications, usability is
defined as the ease at which a person with no programming knowledge can use the software to
Pa
complete the desired task.
- Integration.
- Performance issues - How time it takes to display the page to the user.
- Load - How much load on application can handle at any point in time.
- Stress - At how much load application will crash.
- Flow of data - Information which is entered by user is stored in correct format.
- If proper static information is not displayed along with text fields to enter data.
- Links are broken, default focus is not set in forms, and tab key not working, all key
board short cuts are not fully functional.
• What is the difference between desktop application testing and web testing?
Desktop Testing - Desktop application testing is standalone testing it is independent of the other
til
application which are executing on the different machines. In this application testing, tester
need not worry about number of user.
Web testing - Web testing is related to client server. Web testing needs to have many testing’s like
Usability, GUI, Load Testing, Performance Testing.
• What is field validation in web testing?
Pa
Field validation is used to ensure that only correct data is entered into the field. We can select
validation options to make sure that only correct format data can be entered into a field correctly.
When validation options are selected, we can use the FileMaker Pro to displays a message when user
enter data in incorrectly format. For example, you can set an option to require that users enter a
value in a field. The field validations check the format of the data. To ensure this we perform the
validation testing in the website. Like the email field must contain the data in email@domain.com
format.
g
• What is focus testing in website?
Focus testing is used to test that when we open a webpage the cursor automatically blink on
the particular field. Like in the case of Gmail login page. When we open the Gmail login page the
cursor automatically blinks on the username filed. This is the Focus testing in website.
ra
during load test. It can be used for examine the performance of static and dynamic
website.
- Selenium (Web app testing tool): Selenium contains several application like Selenium
IDE, Selenium Remote Control and Selenium Grid to examine and evaluate the web
application.
related issues and browser related issues. To perform this testing we have so many tools like
JMeter, Selenium, and QTP etc.
til
redirection and responsiveness.
Also, we should not forget about JavaScript, CSS, Cookies, W3C standards, traffic monitoring,
third party tags testing, all of which are important in Web Application Testing.
• What are the HTTP response code blocks and what do they mean?
After a request is sent to a server, there are different possible response codes which can be returned
Pa
by the server:
The blocks are:
• 2xx for Success, the most common one is 200 which means “OK”.
• 3xx for Redirection, the most common ones are 301 and 303 which mean “Permanent
Redirect” and “Redirect for Undefined Reason”, respectively.
• 4xx for Application Error, the most common ones are 403 and 404 which mean “Forbidden”
and “Not Found”, respectively.
• 5xx for Server Error, the most common one is 500 which means “Server Error”.
• How would you Test a Service Oriented Architecture (SOA) Web Application?
The testing of web applications that communicate with a web service can be broken down in two
parts:
• Testing of the Web Service in isolation: Each web service has one or more functions which
g
can be tested by sending appropriate requests and analyzing the response and verifying
correct data is returned in the response. We can use tools such as SoapUI to test a Soap
Service or Rest Client to test a RESTful web service.
• Integration Testing of Web Service with the Front End: The integration testing is also
important as it can highlight issues with data in the request and display of the response.
ra
• Suppose you have a Login form which is connected to an Authentication Web
Service. What tests would you perform at which layer?
• All the input/output validation should be tested at the API layer calling the
Authentication Web Service. Tests such as valid/invalid username/password
combinations as well as verifying correct error messages.
• The location of the display of error messages, their color and font should be tested at
Pa
login web page. Also JavaScript and Cookies tests if applicable needs to be tested at front-
end login page.
• What is the difference between client-server testing and web based testing and what
are things that we need to test in such applications?
Projects are broadly divided into two types of:
• 2 tier applications
• 3 tier applications
CLIENT / SERVER TESTING: -
This type of testing usually done for 2 tier applications (usually developed for LAN).
Here we will be having front-end and backend.
The application launched on front-end will be having forms and reports which will be monitoring
and manipulating data.
E.g. applications developed in VB, VC++, Core Java, C, C++, D2K, PowerBuilder etc.,
The backend for these applications would be MS Access, SQL Server, Oracle, Sybase, MySQL,
Quad base.
The tests performed on these types of applications would be
–User interface testing.
–Manual support testing.
–Functionality testing.
–Compatibility testing & configuration testing.
–Intersystem testing.
WEB TESTING: -
This is done for 3 tier applications (developed for Internet / intranet / xtranet)
Here we will be having Browser, web server and DB server.
The applications accessible in browser would be developed in HTML, DHTML, XML, JavaScript
etc. (We can monitor through these applications).
Applications for the web server would be developed in Java, ASP, JSP, VBScript, JavaScript,
til
Perl, Cold Fusion, PHP etc. (All the manipulations are done on the web server with the help of
these programs developed).
The DBserver would be having oracle, sql server, sybase, mysql etc. (All data is stored in the database
available on the DB server)
The tests performed on these types of applications would be: -
–User interface testing.
Pa
–Functionality testing.
–Security testing.
–Browser compatibility testing.
–Load / stress testing.
–Interoperability testing/intersystem testing.
–Storage and data volume testing.
1.browser (monitors data) [monitoring is done using html, dhtml, xml, JavaScript].
2.webserver (manipulates data) [manipulations are done using programming languages or
scripts like adv java, asp, jsp, vbscript, JavaScript, Perl, ColdFusion, php].
3.database server (stores data) [data storage and retrieval is done using databases like
g
oracle, sql server, Sybase, MySQL].
til
2. Security Testing – includes authorization check for secure pages, verify access control
and user making direct entry to the internal page is redirect to the login page, check if the
session expires after it remains idle for a pre-defined time and testing virus attacks.
3. Database Testing – includes verifying data integrity on creating, updating or deleting
data in the database, obtain a correct result on executing heavy queries, retrieve data from
the database and represent on the web pages correctly.
Pa
4. Performance Testing – Check response times of application under different speeds
of connections, verify if site handles many simultaneous user requests at the same time,
check how the site handles large input data from users and check how the site pulls through
if a crash occurs due to peak load.
Next, there are some which ensure a good user-experience.
5. Usability Testing – includes navigation testing to verify that the Menus, Links or
buttons on web pages move to correct pages, content testing to identify all the spelling and
grammatical errors present on the page.
6. Compatibility Testing – includes verification of OS compatibility, browser
compatibility, and mobile browsing.
7. Interface Testing – verifies that communication towards all the three servers – Web,
Application, and Database Server is working fine. Check if any request interrupts in-between
then how the application is responding. Handle any error from web or database server to the
g
application server and display the correct error message to the user.
• LIST THE MAIN DIFFERENCES BETWEEN CLIENT-SERVER, THE WEB AND DESKTOP
APPLICATIONS.
ra
DESKTOP APPLICATION:
1.The application runs in single memory with Front-end and Back-end in one place.
2.It has a single user only.
CLIENT/SERVER APPLICATION:
1.The application runs on two or more machines.
2.It is menu-driven.
3.Works in connected mode ( that means connection exists until logout).
Pa
WEB APPLICATION:
1.The application runs on two or more machines.
2.It is URL-driven.
3.It uses a web browser as the client interface.
4.Works in disconnected mode (stateless).
5.It has an unlimited number of users.
6. It has many issues like hardware compatibility, browser compatibility,
version compatibility, security issues, and performance issues.
C- Database.
i. Testing the database integrity.
til
D- Cookies.
i. Testing will be done on the client system side, on the temporary Internet files.
2- PERFORMANCE VERIFICATION.
Performance testing can be applied to understand the web site’s scalability, or to benchmark
the performance in the environment of third party products such as servers and middleware
Pa
for potential purchase.
A- Connection Speed.
Testing done on various networks like Dial-up, ISDN.
B- Load.
i. A Huge number of users accessing the application at the same time.
ii.Check for peak loads and how the system behaves.
iii.A Large amount of data accessed by a user.
C- Stress.
i. Apply continuous load on the system.
ii.Verify the performance of memory, CPU, and file handling.
3- USABILITY.
g
The characteristics of a system are measured.
i. Ease of use.
ii.Navigation.
iii.Content completeness and correctness.
iv.General appearance.
ra
til
3. There are different ways of doing authentication like password-based and
device-based. However, authorization is of two types read-only and read-write both.
Pa
2.It’s not difficult to build a static website as you don’t require any database design. But developing a
dynamic website requires good programming resources and database knowledge.
3. A static website doesn’t support user communication as it displays same information to each
one of them. Whereas, in the case of dynamic websites, users may communicate with each other.
• LIST DOWN THE ACTIONS NECESSARY FOR SECURING A NEW WEB SERVER?
Ans. Following are some of the important steps that a tester should check for securing a web server.
1.Limit the user rights as per their roles.
ra
2.Update user permissions for resources required.
3.Clean default data and scripts stashed on the server.
4.Use a Software firewall on the server.
5.Enabling and making use of IIS logging.
6.Taking Regular backups.
Ans. Field validation is done to ensure that user enters only correct data into the fields present on
any web page. We can select a variety of validation option that depends on the type of data user may
enter into the field. We can also ask to display an error message if the user enters an incorrect value.
For example, you can set an option to make it mandatory for the user to enter a value in the field
else, an error message is displayed. It performs data validation like email field must contain the data
inemail@domain.com format.
• WHAT ARE DIFFERENT TOOLS THAT YOU USE FOR WEB TESTING?
Ans. Below is the list of most popular web testing tools available nowadays. And we are using them
frequently to run web tests.
1. JMeter (mainly load and performance testing tool) – It is a Java desktop application which is
useful to create the load test environment. It measures the performance of the application during the
load
test. And it is capable of testing the performance of both the static and dynamic website.
2. Selenium (Web app testing tool ) – It is a framework for automated testing of web
applications. It’s not just a single tool but a suite of software each catering to different testing needs.
Its components include Selenium IDE, Selenium Remote Control, Selenium Webdriver and Selenium
Grid to examine and evaluate the web application. Nowadays, Selenium RC and Webdriver have
merged into Selenium
• DO YOU KNOW ABOUT THE TOOLS USED FOR ANALYZING HTTP TRAFFIC?
Ans. Yes, we often need to track the HTTP requests that flows from the browser to the downstream
web server. Also, by probing the network traffic, we can get to the details of each request/response
and cross verify.
Next, many tools are available in the market for monitoring the Web traffic. I can name some of them
which are open source and frequently used.
1.Wireshark – It’s to check all data that passes through the network.
2.Fiddler – It is more useful for analyzing the HTTP/s only traffic.
til
3.Live HTTP Headers – It’s a Firefox add-on which is helpful for previewing the HTTP headers.
4.Firebug – It’s the most popular Firefox plugin which can monitor AJAX transactions. Though, it’s
essential feature is to fetch the Web element locators.
5. Browser Mob Proxy – It adds additional functionality into Selenium Webdriver for
running automated tests.
Pa
• WHAT ARE THE TESTS THAT YOU’LL RUN FOR TESTING A LOGIN FORM WHICH USES A
WEB SERVICE FOR AUTHENTICATION?
Ans. For testing such a user case, we need to verify both the Web service and the Login test form. So
we can design the test cases in the following manner.
WEB SERVICE TESTING.
1.First of all, we’ll cover the testing of Web service API for input/output validation.
2.We’ll execute cases including valid/invalid username/password combinations as well as verify the
correct error messages.
LOGIN UI TESTING.
1. Consequently, there will be tests for login web page to check the location of the display of
error messages, their color, and font.
2.Also, if the login page uses any Javascript or Cookies, then we’ll add cases to test the applicable
functionality.
g
• Describe yourself as QA Engineer?
I started out my career as a QA engineer in the year . Since then I have been working on a
variety of platforms and operating systems including Windows 7, Win 2K8, Win 2012 and different
flavors of Linux such as Ubuntu, RHEL, Suse etc. During my stint as a test engineer, I have conducted
ra
validation of different kind of applications such as Java, Visual basics, C, C++, .NET etc. I’ve hands-on
experience in testing client-server applications, web-based applications and many other programming
languages.
Being a QA engineer, I do have experience in preparing test plans, writing test Cases. I use to attend
several meetings with project managers, business analysts and sometimes with clients.
While thinking of different kinds of testing I have explored I should mention is Smoke Testing,
Integration Testing, Regression Testing, Black box or UAT Testing, I have given all of them a shot.
Pa
Writing a defect is also one of the important areas where I put special stress on. I would always
assess, reassess, and test them thoroughly before passing it on.
• How do you perceive a test plan? What does it usually consist of?
til
A test plan is a test life cycle document which analyses the resource, scope, approach and schedule of
several testing activities. It will help you to find items that need to be tested, its features that need
further testing, the risks that come with some and the solutions as well.
It consists of history, contents, introduction, scope, overview and approach. The risks and
assumptions are not left out either.
Pa
• Assume you have a test plan with over 1000 test cases. How do you make sure
what should be automated and what should still be done manually?
In this scenario, we will focus on test case priority and the feasibility of automation for the test case in
question.
5.1- Which scenarios are tedious and take a lot of time doing manually?
5.2- Which scenarios have been missed in the past?
5.3- Where did we see device differences due to fragmentation?
5.4- Which parts of our application are prone to regression?
5.5- Which test cases are complicated and would take a lot of time to establish an automated
test case for?
5.6- Which parts of the app will likely change over the next few weeks? (If certain parts of the app are
about to be changed, we recommend not to start with automated testing for these cases.)
5.7- Which test cases are best done manually as part of “explorative” testing and testing the user
g
experience?
• How do you determine which devices and OS versions we should test on?
Good candidates will point to app analytics as the best measure, looking for the most used devices for
their particular app. Another good answer would be to check the app reviews where people might have
ra
complained about specific issues happening on their devices.
• Define a Test Case and a Use Case? What do they consist of?
A test case is again a document which gives you a step by step detailed idea on how you can test an
application. It usually comprises of results (pass or fail), remarks, steps, outputs and description.
A use case on the other is a document of another kind. It helps you understand the actions of the user
and the response of the system found in a particular functionality. It comprises of the cover page,
revision, contents, exceptions, and pre-and post conditions.
Pa
Test strategy includes introduction, resource, scope and schedule for test activities, test tools, test
priorities, test planning and the types of test that has to be performed.
til
ADVANCE QA INTERVIEW QUESTIONS AND ANSWERS.
Pa
11.2- Preparation of Automation Test Plan.
11.3- Recording the scenario.
11.4- Error handler incorporation.
11.5- Script enhancement by inserting check points and looping constructs.
11.6- Debugging the script and fixing the issues.
11.7- Rerunning the script.
11.8- Reporting the result.
• What are test driver and test stub and why it is required?
12.1- A stub is called from the software component to be tested, it is used in top down approach.
12.2- 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
g
dummy module to test module X.
Now module B cannot receive or send data from module A directly, so in this case we have to transmit
data from one module to another module by some external features. This external feature is referred
as Driver.
ra
• List out the roles of software Quality Assurance engineer?
A software quality assurance engineer has to perform following tasks:
13.1- Writing source code.
13.2- Software design.
13.3- Control of source code.
13.4- Reviewing code.
13.5- Change management.
13.6- Configuration management.
Pa
• To what extent should developers do their own testing or do you believe testing is
the responsibility of the QA team?
The answer to this question is really depending on the business environment you are working in. in
today’s emerging test scenario it is also the developer’s responsibility to perform at least some of his
own code testing. Though it is not expected that he will have the capacity or that his focus should be
to run through large test plans or test on a large stack of devices. However, without the responsibility
to review and test his code, a sense of ownership will not develop.
We believe that results will improve more if all parties have access to test cases and are able to run
and access them regularly to verify if the latest changes brought any regression.
• What’s your experience using Continuous Integration as part of the development
process?
If this is applicable to your company, it is a great thing to hear that a candidate has worked with
Jenkins or Bamboo CI. If he has set up these systems and can give recommendations to you on what
worked and did not work in his previous jobs, the candidate has earned himself not only bonus points,
but a merit badge or two.
til
• Do you know about 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 missed by
the testing team to detect, while testing the software.
Pa
• Tell us about the best bug of your test career?
Well since there are so many quality bugs I’ve discovered in my testing career that I can’t really
remember the best one I found. What always surprises me is that you find so many different kinds of
bugs so quick. It showed me that having multiple competences on the team is a great assets while
testing. The latest bug hunt I did was conducted on a product application which was already on the
market for some time. Still we found 21 bugs in 7 minutes! And yes even a crash! That is what
amazes me.
• What is your view on acceptance testing, when it is done and who does it?
Acceptance Testing is a software testing checkpoint where a system is tested for acceptability. The
purpose of this test is to evaluate the system’s compliance with the business requirements and assess
whether it is acceptable for delivery. Formal testing with respect to user needs, requirements, and
g
business processes conducted to determine whether or not a system satisfies the acceptance criteria
and to enable the user, customers or other authorized entity to determine whether or not to accept
the system.
1-When is it performed?
Acceptance Testing is carried out after System Testing and before making the system available for
ra
actual use.
2-Who performs it?
Internal Acceptance Testing (Aka Alpha Testing) is done by members of the organization that has
produced the software but who are not directly involved in the project (Development or Testing).
Commonly, it is the members of Product Management, Pre-Sales and/or Tech Support.
External Acceptance Testing is performed by the product consumers who are not employees of the
organization that developed the software. They can be some technical people from the client-side or
Pa
• What is your experience in dealing with your team members, how do you plan it?
When you work for an organization be it medium or large, it is almost likely that you won’t be the only
one in the team. And there are times when you find it very difficult and frustrating while dealing with
the team members. There could be arguments, differences and misunderstandings and some will also
try to ignore the others. But my purpose always is to look beyond all of this. I perceive it like we are a
team and we should work together to reach a common goal. I’ve learnt to be friendly with my team
mates and some times invite them over for coffee. As a human, it is very important to share feelings
and have important discussions and that is exactly what I intend to do. This is something that not only
me but everyone else in a working environment should apply.
til
Ans# Risk analysis is the process of identifying the hidden issues that may derail the successful
delivery of the application. It also prioritizes the sequence of resolving the identified risks for testing
purpose.
Following are some of the risks that are of concern to the QA.
1.New Hardware.
Pa
2.New Technology.
3.New Automation Tool.
4.The sequence of code delivery.
5.Availability of test resources for the application.
We prioritize them into three categories which are as follows.
1.High magnitude: Impact of the bug on the other functionality of the application.
2.Medium: it is tolerable in the application but not desirable.
3.Low: it is tolerable. This type of risk has no impact on the company business.
105.WHAT IS THE DIFFERENCE BETWEEN MASTER TEST PLAN AND TEST PLAN?
ra
Ans# The difference between Master Plan and Test Plan can be described using following points.
1. Master Test Plan contains all the test scenarios and risks prone areas of the application.
Whereas, Test Plan document contains test cases corresponding to test scenarios.
2. Master Test Plan captures each and every test to be run during the overall development of
application whereas test plan describes the scope, approach, resources and schedule of performing the
test.
3. MTP includes test scenarios to be executed in all the phases of testing that run during the
complete life cycle of the application development. Whereas, a separate Test Plan exists for each
Pa
phase of testing like Unit, Functional, and System which contains the test cases related to that type
only.
4. Only for big projects, we need a Master Test Plan which requires execution in all phases of
testing. However, preparing a basic Test Plan is enough for small projects.
108.WHAT FACTORS MAKE YOU CHOOSE AUTOMATED TESTING OVER MANUAL TESTING?
Ans# The choice of automated testing over manual testing depends on the following factors.
1.The frequency of execution of a test case.
til
2.The test case contains repetitive test steps.
3. Time Comparison (time for preparing and running automated script for the first time is
much less than manual execution time).
4.Reusability of Automation Script.
5.No frequent change in the execution environment.
6.Availability of automated test reports for every execution.
Pa
7. Small releases like service packs which include a minor bug fix. In such cases, regression
type of cases is sufficient for validation.
109.HOW DO YOU DEFINE TEST DRIVER AND TEST STUB? EXPLAIN USING AN EXAMPLE.
Ans# The test driver is a piece of code that calls a software component under test. It is useful in
testing that follows the bottom-up approach.
Test stub is a dummy program that integrates with an application to complete its functionality. These
are relevant for testing that uses the top-down approach.
Let’s take an example.
1. Let’s say there is a scenario to test the interface between modules A and B. We have
developed only module-A. Then we can test module-A only if we have real module-B or a dummy
module for it. In this case, we call module-B as the Test Stub.
2.Now module-B can’t send or receive data directly from module-A. In such scenario, we’ve to move
g
data from one module to another using some external features called Test Driver.
• The bug needs to be communicated and assigned to developers that can fix
it. After the problem is resolved, fixes should be re-tested and determinations
made regarding requirements for regression testing to check that fixes didn’t
create problems elsewhere.
• What is Configuration management?
• Configuration management covers the processes used to control, coordinate
and track: code, requirements, designs, tools/compilers/libraries/patches,
changes made to them, and who makes the changes.
• 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.
• How can World Wide Web sites be tested?
• Web sites are essentially client/server applications – with web servers and
‘browser’ clients. Consideration should be given to the interaction between
html pages, TCP/IP communications, internet connections, firewalls,
til
applications that run-in web pages.
• What is Extreme Programming and what’s it got to do with testing?
• Extreme Programming(XP) is a software development approach for small
teams on risk-prone projects with unstable requirements.
• What is Verification?
• Verification typically involves reviews and meetings to evaluate documents,
plans, code, requirements, issues lists, walkthroughs and inspection meetings.
Pa
• What is Validation?
• Validation typically involves actual testing and takes place after verification is
completed.
• Which methodologies are used in your project?
• Agile development methodology.
g
ra
Pa