SlideShare a Scribd company logo
1 of 54
Integrate Performance Test with DevOps
- Tingting Zong (Ruby) -
INTRODUCTION
Hengtian Overview>Global Services
Hengtian is a technology
services company in Hangzhou,
China, created in 2004 as an
alliance among State Street
Corporation, Insigma
Technology (a Global
Outsourcing 100 Company) and
Zhejiang University. We provide
offshore and onshore
technology development,
research and consulting
services. Hengtian has been
certified for compliance with
ISO270001 and CMMI level 5.
Self Introduction
Master graduated in Computer Science degree
from Zhejiang University
Master graduated in Management of Innovation
and Entrepreneurship from Ecole Polytechnique.
More than 8 years of working experience in the
field of software performance engineering area
and is currently the Project Manager of
Performance Engineering Group and Security
Engineering Group of Hengtian software.
In the past 5 years, my team completed 250 +
software performance testing and performance
tuning projects and 100 + software security testing
and security tuning project, with rich project
experience.
Four years ago, I began to promote the integration
of performance test and DevOps in the company
and achieved gratifying results.http://peg.hengtiansoft.com/en/index.html
TIANJI 3.0
Basic Concept of Tianji
Dev
IT support
QA
DevOps
Online
Automation
Integration
• Promote the standardization of the entire
process of software delivery
• Docking project management and building
an integrated software production platform
• Workflow engine is used to integrate
project production flow and flexible
configuration
• Continuous integration and continuous
testing to support rapid submission and
feedback to increase efficiency
• Embedded automation test and submit
node quality control to improve quality
assurance
• Automate deployment and environmental
management to promote seamless
technical operations
Tianji 3.0 – Hengtianunifiedsoftwareproductionmanagementplatform
Software Production Process
Project Management & IT Support
Basis infrastructure (Scalable, easy to manage, auto-backup)
Middleware+ Process Engine
HT Project
Management
Platform
Psca
n
Depl
oy
Tianji CI/CD topology
Coding
Dev
Ops
QA
Submit
Code
On
demand
trigger
Submit
object
package
Deploy
object
Deploy and control
Database for
control platform
Code Library Reports Object Library
Dev
QA
Production
Working
Environment
Design and
coding Control
dashboard
Get the
code
Platform views based on different roles
DEV: PMS
IDE
Sonar
Jenkins
QAMS
Receive Tasks Coding Submit
Tianji
Portal
Trigger
Code
Scan
Unit Test
Code
Review
QA:
Start
Test
Pre Performance Test
Pre Security Test
System Classification
Test projects
management
Pass
AutomaticExecution
Release
Automatic Execution
Pre Auto
Test
√ √√ √ √ √ √ √ √ √
Coding
Code
Upload
Code Scan
(Sonar)
√
√
Unit Test
Code
Analysis
Ready for
Test
Function
Test
Performance
Code Scan
(Pscan)
√
Online URL
Based
Performance
Test
Performance
Test and
Tuning
Security
Test
System
Classification
√
Deploy
Deploy QA
Environment
DevOps
Improvement of development process
• Unified code library and code
specification
• Framework standardization and
components standardization
• Automatic build/deployment
reduces the communication costs
and process dependency
• Quick feedback and quick fix
The efficiency of coding Development process management
• Standard version management
• Task-based branch autonomous
management
• Implantable automatic
development test
• Reduce communication costs at
all stages
HT standardization
framework
Java/ .Net/ UI/ iOS/
Andiod/…
HT Component
Library
Code and version
specifications
Various types of
best practices
Improvement of quality control process
• Automatic code scanning
• Self-service environment preparation
• Self-service deployment
• Implantable and repeatable
automated execution
Test execution Process control
• Embedded Access Condition Node
Control
• Published online controls and
management
• Real-time status monitoring at all stages
• Reduce communication costs at all
stages
HT customized rule
library
(PMD/FindBugs/CheckSt
yle/FxCop)
(Java/.Net/ iOS/
Andriod/…)
Automation
framework access
(HT Selenium
framework)
HT Production Management
Platform
Various types of
best practices
PSCAN
Pscan
Bytecode Files
Code
Grammar
Abstract Tree
Database
Data
Structure
Pscan
Import object code Get code performance analysis result
Choose customized rules
Adding new rules:
Pscan
Pscan-Review bytecode files
• Analysis Object:
- Compiled bytecode class file
• Analysis steps:
- Clearly define the rules
- Analyzing the bytecode content of the sample code
- Write the detector
- Add rules to rules file
Pscan-Review bytecode files
• Example:
Bytecode file
Recognition rule
• Analysis object:
- AST (Abstract Syntax Tree)
• Analysis steps:
- Clearly define the rules
- List all the different ways of breaking this rule
- Analyze the characteristics of abstract grammar trees for all writing
- Write rule code capture features
Pscan-Review code grammar abstract tree
• Example:
while loop without curly braces
while loop with curly braces
AST1
AST2
Pscan-Review code grammar abstract tree
Recognition rule
• Analysis object:
- SQL statement template
• Analysis step
- Extracting SQL Execution Statements in Code
- Construct a SQL statement template
- Review SQL Statement Template
- Automation + manual recognition
Pscan-Review database
Related rules:
Select
- Use the distinct keyword carefully
- Use the Union keyword with caution
- Reduce the amount of data in the connection table
Insert
- Avoid loop insertion, use insert into select bulk insert
Delete
- Avoid modifying/deleting too many data at the same time, batch
operation data
Pscan-Review database
• Analysis object
- Code keywords
• Analysis step
- Source code static scan
- Rule identification
- Suggest a fix
Pscan-Review data structure
Related rules
- Avoid using synchronization mechanisms
- Hashtable, Vector, StringBuffer is not recommended
- Correspondingly replaced by HashMap, ArrayList, StringBuilder
- Avoid foreach loop traversal, use for loop
- Avoid using reflections frequently
- Avoid array declaration as public static final
- Avoid using the toString() method on an array
- Avoid using try..catch in loops...
- Try to use lazy loading strategy
Pscan-Review data structure
Online URL Based
Performance Test
Online URL Based Performance Test
Online URL Based Performance Test
Input
Output
URL
Analysis
Website
crawling
Select key
Scenarios
Organize
test results
Format
resolution
Filter out
malicious
requests
Set level
Dynamic web
crawling
Assessment
model
Data
processing
URL
Report
Deal with
anti-climbing
Online URL Based Performance Test
URL Analysis
• URL resolution
• Exclude malicious requests
• Define hierarchical crawling
• Dynamic web crawling
• Dealing with anti-climbing strategies
Online URL based load test strategy
Get a list of test
elements
Generate test
scenarios
Generate test
threads
Call the
performance test
tool engine
Perform periodic
concurrent
accesses in
sequence, and
record the
relevant sampled
data for each
visit
Test data analysis
SYSTEM
CLASSIFICATION
System Classification
To be
considered
• 0~2.0 points
Recommended
• 2.0~4.0 points
Highly
recommended
• 4.0~6.0 points
Must
• 6.0~10.0 points
System Classification> Influencing factors
Object
The volume of target daily active user
The usage frequency of target daily active user
User traffic distribution
Target error tolerance
Target database data volume
Typical resource consumption / time-consuming operation
System Classification> Influencing factors weight
𝑮 = 𝜸 𝒐𝒃𝒋 𝒈 𝒐𝒃𝒋 + 𝜸 𝒅𝒊𝒔 𝒈 𝒅𝒊𝒔 + 𝜸 𝒖𝒔𝒓 𝒈 𝒖𝒔𝒓 + 𝜸 𝒇𝒓𝒆 𝒈 𝒇𝒓𝒆 + 𝜸 𝒄𝒐𝒏 𝒈 𝒄𝒐𝒏 + 𝜸 𝒆𝒓𝒓 𝒈 𝒆𝒓𝒓 + 𝜸 𝒂𝒎𝒕 𝒈 𝒂𝒎𝒕
Object
The volume of target
daily active user
The usage frequency of
target daily active user
User traffic distribution
Target error tolerance
Target database data
volume
Typical resource
consumption / time-
consuming operation
E.g. 𝜸 𝒐𝒃𝒋 𝒓𝒆𝒑𝒓𝒆𝒔𝒆𝒏𝒕𝒔 𝒕𝒉𝒆 𝒑𝒐𝒊𝒏𝒕𝒔 𝒕𝒉𝒂𝒕 𝒕𝒉𝒆 𝒆𝒍𝒆𝒎𝒆𝒏𝒕 𝒈𝒐𝒕,𝒈 𝒐𝒃𝒋 𝒓𝒆𝒑𝒓𝒆𝒔𝒆𝒏𝒕𝒔 𝒕𝒉𝒆 𝒘𝒆𝒊𝒈𝒉𝒕 𝒐𝒇 𝒕𝒉𝒆 𝒆𝒍𝒆𝒎𝒆𝒏𝒕.
Performance Engineering Complexity Modeling
Performance Engineering Complexity Modeling>
Time Calculation
Script preparation time
Data preparation time
Test execution time
Tuning time
report time
Reserve time
T 𝑇otal = tScripting + tData Pr𝑒𝑝𝑎𝑟𝑒 + tExecution + tTunning + tReport + tExtra
Methodology
Test plan Preparation Design Runtime Analysis Tuning
Validation
 Testing
