SlideShare a Scribd company logo
Testing and Rolling Out
Enterprise Applications
 Each enterprise application undergoes various types
of testing to ensure that it demonstrates the desired
functionalities and quality attributes.
 Based on ‘What’ needs to be tested, testing can be
divided into two categories:
• Functional Testing: Testing the functionalities as per
the stated requirements is termed as functional
testing.
• Non-Functional testing: Non-Functional testing caters
to testing all the other things except functionalities to
ensure that the quality attributes are as per the
requirements.
Testing and its Types
Based on ‘How’ to test, the method of testing can be
divided into three categories:
 White Box Testing: This method of testing tests the
internal structure of the application in detail. This
method typically checks for the flow of data, control
and branching sequences
 Black Box Testing: This method of testing tests the
software without need for understanding the internal
structure and focuses on testing the application from
an external perspective.
 Gray Box testing is a hybrid form of white box and
black box testing methods
Methods of Testing
Testing Levels
Production Testing
Acceptance Testing
System Testing
Integration Testing
Unit Testing
Testing levels of enterprise applications
Contd….
 Unit testing is performed to ensure that a standalone
function/code/module/class works as per the
specifications.
 Integration testing is to ensure that the software
code/modules/functions/classes are grouped
together consistently.
 System testing is the testing in which system is also
investigated holistically from the perspective of
functional as well as non functional requirements.
Testing Levels (Contd…)
Contd….
 Acceptance Testing is done towards the end of testing
phase, just before the roll out of the enterprise
application, by the end users and primarily includes
the test cases based on a selective subset of end user
requirements.
 Production Testing is basically a pilot release of the
enterprise application in the production environment.
Testing Levels (Contd…)
Testing Approach
Test Strategy
Test Analysis
Test Execution
Test Planning
Enterprise Application Testing Approach Contd….
 Test strategy
• This refers to the overall approach to test the
enterprise application. It takes into account the
environment, the types of testing to be done,
the testing team, the effort, the cost and the timeline
of testing, defect tracking, tools to be used, test
planning and when to end the testing. The output of
this phase is a Test Strategy document.
 Test planning
• Test planning is used to plan the execution of tests as
decided in the test strategy.
 Test execution
• Development team may be responsible for executing
the unit testing and integration testing.
Testing Approach (Contd…)
Contd….
• Each of the test cases is then executed and the results
are logged.
• Test execution is done for both functional and non-
functional testing. Testing is considered complete
when the quality goals set in the test strategy are met.
 Test analysis
• The defects captured are analyzed for complexity, type,
severity, impact and many other things.
Testing Approach (Contd…)
Enterprise Application Environments
Production Testing
Acceptance Testing
System Testing
Integration Testing
Unit Testing Development
Test
Quality
Assurance
Staging
Production
Testing Levels Environments
Enterprise application environments and testing levels
Purpose of Enterprise Application
Environments
Application
Environments
Purpose
Development Development environment is a high access, low budget and low
security environment used mainly by the developers for construction
activities including unit testing.
Test This environment is used by the developers to perform integration
activities and to do integration testing. Test environment will typically
have moderate access control and moderate security.
Quality Assurance QA environment having high access controls is typically used for
Quality Assurance activities by an external Quality Assurance team.
Most of the non functional requirements are tested in this environment.
Staging Staging environment mimics production environment in all aspects,
possibly except for capacity and security. This environment may be
used for training end users. This ensures all physical configurations are
tested and ready for service.
Production Production environment is the environment where the final enterprise
application eventually resides. This environment has high security and
high access control. The capacity of this environment is designed to
cater to real life requirements. This also has to ensure high availability.
Integration Testing
 The software units/components are integrated into
assemblages after unit testing.
 The interfaces among these underlying
units/components are tested to ensure the working of
these units, when combined together, and is referred
to as integration testing.
 Integration testing teams can use Software
