Vous êtes sur la page 1sur 23

Interview Questions and Answers

1 . Tell me About Yourself ?


2. what are the different phases of the performance testing lifecycle?
SDLC is the acronym of Software Development Life Cycle. It is also called as Software
development process. The software development life cycle (SDLC) is a framework defining
tasks performed at each step in the software development process.

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed by
the senior members of the team with inputs from the customer, the sales department, market
surveys and domain experts in the industry. This information is then used to plan the basic
project approach and to conduct product feasibility study in the economical, operational, and
technical areas. Planning for the quality assurance requirements and identification of the risks
associated with the project is also done in the planning stage. The outcome of the technical
feasibility study is to define the various technical approaches that can be followed to implement
the project successfully with minimum risks.
Stage 2: Defining Requirements
Once the requirement analysis is done the next step is to clearly define and document the product
requirements and get them approved from the customer or the market analysts. This is done
through .SRS. . Software Requirement Specification document which consists of all the product
requirements to be designed and developed during the project life cycle.

Stage 3: Designing the product architecture


SRS is the reference for product architects to come out with the best architecture for the product
to be developed. Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed and documented in a DDS - Design Document
Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as risk
assessment, product robustness, design modularity , budget and time constraints , the best design
approach is selected for the product.

A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if any).
The internal design of all the modules of the proposed architecture should be clearly defined with
the minutest of the details in DDS.

Stage 4: Building or Developing the Product


In this stage of SDLC the actual development starts and the product is built. The programming
code is generated as per DDS during this stage. If the design is performed in a detailed and
organized manner, code generation can be accomplished without much hassle. Developers have
to follow the coding guidelines defined by their organization and programming tools like
compilers, interpreters, debuggers etc. are used to generate the code. Different high level
programming languages such as C, C++, Pascal, Java, and PHP are used for coding. The
programming language is chosen with respect to the type of software being developed.

Stage 5: Testing the Product


This stage is usually a subset of all the stages as in the modern SDLC models, the testing
activities are mostly involved in all the stages of SDLC. However this stage refers to the testing
only stage of the product where products defects are reported, tracked, fixed and retested, until
the product reaches the quality standards defined in the SRS.

Stage 6: Deployment in the Market and Maintenance


3. what does performance testing mean to you?
Performance testing is the process of determining the speed or effectiveness of a computer,
network, software program or device. This process can involve quantitative tests done in a lab,
such as measuring the response time or the number of MIPS (millions of instructions per second)
at which a system functions. Qualitative attributes such as reliability, scalability and
interoperability may also be evaluated. Performance testing is often done in conjunction with
stress testing.
4. What is the difference between per performance testing and performance engineering?

Performance testing---- is a type of testing that simulates the realistic end user load and access
pattern in a controlled environment in order to identify the responsiveness, speed, and stability of
the system. It usually requires reporting of system performance metrics like transaction response
time, concurrent user loads supported, server throughput, etc., along with additional metrics
reporting the software and hardware layer-specific performance metrics like browser
performance, code performance, server resource utilizations, etc., that help in analyzing the
potential bottlenecks that affects the system performance and scalability.

So, yes, performance testers should know how to report the performance metrics of different
layers while conducting a performance test. In a 3-tier architecture, the performance of
individual tiers web server, application server, and DB server, client-side / browser
performance, network performance, server hardware performance, etc. needs to be measured
and reported. This cannot be considered an engineering activity. Deep dive analysis of why a
layer specific performance metrics doesnt meet the SLA can be considered as an engineering
activity.

definition for performance engineering --- it is a discipline that involves systematic practices,
techniques, and activities during each phase of software development lifecycle (SDLC) to meet
performance requirements. It strives to build performance standards by focusing on the
architecture, design, and implementation choices.

Hence, performance needs to be proactively thought throughout the software development


phases right from the requirements phase. In this proactive mode, a performance engineer is
involved right from the initial SDLC phase to ensure the system is built with performance
standards. There are several techniques available to validate performance at each SDLC stage
even when a testable system is not available.

In reactive mode, when a system is tested for its performance snf found to be not scalable, i.e
doesnt meet the non-functional requirements related to response time SLAs, user scalability
levels, etc., then a performance engineer usually tries to understand the metrics reported by the
performance tester and perform a deep dive analysis on the specific layer(s) which doesnt meet
the SLAs. In this case, depending upon the bottleneck reported, specific SMEs like DB architect,
WebSphere specialist, network engineer, etc., can be involved to analyze the performance issue
in detail to provide tuning recommendation.
5. Tell me about the types of tests you have worked on ?
6. Define baseline , load , stress , endurance , Capacity , Failover and component Testing?
Baseline Testing ---is one of the types of non-functional testing. It refers to the validation of
documents and specifications on which test cases would be designed. The requirement
specification validation is baseline testing.

