SlideShare a Scribd company logo
1 of 16
Performancetesting as a partof Agile
About
Andrey Kovalenko
5 last years in IT - again.
3 years of developing and implementing
distributed protected networks
2 last years - performance engineer.
kovalenko.andrey.odessa
Performancetesting
Performance testing: The process of testing to determine the
performance of a software product.
Performance - sub-characteristic of one of the quality
characteristic - efficiency.
Why dowe needperformance?
What is performance?
Load testing - to verify application behavior under normal and peak load
conditions.
Stress testing - To determine or validate an application’s behavior when it
is pushed beyond normal or peak load conditions.
Capacity testing - To determine how many users and/or transactions a
given system will support and still meet performance goals.
Performancetesingflow
What doweneed for it?
Performance testing
=
Performance testing = long and expensive process
Agile&Performance
When?
When?
Performancein Agile-Gut)
Code optimization
Application failure
Bottleneck early detection
Release date
Real customer data and scenarios
Resolving performance issues
Cheap!Fast! Quality!
Cheap!Fast!Quality!(Part2)
LoadRunner
Some stuff to learn
• Deep knowledge of HTTP load generation, measurement software
• Experience with Oracle/MSSQL Databases and SQL tuning and scripting, Oracle
AWR reports and trace logs Deep knowledge and experience in Windows and
Linux OS: Red Hat Scripting: Python, shell, Perl, etc.
• Strong understanding on OS, network, Web servers and browsers.
• Strong in performance requirement analysis, and construction of performance test
cases.
• Strong understanding of Java, JSP, and JavaScript coding and the use of Java
SDK performance tools.
• Experience with HTTP and web services
• Deep knowledge in Java Performance (CPU, Memory, IO, SWAP, Network usage),
hotspot detection, GC logs, optimization and analysis of bottle-necks using various
profilers.
• suggest option for resolutions of problems Work individually on the tasks, not
required full attention from the TL, but yet, a Team player - working closely with
Developers, TLs and architect.
• Able to send executive summary of the tests
Q&A

More Related Content

What's hot

WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
WSO2
 
Ady beleanu automate-theprocessdelivery
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdelivery
Romania Testing
 
Kannan R - Automation Testing
Kannan R - Automation TestingKannan R - Automation Testing
Kannan R - Automation Testing
Kannan R
 

What's hot (18)

Performance test on Carrefour
Performance test on CarrefourPerformance test on Carrefour
Performance test on Carrefour
 
ApoorvaTiwari
ApoorvaTiwariApoorvaTiwari
ApoorvaTiwari
 
"Fast / Resilient / .NET – What to Choose?" Serhiy Kalinets
 "Fast / Resilient / .NET – What to Choose?" Serhiy Kalinets "Fast / Resilient / .NET – What to Choose?" Serhiy Kalinets
"Fast / Resilient / .NET – What to Choose?" Serhiy Kalinets
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
Resume_Trupti
Resume_TruptiResume_Trupti
Resume_Trupti
 
WSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and AdoptionWSO2 Test Automation Framework : Approach and Adoption
WSO2 Test Automation Framework : Approach and Adoption
 
Anubhav_Resume
Anubhav_ResumeAnubhav_Resume
Anubhav_Resume
 
RaviTeja_Resume
RaviTeja_ResumeRaviTeja_Resume
RaviTeja_Resume
 
Ady beleanu automate-theprocessdelivery
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdelivery
 
Agile code quality metrics
Agile code quality metricsAgile code quality metrics
Agile code quality metrics
 
Beyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even furtherBeyond the basics of SonarQube: improve your Java(Script) code even further
Beyond the basics of SonarQube: improve your Java(Script) code even further
 
Application Performance Monitoring with code level diagnostics
Application Performance Monitoring with code level diagnosticsApplication Performance Monitoring with code level diagnostics
Application Performance Monitoring with code level diagnostics
 
Kush_Bhargava
Kush_BhargavaKush_Bhargava
Kush_Bhargava
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 
Qa and testers (1)
Qa and testers (1)Qa and testers (1)
Qa and testers (1)
 
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...Career in Software Testing | Skills Required for Software Test Engineer | Edu...
Career in Software Testing | Skills Required for Software Test Engineer | Edu...
 
Kannan R - Automation Testing
Kannan R - Automation TestingKannan R - Automation Testing
Kannan R - Automation Testing
 
Amardeep qa test_automation_cv
Amardeep qa test_automation_cvAmardeep qa test_automation_cv
Amardeep qa test_automation_cv
 

Viewers also liked