Construction Maps, along with other UML diagrams
such as sequence diagram, to understand the big
picture of these units/components.
 Integration testing is an example of gray box testing.
System Testing
 System testing is testing the enterprise application
and its interfaces as a whole.
 It is a black box testing where a completely integrated
enterprise application is tested for the specified
functional and non-functional requirements.
 A few of the non functional testing types which are
carried out in the system testing phase of enterprise
applications:
• Performance Testing
• Penetration Testing
• Usability Testing
• Globalization testing
• Interface Testing
Performance Testing
 Performance testing is one of the most important
aspects of system testing carried out from the
perspective of validating the responsiveness of the
system under a given workload profile, scalability to
handle growth in number of users and data volume
and stability without incurring visible performance
degradation.
 Typically performance testing comprises of activities
such as load testing, volume testing, stress testing and
endurance testing.
Contd….
Performance Testing (Contd…)
• Load Testing is where the enterprise application is
subjected to a variety of loads, mainly in terms of the
number of users accessing it, to baseline the
performance of the enterprise application.
• Volume Testing is somewhat similar to load testing
carried out by varying the volume of data processed by
the system.
• Stress Testing is done to ensure that the enterprise
application can handle the spikes in load due to
unusual circumstances like a sudden surge in user hits.
• Endurance Testing is performed primarily to identify
problems related to memory leaks by putting the
enterprise application through sustained load
conditions.
Performance Engineering Life Cycle
Performance NFR
Elicitation and Validation
Performance test
Strategy and Planning
Design considerations
for Performance and
Infrastructure Sizing
Performance testing
and Capacity Planning
Workload forecasting
and Capacity &
Infrastructure roadmap
Performance engineering life cycle
Performance Improvement
Corrective action plans are laid out after performance
testing to optimize the performance which typically
involves the following activities:
 Application code analysis: Run-time behavior of
application code is analyzed to investigate the
performance bottleneck.
 Database Optimization: Database schema and stored
procedures are also profiled to determine recursive
calls, physical reads, number of deadlocks, wait
events etc. to point out the performance bottleneck.
 Infrastructure resources and capacity optimization:
Network latency rate, collision rate,
incoming/outgoing packet rate etc. are the
performance parameters to watch for a network.
Penetration Testing
 Penetration testing is the black box testing of an
enterprise application from the security perspective.
 This is one of the most important types of testing in
B2C applications and community sites involving large
number of users.
 Penetration testing is a part of the overall application
security engineering life cycle.
Security Engineering Life Cycle
Security NFR
Elicitation and
Validation
Security test Strategy
and Planning &
Threat Modeling
Design
considerations for
security
Security code review
- Static code analysis
Penetration testing
Revisiting
application security
to handle future
attack vectors
Application security engineering life cycle
Usability Testing
 Usability testing is a form of black box testing of the
enterprise application to validate the usability
requirements typically mentioned as part of the non-
functional requirements.
 Usability testing is especially important for B2C
applications.
 Performed either by the end users themselves or
alternatively by business analysts who represent end
users.
Globalization Testing
 Globalization testing is a manual testing to validate
whether an enterprise application meets the
internationalization/localization requirements.
 This testing is typically performed by test engineers
and business analysts, who are aware of the language
of choice, by running the application in different
locales.
Interface Testing
 Interface testing validates the incoming and outgoing
interfaces of the application under test with respect
to all other applications that it interacts with.
 It is also known as intersystem testing.
 The entry criteria for interface testing are the
readiness and correct documentation of all the
participating systems in the interface testing.
 The objectives of interface testing are dependent on
factors such as nature of communication of interfaces,
request-response handling of the system, data
formats exchanged through the interfaces, types of
validations performed and nature of errors and
exceptions that could arise.
User Acceptance Testing
 User acceptance testing is the black box testing of an
enterprise application performed by the end users of
the system, primarily from the perspective of system’s
stated functionalities and usability.
 This is the last stage of testing before the application
rollout.
 The objectives of a typical user acceptance testing are
