Professional Documents
Culture Documents
AND ANSWERS
API Interview Questions And Answers:
Q1).What is Api?
Ans: An API (Application Programming Interface) is a collection of software functions and
procedures, called API calls, that can be executed by other software applications. Application
developers code that links to existing APIs to make use of their functionality. This link is seamless
and end-users of the application are generally unaware of using a separately developed API.
During testing, a test harness-an application that links the API and methodically exercises its
functionality-is constructed to simulate the use of the API by end-user applications. The interesting
problems for testers are:
1. Ensuring that the test harness varies parameters of the API calls in ways that verify functionality
and expose failures. This includes assigning common parameter values as well as exploring boundary
conditions.
2. Generating interesting parameter value combinations for calls with two or more parameters.
3. Determining the content under which an API call is made. This might include setting external
environment conditions (files, peripheral devices, and so forth) and also internal stored data that
affect the API.
4. Sequencing API calls to vary the order in which the functionality is exercised and to make the API
produce useful results from successive calls.
Q2). Explain what is REST and RESTFUL?
Ans: REST represents REpresentational State Transfer; it is relatively new aspect of writing web
api.
RESTFUL is referred for web services written by applying REST architectural concept are called
RESTful services, it focuses on system resources and how state of resource should be transported
over HTTP protocol to a different clients written in different language. In RESTFUL web service
http methods like GET, POST, PUT and DELETE can be used to perform CRUD operations.
Q3). Explain the architectural style for creating web api?
Ans: The architectural style for creating web api are
HTTP for client server communication
XML/JSON as formatting language
Simple URI as the address for the services
Stateless communication
Q4). Mention what tools are required to test your web api?
Ans: SOAPUI tool for SOAP WS and Firefox “poster” plugin for RESTFUL services.
Q5).Mention what are the HTTP methods supported by REST?
Ans: HTTP methods supported by REST are:
GET: It requests a resource at the request URL. It should not contain a request body as it
will be discarded. May be it can be cached locally or on the server.
POST: It submits information to the service for processing; it should typically return the
modified or new resource
PUT: At the request URL it update the resource
DELETE: At the request URL it removes the resource
OPTIONS: It indicates which techniques are supported
HEAD: About the request URL it returns meta information
Q6).Mention whether you can use GET request instead of PUT to create a resource?
Ans: No, you are not supposed to use POST or GET. GET operations should only have view rights.
Q7).Mention what are resources in a REST architecture?
Ans: Resources are identified by logical URLs; it is the key element of a RESTful design. Unlike,
SOAP web services in REST, you view the product data as a resource and this resource should
contain all the required information.
Q8).Mention what is the difference between AJAX and REST?
Ans:
AJAX REST
SOAP REST
· API is mostly black box testing · Unit testing is white box te
1. Does the service expose data or business logic? To expose data REST will be a better
choice and SOAP for logic. 2.If the consumer or the service providers require a formal
contract, then SOAP can provide such a contract via WSDL. 3. Need to support multiple data
formats. REST supports this. 4. Support for AJAX calls. REST can use the
XMLHttpRequest. 5. Synchronous and asynchronous calls – SOAP enables both
synchronous/asynchronous operations whereas REST has built-in support for
synchronous. 6. Stateless or Stateful calls -REST is suited for stateless operations.
Here are some of the advanced-level facts that you can consider as well.
AUTOMATION TESTING
INTERVIEW QUESTIONS AND
ANSWERS
Q1). What is Automation Testing?
Ans: Automation testing is a technique uses an application to implement entire life cycle of the
software in less time and provides efficiency and effectiveness to the testing software.
Automation testing is an Automatic technique where the tester writes scripts by own and uses
suitable software to test the software. It is basically an automation process of a manual process.
Like regression testing, Automation testing also used to test the application from load,
performance and stress point of view.
In other word, Automation testing uses automation tools to write and execute test cases, no
manual involvement is required while executing an automated test suite. Usually, testers write
test scripts and test cases using the automation tool and then group into test suites.
The main goal of Automation testing is to increase the test efficiency and develop software
value.
Q2). When will you automate a test?
Ans: Automation in preferred in following cases
Repetitive Tasks
Smoke and Sanity Tests
Test with multiple data set
Regression test cases
Usually the decision is based on the ROI (Return on Investment)
Q3). When you will not automate testing?
Ans: One should not automate in following cases
When the Application Under Test changes frequently
One time test cases
Adhoc – Random testing
Q4). What are the steps involved in the Automation Process ?
Ans: In the automation process, steps involved are
Selecting the Test tool
Define scope of automation
Planning, desing and development
Test execution
Maintenance
Q5).What are the points that are covered while planning phase of automation ?
Ans: During planning phase of automation things which has to be taken in concern are
Selection the “right” Automation tool
Selection Automation Framework if any
List of In scope and out of scope items for automation
Test Environment setup
Preparing Grant Chart of Project timelines for test script development & execution.
Identify Test Deliverables
Q6). In what condition we cannot use automation testing for Agile method?
Ans:
Automation testing is not useful for agile methods in following conditions
When Agile testing always ask for changes in requirements
When Exhaustive level of documentation is required in Agile
Only suitable for those regression tests during agile testing like continuos integration
Q7). What are the primary features of good automation tool ?
Ans:
Test Environment support and easy to use
Good debugging facility
Robust object identification
Object and Image testing abilities
Object identification
Testing of database
Support multiple frameworks
Q8). What are the types of framework used in software automation testing ?
Ans:
In software automation testing four types of framework used are
Data driven automation framework
Keyword driven automati4on framework
Modular automation framework
Hybrid automation framework
Q9). What are the scripting standard while performing automation testing?
Ans: While writing the scripts for automation you have to consider following things,
Uniform naming convention.
3 Lines of comments for every 10 lines of code
Adequate indentation.
Robust error handling and recovery scenario
Use of Frameworks wherever possible
Q10). What are the most popular tools for automation testing?
Ans: The most popular test tool for automation testing are
QTP (HP UFT)
Rational Robot
Selenium
Q11). On what basis you can map the success of automation testing?
Ans: On basis of following criteria the success of automation testing can be mapped
Defect Detection Ratio
Automation execution time and time savings to release the product
Reduction in Labour & other costs
Q12). Explain what is Sikuli?
Ans: Sikuli is a tool that uses “Visual Image Match” method to automate graphical user
interface. All the web elements in Sikuli should be taken as an image and stored inside the
project.
Sikuli is comprised of
Sikuli Script
Visual Scripting API for Jython
Sikuli IDE
Practical uses of Sikuli is that
Sikuli Selenium
· It can automate web as well as windows application · It can automate
14.. Which command do you use to exit help window or help command prompt?
quitWhen you type quit at the help’s command prompt, python shell prompt will appear by
closing the help window automatically
15. Does the functions help() and dir() list the names of all the built_in functions and variables?
If no, how would you list them?
No. Built-in functions such as max(), min(), filter(), map(), etc is not apparent immediately as
they are
available as part of standard module.To view them, we can pass the module ” builtins ” as
an argument to “dir()”. It will display the
built-in functions, exceptions, and other objects as a list.>>>dir(__builtins )
[‘ArithmeticError’, ‘AssertionError’, ‘AttributeError’, ……… ]
16. Explain how Python does Compile-time and Run-time code checking?
Python performs some amount of compile-time checking, but most of the checks such as
type, name, etc are postponed until code execution. Consequently, if the Python code
references a user -defined function that does not exist, the code will compile successfully. In
fact, the code will fail with an exception only when the code execution path references the
function which does not exists.
18.Define “slicing”.
“Slicing” is a mechanism to select a range of items from sequence types like list, tuple,
strings etc.
20.Define “docstring”.
“Docstring” is a Python documentation string. It is the means to document Python
“functions”, “modules” and “classes”.
27.What is PEP 8?
PEP 8 is a coding convention, a set of recommendation, about how to write your Python
code more readable.
Q1. What
is Agile Testing?
Agile Testing is a practice that a QA follows in a dynamic environment where testing
requirements keep changing according to the customer needs. It is done parallel to the
development activity where testing team receives frequent small codes from the
development team for testing.
Q2. What is re-factoring?
Modification of the code without changing its functionality to improve the performance is
called re-factoring.
Q3. Explain Velocity in Agile?
Velocity is a metric that is calculated by addition of all efforts estimates associated with user
stories completed in a iteration. It predicts how much work Agile can complete in a sprint
and how much time will require to complete a project.
Q4. What is a test stub?
A small code which mimics a specific component in the system and can replace it. Its output
is same as the component it replaces.
Q5. What is Test Driven Development (TDD)?
It is Test-first development technique in which we add a test first before we write a complete
production code. Next we run the test and based on the result refactor the code to fulfill the
test requirement.
Q6. What is Agile manifesto?
Agile manifesto defines an iterative and people-centric approach to software
development. It has basically 4 key values and 12 principals.
Q7. What is the difference between burn-up and burn-down chart?
Burn-up and burn-down charts are used to keep track the progress of the project.
Burn-up charts represent how much work has been completed in any project whereas Burn-
down chart represents the remaining work in a project.
Q8. What qualities should a good Agile tester have?
1. Agile tester should be able to understand the requirements quickly.
2. Agile tester should know Agile concepts and principals.
3. As requirements keep changing, he should understand the risk involve in it.
4. Agile tester should be able to prioritize the work based on the requirements.
5. Communication is must for a Agile tester as it requires a lot of communication with
developers and business associates.
Q9. What is a Task board in Agile?
Task board is dash board which shows progress of the project. It contains:
1. User Story: which has the actual business requirement.
2. To Do: Tasks that can be worked on.
3. In Progress: Tasks in progress.
4. To Verify: Tasks pending for verification or testing
5. Done: Completed tasks.
Q10. Define the roles in Scrum?
There are mainly three roles that a Scrum team have:
1. Project Owner – who has the responsibility of managing product backlog. Works with
end users and customers and provide proper requirement to the team to build the proper
product.
2. Scrum Master – who works with scrum team to make sure each sprint gets complete on
time. Scrum master ensure proper work flow to the team.
3. Scrum Team – Each member in the team should be self-organized, dedicated and
responsible for high quality of the work.
Q11. What is Product backlog & Sprint Backlog?
Product backlog is maintained by the project owner which contains every feature and
requirement of the product.
Sprint backlog can be treated as subset of product backlog which contains features and
requirements related to that particular sprint only.
Q12. Explain the difference between traditional Waterfall model and Agile testing?
Agile testing is done parallel to the development activity whereas in traditional waterfall
model testing is done at the end of the development.
As done in parallel, agile testing is done on small features whereas in waterfall model
testing is done on whole application.
Q13. What is Zero sprint in Agile?
It can be defined as pre step to the first sprint. Activities like setting development
environment, preparing backlog etc needs to be done before starting of the first sprint and
can be treated as Sprint zero.
Q14. What is Spike?
There may be some technical issues or design problem in the project which needs to be
resolved first. To provide the solution of these problem “Spikes” are created. Spikes are of
two types- Functional and Technical.
Q15. Explain Pair Programming and its benefits?
Pair programming is a technique in which two programmer works as team in which one
programmer writes code and other one reviews that code. They both can switch their roles.
Benefits:
1. Improved code quality: As second partner reviews the code simultaneously, it reduces the
chances of mistake.
2. Knowledge transfer is easy: One experience partner can teach other partner about the
techniques and codes.
Q16. Explain the Iterative and Incremental Development in Agile?
Iterative Development: Software is developed and delivered to customer and based on the
feedback again developed in cycles or release and sprints. Say in Release 1 software is
developed in 5 sprints and delivered to customer. Now customer wants some changes, then
development team plan for 2nd release which can be completed in some sprints and so on.
Incremental Development:Software is development in parts or increments. In each
increment a portion of the complete requirement is delivered.
Q17. How do you deal when requirements change frequently?
This question is to test the analytical capability of the candidate. Answer can be-
Work with PO to understand the exact requirement to update test cases. Also understand
the risk in changing the requirement. Apart from this one should be able to write generic test
plan and test cases. Don’t go for the automation until requirements are finalized.
RUP SCRUM
– Formal Cycle is defined across four phases, but some workflows can be
concurrent – Each sprint is a comple
– Scope is predefined ahead of the project start and documented in the scope – It uses a project backlo
document. During the project, scope can be revised.
– Recommended for long term, large, enterprise level projects with medium to – Recommended for quic
high complexity dependent on a deadline
Q29. As a tester what should be your approach when requirements change continuously?
When requirement keeps changing, continuously agile tester should take following
approach
Write generic test plans and test cases, which focuses on the intent of the requirement
rather than its exact details
To understand the scope of change, work closely with the product owners or business
analyst
Make sure team understand the risks involved in changing requirements especially at the
end of the sprint
Until the feature is stable, and the requirements are finalized, it is best to wait if you are
going to automate the feature
Changes can be kept to a minimum by negotiating or implement the changes in the next
sprint
Q30. Explain the difference between Extreme programming and Scrum?
– Scrum teams usually have to work in iterations called sprints which usually
last up to two weeks to one month long – XP team works in itera
– Scrum teams do not allow change into their sprints – XP teams are more flex
– In scrum, the product owner prioritizes the product backlog but the team – XP team work in strict
decides the sequence in which they will develop the backlog items customer
– Scrum does not prescribe any engineering practices – XP does prescribe engi