Académique Documents
Professionnel Documents
Culture Documents
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.
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.
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.
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 is also known as module and program testing. It finds the defects in
the module and verifies the functioning of software.
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.
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.
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
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 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.
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
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
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'.
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
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.
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
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.
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
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
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
42) What are controllers in Jmeter and explain some of the most common used controllers?
45) How to add additional elements in jmeter which are not inbuilt with the jmeter version?
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?
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
55) Explain Plugins you have used and how you have used them?