собеседование тестировщиков что спросить и как ответить
собеседование тестировщиков   что спросить и как ответитьсобеседование тестировщиков   что спросить и как ответить
собеседование тестировщиков что спросить и как ответить
Alex Baranouski
 

Viewers also liked (6)

Career skills
Career skillsCareer skills
Career skills
 
BBST courses. Стоит ли овчинка выделки?
BBST courses. Стоит ли овчинка выделки?BBST courses. Стоит ли овчинка выделки?
BBST courses. Стоит ли овчинка выделки?
 
Исследовательское тестирование. Обзор (Илья Комендантов)
Исследовательское тестирование. Обзор (Илья Комендантов)Исследовательское тестирование. Обзор (Илья Комендантов)
Исследовательское тестирование. Обзор (Илья Комендантов)
 
собеседование тестировщиков что спросить и как ответить
собеседование тестировщиков   что спросить и как ответитьсобеседование тестировщиков   что спросить и как ответить
собеседование тестировщиков что спросить и как ответить
 
Тест-дизайн в тестировании ПО. Задача "Треугольник"
Тест-дизайн в тестировании ПО. Задача "Треугольник"Тест-дизайн в тестировании ПО. Задача "Треугольник"
Тест-дизайн в тестировании ПО. Задача "Треугольник"
 
Техники тест дизайна для черноящичного тестирования
Техники тест дизайна для черноящичного тестированияТехники тест дизайна для черноящичного тестирования
Техники тест дизайна для черноящичного тестирования
 

Similar to Performance testing in agile

Aakash shah performance tester
Aakash shah  performance testerAakash shah  performance tester
Aakash shah performance tester
anandkayalmatrix
 
Ravi_Kumar_Mekala_Performance_Tester
Ravi_Kumar_Mekala_Performance_TesterRavi_Kumar_Mekala_Performance_Tester
Ravi_Kumar_Mekala_Performance_Tester
Ravi Kumar Mekala
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
Jesy George
 
Sakar Patnaik_1.5_testing_Manual_Automation_Selenium
Sakar Patnaik_1.5_testing_Manual_Automation_SeleniumSakar Patnaik_1.5_testing_Manual_Automation_Selenium
Sakar Patnaik_1.5_testing_Manual_Automation_Selenium
SAKAR PATNAIK
 
QA Automaton Lynn Phipps
QA Automaton Lynn PhippsQA Automaton Lynn Phipps
QA Automaton Lynn Phipps
Lynn Phipps
 
JohnConnollyResumePerformance2017
JohnConnollyResumePerformance2017JohnConnollyResumePerformance2017
JohnConnollyResumePerformance2017
John Connolly
 

Similar to Performance testing in agile (20)

ABHAY_SHUKLA
ABHAY_SHUKLAABHAY_SHUKLA
ABHAY_SHUKLA
 
Aakash shah performance tester
Aakash shah  performance testerAakash shah  performance tester
Aakash shah performance tester
 
Ravi_Kumar_Mekala_Performance_Tester
Ravi_Kumar_Mekala_Performance_TesterRavi_Kumar_Mekala_Performance_Tester
Ravi_Kumar_Mekala_Performance_Tester
 
Resume
ResumeResume
Resume
 
Raju_Resume
Raju_ResumeRaju_Resume
Raju_Resume
 
KLAKSHMAN
KLAKSHMANKLAKSHMAN
KLAKSHMAN
 
Amardeep qa test_automation_cv
Amardeep qa test_automation_cvAmardeep qa test_automation_cv
Amardeep qa test_automation_cv
 
Sathish_Nugehalli_
Sathish_Nugehalli_Sathish_Nugehalli_
Sathish_Nugehalli_
 
Shuvam dutta
Shuvam duttaShuvam dutta
Shuvam dutta
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
Shuvam Dutta | Performance analyst
Shuvam Dutta | Performance analystShuvam Dutta | Performance analyst
Shuvam Dutta | Performance analyst
 
9 Yrs Manual and Selenium Testing Profile
9 Yrs Manual and Selenium Testing Profile9 Yrs Manual and Selenium Testing Profile
9 Yrs Manual and Selenium Testing Profile
 
Vikash Kadamata
Vikash KadamataVikash Kadamata
Vikash Kadamata
 
Sakar Patnaik_1.5_testing_Manual_Automation_Selenium
Sakar Patnaik_1.5_testing_Manual_Automation_SeleniumSakar Patnaik_1.5_testing_Manual_Automation_Selenium
Sakar Patnaik_1.5_testing_Manual_Automation_Selenium
 