to validate:
• The stated functionalities in the system requirement
specification document.
• Part of non functional requirements like usability and
response time.
Contd….
User Acceptance Testing (Contd…)
• The access control of the modules of the application.
• The complete business processes.
• The business data from the outgoing and incoming
interfaces.
• Batch processes, if any.
• The report format and contents.
Rolling out Enterprise Application
 Rolling out enterprise applications means making the
application live on the production environment for
the end user.
 This is the time when the enterprise applications are
handed over to the enterprise application
maintenance team.
 Release engineers facilitate the rolling out procedure
of enterprise applications.
High level Strategies for Rollout
 Brand new rollout: This rollout strategy is for the first
roll out of a brand new application.
 Parallel switch: The parallel switch rollout strategy is
to bring up a new application environment in parallel.
The new environment is verified and application
traffic is switched from the old to the new
environment.
 Rolling rollout: The rolling rollout strategy is
applicable in a clustered and highly managed
environment.
Contd….
High Level Strategies for Rollout (Contd…)
 Phased rollout: Phased rollout is a slower variant of
the rolling rollout strategy. The rollout is phased out
on the basis of particular region or time.
 Up-Down-Up rollout: This rollout strategy starts with
bringing everything down. The system is upgraded,
verified and brought up again. This strategy is the
most time consuming and requires a lot of upfront
planning. This is the safest rollout strategy for large-
scale deployments.
THANK YOU

More Related Content

What's hot (20)

PPTX
Software Requirement Specification
Niraj Kumar
 
PPT
Architecting and Designing Enterprise Applications
Gem WeBlog
 
PPT
Incepting Enterprise Applications
Gem WeBlog
 
PPTX
03 requirement engineering_process
University of Computer Science and Technology
 
PPT
Requirements analysis
asimnawaz54
 
PPTX
EC8791 Requirement-Specifications-Quality assurance techniques
RajalakshmiSermadurai
 
PDF
Requirements management and IBM Rational Jazz solutions
IBM Rational software
 
PPT
Sdlc
nazeer pasha
 
PPTX
Requirement Engineering Lec.1 & 2 & 3
Ahmed Alageed
 
PPT
Software Engineering Fundamentals
Rahul Sudame
 
DOCX
Software Requirements (3rd Edition) summary
Ahmed Kamel Taha
 
PDF
Requirement analysis
Shyam Bahadur Sunari Magar
 
PPTX
Requirements Engineering Processes
Ra'Fat Al-Msie'deen
 
PPTX
software engineering
Snow Queenzz
 
PPTX
Ch4-Software Engineering 9
Ian Sommerville
 
PPT
Requirements engineering process in software engineering
Preeti Mishra
 
PDF
Requirement analysis with use case
Rapeepan Thawornwanchai
 
PPT
Define and Manage Requirements with IBM Rational Requirements Composer
Alan Kan
 
PPSX
Requirement Elicitation Techniques
Shwetha-BA
 
PDF
4 sdlc and stlc
Chandra Maddigapu
 
Software Requirement Specification
Niraj Kumar
 
Architecting and Designing Enterprise Applications
Gem WeBlog
 
Incepting Enterprise Applications
Gem WeBlog
 
03 requirement engineering_process
University of Computer Science and Technology
 
Requirements analysis
asimnawaz54
 
EC8791 Requirement-Specifications-Quality assurance techniques
RajalakshmiSermadurai
 
Requirements management and IBM Rational Jazz solutions
IBM Rational software
 
Requirement Engineering Lec.1 & 2 & 3
Ahmed Alageed
 
Software Engineering Fundamentals
Rahul Sudame
 
Software Requirements (3rd Edition) summary
Ahmed Kamel Taha
 
Requirement analysis
Shyam Bahadur Sunari Magar
 
Requirements Engineering Processes
Ra'Fat Al-Msie'deen
 
software engineering
Snow Queenzz
 