environment
installation
 Test platform
validation
 Test plan
validation
 Test data generation
 VU profile design
 DB update procedure
 Test data validation
 Population &
monitoring
 Single-user baseline
 Ramp-up load test
 Combination test
 Maximum load test
 Response time analysis
 Benchmark comparison
 System metric analysis
 Tuning is required
 Report creation
Project manager
Functional
specialists
Performance
Consultant
Project manager
Functional
specialists
Performance
Consultant
Functional
specialists
Performance
Consultant
Developers
Performance
Consultant
Server
specialists
Administrators
Performance
Consultant
Server
specialists
Administrators
Stage 1 Stage 3Stage 2
APM
Different kinds of probes
Mobile
terminal
Probe
JavaScript
Probe
Web Probe
JVM Probe
Web
Probe
DC-Server
Data Display
DA:data analyzer
DC:data collector
Data collection
Agent
Haproxy
Host agent Browser
agent
App agent
SLB
server browser mobile
Data storage
DC-Browser DC-App
Data Analyzer
Data Receive Data Receiver
Kafka Cluster
Data Analyzer Data Analyzer
Data Receive
Elastic search hdfs Metric Data
Page display Open API Various reports
Cache Cluster
Values
Using
Scenarios
Dev &QA
Infra
IT
Manager
Business
Manager
• Positioning problems, solving problems,
and reducing costs in advance during
development testing
• Distributed tracking of micro services
The necessary tool for
Devops and Micro services
• Automatically locate issues
and root causes
• Link analysis
• Support business dimension
holographic positioning
• eg: input business number
• Visible Business process
• Visible business operations
• Controllable code quality reduces
outsourcing risk
• Find problems in advance reduce
costs
Holographic investigation,
efficient issue positioning
Visualization
of IT value
Quality control
What is the delay
distribution of the
program across the
link?
How is the user experience on
browser or mobile?
Is the program perform
abnormal on the entire
link? ?
How is the
responsiveness of
the database?
Find the full link of the program response based on the user ids or related business ids
--Finding the user program response is the key to solve the problem
Associated integration can solve problems
Why full-link monitoring?
Full-link monitoring-A user call process from an
internet finance company
Data collection - Code Probe
A.class
1
2
3
4 5 8
9
Request
Response
JVM
6 10
7
Class
Loader
engin
e
agent
A’.class
Java
agent
Monitor the
temporary
data storage
area
Running data area
Data collection 一 Network package analysis
Advantage
Monitor the database connection pool and
discover potential free databases that may not
be released.
Database connection pool
monitoring
After user visiting, the data of the
program full link response can be
aggregated to form a logical wide table,
and the business monitoring report can
be efficiently generated.
Support business monitoring
By analyzing the business data, the complete
data at the time of the user request can be
restored to find the performance problem.
Problem scene recovery
The probe can obtain data such as exceptions
within the program and is aggregated over the full
link. Without looking at the logs, you can quickly
understand the possible failure of the program.
Abnormal perception
When a failure occurs, it can be clearly
determined whether the problem is
affected by the program or nginx.
Abnormal network equipment
perception
Full-link tracking can support load balancers
such as Nginx and Apache. If the load
balancer has a problem, it can be
discovered.
Load balancing
awareness
When there is a situation such as code dead lock, it can
be pre-alarmed according to the preset warning time.
Business suspended
animation warning
User
granularity
fault location
Full data
distributed
tracking
Prior warning
reduces the
failure rate
Suitable for
container
environment
Advantage
AVG :217ms
AVG :328ms
AVG:125ms
AVG:23ms
AVG:27ms
AVG:287ms
AVG :0.95ms
AVG:0.40ms
Slow Method
Slow Method
Slow Method
Calling
Slow SQL
Average Error Rate:11.5%
Core application
1, As is shown above, the request response time is 2.8s;
2. The request invokes the method shown above, where the slowest method call performed 2.7s, and slow
method calls are the main reason for the slow response.
Slow method
1、Under normal circumstance, the response time of this request is fast (82.76ms)
2、In the abnormal case, the response time is: 58.7s. Obviously, it can be seen in the topology. The reason for the
slow response is that many other applications are invoked. The average interface response time is >5S. The call
relationship is complicated and the interface call is slow. It is the main reason for slow response.
Method and call exception
1, The request response time is 16.7s;
2. Database connection: 12 times, response time: 15.0s, database connection consume too much time is the
main reason for this slow response
Database connection problem
1, As is shown above, the request response time is 2.40s;
2. The request executes the above SQL. The SQL executes 2.12s, and the slow execution of the SQL is the main
reason for this slow request
Slow SQL
Thank You!

