This document discusses the importance of performance testing and provides an introduction to the topic. It notes that performance testing determines how a system behaves under different loads and helps identify bottlenecks. The document outlines why performance testing is important from a user experience perspective, discussing metrics like page load times and the financial costs of poor performance. It then covers various performance testing approaches, targets, levels, and common metrics used to evaluate performance.
Functional testing vs non functional testing | Difference Between Functional ...Intellipaat
In This Video We know about what are the difference between Functional and Non Functional Testing in details.
Link : ‘ https://www.youtube.com/watch?v=v9fSH2nAxks ‘
Infographic: Importance of Performance TestingKiwiQA
Performance testing help to establish the scalability, speed, and stability of apps. It includes numerous testing types that simulate user scenarios and analyze app performance.
To learn more about performance testing, visit: https://www.kiwiqa.com/load-performance-testing.html
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
1. O documento discute testes de software, incluindo princípios, ferramentas e carreiras.
2. São apresentados os motivos para testar software, como evitar defeitos e aumentar a satisfação dos clientes.
3. São descritos os níveis, tipos e técnicas de teste de software, assim como ferramentas comuns de teste e oportunidades de carreira na área.
This document provides an overview and introduction to testing Android apps with Espresso:
- Espresso is a testing framework created by Google for writing reliable UI tests for Android apps. It allows writing tests to interact with views in the app and check their expected behavior.
- The core components of Espresso include matchers to find views, actions to perform interactions, and assertions to validate views match expected states. Common matchers, actions, and assertions are introduced.
- Configuration and setup for Espresso tests in Android projects is explained, including dependencies, test rules, and JUnit annotations. Additional libraries that extend Espresso functionality are also listed.
This document discusses performance testing and provides information on several related topics:
- It defines performance, load, and stress testing and explains their differences.
- It outlines why performance testing is important, when it should be conducted, and what aspects of a system should be tested.
- The performance testing process is described as involving planning, creating test scenarios and scripts, running tests, monitoring tests, and analyzing results.
- Automated performance testing is presented as more effective than manual testing due to issues with resources, coordination, and repeatability when using human testers.
In this presentation which was delivered to testers in Manchester, I help would-be performance testers to get started in performance testing. Drawing on my experiences as a performance tester and test manager, I explain the principles of performance testing and highlight some of the pitfalls.
This performance test plan outlines objectives to compare the responsiveness and resource utilization of a current production system and a new proposed production system. It defines the scope, dependencies, and risks. Tools like JMeter and PerfMon will be used to execute load tests on the systems and analyze results. Performance testing activities include installing tools, implementing tests, executing tests at typical loads, monitoring results, and delivering a test plan, results, and metrics.
The document provides an introduction and overview of performance testing. It discusses what performance testing, tuning, and engineering are and why they are important. It outlines the typical performance test cycle and common types of performance tests. Finally, it discusses some myths about performance testing and gives an overview of common performance testing tools and architectures.
This document discusses performance testing and tools for performance testing like JMeter. It provides details on how JMeter can be used to perform load testing and performance testing on different protocols. It outlines the steps to build test plans to test the performance of web applications and databases using JMeter including adding users, requests, listeners and more.
A test plan is a document that describes the scope, approach, resources, and schedule of intended software testing activities. It follows a strict structure defined by IEEE standards to ensure all aspects of testing are covered. A test plan identifies test items, features to be tested, approach, pass/fail criteria, deliverables, risks, staffing needs, schedule, and approvals. Developing thorough test plans is essential for efficient and effective software testing.
Shift Left & Shift Right Approach in TestingRiswan
Shift Left Testing Approach uses information from the business requirements to start the testing process. This includes using the list of requested features to create test cases, expected transaction volume as targets for performance testing, and business priority to prioritize test case execution.
Shift Right Testing Approach uses operational information to start the testing process. This includes using complaint data to enrich regression test cases with the most complained about features and existing revenue data to prioritize test execution.
Both Shift Left and Shift Right approaches are used together in testing to improve test quality by starting with different types of early input information.
Manual testing is the process of manually testing software for defects by playing the role of an end user and using all features of the application to ensure correct behavior, following a written test plan. The document discusses various concepts related to manual testing including software quality assurance, verification, validation, software life cycles, testing techniques like black box testing and white box testing, unit testing, alpha testing, beta testing, system testing, volume testing, stress testing, and security testing. It provides brief definitions and purposes of these concepts.
This Hands-on Agile webinar addresses the agile maturity and a possible agility assessment of organizations before the start of an agile transition.
Moreover, learn about the survey results what indicates an agile organization, whether agile maturity is a fad, and what the open source project of the ‘Agility Assessment Framework’ is about.
BLOG: https://age-of-product.com/webinar-agile-maturity/
YOUTUBE: Tba.
Performance testing refers to test activities that check a system's performance under different workloads. The objectives are to validate performance requirements, check current capacity, and identify performance issues. Performance problems can include memory leaks, inefficient algorithms, and hardware/software incompatibilities. Key aspects of performance tested are response time, throughput, stability, availability, and speed. Common types of performance testing are load testing, stress testing, endurance testing, spike testing, volume testing, and availability testing.
The document summarizes the results of performance testing on a system. It provides throughput and scalability numbers from tests, graphs of metrics, and recommendations for developers to improve performance based on issues identified. The performance testing process and approach are also outlined. The resultant deliverable is a performance and scalability document containing the test results but not intended as a formal system sizing guide.
Lean Enterprise Transformation: The Journey Inside Large Organizations, Sonja...Lean Startup Co.
Large enterprises facing disruption struggle to transform quickly enough—from becoming more innovative to improving processes, culture, and ways of working. Transformation programs are often linear, multi-year engagements not focused on continuous learning and improvement. In this workshop, Sonja Kresojevic will share lessons learned from an award-winning Lean Enterprise transformation program at Pearson that will enable you to kick off and significantly accelerate your own organization's Lean Enterprise journey. She will uncover how proven approaches embodied in Lean Startup, Agile, and Adaptive Portfolio Management can be combined into a single cohesive framework that can serve as catalyst for powerful shifts in your organization.You will leave the workshop with an example of transformation roadmap ready to stimulate wide-ranging conversations and drive focused action, as soon as you return to your office.
QualiTest provides load and performance testing services to determine a system's behavior under normal and peak load conditions. Their testing process identifies maximum operating capacity and elements that cause degradation. They ensure applications can handle predicted traffic volumes. QualiTest uses various load testing tools and methodologies to simulate real-world usage and stress test systems. Their testing delivers reports on defects, tool evaluations, and ongoing support for quality improvement.
O documento discute testes E2E (do início ao fim) usando Cypress com JavaScript. Cypress permite testar aplicativos de forma completa simulando o ambiente real sem precisar de múltiplas ferramentas como com Selenium, e oferece recursos como execução no mesmo ciclo da aplicação, acesso às partes front-end e back-end, testes em JavaScript e integração contínua.
APIs are transforming the world at an increasing pace. Every day several APIs are developed and adapted based on the needs of the organizations. With the usage of these APIs, developers can create quality applications.
As a Tester, you might be covering the exhaustive functional Testing of your APIs.
Your APIs might be working as designed on a normal day. How about there’s a sale or any worldwide changes which cause an unexpected number of API calls? Probably your APIs should handle it. But will it work? That’s why we need performance testing.
An inefficient API could lead to a slow-running application and will lose potential users. Most performance problems revolve around speed, response time, load time, and poor scalability. Speed is often one of the most important attributes of an API.
Some might be wondering what are tools available for performance testing of our APIs. There are plenty of tools available. I will be demonstrating a few important types of performance testing to be done for your APIs before moving into Production.
Talk Takeaways
Importance of Performance testing for APIs
Types of Performance testing to be focused on your APIs
Demo with a few tools open-source tools
Analysis of the Performance Test reports
This presentation includes:
- Why performance matters for digital businesses?
- Use Cases for performance / load testing
- Load Test Design Considerations
- Tools and Technologies
- Methodology and Approach
- Activities and Deliverables
- Load Testing Success Stories
Load Testing Best Practices: Application complexity is increasing, yet the stringent requirements for web performance is increasing exponentially. Learn more about the three major types of load testing, determine which you need and how to conduct them.
July webinar l How to Handle the Holiday Retail Rush with Agile Performance T...Apica
In this Q&A-style webinar, you'll learn:
1. How and why to load test at least three months prior to the holidays
2. How to integrate CI/CD into your holiday load testing
3. How to determine and evaluate load curves
Performance testing is done to determine a system's responsiveness under different loads. It aims to optimize user experience. Types of performance testing include load, stress, soak/endurance, volume, scalability, and spike testing. The goals are to assess production readiness, compare platforms, evaluate configurations, and check against criteria. Pre-requisites include a stable test environment similar to production. The testing process involves establishing baselines and benchmarks, running tests, and analyzing results to identify bottlenecks and decide on fixes. Common issues relate to servers, databases, networks, and applications. Optimization involves improvements, upgrades, and tuning. Challenges include setting up the test environment and analyzing large amounts of test data.
[Webinar] Getting Started with Performance TestingMaharshi Shah
The document discusses the importance of performance testing applications. It notes that 47% of consumers expect a page to load within 2 seconds and 40% will abandon a site that takes over 3 seconds to load. Performance testing is important when high loads are expected, large data volumes are involved, or applications feel sluggish. An example performance testing project is described that aims to support 4000 users with responses under 5 seconds and conduct stress testing. Key aspects of performance testing like load testing, tools, test planning, analysis and best practices are also covered.
The document discusses performance testing and provides details about:
1) The objectives of performance testing including validating requirements, checking capacity, and identifying issues.
2) The differences between performance, load, and stress testing.
3) Why performance testing is important including checking scalability, stability, availability, and gaining confidence.
4) Parameters to consider in performance testing like throughput, latency, efficiency, and degradation.
5) Potential sources of performance bottlenecks like the network, web server, application server, and database server.
When addressing website performance issues, developers typically jump to conclusions, focusing on the perceived causes rather than uncovering the real causes through research.
Mitchel Sellers will show you how to approach website performance issues with a level of consistency that ensures they're properly identified and resolved so you'll avoid jumping to conclusions in the future.
You can watch the webinar recording here:
https://www.postsharp.net/documentation/video?id=190066128
1) Traditional load testing is limited in its ability to accurately measure end-user experience and identify issues with third-party components.
2) Load testing 2.0 uses real user testing from geographically distributed locations to more realistically drive large volumes of load and uncover regional response time discrepancies and external errors.
3) An online retailer used load testing 2.0 to identify that a third-party component was insufficient under load, affecting the performance of their overall application.
Are You Ready For More Visitors Cognizant Gomez Jan20Compuware APM
1) Traditional load testing is limited in its ability to accurately measure end-user experience and identify issues with third-party components.
2) Load testing 2.0 uses real user testing from geographically distributed locations to better understand regional response times and external factors that impact performance.
3) A case study showed that load testing 2.0 uncovered poor response times for key revenue regions that traditional load testing failed to detect.
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingApica
Best Practices for Successful Holiday Readiness Testing: Are you already thinking of, and planning for Black Friday? Learn which load tests to use and why to load test early and often so that you are prepared for the holidays.
- JMeter is an open source load testing tool that can test web applications and other services. It uses virtual users to simulate real user load on a system.
- JMeter tests are prepared by recording HTTP requests using a proxy server. Tests are organized into thread groups and loops to simulate different user behaviors and loads.
- Tests can be made generic by using variables and default values so the same tests can be run against different environments. Assertions are added to validate responses.
- Tests are run in non-GUI mode for load testing and can be distributed across multiple machines for high user loads. Test results are analyzed using aggregated graphs and result trees.
Best Practices In Load And Stress Testing Cmg Seminar[1]Munirathnam Naidu
The document discusses best practices for performance testing. It provides an overview of the typical performance testing process, including defining goals, planning tests, scripting tests, executing tests, analyzing results, and delivering findings. It also discusses considerations for choosing testing tools and resources as well as common pitfalls to avoid, such as not testing, poor planning, relying on customers to find issues, using the wrong tools, and failing to properly isolate variables.
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Prolifics
Abstract: Recent projects have stressed the "need for speed" while handling large amounts of data, with near zero downtime. An analysis of multiple environments has identified optimizations and architectures that improve both performance and reliability. The session covers data gathering and analysis, discussing everything from the network (multiple NICs, nearby catalogs, high speed Ethernet), to the latest features of extreme scale. Performance analysis helps pinpoint where time is spent (bottlenecks) and we discuss optimization techniques (MQ tuning, IIB performance best practices) as well as helpful IBM support pacs. Log Analysis pinpoints system stress points (e.g. CPU starvation) and steps on the path to near zero downtime.
PS provides metrics on user experience for pages on mobile and desktop. It offers both lab and field data, with lab data from a controlled environment useful for debugging, and field data capturing real-world user experience. Field data comes from Chrome User Experience Report and includes metrics like First Contentful Paint. Lab data uses Lighthouse to analyze pages for performance and other categories like accessibility. Field and lab data can differ due to variability in networks, devices, and other conditions between real users and simulations.
Similar to Микола Ковш “Performance Testing Implementation From Scratch. Why? When and How?” (20)
Що ми будемо робити на вебінарі? Ми розберемо такі явища
✅ як нарцистичний розлад особистості,
✅ грандіозний нарцисизм,
✅ газлайтинг,
✅ знецінення,
✅ гойдалки вина-лють-вина,
✅ нарцистичне розширення,
✅ бомбардування любов’ю,
✅ мімікрування,
✅ створення ілюзорного майбутнього,
✅ контроль,
✅ спалахи гніву,
✅ вгадування майбутнього,
✅ вибір перебором, трошки хлібчика, щоб не подох,
✅ відштовхування/кидання/блокування,
✅ покарання мовчанням.
МАНІПУЛЯЦІЇ: ХТО КОГО І ДЛЯ ЧОГО? - Інна ТіторенкоDakiry
ВЕБІНАР: "МАНІПУЛЯЦІЇ: ХТО КОГО І ДЛЯ ЧОГО?":
Що таке маніпуляції?
Які бувають види маніпуляції, як їх відрізнити?
Хто і чому маніпулює?
Чи добре чи погано маніпулювати?
І звичайно, як їм протистояти?
Під час доповіді поговоримо про участь бізнес-аналітиків і розкриємо основні складові discovery workshop:
- Організація. Коли проведення воркшопу, окрім стартової фази, є максимально ефективним?
- Підготовка. Як почати з нічого і якісно підготуватись до воркшопу у стислі терміни?
- Проведення: Workshop Do’s and Don’ts. Приклади технік і вправ, а також приблизний план самого воркшопу.
- Оформлення кінцевих результатів або презентації, що запам’ятовуються
З понеділка йду на новий ��роект. The tester’s version - Олександра ЗубальDakiry
З понеділка йду на новий проект. The tester’s version - Олександра Зубаль:
- Коли тестувальнику починати тестувати? Очікування VS реальність
- Новий проєкт. Шо робити?
- Старий проєкт, але змінюється тестувальник. Шо робити?
- Як все зібрати докупи, розкласти по поличках і почати нормально спати ночами?
Oleh Shpyrna "Security Testing Basics: Check your Webapp for gaps before l_unch"Dakiry
This document provides an overview of security testing basics. It discusses adding security checks to testing by following best practices like the OWASP Top 10. The agenda includes who penetration testers are, integrating security into the SDLC, and basic tools for security testing like BurpSuite and Nmap. Common issues covered include injections, cross-site scripting, and insecure design. Resources are provided for training like PortSwigger Web Security Academy and HackTheBox.
Oleksandra Zubal "Project starters: test automation view"Dakiry
This document discusses test automation and the fundamental testing process. It covers the typical stages of testing including planning, monitoring and control, analysis and design, implementation and execution, and completion. Other sections provide overviews of typical industry domains for testing, considerations for planning like budget and dependencies, and important aspects of testing like goals, methodology, documentation and reporting, tools, and ensuring quality. The overall message is the importance of establishing a thorough and well-executed testing process to deliver high quality products and services.
Vladyslav Romanchenko "How to keep high code quality without e2e tests"Dakiry
This document discusses how to test React and Redux applications without end-to-end tests. It recommends using unit and integration tests instead to test individual components and functions. It provides examples of how to test helper functions, action creators, reducers, selectors, and component rendering and interactions using Jest and libraries like Enzyme. Key steps include mocking dependencies, dispatching actions, and asserting on output or UI states. Following these techniques allows testing isolated pieces and catching errors early without relying on unstable end-to-end tests.
Діана Пінчук "Як відрізнити авторизацію від аутентифікації та перестати бояти...Dakiry
Authentication (AuthN) is the process of verifying a person's identity, while authorization (AuthZ) determines what resources that person can access. AuthN uses factors like passwords, tokens, and biometrics to confirm someone is who they say they are. AuthZ implements access controls based on attributes, roles, rules or policies to govern resource permissions. Identity and access management (IAM) combines AuthN and AuthZ with user management to provide the right access to the right individuals. When testing, it is important to distinguish AuthN from AuthZ and understand how each can be exploited through vulnerabilities like weak credentials, authorization bypass, or privilege escalation.
Yuriy Malyi "E2E testing organization in multi-system projects"Dakiry
The document discusses end-to-end (E2E) testing organization for multi-system projects. It addresses determining team roles and responsibilities, defining the testing process and bug workflow, analyzing environments, and outlining steps for organizing E2E testing for project drops or releases. The presentation provides diagrams of user story and environment workflows and recommends getting an overall project picture, setting quality gates at each stage, and preparing test cases and environments to ensure smooth project drops or releases.
Petro Tarasenko "You've become a TL. What's next?"Dakiry
The document provides advice for a new QA team lead on next steps. It suggests creating a solid plan that addresses current challenges, future vision, timeline, and key performance indicators. The plan should be shared with key stakeholders like testing team, managers, developers, and product teams. It also emphasizes learning about priorities, challenges, and allies/detractors. Finally, it advises rehearsing the plan to concisely convey necessary information to busy managers.
Maryna Shulga "Mission Impossible. Впровадити тест процеси, якщо ніхто цього ...Dakiry
This document discusses an individual who is a test manager and provides various training services including QA fundamentals courses, ISTQB certification courses, and corporate soft skills training. It also mentions their work in industries such as healthcare, retail, and infrastructure. The document then discusses objections that can come up during presentations and how to address objections by turning them into benefits or requests for more information. It emphasizes that objections are not rejections but buying signals and opportunities to provide additional details.
QA manager Alona Tudan discusses her experience in QA and her dream of working with Microsoft Azure. She provides an overview of how to analyze logs and track failures on Azure using analytics queries. Tudan also demonstrates how to send and receive messages from Azure queues and topics using manual tools like Azure Storage Explorer and automated testing with Java code.
Family/Indoor Entertainment Centers Market: Regulation and Compliance UpdatesAishwaryaDoiphode3
The global family/indoor entertainment centers market is valued at US$ 41 Bn in 2022 and is projected to exhibit growth at a CAGR of 12.2% and reach US$ 130 Bn by the end of 2032.
Local SEO Strategies: Dominate Local Search with Effective SEO TacticsWoospers
Local SEO has grown in importance in today's digital environment for companies trying to draw clients from their target region. If you want to take your local SEO to the next level, work with Woosper to maximize the potential of your online presence.
kalyan panel chart, sattamatka chart, satta matka charts, satta matka full chart, kalyan panel chart 2024, satta matka matka chart, satta matka penal, matka panel chart, matka kalyan panel main panel chart, Matka - Satta Batta SATTA MATKA-KALYAN PANEL CHART | KALYAN MATKA | KALYAN RESULT | KALYAN CHART | KALYAN SATTA | KALYAN SATTA MATKA | KALYAN PANEL CHART | KALYAN MATKA LIVE RESULT | KALYAN LIVE | SATTA MATKA | MATKA RESULT | ALL MATKA RESULT | MAIN BAZAR MATKA | MAIN BAZAR RESULT | MAIN BAZAR CHART | RAJDHANI CHART RAJDHANI NIGHT CHART | RAJDHANI NIGHT | SATTA MATTA MATKA 143 | MATKA 420 | MATKA GUESSING | SATTA GUESSING | MATKA BOSS OTG | INDIAN MATKA | INDIAN SATTA | INDIA MATKA | INDIA SATTA | MATKA | SATTA BATTA | DP BOSS | INDIA MATKA 786 | FIX FIX FIX SATTA NAMBER | FIX FIX FIX OPEN | MATKA BOSS 440
Satta Matka, Kalyan Matka, Satta , Matka, India Matka ,Satta Matka 420, Satta Matka Guessing, India Satta,Matka Jodi Fix ,Kalyan Satta Guessing, Fix Fix Fix Satta Nambar,Kalyan Chart, Kalyan Panel Chart, Kalyan Jodi Chart,Satta Matka Chart,Satta Matka Jodi Fix, Indian Matka 420 786,Satta Matta Matka 143, Satta Matta Matka-satta matta matka 143,satta matta matka 420,satta matta matka fix open matka 420 786 matka 420 target matka Sona Matka 420 final ank time matka 420 matka boss 420 fix satta matta matka Kalyan panel chart kalyan night chart kalyan jodi chart kalyan chart
Dp Boss ,Satta Matka ,Indian Matka, Kalyan Matka,Matka 420,Satta Matta Matka 143 , Matka Guessing, India Matka, Indian Satta, Dp Boss Matka Guessing India Satta
Kalyan Panel Chart ,Kalyan Matka Panel Chart ,Kalyan Jodi Chart Kalyan Chart Kalyan Matka, Kalyan Satta Kalyan Panna , Patti Chart, Kalyan Guessing
Analyze the idea behind Binance KYC Bypass and compare it to the KYC policies of other cryptocurrency exchanges. Find out about the dangers of trying to bypass KYC and the verification procedure.
Game Product Manager VS Product Manager.pdfshohreesmaili1
Hi guys!
To do the first things first, I have to introduce myself and my background, and we need an explanation for the reason and incentive behind this summary presentation and the series of articles that may follow for more details. I am a game designer with a focus on economy design. After some years of working in game design, I felt the most inspiring thing for me is seeing an increase in a graph (of course, not the churn graph). The combination of this with a focus on features and their results and the needs of the game led me toward becoming a product manager.
At first, I started reading about product managers' roles, responsibilities, daily routines, and most importantly, the methods they use for fulfilling their responsibilities. Initially, I tried to implement these methods in our structure, but the deeper I delved into gaming product management, the more methods I found that needed to change to achieve the best results. After some time, I realized that having knowledge of how product managers in application products operate is necessary but not sufficient to call oneself a game product manager.
Of course, they invented the wheel, special thanks to them, but the fact is that we do not have a car; we have bicycles or airplanes! So, the same wheel does not work for us! In this series of articles, I want to describe how things are different when playing the role of a PM or GPM, what you need to know, and what are not our primary challenges. How to become a GPM after discussing the pros and cons of being a PM or GPM. If you are going to choose between one of them, you can stop reading this and choose PM! But if you are passionate about becoming a GPM, I suggest you read these, then take a deep breath, make your final decision, take your sword, and be ready to face dragons, without knowing how to use the sword!
In the high speed and serious universe of worldwide business, having the right administration group is fundamental for progress. International executive recruiters representatives assume an imperative part in assisting organizations with recognizing, draw in, and hold top leader ability for their worldwide development endeavors. Their profound comprehension of worldwide business sectors, broad organizations, and skill in cross-line enlistment guarantee that organizations can with certainty explore the intricacies of global employing and construct major areas of strength for a group that drives manageable development and achievement.
Guide to Obtaining a Money Changer License in SingaporeEnterslice
Obtaining a Money Changer License in Singapore involves thorough preparation and adherence to regulatory guidelines. Applicants must submit a detailed business plan, demonstrate financial stability, and fulfill stringent anti-money laundering requirements. The Monetary Authority of Singapore (MAS) carefully evaluates each application to ensure compliance with regulatory standards before granting the license.
More Information:- https://enterslice.com/sg/money-changer-license-in-singapore
Travel Tech Pitch Deck | ByeByeCity,com - Short Breaks Discovery & Booking Pl...Rajesh Math
ByeByeCity.com is a platform where users can discover and book short breaks by using the only web booking engine in India which uses advanced algorithms to sell Non-Standardised Travel Inventories. It is aggregating a fragmented market to build the long tail of the Travel Market.
ADANI WILMAR PREDICTS GROWTH IN ITS SALES VOLUME THIS FISCAL YEAr.pptxAdani case
Adani Group will surpass these figures and experience a more significant increase in the price value. This will give the conglomerate’s business excellent exposure. It will also be able to recover from the struggle that the company was suffering after the Hindenburg Report Adani.
5. 5
Skills | Knowledge | Collaboration
Why performance testing is important
✓ 50% of frustrated users will visit another
website to accomplish their activity and 22%
won't return.
✓ 49% of respondents expect web pages to
load in under 2 seconds.
✓ 30% expect a 1-second response.
✓ 18% expect a site to load immediately.*
* http://docplayer.net/29696161-Performance-matters-key-consumer-insights.html
6. 6
Skills | Knowledge | Collaboration
From user perception point of view
What is a fast web-side?
< 1 second very fast
< 2 seconds quite fast
2-4 seconds acceptable
5-15 seconds slow
>15 seconds too slow
* https://www.hobo-web.co.uk/your-website-design-should-load-in-4-seconds/
8. 8
Skills | Knowledge | Collaboration
How smartphone users react to slow web-sites
Curse at their
phone, 23%
Scream at
their phone,
11%
Throw their
phone, 4%
Behave more
or less
normally,
62%
9. 9
Skills | Knowledge | Collaboration
Cost of poor performance
* http://www.webperformancetoday.com/2010/06/15/everything-you-wanted-to-know-about-web-performance/
If your average sales per hour is
$5,000
1 minute of downtime is
costing over $80
then
10. 10
Skills | Knowledge | Collaboration
Cost of poor performance
A 1-second page load delay equals*:
* http://www.webperformancetoday.com/2010/06/15/everything-you-wanted-to-know-about-web-performance/
16 % decrease in customer
satisfaction
11 % fewer page
views
7 % loss in
conversions
11. 11
Skills | Knowledge | Collaboration
Cost of poor performance
For example:
✓ John Lewis’s website went down around 3.20 pm on Black Friday - analysts estimated it could
cost £ 2.8m pounds.
✓ Web giant like Amazon would lose as much as $120 000 per minute of downtime.
✓ Microsoft Bing found that a two-second slowdown caused a 4.3 percent reduction in
revenue per user.
✓ Website Shopzilla reduced page load times from 7 seconds to 2 seconds, resulting in a 7–12
percent increase in revenue and 50 percent reduction in hardware costs.
* http://www.webperformancetoday.com/2010/06/15/everything-you-wanted-to-know-about-web-performance/
12. 12
Skills | Knowledge | Collaboration
When performance testing is needed
✓ The solution is already struggling from performance
problems.
✓ The solution have to deal with big amount of concurrent
users presently or in future (~ 300-500 concurrent users and
higher).
✓ The solution have a large database or should transfer or
process big amount of data in real time (~ 10 and more
concurrent users).
✓ The solution has complex architecture and a lot of internal
and external integrations running concurrently.
14. 14
Skills | Knowledge | Collaboration
✓ Performance Testing - the process of testing to determine the
performance of a software product (ISTQB Foundation).
✓ Performance testing – is a non-functional software testing technique
which determines responsiveness, stability, reliability and resource
usage of system under a certain user load (Wikipedia).
✓ Web load testing is nothing more than exercising a website under a
variety of production-like conditions to determine how it’s going to work
and to identify (and hopefully resolve) problems before your customers
find them (WebLoadTestingForDummies).
Performance testing. Definition
15. 15
Skills | Knowledge | Collaboration
Determine responsiveness, stability, reliability and resource usage of system
under a certain user load
Demonstrate that the system meets performance criteria (KPIs)
Compare different system configurations and versions to evaluate
performance improvement/degradation.
Performance trends tracking during the time
Determine system behavior under different load
Evaluate the system capacity
Scalability. Determine ability of a system to handle a growing amount of workload
Prepare the application for planned load (e-commerce: Black Friday, Marketing
Campaign. Finance: quarter/annual reporting, etc.)
Find which components of the system perform poorly under certain workload
Goals of performance testing:
16. 16
Skills | Knowledge | Collaboration
Slow sub-systems / functions (poor response)
Low capacity point
Configuration problems (web-server,
load balancers, db etc)
Dead-lock while simultaneous load
Flawed queue logic
Incorrect synchronization of recourses
Database issues e.g. size, indexing, replication
Memory, space and connections leaks
Poor network configuration
CPU, Memory utilization
Functionality bugs (how system should behave under overload, others).
Performance bottlenecks:
17. 17
Skills | Knowledge | Collaboration
Functional & Performance testing comparison
# Functional testing Performance testing
1
To verify the accuracy of the system against
expected results
To verify the behavior of the system at various
load conditions
2 Manual or automated Automated only
3 Could be done without special tools
Special set of tools is used including analyzing
and monitoring ones
4 One user performing all operations Several users performing desired operations
5
Involvement required from Customer, Tester
and Developer
Involvement required from Customers, Tester,
Developer, DB admins, DevOps
6
Test environment capacity/size could differ
from Production
Requires close to Production Test
environment!!!
based on: http://www.softwaretestinghelp.com/introduction-to-performance-testing-loadrunner-training-tutorial-part-1/
24. 24
Skills | Knowledge | Collaboration
Types of Performance Testing (load profiles)
Stress/Capacity test
Max Designed Operation Capacity
Volume test
8-72 hours or longer
+ Component Test
+ Reliability /
Recovery Test
Server-side performance
26. 26
Skills | Knowledge | Collaboration
Client-side performance testing - testing of one separate page load from client/browser side
Client-side Performance
27. 27
Skills | Knowledge | Collaboration
More detailed process of page load
Client-side Performance
28. 28
Skills | Knowledge | Collaboration
First thing the user sees
Client-side Performance
29. 29
Skills | Knowledge | Collaboration
Visual Experience
Client-side Performance
1. First Paint 2. First Contentful Paint
3. First Meaningful Paint 4. Visually Complete
based on: https://www.slideshare.net/nicjansma/measuring-real-user-performance-in-the-browser
31. 31
Skills | Knowledge | Collaboration
1. Run client-side performance of the page when there is 0 load.
2. Set performance metrics baselines based on step 1
3. Run client-side performance when there is different load on the server –
during Capacity/Load/Spike etc. tests
4. Compare results with baselines, analyze and summarize possible issues
Flow we suggest:
Client-side Performance
33. 33
Skills | Knowledge | Collaboration
Load testing metrics (synthetic monitoring)
Application-side Server-side
- Response time
- Throughput (rps/tps/tpm)
- Concurrent users
- Error rate (response code)
- Number of transactions passed/failed
- Network traffic
- CPU
- Memory
- Network
- Disk
- DB connections
- Logs error, warnings
34. 34
Skills | Knowledge | Collaboration
Response time = Latency (travelling across a network) + Processing time (system processing
of request)
• Average response time
• Peak response time (max)
• Response time with 95% or other percentile
Response time
Application-side metrics
35. 35
Skills | Knowledge | Collaboration
Throughput - how many simultaneous
requests/transactions per second/minute application can
handle
Note:
TPS could correlate with response time if requests are
consequent. The longer response – the lower tps
TPS does not correlate directly with response time if
requests are parallel.
consequent > 1 request – 1 sec response – 1 tps
parallel > 10 requests – 1 sec response – 10 tps
TPS could be improved by improving response time or
by increasing concurrent users
Throughput (rps/tps/tpm)
Application-side metrics
36. 36
Skills | Knowledge | Collaboration
Network traffic, Response codes, Error rate
Application-side metrics
Network traffic – shows how much data is flowing back
and forth from your servers (Kbytes or Mbytes / sec).
We can compare this metric to the response-time metric
to see how the throughput affects transaction
performance.
Error rate – is the mathematical calculation that
produces a percentage of problem requests compared to
all requests.
It is no standard for tolerable error rate. Some projects
consider 1% error rate successful in case the system can
handle maximum load without crash. Others consider
any errors. Still, few errors is not uncommon, especially
for large load.
37. 37
Skills | Knowledge | Collaboration
• You can monitor server-side metrics directly on the server (Linux, Windows)
• You can automate this process creating some monitoring agent to track metrics
• You can use one of monitoring tools:
- CloudWatch (Amazon)
- AppDynamics
- DynaTrace
- NewRelic
- Graylog, etc.
Server-side monitoring tools
*In addition to the server metrics monitoring during the load test (synthetic monitoring), monitoring tools allow
Real User Monitoring (RUM).
RUM is a type of performance monitoring that captures and analyzes each transaction by real users of a website or
application. Unlike synthetic monitoring, RUM never rests. It collects data from each user using every browser
across each request.
39. 39
Skills | Knowledge | Collaboration
Strong load testing tools should be able
Traffic recorder
Have IDE (console or GUI) which allows:
a) Create Requests of required protocol (HTTP, HTTPs, WS, WSS, JDBC, TCP, AJAX, etc.)
b) Support Transactions – to track time for all static data loading / redirections
c) Create Load Scenarios with ability of parametrization
d) Build different Load Profiles with rump-up and shut-down
e) Have debugger
Load runner engine
Distributed testing
Load test data saving (distributed), including client and server-side metrics
Load test data monitoring in real time
40. 40
Skills | Knowledge | Collaboration
- JMeter
- Gatling
- Locust
- The Grinder
- Apachebench
- Artillery
- Tsung
- Vegeta
- Siege
- Boom
- Wrk
Open source load testing tools
According to Load Impact tools comparison research*:
JMeter, Gatling, Grinder, Tsung and Boom all offer good performance, accuracy and reliability
Artillery, Locust and Siege have various issues with performance, accuracy and/or reliability
Performance-wise, Wrk and Apachebench are in a class of their own
NOTE: None of the tools tested can simulate thousands of VUs on a single machine without significant
degradation in measurement accuracy
* http://blog.loadimpact.com/open-source-load-testing-tool-benchmarks
45. 45
Skills | Knowledge | Collaboration
1. Planning
Identify Performance Acceptance Criteria and KPIs
• Response time for different type of transactions -> a user concern
• Throughput (tps/rps) -> a business concern
• Resource utilization -> a system concern
• Concurrent users number
• Accepted Error rate
• Accepted deviation for response time, resource utilization
• System behavior when overloaded
46. 46
Skills | Knowledge | Collaboration
1. Planning
Performance requirement analysis
Bad sample of requirements:
1. Response time should be no more than 4 seconds
2. System should be able to deal with 10 thousands
concurrent users
It is not clear whether:
• Response time should be 4 seconds for all requests?
• What if all response time will be 3.99 seconds?
• What if most request will response with 2 seconds but several with 6 seconds?
• What users do and how often? Open Main page or more?
• What if more than 10 ths. users? System should scale, or new users will be rejected or response time
just increases?
47. 47
Skills | Knowledge | Collaboration
1. Planning
Performance requirement analysis
Good sample of requirements:
1. Set average response time for different types of transactions:
• Simple navigation requests - 1 second
• Logging - 2 seconds
• Search and buy - 4 seconds
2. Set deviation - no more than 15%
3. Set failure rate - no more than 1%
4. Set CPU, memory, network, other server-metrics thresholds
5. Set response times, deviation, server-side metrics for different number of users - for
1k, 5k, 10k
6. System should reject new users in case of overload, showing informing message
48. 48
Skills | Knowledge | Collaboration
1. Planning
Identify the Test Environment
• Identify the logical and physical production architecture for performance testing
• Compare the both test and production environments while identifying the testing environment
TEST environment MUST BE the same as PROD (or run tests on PROD)
• Get resolve the environment-related concerns if any – using stabs for 3-rd parties or others
• Analyze whether additional tools are required for performance testing, like monitoring tools. Install such
tools.
Identify scope of load testing (product parts, 3-rd party services in/out of scope)
Identify technical nuances
• Scheduling services?
• Ping calls
• Client’s internet connection speed?
• Static content hosting: CDN or own servers?
• Target region (USA, Europe, etc.)?
49. 49
Skills | Knowledge | Collaboration
1. Planning
Plan and Design Tests
• Identify key usage scenario and workload (Load, Capacity, Spike, etc.)
• Define test data
• Establish metrics to be collected
What transactions to include:
1. Critical transactions
Example: System login, session support
2. Mostly used transactions by real users
Example: System login/logout, main page
3. Business required
Example: some specific feature
4. Risky transactions
Example: Checkout, payment
5. Heavy transactions
Example: File download/upload
50. 50
Skills | Knowledge | Collaboration
User Community Modeling Language (UCML) for Performance Test Workloads
1. Planning
51. 51
Skills | Knowledge | Collaboration
Prerequisites solving
1. Planning
• Add your load generator machine IP(s) into whitelisting (if needed)
• Request test users or create them by yourself
• Request test data (products names, files, etc.)
• Request 3-rd party dependent data (payment cards, etc.)
Configure load-generation environment
The output of this stage is prepared Performance Test Plan
• Environment capacity (CPU, memory) should be enough to run required number of users during
some time
• Setup Master-Slave architecture in case of distributed load testing
• Setup monitoring tools to track load server(s) health during tests running
52. 52
Skills | Knowledge | Collaboration
2. Implementing
• Develop performance scripts
• Put assertions points and wait timers to make it a real time scenario
• Run several smoke runs to calibrate scripts to the target environments in accordance with test design
Simulate real users behavior basing on Production usage statistic
53. 53
Skills | Knowledge | Collaboration
3. Executing
It very depends on a project, but still we can suggest next
How to choose and run correct load profiles
54. 54
Skills | Knowledge | Collaboration
0. Warm up your product servers before load tests run
- Run some short smoke load test for several users
3. Executing
55. 55
Skills | Knowledge | Collaboration
1. Run several baseline Load tests to determine benchmark performance metrics
levels:
- virtual users: 5-100
- duration: 30-60m
- rump-up – 10m; run – 20m; shutdown – 5m
!!! Run each test at least 2 but better 3 times to be sure in results
3. Executing
56. 56
Skills | Knowledge | Collaboration
2. Run the Capacity test profile and determine when Capacity point (system limit)
happens:
- virtual users: a lot, depends on the system
- duration: 2-3 hours
- rump-up – 2-3 hour; run – NA; shutdown – NA
!!! Run each test at least 2 but better 3 times to be sure in results
3. Executing
57. 57
Skills | Knowledge | Collaboration
How to understand that you reach Capacity point:
When transactions Response time increases sharply with load increase.
Note:
- although load increase, response time should not increase sharply. However, small
deviation is acceptable;
- response time also could start decrease dramatically, what means that you start receive
responses with errors.
When the Error rate increases with load increase
Note: often, small error rate is acceptable (1-3%), especially during large load tests.
Crash of the servers or one of them (web, application, DB, etc).
3. Executing
58. 58
Skills | Knowledge | Collaboration
Capacity point example
V users: 10 ths.
Status: failed
Error rate: test stopped on 28%
59. 59
Skills | Knowledge | Collaboration
Capacity point example
V users: 9 ths.
Status: failed
Error rate: test stopped on 49%
60. 60
Skills | Knowledge | Collaboration
Capacity point example
V users: 8 ths.
Status: passed
Error rate: 0.21% (500 errors
from 236 ths. transactions
61. 61
Skills | Knowledge | Collaboration
3. Run the Load test profile with:
- virtual users: 50-80% of Capacity point or/and required load number
- duration: 2-3 hours
- rump-up – 60m; run – 60m; shutdown – 20m
!!! Run each test at least 2 but better 3 times to be sure in results
3. Executing
62. 62
Skills | Knowledge | Collaboration
4. Run Component tests for each service / micro-service / function separately:
- could be run before or after Endurance test, especially if issues for some service(s) were
found
- virtual users: firstly, like for Capacity test, then like for Load profile
- duration: 1-2 hours
- rump-up, run and shutdown timings depend on component test profile
!!! Run each test at least 2 but better 3 times to be sure in results
3. Executing
63. 63
Skills | Knowledge | Collaboration
5. Run the Endurance test profile:
- virtual users: 20-40% of Capacity point
- duration: 8-72 hours
- rump-up – 30m; run – 23р; shutdown – 30m
!!! Run each test at least 2 but better 3 times to be sure in results
3. Executing
64. 64
Skills | Knowledge | Collaboration
6. Run other types of load testing and play with your scenarios combinations.
- volume test, Spike, Reliability/Recovery, Volume tests
- each of these tests could be run on the first stages, if it is prioritized be business
- run load tests for different user flows combinations
!!! Run each test at least 2 but better 3 times to be sure in results
3. Executing
65. 65
Skills | Knowledge | Collaboration
• In ongoing development -> Verifying and validating
component, queue of components, and integration
related performance & robustness
• Before release -> Verifying and validating the whole
product performance & robustness before release.
• Maintenance -> Verifying and validating architectural,
configurational, capacity-related, db-related, and
integration-related changes
When to perform
3. Executing
66. 66
Skills | Knowledge | Collaboration
• Collect and analyze load tests data
• Investigate possible bottlenecks (memory, disk, processor,
process, cache, network, etc.) resource usage like (memory,
CPU, network, etc.)
• Generate the Performance analysis reports
Note: The report form is
- a performance test summary report
- transactions details, hardware utilization, etc.
- the comparison of actual and expected KPIs
• Based on the analysis prepare recommendation report
• Share report with the team and stakeholders
4. Analyzing and reporting
68. 68
Skills | Knowledge | Collaboration
5. Continuous Integration
or
Development
Continuous Integration
Build. Unit test
Deploy to Dev Server
Integration Test
Deploy to Test/QA
Server
Automated Functional
Tests
Deploy to Load Server
Performance test in CI +
monitoring
Manual QA Test
Promote to
Stage / Pre-Prod
Ideally, if you have separate
environment for load testing
Note: you can implement
load tests on Stage too, if
it is the same as Prod
Highlight a value, combination of benefits and approaches
- Endurance test – тестирование стабильносты. Профиль тот же что при лоад, но время дольше.
При пиках интересно сможет ли система восставновится после пика, освободить ресурсы и т.д. Пики можно делать только для какого-то сценария, либо для всех.
Стресс тестирование – найти точку насыщения, когда нагрузка достигла критической, время отклика начинает расти хоть до этого не увеличивалась.
Не ограничивайтесь только этими профилями, стройте зависимо от вашей системы
- TPS could be improved by improving response time or by increasing concurrent users (кассира заставить работать быстрее, либо увеличить количество рабочих кас)
- TPS could be improved by improving response time or by increasing concurrent users (кассира заставить работать быстрее, либо увеличить количество рабочих кас)