Generally a baseline is defined as a line that forms the base for any construction or for
measurement, comparisons or calculations.

Baseline testing also helps a great deal in solving most of the problems that are
discovered. A majority of the issues are solved through baseline testing.

Load Testing: Load testing is performed to determine a systems behavior under both normal and
anticipated peak load conditions. It helps to identify the maximum operating capacity of an
application as well as any bottlenecks and determine which element is causing degradation.

Stress Testing: Stress testing is performed beyond normal usage patterns, in order to test the
systems response at unusually high or peak loads.
Scalability Testing: Scalability testing is conducted in conjunction with capacity planning,
which is used to plan for future growth, such as an increased user base or increased volume of
data. This testing helps to identify a scaling strategy in order to determine whether you should
scale up or scale out.
Endurance Testing: Endurance testing involves testing a system with a significant load
extended over a significant period of time, to discover how the system behaves under sustained
use.
Capacity Testing---Capacity testing is targeted at testing whether the application and
environment can handle the amount of traffic that it was designed to handle. It can be used
during the design phase to benchmark the numbers of users or transaction the system can handle
under a given set of circumstances. Capacity testing can also help with strategic planning, so
you can proactively increase infrastructure before limits are reached and the user experience is
impacted.

Component Testing---Component testing is a method where testing of each component in an


application is done separately. Suppose, in an application there are 5 components. Testing of
each 5 components separately and efficiently is called as component testing.

Component testing is also known as module and program testing. It finds the defects in
the module and verifies the functioning of software.

Component testing is done by the tester.


Component testing may be done in isolation from rest of the system depending on the
development life cycle model chosen for that particular application. In such case the
missing software is replaced by Stubs and Drivers and simulate the interface between
the software components in a simple manner.

Lets take an example to understand it in a better way. Suppose there is an application


consisting of three modules say, module A, module B and module C. The developer has
developed the module B and now wanted to test it. But in order to test the module B
completely few of its functionalities are dependent on module A and few on module C.
But the module A and module C has not been developed yet. In that case to test the
module B completely we can replace the module A and module C by stub and drivers as
required.

Stub: A stub is called from the software component to be tested. As shown in the
diagram below Stub is called by component A.

Driver: A driver calls the component to be tested. As shown in the diagram below
component B is called by the Driver.

Below is the diagram of the component testing:

As discussed in the previous article of the Unit testing it is done by the developers where they
do the testing of the individual functionality or procedure. After unit testing is executed,
component testing comes into the picture. Component testing is done by the testers.

Component testing plays a very important role in finding the bugs. Before we start with the
integration testing its always preferable to do the component testing in order to ensure that each
component of an application is working effectively.

Integration testing is followed by the component testing.

7. what are the 5 main things you gather during Requirement Gathering?
Business requirements are gathered in this phase. This phase is the main focus of the project
managers and stake holders. Meetings with managers, stake holders and users are held in order to
determine the requirements like; Who is going to use the system? How will they use the system?
What data should be input into the system? What data should be output by the system? These
are general questions that get answered during a requirements gathering phase.

After requirement gathering these requirements are analyzed for their validity and the possibility
of incorporating the requirements in the system to be development is also studied.Finally, a
Requirement Specification document is created which serves the purpose of guideline for the
next phase of the model. The testing team follows the Software Testing Life Cycle and starts
the Test Planning phase after the requirements analysis is completed.

8. What do you do when the project team doesnt give any information?
9. different parts in performance test plan? Components?
10. describe your day to day responsibilities in your current role?
11. Give an example of the application you worked on including goals , architecture ,
workloads. And different tests executed?
12. Example of entry criteria for Performance Test in Performance test plan

13. example of exit criteria for Performance Test in Performance Test Plan?
14. what is your approach to requirement gathering when the application is already in production
VS a brand new application with no history in production ?
15. Explain What is Jmeter?

The Apache JMeter application is open source software, a 100% pure Java application
designed to load test functional behavior and measure performance. It was originally designed
for testing Web Applications but has since expanded to other test functions. Apache JMeter may
be used to test performance both on static and dynamic resources, Web dynamic applications.
It can be used to simulate a heavy load on a server, group of servers, network or object to test its
strength or to analyze overall performance under different load types.

JMeter Features

Following are some of the features of JMeter

Being an open source software, it is freely available.

It has a simple and intuitive GUI.

JMeter can conduct load and performance test for many different server types Web -
HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail - POP3, etc.

It is a platform-independent tool. On Linux/Unix, JMeter can be invoked by clicking on