More Related Content

What's hot

Verification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionVerification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionHagai Arbel
 
MFG4 2016 - Is Automation Right for Your Company - 4-2016
MFG4 2016 -  Is Automation Right for Your Company - 4-2016MFG4 2016 -  Is Automation Right for Your Company - 4-2016
MFG4 2016 - Is Automation Right for Your Company - 4-2016Craig Salvalaggio
 
MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021
MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021
MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021GoQA
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2babak danyal
 
Bruno Legeard - Model-Based Testing of a Financial Application
Bruno Legeard -  Model-Based Testing of a Financial ApplicationBruno Legeard -  Model-Based Testing of a Financial Application
Bruno Legeard - Model-Based Testing of a Financial ApplicationTEST Huddle
 
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...GoQA
 
Testing using load runner performance testing
Testing using load runner  performance testingTesting using load runner  performance testing
Testing using load runner performance testingSivaprasanthRentala1975
 
Automated visual-regression-testing (1)
Automated visual-regression-testing (1)Automated visual-regression-testing (1)
Automated visual-regression-testing (1)Sriram Angajala
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmssmarar
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of projectZbyszek Mockun
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goalsgaoliang641
 
Performance Testing Checklists
Performance Testing ChecklistsPerformance Testing Checklists
Performance Testing ChecklistsJames Venetsanakos
 
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015Craig Salvalaggio
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsPerfecto Mobile
 