Ch4-Software Engineering 9
Ian Sommerville
 
Requirements engineering process in software engineering
Preeti Mishra
 
Requirement analysis with use case
Rapeepan Thawornwanchai
 
Define and Manage Requirements with IBM Rational Requirements Composer
Alan Kan
 
Requirement Elicitation Techniques
Shwetha-BA
 
4 sdlc and stlc
Chandra Maddigapu
 

Similar to Testing and Rolling Out Enterprise Applications (20)

PPSX
Testing Concepts and Manual Testing
Fayis-QA
 
PPSX
Testing Concepts and Manual Testing
ANKUR-BA
 
PPTX
Testing Concepts and Manual Testing
Sachin-QA
 
PPTX
Testing Concepts and Manual Testing
Rajesh-QA
 
PPTX
Testing Concepts and Manual Testing
Vidya-QA
 
PDF
Objectorientedtesting 160320132146
vidhyyav
 
PPTX
Object oriented testing
Haris Jamil
 
PPTX
Session 05 - Testing Concepts
PoojaLQA
 
PPTX
Testing Concepts and Manual Testing
Murageppa-QA
 
PPTX
SDLCTesting
Gavin Thys
 
PPTX
Software testing
Ravi Dasari
 
PPTX
Software testing basic
Rohit Singh
 
PPSX
Introduction to software testing
Venkat Alagarsamy
 
PPTX
CTFL Module 02
Davis Thomas
 
DOCX
Testing in Software Engineering.docx
8759000398
 
PPSX
Role of BA in Testing
Lakshmi-BA
 
PPSX
Role of BA in Testing
SwatiS-BA
 
PPSX
Role of BA in Testing
Veneet-BA
 
PPSX
Role of BA in Testing
Shwetha-BA
 
PPS
Solution Evaluation (BA Role)
Shwetha-BA
 
Testing Concepts and Manual Testing
Fayis-QA
 
Testing Concepts and Manual Testing
ANKUR-BA
 
Testing Concepts and Manual Testing
Sachin-QA
 
Testing Concepts and Manual Testing
Rajesh-QA
 
Testing Concepts and Manual Testing
Vidya-QA
 
Objectorientedtesting 160320132146
vidhyyav
 
Object oriented testing
Haris Jamil
 
Session 05 - Testing Concepts
PoojaLQA
 
Testing Concepts and Manual Testing
Murageppa-QA
 
SDLCTesting
Gavin Thys
 
Software testing
Ravi Dasari
 
Software testing basic
Rohit Singh
 
Introduction to software testing
Venkat Alagarsamy
 
CTFL Module 02
Davis Thomas
 
Testing in Software Engineering.docx
8759000398
 
Role of BA in Testing
Lakshmi-BA
 
Role of BA in Testing
SwatiS-BA
 
Role of BA in Testing
Veneet-BA
 
Role of BA in Testing
Shwetha-BA
 
Solution Evaluation (BA Role)
Shwetha-BA
 
Ad

More from Gem WeBlog (20)

PPTX
Analysis of optimization algorithms
Gem WeBlog
 
PPTX
Particle swarm intelligence
Gem WeBlog
 
PPTX
Nature inspired metaheuristics
Gem WeBlog
 
PPTX
Darwin's theory of evolution
Gem WeBlog
 
PPTX
no free-lunch theorem
Gem WeBlog
 
PPT
Video and animation
Gem WeBlog
 
PPTX
Mpeg video compression
Gem WeBlog
 
PPT
Digital audio
Gem WeBlog
 
PPTX
Designing multimedia
Gem WeBlog
 
PDF
Pointers and Structures
Gem WeBlog
 
PDF
Dynamic memory allocation
Gem WeBlog
 
PPTX
Function pointer
Gem WeBlog
 
PDF
10. NULL pointer
Gem WeBlog
 
PDF
13. Pointer and 2D array
Gem WeBlog
 
PDF
12.string and pointer
Gem WeBlog
 