leenaaggarwal
leenaaggarwalleenaaggarwal
leenaaggarwal
 
QA Automaton Lynn Phipps
QA Automaton Lynn PhippsQA Automaton Lynn Phipps
QA Automaton Lynn Phipps
 
Priyaranjan Testing CV
Priyaranjan Testing CVPriyaranjan Testing CV
Priyaranjan Testing CV
 
JohnConnollyResumePerformance2017
JohnConnollyResumePerformance2017JohnConnollyResumePerformance2017
JohnConnollyResumePerformance2017
 
RanganadhMarrapu_Profile
RanganadhMarrapu_ProfileRanganadhMarrapu_Profile
RanganadhMarrapu_Profile
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 

Recently uploaded (20)

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 

Performance testing in agile

  • 1. Performancetesting as a partof Agile
  • 2. About Andrey Kovalenko 5 last years in IT - again. 3 years of developing and implementing distributed protected networks 2 last years - performance engineer. kovalenko.andrey.odessa
  • 3. Performancetesting Performance testing: The process of testing to determine the performance of a software product. Performance - sub-characteristic of one of the quality characteristic - efficiency.
  • 5. What is performance? Load testing - to verify application behavior under normal and peak load conditions. Stress testing - To determine or validate an application’s behavior when it is pushed beyond normal or peak load conditions. Capacity testing - To determine how many users and/or transactions a given system will support and still meet performance goals.
  • 7. What doweneed for it? Performance testing = Performance testing = long and expensive process
  • 10. When?
  • 11. Performancein Agile-Gut) Code optimization Application failure Bottleneck early detection Release date Real customer data and scenarios Resolving performance issues
  • 15. Some stuff to learn • Deep knowledge of HTTP load generation, measurement software • Experience with Oracle/MSSQL Databases and SQL tuning and scripting, Oracle AWR reports and trace logs Deep knowledge and experience in Windows and Linux OS: Red Hat Scripting: Python, shell, Perl, etc. • Strong understanding on OS, network, Web servers and browsers. • Strong in performance requirement analysis, and construction of performance test cases. • Strong understanding of Java, JSP, and JavaScript coding and the use of Java SDK performance tools. • Experience with HTTP and web services • Deep knowledge in Java Performance (CPU, Memory, IO, SWAP, Network usage), hotspot detection, GC logs, optimization and analysis of bottle-necks using various profilers. • suggest option for resolutions of problems Work individually on the tasks, not required full attention from the TL, but yet, a Team player - working closely with Developers, TLs and architect. • Able to send executive summary of the tests
  • 16. Q&A