Nature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test TeamsNature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test TeamsJosiah Renaudin
 
Test Automation is for Everyone
Test Automation is for EveryoneTest Automation is for Everyone
Test Automation is for EveryoneWorksoft
 

What's hot (20)

Verification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionVerification for system companies (LI) - value proposition
Verification for system companies (LI) - value proposition
 
MFG4 2016 - Is Automation Right for Your Company - 4-2016
MFG4 2016 -  Is Automation Right for Your Company - 4-2016MFG4 2016 -  Is Automation Right for Your Company - 4-2016
MFG4 2016 - Is Automation Right for Your Company - 4-2016
 
MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021
MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021
MESUT DURUKAL «4 Pillars of Successful Agile Test Automation» Online QADay 2021
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
 
Bruno Legeard - Model-Based Testing of a Financial Application
Bruno Legeard -  Model-Based Testing of a Financial ApplicationBruno Legeard -  Model-Based Testing of a Financial Application
Bruno Legeard - Model-Based Testing of a Financial Application
 
[Vu Van Nguyen] Test Estimation in Practice
[Vu Van Nguyen]  Test Estimation in Practice[Vu Van Nguyen]  Test Estimation in Practice
[Vu Van Nguyen] Test Estimation in Practice
 
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
“ЕРАМ у Південному регіоні та можливості розвитку для QA спеціалістів” Online...
 
Testing using load runner performance testing
Testing using load runner  performance testingTesting using load runner  performance testing
Testing using load runner performance testing
 
Automated visual-regression-testing (1)
Automated visual-regression-testing (1)Automated visual-regression-testing (1)
Automated visual-regression-testing (1)
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of project
 
Backward thinking design qa system for quality goals
Backward thinking   design qa system for quality goalsBackward thinking   design qa system for quality goals
Backward thinking design qa system for quality goals
 
Performance Testing Checklists
Performance Testing ChecklistsPerformance Testing Checklists
Performance Testing Checklists
 
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
AUTOMATE 2015 - Is Automation Right for Your Company - Craig Salvalaggio 3-2015
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Tracking through kanban
 
Nature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test TeamsNature vs. Nurture: Building Great Test Teams
Nature vs. Nurture: Building Great Test Teams
 
Test Automation is for Everyone
Test Automation is for EveryoneTest Automation is for Everyone
Test Automation is for Everyone
 

Similar to Neotys PAC 2018 - Tingting Zong

Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsBhavin Javia
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Munirathnam Naidu
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010TEST Huddle
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareErika Barron
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwarePerforce
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemQualitest
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Servicesr_shanki
 
Putting Quality First through Continuous Testing
Putting Quality First through Continuous TestingPutting Quality First through Continuous Testing
Putting Quality First through Continuous TestingTechWell
 
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...BAINIDA
 
How Agile Are you
How Agile Are youHow Agile Are you
How Agile Are youHeaton Cai
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITVishnu Raju Datla
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam Dutta
 
360logica At A Glance
360logica At A Glance360logica At A Glance
360logica At A Glanceguestf2e1db
 
Data driven automation-with_wati_n
Data driven automation-with_wati_nData driven automation-with_wati_n
Data driven automation-with_wati_nM Rizwanur Rashid
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam Dutta
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software QualityAnand Prabhala
 

Similar to Neotys PAC 2018 - Tingting Zong (20)

Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty Software
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty Software
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated system
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Services
 
Putting Quality First through Continuous Testing
Putting Quality First through Continuous TestingPutting Quality First through Continuous Testing
Putting Quality First through Continuous Testing
 
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
DevOps : Integrate, Deliver and Deploy continuously with Visual Studio Team S...
 
How Agile Are you
How Agile Are youHow Agile Are you
How Agile Are you
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
Salesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABITSalesforce Continuous Integration with AutoRABIT
Salesforce Continuous Integration with AutoRABIT
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineering
 
360logica At A Glance
360logica At A Glance360logica At A Glance
360logica At A Glance
 
Data driven automation-with_wati_n
Data driven automation-with_wati_nData driven automation-with_wati_n
Data driven automation-with_wati_n
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineering
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Enhancing Software Quality
Enhancing Software QualityEnhancing Software Quality
Enhancing Software Quality
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 

More from Neotys_Partner

Srivalli Aparna - The Blueprints to Success
Srivalli Aparna - The Blueprints to SuccessSrivalli Aparna - The Blueprints to Success
Srivalli Aparna - The Blueprints to SuccessNeotys_Partner
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightNeotys_Partner
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Neotys_Partner
 