PDF
7. Pointer Arithmetic
Gem WeBlog
 
PDF
1. Pointer Basic
Gem WeBlog
 
PDF
Quick Select - Computing a Median (Decrease and Conquer)
Gem WeBlog
 
PDF
Quick Select (Decrease and Conquer)
Gem WeBlog
 
PDF
Topological Sorting (Decrease and Conquer)
Gem WeBlog
 
Analysis of optimization algorithms
Gem WeBlog
 
Particle swarm intelligence
Gem WeBlog
 
Nature inspired metaheuristics
Gem WeBlog
 
Darwin's theory of evolution
Gem WeBlog
 
no free-lunch theorem
Gem WeBlog
 
Video and animation
Gem WeBlog
 
Mpeg video compression
Gem WeBlog
 
Digital audio
Gem WeBlog
 
Designing multimedia
Gem WeBlog
 
Pointers and Structures
Gem WeBlog
 
Dynamic memory allocation
Gem WeBlog
 
Function pointer
Gem WeBlog
 
10. NULL pointer
Gem WeBlog
 
13. Pointer and 2D array
Gem WeBlog
 
12.string and pointer
Gem WeBlog
 
7. Pointer Arithmetic
Gem WeBlog
 
1. Pointer Basic
Gem WeBlog
 
Quick Select - Computing a Median (Decrease and Conquer)
Gem WeBlog
 
Quick Select (Decrease and Conquer)
Gem WeBlog
 
Topological Sorting (Decrease and Conquer)
Gem WeBlog
 
Ad

Recently uploaded (20)

PPSX
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
PPTX
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PPT
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
PPTX
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PPTX
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
PDF
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
PPTX
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
PPTX
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
PDF
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
HEALTH ASSESSMENT (Community Health Nursing) - GNM 1st Year
Priyanshu Anand
 
MENINGITIS: NURSING MANAGEMENT, BACTERIAL MENINGITIS, VIRAL MENINGITIS.pptx
PRADEEP ABOTHU
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
Talk on Critical Theory, Part One, Philosophy of Social Sciences
Soraj Hongladarom
 
Stereochemistry-Optical Isomerism in organic compoundsptx
Tarannum Nadaf-Mansuri
 