JMeter shell script. On Windows, it can be invoked by starting the jmeter.bat file.

It has full Swing and lightweight component support (precompiled JAR uses packages
javax.swing.* ).

JMeter store its test plans in XML format. This means you can generate a test plan using
a text editor.

Its full multi-threading framework allows concurrent sampling by many threads and
simultaneous sampling of different functions by separate thread groups.

It is highly extensible.
It can also be used to perform automated and functional testing of the applications.

16. explain how j meter works?

JMeter simulates a group of users sending requests to a target server, and returns statistics that
show the performance/functionality of the target server/application via tables, graphs, etc.

Take a look at the following figure that depicts how JMeter works

17. Explain what sampler is and what is thread group ?

Samplers in JMeter allows JMeter to send different types of requests to a server. Samplers are
the actual requests, JMeter sends to the web server under test.
Each sampler (except Test Action) generates one or more sample results. The sample results have
various attributes (success/fail, elapsed time, data size etc.) and can be viewed in the various
listeners. Some important Samplers available are as follows:
FTP Request
HTTP Request
Java Request
SMTP Sampler
BSF Sampler
JDBC Request
SOAP/XML RPC-Request

Thread groups ---Thread Group elements are the beginning points of your test plan. As the name
suggests, the thread group elements control the number of threads JMeter will use during the
test. We can also control the following via the Thread Group

Setting the number of threads

Setting the ramp-up time

Setting the number of test iterations

18. Mention What are Regular Expressions in Jmeter?

Regular expressions are used to search and manipulate text, based on patterns. JMeter interprets
forms of regular expressions or patterns being used throughout a JMeter test plan, by including
the pattern matching software Apache Jakarta ORO.With the use of regular expressions, we can
certainly save a lot of time and achieve greater flexibility as we create or enhance a Test Plan.
Regular expressions provide a simple method to get information from pages when it is
impossible or very hard to predict an outcome.To use regular expressions in your test plan, you
need to use the Regular Expression Extractor of JMeter. You can place regular expressions in
any component in a Test Plan..

19. What does contain and matches indicates in the regular Expression?

contains means that the regular expression matched at least some part of the target, so
'alphabet' "contains" 'ph.b.' because the regular expression matches the substring 'phabe'.

matches means that the regular expression matched the whole target. Hence the
'alphabet' is "matched" by 'al.*t'.

Suppose you want to match the following portion of a web-page

name="file" value="readme.txt"
And you want to extract readme.txt. A suitable regular expression would be

name="file" value="(.+?)">
The special characters above are

( and ) these enclose the portion of the match string to be returned

. match any character

+ one or more times

? stop when first match succeeds.

20. Whether the test plan Built with Jmeter is OS dependent?

Test plans are usually saved in thr XML format, hence they have nothing to do with any
particular OS. You can run those test plans on any OS where JMeter can run.

21. Mention what are the types of processor in Jmeter ?

The types of processor in JMeter are

Pre-processor
Post processor

22) Explain what are Pre-processor Elements? List some of the pre-processor elements?
A pre-processor is something that will happen before sampler executes. To configure the sample request
prior to its execution or to update variables that are not extracted from response text pre-processor
elements are used.
Some of the pre-processor elements are
HTTP URL re-writing modifier
HTTP user parameter modifier
HTML link parser
BeanShell PreProcessor

23) Explain what is Post-processor?


To perform any action after making a request, Post- processor is used. For example, if JMeter sends an
http request to the web server, and if you want JMeter to stop sending the request if the web server shows
an error, then you will use post-processor to perform this action.

24) Mention the execution order of Test Elements?


The test plans elements execution order is
Configuration elements
Pre-processors
Timers
Samplers
Post-processors
Assertions
Listeners

25) Explain what is a configuration element?


A configuration element works parallel with a Sampler. To set up defaults and variables for later use by
samplers configuration elements can be used. At the start of the scope, these elements are processed
before any samplers in the same scope.

26) Explain what is a timer in JMeter and what are the types of it?
A JMeter thread by default will send requests continuously without any pause. To get a pause between the
request, Timers are used. Some of the Timers used are Constant Timer, Gaussian Random Timer,
Synchronizing Timer, Uniform Random Timer and so on.

27) Explain how to control TPS in Jmeter?


TPS stands for Transaction per seconds it can be controlled by transaction controller

28) Explain what is Assertion in JMeter? What are the types of assertion?
Assertion helps to verify that your server under test returns the expected results
Some commonly used Assertion in JMeter are
Response Assertion
Duration Assertion
Size Assertion
XML Assertion
HTML Assertion