Hari Krishnan Ramachandran - Assuring Performance for the Connected World
Hari Krishnan Ramachandran  - Assuring Performance for the Connected WorldHari Krishnan Ramachandran  - Assuring Performance for the Connected World
Hari Krishnan Ramachandran - Assuring Performance for the Connected WorldNeotys_Partner
 
Bruno Audoux - Connected Cars to the Net, IoTs on the Roads
Bruno Audoux - Connected Cars to the Net, IoTs on the RoadsBruno Audoux - Connected Cars to the Net, IoTs on the Roads
Bruno Audoux - Connected Cars to the Net, IoTs on the RoadsNeotys_Partner
 
Andreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardAndreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardNeotys_Partner
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingNeotys_Partner
 
Alan Gordon - Building a Holistic Performance Management Platform
Alan Gordon - Building a Holistic Performance Management PlatformAlan Gordon - Building a Holistic Performance Management Platform
Alan Gordon - Building a Holistic Performance Management PlatformNeotys_Partner
 
Twan Koot - Beyond the % usage, an in-depth look into monitoring
Twan Koot - Beyond the % usage, an in-depth look into monitoringTwan Koot - Beyond the % usage, an in-depth look into monitoring
Twan Koot - Beyond the % usage, an in-depth look into monitoringNeotys_Partner
 
Stijn Schepers - Performance Test Automation Beyond Frontier
Stijn Schepers - Performance Test Automation Beyond FrontierStijn Schepers - Performance Test Automation Beyond Frontier
Stijn Schepers - Performance Test Automation Beyond FrontierNeotys_Partner
 
Stephen Townshend - Constellations
Stephen Townshend - ConstellationsStephen Townshend - Constellations
Stephen Townshend - ConstellationsNeotys_Partner
 
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningStefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningNeotys_Partner
 
PAC 2018 - Stijn Schepers
PAC 2018 - Stijn SchepersPAC 2018 - Stijn Schepers
PAC 2018 - Stijn SchepersNeotys_Partner
 
Neotys PAC 2018 - Mark Tomlinson
Neotys PAC 2018 - Mark TomlinsonNeotys PAC 2018 - Mark Tomlinson
Neotys PAC 2018 - Mark TomlinsonNeotys_Partner
 
Neotys PAC 2018 - Wilson Mar
Neotys PAC 2018 - Wilson MarNeotys PAC 2018 - Wilson Mar
Neotys PAC 2018 - Wilson MarNeotys_Partner
 
Neotys PAC 2018 - Thomas Steinmaurer
Neotys PAC 2018 - Thomas SteinmaurerNeotys PAC 2018 - Thomas Steinmaurer
Neotys PAC 2018 - Thomas SteinmaurerNeotys_Partner
 
Neotys PAC 2018 - Todd De Capua
Neotys PAC 2018 - Todd De CapuaNeotys PAC 2018 - Todd De Capua
Neotys PAC 2018 - Todd De CapuaNeotys_Partner
 
Neotys PAC 2018 - Thomas Rotté
Neotys PAC 2018 - Thomas RottéNeotys PAC 2018 - Thomas Rotté
Neotys PAC 2018 - Thomas RottéNeotys_Partner
 
Neotys PAC 2018 - Stephen Townshend
Neotys PAC 2018 - Stephen TownshendNeotys PAC 2018 - Stephen Townshend
Neotys PAC 2018 - Stephen TownshendNeotys_Partner
 

More from Neotys_Partner (20)

Srivalli Aparna - The Blueprints to Success
Srivalli Aparna - The Blueprints to SuccessSrivalli Aparna - The Blueprints to Success
Srivalli Aparna - The Blueprints to Success
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & Right
 
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
Jonathon Wright - Intelligent Performance Cognitive Learning (AIOps)
 
Hari Krishnan Ramachandran - Assuring Performance for the Connected World
Hari Krishnan Ramachandran  - Assuring Performance for the Connected WorldHari Krishnan Ramachandran  - Assuring Performance for the Connected World
Hari Krishnan Ramachandran - Assuring Performance for the Connected World
 
Bruno Audoux - Connected Cars to the Net, IoTs on the Roads
Bruno Audoux - Connected Cars to the Net, IoTs on the RoadsBruno Audoux - Connected Cars to the Net, IoTs on the Roads
Bruno Audoux - Connected Cars to the Net, IoTs on the Roads
 
Andreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a StandardAndreas Grabner - Performance as Code, Let's Make It a Standard
Andreas Grabner - Performance as Code, Let's Make It a Standard
 
Alexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance TestingAlexander Podelko - Context-Driven Performance Testing
Alexander Podelko - Context-Driven Performance Testing
 
Alan Gordon - Building a Holistic Performance Management Platform
Alan Gordon - Building a Holistic Performance Management PlatformAlan Gordon - Building a Holistic Performance Management Platform
Alan Gordon - Building a Holistic Performance Management Platform
 
Twan Koot - Beyond the % usage, an in-depth look into monitoring
Twan Koot - Beyond the % usage, an in-depth look into monitoringTwan Koot - Beyond the % usage, an in-depth look into monitoring
Twan Koot - Beyond the % usage, an in-depth look into monitoring
 