PATIENT ASSIGNMENTS AND NURSING CARE RESPONSIBILITIES.pptx
PRADEEP ABOTHU
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 - GLOBAL SUCCESS - CẢ NĂM - NĂM 2024 (VOCABULARY, ...
Nguyen Thanh Tu Collection
 
How to Convert an Opportunity into a Quotation in Odoo 18 CRM
Celine George
 
Unit 2 COMMERCIAL BANKING, Corporate banking.pptx
AnubalaSuresh1
 
People & Earth's Ecosystem -Lesson 2: People & Population
marvinnbustamante1
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
How to Manage Large Scrollbar in Odoo 18 POS
Celine George
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 

Testing and Rolling Out Enterprise Applications

  • 1. Testing and Rolling Out Enterprise Applications
  • 2.  Each enterprise application undergoes various types of testing to ensure that it demonstrates the desired functionalities and quality attributes.  Based on ‘What’ needs to be tested, testing can be divided into two categories: • Functional Testing: Testing the functionalities as per the stated requirements is termed as functional testing. • Non-Functional testing: Non-Functional testing caters to testing all the other things except functionalities to ensure that the quality attributes are as per the requirements. Testing and its Types
  • 3. Based on ‘How’ to test, the method of testing can be divided into three categories:  White Box Testing: This method of testing tests the internal structure of the application in detail. This method typically checks for the flow of data, control and branching sequences  Black Box Testing: This method of testing tests the software without need for understanding the internal structure and focuses on testing the application from an external perspective.  Gray Box testing is a hybrid form of white box and black box testing methods Methods of Testing
  • 4. Testing Levels Production Testing Acceptance Testing System Testing Integration Testing Unit Testing Testing levels of enterprise applications Contd….
  • 5.  Unit testing is performed to ensure that a standalone function/code/module/class works as per the specifications.  Integration testing is to ensure that the software code/modules/functions/classes are grouped together consistently.  System testing is the testing in which system is also investigated holistically from the perspective of functional as well as non functional requirements. Testing Levels (Contd…) Contd….
  • 6.  Acceptance Testing is done towards the end of testing phase, just before the roll out of the enterprise application, by the end users and primarily includes the test cases based on a selective subset of end user requirements.  Production Testing is basically a pilot release of the enterprise application in the production environment. Testing Levels (Contd…)
  • 7. Testing Approach Test Strategy Test Analysis Test Execution Test Planning Enterprise Application Testing Approach Contd….
  • 8.  Test strategy • This refers to the overall approach to test the enterprise application. It takes into account the environment, the types of testing to be done, the testing team, the effort, the cost and the timeline of testing, defect tracking, tools to be used, test planning and when to end the testing. The output of this phase is a Test Strategy document.  Test planning • Test planning is used to plan the execution of tests as decided in the test strategy.  Test execution • Development team may be responsible for executing the unit testing and integration testing. Testing Approach (Contd…) Contd….
  • 9. • Each of the test cases is then executed and the results are logged. • Test execution is done for both functional and non- functional testing. Testing is considered complete when the quality goals set in the test strategy are met.  Test analysis • The defects captured are analyzed for complexity, type, severity, impact and many other things. Testing Approach (Contd…)
  • 10. Enterprise Application Environments Production Testing Acceptance Testing System Testing Integration Testing Unit Testing Development Test Quality Assurance Staging Production Testing Levels Environments Enterprise application environments and testing levels
  • 11. Purpose of Enterprise Application Environments Application Environments Purpose Development Development environment is a high access, low budget and low security environment used mainly by the developers for construction activities including unit testing. Test This environment is used by the developers to perform integration activities and to do integration testing. Test environment will typically have moderate access control and moderate security. Quality Assurance QA environment having high access controls is typically used for Quality Assurance activities by an external Quality Assurance team. Most of the non functional requirements are tested in this environment. Staging Staging environment mimics production environment in all aspects, possibly except for capacity and security. This environment may be used for training end users. This ensures all physical configurations are tested and ready for service. Production Production environment is the environment where the final enterprise application eventually resides. This environment has high security and high access control. The capacity of this environment is designed to cater to real life requirements. This also has to ensure high availability.
  • 12. Integration Testing  The software units/components are integrated into assemblages after unit testing.  The interfaces among these underlying units/components are tested to ensure the working of these units, when combined together, and is referred to as integration testing.  Integration testing teams can use Software Construction Maps, along with other UML diagrams such as sequence diagram, to understand the big picture of these units/components.  Integration testing is an example of gray box testing.
  • 13. System Testing  System testing is testing the enterprise application and its interfaces as a whole.  It is a black box testing where a completely integrated enterprise application is tested for the specified functional and non-functional requirements.  A few of the non functional testing types which are carried out in the system testing phase of enterprise applications: • Performance Testing • Penetration Testing • Usability Testing • Globalization testing • Interface Testing
  • 14. Performance Testing  Performance testing is one of the most important aspects of system testing carried out from the perspective of validating the responsiveness of the system under a given workload profile, scalability to handle growth in number of users and data volume and stability without incurring visible performance degradation.  Typically performance testing comprises of activities such as load testing, volume testing, stress testing and endurance testing. Contd….
  • 15. Performance Testing (Contd…) • Load Testing is where the enterprise application is subjected to a variety of loads, mainly in terms of the number of users accessing it, to baseline the performance of the enterprise application. • Volume Testing is somewhat similar to load testing carried out by varying the volume of data processed by the system. • Stress Testing is done to ensure that the enterprise application can handle the spikes in load due to unusual circumstances like a sudden surge in user hits. • Endurance Testing is performed primarily to identify problems related to memory leaks by putting the enterprise application through sustained load conditions.
  • 16. Performance Engineering Life Cycle Performance NFR Elicitation and Validation Performance test Strategy and Planning Design considerations for Performance and Infrastructure Sizing Performance testing and Capacity Planning Workload forecasting and Capacity & Infrastructure roadmap Performance engineering life cycle
  • 17. Performance Improvement Corrective action plans are laid out after performance testing to optimize the performance which typically involves the following activities:  Application code analysis: Run-time behavior of application code is analyzed to investigate the performance bottleneck.  Database Optimization: Database schema and stored procedures are also profiled to determine recursive calls, physical reads, number of deadlocks, wait events etc. to point out the performance bottleneck.  Infrastructure resources and capacity optimization: Network latency rate, collision rate, incoming/outgoing packet rate etc. are the performance parameters to watch for a network.
  • 18. Penetration Testing  Penetration testing is the black box testing of an enterprise application from the security perspective.  This is one of the most important types of testing in B2C applications and community sites involving large number of users.  Penetration testing is a part of the overall application security engineering life cycle.
  • 19. Security Engineering Life Cycle Security NFR Elicitation and Validation Security test Strategy and Planning & Threat Modeling Design considerations for security Security code review - Static code analysis Penetration testing Revisiting application security to handle future attack vectors Application security engineering life cycle
  • 20. Usability Testing  Usability testing is a form of black box testing of the enterprise application to validate the usability requirements typically mentioned as part of the non- functional requirements.  Usability testing is especially important for B2C applications.  Performed either by the end users themselves or alternatively by business analysts who represent end users.
  • 21. Globalization Testing  Globalization testing is a manual testing to validate whether an enterprise application meets the internationalization/localization requirements.  This testing is typically performed by test engineers and business analysts, who are aware of the language of choice, by running the application in different locales.
  • 22. Interface Testing  Interface testing validates the incoming and outgoing interfaces of the application under test with respect to all other applications that it interacts with.  It is also known as intersystem testing.  The entry criteria for interface testing are the readiness and correct documentation of all the participating systems in the interface testing.  The objectives of interface testing are dependent on factors such as nature of communication of interfaces, request-response handling of the system, data formats exchanged through the interfaces, types of validations performed and nature of errors and exceptions that could arise.
  • 23. User Acceptance Testing  User acceptance testing is the black box testing of an enterprise application performed by the end users of the system, primarily from the perspective of system’s stated functionalities and usability.  This is the last stage of testing before the application rollout.  The objectives of a typical user acceptance testing are to validate: • The stated functionalities in the system requirement specification document. • Part of non functional requirements like usability and response time. Contd….
  • 24. User Acceptance Testing (Contd…) • The access control of the modules of the application. • The complete business processes. • The business data from the outgoing and incoming interfaces. • Batch processes, if any. • The report format and contents.
  • 25. Rolling out Enterprise Application  Rolling out enterprise applications means making the application live on the production environment for the end user.  This is the time when the enterprise applications are handed over to the enterprise application maintenance team.  Release engineers facilitate the rolling out procedure of enterprise applications.
  • 26. High level Strategies for Rollout  Brand new rollout: This rollout strategy is for the first roll out of a brand new application.  Parallel switch: The parallel switch rollout strategy is to bring up a new application environment in parallel. The new environment is verified and application traffic is switched from the old to the new environment.  Rolling rollout: The rolling rollout strategy is applicable in a clustered and highly managed environment. Contd….
  • 27. High Level Strategies for Rollout (Contd…)  Phased rollout: Phased rollout is a slower variant of the rolling rollout strategy. The rollout is phased out on the basis of particular region or time.  Up-Down-Up rollout: This rollout strategy starts with bringing everything down. The system is upgraded, verified and brought up again. This strategy is the most time consuming and requires a lot of upfront planning. This is the safest rollout strategy for large- scale deployments.