Editor's Notes

  1. Небольшое замечание о презентации – мы затронем самые базовые вещи, не будет обсуждения хитрых метрик производительности и вопросов, какой показатель лучше презентовать менеджерам – среднее или верхний квартиль или «10 вещей, которые вы точно забудете в своём первом перформанс проекте» – все будет сильно проще ) Постараемся ответить на вопросы – зачем на нужно тестирование проихводительности и как его запустить в нашем модном agile проекте)
  2. Итак, тема нашего обсуждения - тестирование производительности как часть agile процесса разработки продукта. Соответственно, прежде чем начать, определимся, что такое тестирование производительности. Сейчас будет немного определений и, возможно, занудной классификации ) Прошу меня заранее простить. Не мудрствуя лукаво, обратимся к определению из словаря ISTQB (International SW testing qualification board). Итак – тестирование производительности – это процесс тестирование, направленный на определение производительности продукта. А производительность – это одна из подхарактеристик качества - эффективности, которая является интуитивно понятной.
  3. Зачем нужно тестирование производительности? Гугл из года в год приводит результаты своих исследований, в которых указывает, что клиент, прождавший более трёх секунд после нажатия на ссылку и не дождавшийся загрузки страницы, с большой вероятностью выберет другой сайт. Мобильные устройства по-прежнему требуют от приложений умения работать на ограниченных ресурсах и в условиях плохих каналов связи. Базы данных бизнес-решений занимают терабайты, а клиент по-прежнему ждёт, чтобы отчёт формировался побыстрее. Именно поэтому в последнее время тестирование производительности становится всё более востребованным – потому что может принести вашей компании дополнительную прибыль
  4. Несколько слов о тестировании производительности в целом. Тестирование производительности является видов нефункционального тестирования и подразделяется на несколько видов – Load testing – создаём ОЖИДАЕМУЮ нагрузку (количество пользователей и транзакций), определяем время отклика системы для различных операция, сравниваем с заранее определёнными KPI, проверяем потребляемые ресурсы системы Stress Testing – даём нагрузку сверх ожидаемой и смотрим, что произойдёт с системой (упадёт, заберёт все ресурсы, начнёт тормозить). Убираем нагрузку, смотрим, вернулась ли система к нормальному поведению Capacity testing – проверяем, сколько пользователей выдержит система, продолжая находиться в заданных рамках производительности. На самом деле можно выделить ещё несколько подвидов тестирования производительности, но для нас – этого будет достаточно. Кстати, предупреждаю сразу – все названия, произнесённые мною, трактуются по-разному различными специалистами. Некоторые, например, меняют местами performance и load testing.
  5. Жизненный цикл тестирования производительности, в общем-то, ничего не отличается от любого другого вида тестирования Планирование – Подготовка – Выполнение – Анализ-при необходимости повторное Выполнение Планирование - анализируем структуру приложения, выявляем узкие места, определяем мониторы, которые нужно будет контролировать определяем KPI Подготовка – готовим тестовые данные, тестовую лабораторию, пишем и отлаживаем скрипты и сценарии Выполнение – очень необычно – но выполняем наши сценарии и собираем данные мониторов Анализ – ещё более необычно – анализируем массив данных, полученных на предыдущем этапе. Готовим отчёты, анализируем причины проблем, открываем дефекты НО
  6. Если вы обратили внимание – то всех определениях использовались слова «пользователи» и «нагрузка». Отсюда достаточно просто сделать вывод, что тестирование производительности – это ВСЕГДА (ну ладно, почти всегда) автоматизированное тестирование (поскольку нам нужно эмулировать работу многих пользователей) с использованием инструментов для генерации нагрузки (которые стоят обычно немаленьких денег). Тестирование производительности нуждается для проведения в соответствующей аппаратной инфраструктуре, её настройке и мониторинге. Можно, конечно, попробовать провести тесты на окружении, не похожем на продакшн, а потом экстраполировать результаты – но, как показывает практика, сделать это качественно получается достаточно редко. И, наконец, для проведения анализа результатов неплохо иметь инженера, обладающего хотя бы зачатками знаний в области математической статистики, значит, нужно привлекать к процессу «дорогого» инженера. К тому же, тестирование производительности - длительный процесс – тесты нужно написать, отладить, создать тестовую среду, прогнать тест (тест может длиться несколько дней или недель) и проанализировать результаты. Итого, можно смело констатировать, что тестирование производительности - это дорогой (нужен Automation QA, разбирающийся в коде, аппаратных и программных составляющих и имеющих математический бэкграуд+железо) и долгий процесс. Запоминаем этот факт и идём дальше.
  7. Теперь быстренько вспоминаем, что такое Agile. Agile – это манифест, определяющий подходы к разработке ПО. Не буду вдаваться в подробности и различные техники – но в любой методологии Agile основным принципом является частая поставка рабочего программного обеспечения. Два основных слова – частая и рабочего. Это приводит нас к тому, что за две недели (как обычно длится итерация) нам нужно провести полный цикл тестирования – в том числе и тестирования производительности. А как мы видели на предыдущем слайде – тестирование производительности - это длительный и дорогой процесс( Более того, возникает ещё один вопрос – поскольку тестирование производительности - это дорого, то неэффективно тратить ресурсы на систему, не прошедшую функциональное тестирование – ваши дорогостоящие тесты просто «свалятся» из-за функциональных багов. Обычно после таких размышлений agile разработчики с опаской относятся к тестированию производительности и если и проводят его - то в минимальном объёме на релизной версии продукта, а то и после релиза. К чему это приводит? Клиент получает неторопливо работающее приложение, падающее при нагрузке в 50 пользователей и сжирающее все доступные на сервере ресурсы. Но не всё так плохо. Давайте попробуем понять, как же нам встроить тестирование производительности в Agile и не потратить на это много ресурсов. Итак, перед нами возникает несколько вопросов – Когда проводить, какие преимущества мы получим от связки performance testing&Agile и сколько это будет стоить?
  8. Небольшое предупреждение – всё дальнейшее – не более, чем мой личный опыт и и вполне возможно вы встретите на просторах интернета аргументированные мнения, что Agile и Performance testing несовместимы Вопрос номер раз – КОГДА? Не ждите, пока ваше приложение «встанет на ноги». Чем раньше, тем лучше, поскольку, как мы все знаем, чем раньше мы нашли дефект, тем дешевле его исправить! Мы помним, что по Agile уже к концу первой итерации мы должны получить рабочий прототип – вот окончание первой итерации - время для нас запустить первые тесты. Не придумываем ничего нового – те же стандартные уровни тестирования – модульное, интеграционное, системное, приёмочное. Что тестировать, если приложение ещё сырое? У приложение ещё нет UI и API– не беда, займитесь тестированием на уровне компонентов, анализом кода, определением KPI. Появились первые элементы UI или первые методы API – займитесь первыми тестами для них. Разработчики сломали ваши тесты – пока они чинят, займитесь single-user тестированием на больших объёмах данных, часто даже такой вид тестирования позволяет выявить узкие места. Как видно на рисунке на любом уровне разработки и функционального тестирования есть место для вашей деятельности.
  9. Постарайтесь «отставать» с запуском ваших сценариев от команды функционального тестирования на одну итерацию - так вы будете точно знать, какая функциональность готова к вашему тестированию и не будете тратить напрасно время, пытаясь понять, почему валятся ваши замечательные тесты.
  10. Теперь к «плюшкам», которые мы можем получить внедрив performance testing в Agile. Запоминаем, чтобы рассказать потом менеджерам Применение гибкого тестирования производительности позволяет снизить ряд рисков, возникающих при разработке приложений и положительно влияет на качество: Оптимизация кода: Оптимизация на уровне модулей происходит в начале разработки. Таким образом, издержки на исправления значительно ниже, чем если бы проблемы были выявлены на поздних стадиях. Отказы приложения: Снижается риск отказа приложения, вызванный такими факторами, как утечки памяти, взаимоблокировки в СУБД и “Хард-код”. Раннее обнаружение узких мест: Снижается трудоемкость и продолжительность тестирования производительности, а также уменьшается необходимость в повторном тестировании. Даты релиза: Тестирование каждую итерацию приводит к осведомленности о производительности приложения в любой момент времени. Благодаря этому, появляется больше шансов выпустить релиз в срок. Проведение тестов на реальных данных и сценариях: поскольку Agile исповедует принцип Business people and developers must work together daily throughout the project – у вас есть отличная возможность получить от клиентов реальные сценарии использования продукта и наборы данных – поверьте, в тестировании производительности это дорого стоит. Можно рассказать массу занимательных историй, как были получены отличные отчёты по производительности на синтетических данных и что потом имели сказать нам клиенты, получившие продукт, не справлявшийся с их задачами. Проблемы производительности: Уменьшается количество проблем производительности на последующих этапах – а это нам даёт что? Правильно – громадное уменьшение стоимости исправления этих дефектов. Итак – как прикрутить performance тестирование к Agile процессу и что нам это даёт - в общих чертах понятно.
  11. Дорогие инструменты и оборудование для тестирование производительности! Инструменты – наберите в поисковике free load testing tools – мне кажется, выбор достаточен – вот те, которые я нашёл по первой ссылке. Кстати, любой из них отлично встраивается в систему Continuous Delivery – например, в Jenkins, которая тоже бесплатная.
  12. Сервера – это, конечно, дорого и нужно – но может быть, для вашего приложения для начала хватит мощности обычного десктопа, чтобы эмулировать 300 пользователей? По собственному опыту могу сказать – на первое время хватит. Да и аренда машинного времени в облаке позволит вам минимизировать ваши затраты на организацию своей лаборатории по тестированию производительности. Отдельно хотел бы остановится на коммерческом продукте от моей любимой компании HP, которым пользуемся мы в своей деятельности – LoadRunner от компании HP
  13. Основные моменты, по которым вы будете его использовать – Комьюнити версия – вся функциональность до 50 одновременных пользователей бесплатно Функционал труклайент – позволяет вам создавать скрипты для нагрузочного тестирования чего угодно, имеющего web-интерфейс, методом тыка. Интеграция с Selenium и Unit-фреймворками – через возможность использования в виде скриптов кода на C# и Java. Инструмент автоматического анализа полученных результатов - позволяет делать качественные отчёты для стейкхолдеров, даже не обладая продвинутыми знаниями в нагрузочном тестировании и математической статистике Итак, вы можете найти для себя инструмент, который позволит вам, имея минимальный опыт, быстро (решая проблему с короткими итерациями Agile) и недорого (решая проблему с ограниченным бюджетом) внедрить тестирование производительности в ваш проект и избежать многих проблем в дальнейшем.
  14. Напоследок – думаю, я не сказал сегодня ничего, что вы не знали – но надеюсь, что помог вам посмотреть по-другому на привычные вещи и сделать шаг вперёд)
  15. Всем спасибо за терпение и готов ответить на вопросы, если они у вас появились