Stijn Schepers - Performance Test Automation Beyond Frontier
Stijn Schepers - Performance Test Automation Beyond FrontierStijn Schepers - Performance Test Automation Beyond Frontier
Stijn Schepers - Performance Test Automation Beyond Frontier
 
Stephen Townshend - Constellations
Stephen Townshend - ConstellationsStephen Townshend - Constellations
Stephen Townshend - Constellations
 
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningStefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine Learning
 
PAC 2018 - Stijn Schepers
PAC 2018 - Stijn SchepersPAC 2018 - Stijn Schepers
PAC 2018 - Stijn Schepers
 
Neotys PAC 2018 - Mark Tomlinson
Neotys PAC 2018 - Mark TomlinsonNeotys PAC 2018 - Mark Tomlinson
Neotys PAC 2018 - Mark Tomlinson
 
Neotys PAC 2018 - Wilson Mar
Neotys PAC 2018 - Wilson MarNeotys PAC 2018 - Wilson Mar
Neotys PAC 2018 - Wilson Mar
 
Neotys PAC - Zak Cole
Neotys PAC - Zak ColeNeotys PAC - Zak Cole
Neotys PAC - Zak Cole
 
Neotys PAC 2018 - Thomas Steinmaurer
Neotys PAC 2018 - Thomas SteinmaurerNeotys PAC 2018 - Thomas Steinmaurer
Neotys PAC 2018 - Thomas Steinmaurer
 
Neotys PAC 2018 - Todd De Capua
Neotys PAC 2018 - Todd De CapuaNeotys PAC 2018 - Todd De Capua
Neotys PAC 2018 - Todd De Capua
 
Neotys PAC 2018 - Thomas Rotté
Neotys PAC 2018 - Thomas RottéNeotys PAC 2018 - Thomas Rotté
Neotys PAC 2018 - Thomas Rotté
 
Neotys PAC 2018 - Stephen Townshend
Neotys PAC 2018 - Stephen TownshendNeotys PAC 2018 - Stephen Townshend
Neotys PAC 2018 - Stephen Townshend
 

Recently uploaded

"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfNainaShrivastava14
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 

Recently uploaded (20)

"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 