29) Explain how you can reduce the resource requirement in JMeter?
To reduce the resource requirements in JMeter
Use non-GUI mode: jmeter n t test.jmx l test.jtl
During the load, test doesnt use view results tree or view results in table listeners, use them only
during scripting phase
Dont use functional mode
Instead of using lots of similar samplers, use the same sampler in loop and use variable to vary the sample

30) List out few JMeter Listeners?


Some of the JMeter Listeners are
Spline Visualizer
Aggregate Report
View Result Tree
View Result in Table
Monitor Results
Distribution Graph
BeanShell Listener
Summary Report and so on

31) What is distributed load testing? How it can be achieved?


Distributed load testing is the process through which numerous systems can be used for simulating load
of a large number of users. By using the master-slave configuration, Jmeter can do distribute load testing.

32) How to capture a value and write to a file using jmeter?

33) What are the benefits that Jmeter offers for performance testing?
Jmeter offers benefits on performance testing like
It can be used to test performance for both, static resources as well as dynamic resources
It can handle a maximum number of concurrent users then your website can handle
It provides the graphical analyses of performance reports

34) Name some of the protocols supported by jmeter?


The protocols supported by JMeter are:
Web: HTTP, HTTPS sites 'web 1.0' web 2.0 (Ajax, flex and flex-ws-amf)
Web Services: SOAP / XML-RPC.
Database via JDBC drivers.
Directory: LDAP.
Messaging oriented service via JMS.
Service: POP3, IMAP, SMTP.
FTP Service.

35) What is seen on the screen when you open a jmeter?


Once you open a jmeter the two elements which you can see on the start screen are Test plan and work
bench

36) Explain the role of work bench?


The Workbench simply provides a place to store test elements temporarily. Workbench has no relation
with Test Plan. JMeter will not save the contents of the Workbench. It only saves the contents of the Test
Plan branch. "Workbench" will be used in our tutorial HTTP Proxy Server Recording Test.

37) What is User Defined Variables and how it can be used in jmeter?
For example, you have a number of HTTP Requests that have different parameters set but the same
URLs. But you know that in future you may want to edit URL. So, what you have to do in such case is to
edit EVERY URL. But if you have hundreds of them, it is not good idea.
In this case, User Defined Variables (UDV) will be a better solution. This functionality allows changing
parameters in multiple places of the Test-plan

38) Explain how you can perform spike testing in JMeter?


By synchronizing, timer Jmeter spike Testing can be achieved. Synchronizing timer, blocks thread until a
specific amount of threads has been blocked and then release them all together thus creating large
instantaneous load.

39) How can we run jmeter in GUI mode?


By clicking on jmeter.bat file (for windows) it will automatically take to the GUI mode.

40) What listeners show 90% line in jmeter?


Aggregate Results listener shows the 90% line in Jmeter.

41) What kind of report can we create from jmeter?


Log report
Csv report

42) What are controllers in Jmeter and explain some of the most common used controllers?

43) How to increase the heap in jmeter?

44) How to change the logging level in jmeter?

45) How to add additional elements in jmeter which are not inbuilt with the jmeter version?

46) What is toggle in jmeter and how it can be used?


If we select Toggle then it turn enabled to disable and disabled to enable
Can be used by selecting the element to be toggled and press ctrl T

47) What is clear button in Jmeter and how it can be used?


Clear button in jmeter is to clear the old test report in the listener just by clicking on clear button this can
be executed.

48) How to run distributed test using GUI in jmeter


Distributed Testing is a testing which uses multiple systems to perform stress testing. Distributed testing
is applied for testing web sites and server applications when they are working with multiple clients
simultaneously.
Distributes testing uses client-server model
Master: the system running JMeter GUI, control each slave.
Slave: the system running jmeter-server, receive command from the master and send a request to server
under test.
Target: the web server under test, get request from slaves.

49) Which element in jmeter would you use to send headers in request?

50) Which element in jmeter would you use to clear the cookies?

51) How to merge the two scripts in jmeter?


File-> merge, using merge menu we can combine two scripts.

52) What is master and slave configuration?


Master slave configuration is the distributed load test. Master will distribute the load test to the slaves.
Master the system running Jmeter GUI, which controls the test
Slave the system running jmeter-server, which takes commands from the GUI and send requests to the
target system(s)
Target the web server we plan to stress test

53) If I have to run 500 threads with 4 slaves and 1 master? How many on master and slave?
Master 100
Slave 1 100
Slave 2 100
Slave 3 100
Slave 4 100

54) How to configure JVM of jmeter

55) Explain Plugins you have used and how you have used them?

56) Explain custom code you have written using jmeter?

57) Different samplers you have used?


FTP Request
HTTP Request
Java Request
SMTP Sampler
JDBC Request
SOAP/XML RPC-Request

Vous aimerez peut-être aussi