Neotys PAC 2018 - Tingting Zong

  • 1. Integrate Performance Test with DevOps - Tingting Zong (Ruby) -
  • 3. Hengtian Overview>Global Services Hengtian is a technology services company in Hangzhou, China, created in 2004 as an alliance among State Street Corporation, Insigma Technology (a Global Outsourcing 100 Company) and Zhejiang University. We provide offshore and onshore technology development, research and consulting services. Hengtian has been certified for compliance with ISO270001 and CMMI level 5.
  • 4. Self Introduction Master graduated in Computer Science degree from Zhejiang University Master graduated in Management of Innovation and Entrepreneurship from Ecole Polytechnique. More than 8 years of working experience in the field of software performance engineering area and is currently the Project Manager of Performance Engineering Group and Security Engineering Group of Hengtian software. In the past 5 years, my team completed 250 + software performance testing and performance tuning projects and 100 + software security testing and security tuning project, with rich project experience. Four years ago, I began to promote the integration of performance test and DevOps in the company and achieved gratifying results.http://peg.hengtiansoft.com/en/index.html
  • 6. Basic Concept of Tianji Dev IT support QA DevOps Online Automation Integration • Promote the standardization of the entire process of software delivery • Docking project management and building an integrated software production platform • Workflow engine is used to integrate project production flow and flexible configuration • Continuous integration and continuous testing to support rapid submission and feedback to increase efficiency • Embedded automation test and submit node quality control to improve quality assurance • Automate deployment and environmental management to promote seamless technical operations
  • 7. Tianji 3.0 – Hengtianunifiedsoftwareproductionmanagementplatform Software Production Process Project Management & IT Support Basis infrastructure (Scalable, easy to manage, auto-backup) Middleware+ Process Engine HT Project Management Platform Psca n
  • 8. Depl oy Tianji CI/CD topology Coding Dev Ops QA Submit Code On demand trigger Submit object package Deploy object Deploy and control Database for control platform Code Library Reports Object Library Dev QA Production Working Environment Design and coding Control dashboard Get the code
  • 9. Platform views based on different roles DEV: PMS IDE Sonar Jenkins QAMS Receive Tasks Coding Submit Tianji Portal Trigger Code Scan Unit Test Code Review QA: Start Test Pre Performance Test Pre Security Test System Classification Test projects management Pass AutomaticExecution Release Automatic Execution Pre Auto Test
  • 10. √ √√ √ √ √ √ √ √ √ Coding Code Upload Code Scan (Sonar) √ √ Unit Test Code Analysis Ready for Test Function Test Performance Code Scan (Pscan) √ Online URL Based Performance Test Performance Test and Tuning Security Test System Classification √ Deploy Deploy QA Environment DevOps
  • 11. Improvement of development process • Unified code library and code specification • Framework standardization and components standardization • Automatic build/deployment reduces the communication costs and process dependency • Quick feedback and quick fix The efficiency of coding Development process management • Standard version management • Task-based branch autonomous management • Implantable automatic development test • Reduce communication costs at all stages HT standardization framework Java/ .Net/ UI/ iOS/ Andiod/… HT Component Library Code and version specifications Various types of best practices
  • 12. Improvement of quality control process • Automatic code scanning • Self-service environment preparation • Self-service deployment • Implantable and repeatable automated execution Test execution Process control • Embedded Access Condition Node Control • Published online controls and management • Real-time status monitoring at all stages • Reduce communication costs at all stages HT customized rule library (PMD/FindBugs/CheckSt yle/FxCop) (Java/.Net/ iOS/ Andriod/…) Automation framework access (HT Selenium framework) HT Production Management Platform Various types of best practices
  • 13. PSCAN
  • 15. Pscan Import object code Get code performance analysis result
  • 16. Choose customized rules Adding new rules: Pscan
  • 17. Pscan-Review bytecode files • Analysis Object: - Compiled bytecode class file • Analysis steps: - Clearly define the rules - Analyzing the bytecode content of the sample code - Write the detector - Add rules to rules file
  • 18. Pscan-Review bytecode files • Example: Bytecode file Recognition rule
  • 19. • Analysis object: - AST (Abstract Syntax Tree) • Analysis steps: - Clearly define the rules - List all the different ways of breaking this rule - Analyze the characteristics of abstract grammar trees for all writing - Write rule code capture features Pscan-Review code grammar abstract tree
  • 20. • Example: while loop without curly braces while loop with curly braces AST1 AST2 Pscan-Review code grammar abstract tree Recognition rule
  • 21. • Analysis object: - SQL statement template • Analysis step - Extracting SQL Execution Statements in Code - Construct a SQL statement template - Review SQL Statement Template - Automation + manual recognition Pscan-Review database
  • 22. Related rules: Select - Use the distinct keyword carefully - Use the Union keyword with caution - Reduce the amount of data in the connection table Insert - Avoid loop insertion, use insert into select bulk insert Delete - Avoid modifying/deleting too many data at the same time, batch operation data Pscan-Review database
  • 23. • Analysis object - Code keywords • Analysis step - Source code static scan - Rule identification - Suggest a fix Pscan-Review data structure
  • 24. Related rules - Avoid using synchronization mechanisms - Hashtable, Vector, StringBuffer is not recommended - Correspondingly replaced by HashMap, ArrayList, StringBuilder - Avoid foreach loop traversal, use for loop - Avoid using reflections frequently - Avoid array declaration as public static final - Avoid using the toString() method on an array - Avoid using try..catch in loops... - Try to use lazy loading strategy Pscan-Review data structure
  • 26. Online URL Based Performance Test
  • 27. Online URL Based Performance Test Input Output URL Analysis Website crawling Select key Scenarios Organize test results Format resolution Filter out malicious requests Set level Dynamic web crawling Assessment model Data processing URL Report Deal with anti-climbing
  • 28. Online URL Based Performance Test
  • 29. URL Analysis • URL resolution • Exclude malicious requests • Define hierarchical crawling • Dynamic web crawling • Dealing with anti-climbing strategies
  • 30. Online URL based load test strategy Get a list of test elements Generate test scenarios Generate test threads Call the performance test tool engine Perform periodic concurrent accesses in sequence, and record the relevant sampled data for each visit
  • 33. System Classification To be considered • 0~2.0 points Recommended • 2.0~4.0 points Highly recommended • 4.0~6.0 points Must • 6.0~10.0 points
  • 34. System Classification> Influencing factors Object The volume of target daily active user The usage frequency of target daily active user User traffic distribution Target error tolerance Target database data volume Typical resource consumption / time-consuming operation
  • 35. System Classification> Influencing factors weight 𝑮 = 𝜸 𝒐𝒃𝒋 𝒈 𝒐𝒃𝒋 + 𝜸 𝒅𝒊𝒔 𝒈 𝒅𝒊𝒔 + 𝜸 𝒖𝒔𝒓 𝒈 𝒖𝒔𝒓 + 𝜸 𝒇𝒓𝒆 𝒈 𝒇𝒓𝒆 + 𝜸 𝒄𝒐𝒏 𝒈 𝒄𝒐𝒏 + 𝜸 𝒆𝒓𝒓 𝒈 𝒆𝒓𝒓 + 𝜸 𝒂𝒎𝒕 𝒈 𝒂𝒎𝒕 Object The volume of target daily active user The usage frequency of target daily active user User traffic distribution Target error tolerance Target database data volume Typical resource consumption / time- consuming operation E.g. 𝜸 𝒐𝒃𝒋 𝒓𝒆𝒑𝒓𝒆𝒔𝒆𝒏𝒕𝒔 𝒕𝒉𝒆 𝒑𝒐𝒊𝒏𝒕𝒔 𝒕𝒉𝒂𝒕 𝒕𝒉𝒆 𝒆𝒍𝒆𝒎𝒆𝒏𝒕 𝒈𝒐𝒕,𝒈 𝒐𝒃𝒋 𝒓𝒆𝒑𝒓𝒆𝒔𝒆𝒏𝒕𝒔 𝒕𝒉𝒆 𝒘𝒆𝒊𝒈𝒉𝒕 𝒐𝒇 𝒕𝒉𝒆 𝒆𝒍𝒆𝒎𝒆𝒏𝒕.
  • 37. Performance Engineering Complexity Modeling> Time Calculation Script preparation time Data preparation time Test execution time Tuning time report time Reserve time T 𝑇otal = tScripting + tData Pr𝑒𝑝𝑎𝑟𝑒 + tExecution + tTunning + tReport + tExtra
  • 38. Methodology Test plan Preparation Design Runtime Analysis Tuning Validation  Testing environment installation  Test platform validation  Test plan validation  Test data generation  VU profile design  DB update procedure  Test data validation  Population & monitoring  Single-user baseline  Ramp-up load test  Combination test  Maximum load test  Response time analysis  Benchmark comparison  System metric analysis  Tuning is required  Report creation Project manager Functional specialists Performance Consultant Project manager Functional specialists Performance Consultant Functional specialists Performance Consultant Developers Performance Consultant Server specialists Administrators Performance Consultant Server specialists Administrators Stage 1 Stage 3Stage 2
  • 39. APM
  • 40. Different kinds of probes Mobile terminal Probe JavaScript Probe Web Probe JVM Probe Web Probe
  • 41. DC-Server Data Display DA:data analyzer DC:data collector Data collection Agent Haproxy Host agent Browser agent App agent SLB server browser mobile Data storage DC-Browser DC-App Data Analyzer Data Receive Data Receiver Kafka Cluster Data Analyzer Data Analyzer Data Receive Elastic search hdfs Metric Data Page display Open API Various reports Cache Cluster
  • 42. Values Using Scenarios Dev &QA Infra IT Manager Business Manager • Positioning problems, solving problems, and reducing costs in advance during development testing • Distributed tracking of micro services The necessary tool for Devops and Micro services • Automatically locate issues and root causes • Link analysis • Support business dimension holographic positioning • eg: input business number • Visible Business process • Visible business operations • Controllable code quality reduces outsourcing risk • Find problems in advance reduce costs Holographic investigation, efficient issue positioning Visualization of IT value Quality control
  • 43. What is the delay distribution of the program across the link? How is the user experience on browser or mobile? Is the program perform abnormal on the entire link? ? How is the responsiveness of the database? Find the full link of the program response based on the user ids or related business ids --Finding the user program response is the key to solve the problem Associated integration can solve problems Why full-link monitoring?
  • 44. Full-link monitoring-A user call process from an internet finance company
  • 45. Data collection - Code Probe A.class 1 2 3 4 5 8 9 Request Response JVM 6 10 7 Class Loader engin e agent A’.class Java agent Monitor the temporary data storage area Running data area
  • 46. Data collection 一 Network package analysis
  • 47. Advantage Monitor the database connection pool and discover potential free databases that may not be released. Database connection pool monitoring After user visiting, the data of the program full link response can be aggregated to form a logical wide table, and the business monitoring report can be efficiently generated. Support business monitoring By analyzing the business data, the complete data at the time of the user request can be restored to find the performance problem. Problem scene recovery The probe can obtain data such as exceptions within the program and is aggregated over the full link. Without looking at the logs, you can quickly understand the possible failure of the program. Abnormal perception When a failure occurs, it can be clearly determined whether the problem is affected by the program or nginx. Abnormal network equipment perception Full-link tracking can support load balancers such as Nginx and Apache. If the load balancer has a problem, it can be discovered. Load balancing awareness When there is a situation such as code dead lock, it can be pre-alarmed according to the preset warning time. Business suspended animation warning
  • 48. User granularity fault location Full data distributed tracking Prior warning reduces the failure rate Suitable for container environment Advantage
  • 49. AVG :217ms AVG :328ms AVG:125ms AVG:23ms AVG:27ms AVG:287ms AVG :0.95ms AVG:0.40ms Slow Method Slow Method Slow Method Calling Slow SQL Average Error Rate:11.5% Core application
  • 50. 1, As is shown above, the request response time is 2.8s; 2. The request invokes the method shown above, where the slowest method call performed 2.7s, and slow method calls are the main reason for the slow response. Slow method
  • 51. 1、Under normal circumstance, the response time of this request is fast (82.76ms) 2、In the abnormal case, the response time is: 58.7s. Obviously, it can be seen in the topology. The reason for the slow response is that many other applications are invoked. The average interface response time is >5S. The call relationship is complicated and the interface call is slow. It is the main reason for slow response. Method and call exception
  • 52. 1, The request response time is 16.7s; 2. Database connection: 12 times, response time: 15.0s, database connection consume too much time is the main reason for this slow response Database connection problem
  • 53. 1, As is shown above, the request response time is 2.40s; 2. The request executes the above SQL. The SQL executes 2.12s, and the slow execution of the SQL is the main reason for this slow request Slow SQL