ݺߣ

ݺߣShare a Scribd company logo
AGILE TESTING
    By Anton Stoliar
КАЖДОМУ ПРОЕКТ У СВОЯ
    МЕТОДОЛОГИЯ

 Алистэр Коуберн -
http://webcache.googleusercontent.com/search?q=cache:Ss0fTKZm
S6cJ:www.maxkir.com/sd/methyperproject_RUS.htm+&cd=1&hl=r
u&ct=clnk&gl=by


КАКИЕ БЫВАЮТ
К Л АСС И Ф И К А Ц И И П Р О Е К Т О В
ГДЕ ДЕЛАЕМ AGILE?
AGILE METHODOLOGIES
КОГД А И ЗАЧЕМ AGILE?

 Бизнес-ориентированный подход. Польза для бизнеса
важнее следованию инструкциям.

 Хотим и можем повысить продуктивность команды

 Ориентированы на результат а не на процесс
ПРИДЕТСЯ ПОПОТЕТЬ!


                AGILE
Ценности и правильная корпоративная
    культура важнее конкретных
       инструкций и практик!
ПОЧЕМУ ЭТО ВАЖНО?

 самоидентификация -> ценности -> принципы ->
навыки -> конкретные действия -> окружение
ПОЧЕМУ ЭТО ВАЖНО?

 САМОИДЕНТИФИКАЦИЯ-> ценности -> принципы -
> навыки -> конкретные действия -> окружение

 Например, если я дохтур. Я говорю себе - я доктор, я
осознаю себя им
ПОЧЕМУ ЭТО ВАЖНО?

 самоидентификация -> ЦЕННОСТИ -> принципы ->
навыки -> конкретные действия -> окружение

 Это в моей голове создаёт определенные ожидания и
стандарты по отношению к самому себе. Мои убеждения и
ценности.
ПОЧЕМУ ЭТО ВАЖНО?

 самоидентификация -> ценности -> ПРИНЦЫПЫ ->
НАВЫКИ -> конкретные действия -> окружение

 Затем это потихой начинает проявляться и влиять на
набор моих навыков и поведенческих реакций
ПОЧЕМУ ЭТО ВАЖНО?

 самоидентификация -> ценности -> принципы ->
навыки -> КОНКРЕТНЫЕ ДЕЙСТВИЯ -> окружение

 Это мой внутренний мир. И этот внутренний мир
начинает проявляться во внешнем мире - мои конкретные
действия. Моё поведение.
ПОЧЕМУ ЭТО ВАЖНО?

 самоидентификация -> ценности -> принципы ->
навыки -> конкретные действия -> ОКРУЖЕНИЕ

 А это создаёт мир вокруг меня
AGILE MANIFESTO 2.1

 Teamwork & responsibility over Individuals and Interaction - You
need great individuals and the better they interact the better it is.
 Business Value over Working software - Software in itself has no
value. It’s what you do with it.
 Partnership elaboration over Customer collaboration - Collaborating
with your customer is important, but working on a partnership is better.
 Prepare for change over Respond to Change - It’s even stronger to
create a setting where change is normal.
AGILE MANIFESTO 2.1

 Команда и ответственность важнее индивидуумов и
взаимодействия
 Бизнес ценность важнее рабочего продукта
 Развитие партнёрских отношений важнее
сотрудничества с клиентом
 Готовиться к изменениям важнее реакции на
изменения
ТЕСТИРОВАНИЕ В AGILE

 Тестирование - это процесс проходящий сквозь все

этапы разработки ПО, направленный на проверку

соответствия продукта требованиям и демонстрацию

того, что продукт отвечает поставленным целям.

 • В Agile все тоже самое только в более сжатые сроки
Антон Столяр - Agile Testing
SCRUM PROCESS
ПЛАНИРОВАНИЕ ТЕСТИРОВАНИЯ НА
     Э ТА П Е С ТА Р ТА П Р О Е К ТА


Что есть?                    Что необходимо сделать?
                              • Определить стратегию и
 • Высокоуровневое
                             цели
понимание нужд заказчика
                              • Объем тестирования
 • Требования (не всегда)    • Приоритеты
                              • Роли и обязанности
                              • Инструменты
                              • Метрики
П Л А Н И Р О ВА Н И Е И О Ц Е Н К А
               ЗА Д АЧ
ТРЕБОВАНИЯ

 • Есть

 • Нет

 • Есть, но лучше бы не было
О Ц Е Н К А ЗА Д АЧ П О
           Т ЕС Т И Р О ВА Н И Ю

Что делать когда требования есть?

 • Анализируем и уточняем требования

 • Тестируем на непротиворечивость, полноту и т.п.

 • Следим за актуальностью требований

 • Следим за покрытием тест кейсами требований
О Ц Е Н К А ЗА Д АЧ П О
                Т ЕС Т И Р О ВА Н И Ю

Что делать если требований нет?
• Нет критериев приемки
• Непонятно выполнили то, что требовалось или нет
 Пишем требования
 Пишем Acceptance Test Cases
 Пишем Use Cases
 Пишем Test Cases
 Пишем Automation Test Scenarios
 Check list
ОЦЕНКА ЗА Д АЧ

 • Декомпозиция

 • Ограничения по истории

 • Ограничения по таскам

 • Покрытие

 • Важно ничего не забыть
Антон Столяр - Agile Testing
Антон Столяр - Agile Testing
Т У Т ДОЛЖЕН БЫЛ БЫТЬ
        КВА ДРАНТ
     ТЕСТИРОВАНИЯ
Example of the Iteration
Example of Testing Lifecycle
  I0             I1              I2             I3                  I4..In Pre-production

                                Exploratory,
Test Analysis   Acceptance
                                Automation
      I1         Testing I1                                                          UAT
                                     I1




                                                Exploratory,
                Test Analysis   Acceptance                                            Full
                                                Automation
                      I2         Testing I2                                        Regression
                                                     I2




                                                                    Exploratory,
                                Test Analysis   Acceptance                         Performan
                                                                    Automation
                                      I3         Testing I3                            ce
                                                                         I3



                                                  Automated Regression Test

                                                         Integration Test
П Е РЕ Д АЧ А Ф И Ч И В
             Т ЕС Т И Р О ВА Н И Е

Цель: проверить что фича готова к тестированию
 • Девелоперы:
• фича имплементирована
• Покрыта юнит тестами
• Билд собран и передан команде тестирования
 • Тестировщики:
• Проводят транзишен тесты, тесты пройдены – берем в тестирование,
тесты не пройдены возвращаем в разработку
C O L L A BO R ATI O N W I TH
                            DEVELOPERS

                         • Testing earlier, sometimes on
                           their machines
                         • Developers gain insight into
                           potential problems
         Developer
                         • Together can succeed with
                           automated testing
                         • Reuse unit testing frameworks
Tester                   • Do acceptance tests in the
                           same programming
                           environment
Use checklists and testing dashboards
 if you have no time for detailed test
                 cases
Assign testing tasks to
                        Developer




Not sure if it is good decision in our Reality
How defects are managed
 Defects within the Iteration
   • On the fly
 Defect on a story, after the
  story is signed off
   • Prioritize and play the story
   • Add a test
 Significant misunderstanding in
  how the functionality was
  intended to work
   • Create a new story and
     prioritize
Agile Testing Success Factors

 Testers are part of     • Be cathedral builders not stone cutters
     the team            • Collective ownership


                         • Drop the “Quality Police” mindset
Agile testing mindset    • Focus on team goals & customer value


                         • Automate tests wherever practical
  Automate tests         • Need rapid feedback

                         • Balance against developer focus on
   Look at the big         technical implementation
      picture            • Use agile test matrix as guide
Agile Testing Success Factors

                      • Collaborate with customers
    Collaborate       • Collaborate with BA
                      • Collaborate with Customer



                      • Team retrospectives
Continually improve   • Personal training: reading, blogs, QAI, local
                        QA groups
Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
Recommended Reading




Testing Extreme
 Programming,                                 Scrum and XP from the
         Lisa Crispin                               Trenches,
                                                     Henrik Kniberg
                        Agile Testing,
                               Lisa Crispin
Recommended Reading
Спасибо

More Related Content

Антон Столяр - Agile Testing

  • 1. AGILE TESTING By Anton Stoliar
  • 2. КАЖДОМУ ПРОЕКТ У СВОЯ МЕТОДОЛОГИЯ  Алистэр Коуберн - http://webcache.googleusercontent.com/search?q=cache:Ss0fTKZm S6cJ:www.maxkir.com/sd/methyperproject_RUS.htm+&cd=1&hl=r u&ct=clnk&gl=by 
  • 3. КАКИЕ БЫВАЮТ К Л АСС И Ф И К А Ц И И П Р О Е К Т О В
  • 6. КОГД А И ЗАЧЕМ AGILE?  Бизнес-ориентированный подход. Польза для бизнеса важнее следованию инструкциям.  Хотим и можем повысить продуктивность команды  Ориентированы на результат а не на процесс
  • 8. Ценности и правильная корпоративная культура важнее конкретных инструкций и практик!
  • 9. ПОЧЕМУ ЭТО ВАЖНО?  самоидентификация -> ценности -> принципы -> навыки -> конкретные действия -> окружение
  • 10. ПОЧЕМУ ЭТО ВАЖНО?  САМОИДЕНТИФИКАЦИЯ-> ценности -> принципы - > навыки -> конкретные действия -> окружение  Например, если я дохтур. Я говорю себе - я доктор, я осознаю себя им
  • 11. ПОЧЕМУ ЭТО ВАЖНО?  самоидентификация -> ЦЕННОСТИ -> принципы -> навыки -> конкретные действия -> окружение  Это в моей голове создаёт определенные ожидания и стандарты по отношению к самому себе. Мои убеждения и ценности.
  • 12. ПОЧЕМУ ЭТО ВАЖНО?  самоидентификация -> ценности -> ПРИНЦЫПЫ -> НАВЫКИ -> конкретные действия -> окружение  Затем это потихой начинает проявляться и влиять на набор моих навыков и поведенческих реакций
  • 13. ПОЧЕМУ ЭТО ВАЖНО?  самоидентификация -> ценности -> принципы -> навыки -> КОНКРЕТНЫЕ ДЕЙСТВИЯ -> окружение  Это мой внутренний мир. И этот внутренний мир начинает проявляться во внешнем мире - мои конкретные действия. Моё поведение.
  • 14. ПОЧЕМУ ЭТО ВАЖНО?  самоидентификация -> ценности -> принципы -> навыки -> конкретные действия -> ОКРУЖЕНИЕ  А это создаёт мир вокруг меня
  • 15. AGILE MANIFESTO 2.1  Teamwork & responsibility over Individuals and Interaction - You need great individuals and the better they interact the better it is.  Business Value over Working software - Software in itself has no value. It’s what you do with it.  Partnership elaboration over Customer collaboration - Collaborating with your customer is important, but working on a partnership is better.  Prepare for change over Respond to Change - It’s even stronger to create a setting where change is normal.
  • 16. AGILE MANIFESTO 2.1  Команда и ответственность важнее индивидуумов и взаимодействия  Бизнес ценность важнее рабочего продукта  Развитие партнёрских отношений важнее сотрудничества с клиентом  Готовиться к изменениям важнее реакции на изменения
  • 17. ТЕСТИРОВАНИЕ В AGILE  Тестирование - это процесс проходящий сквозь все этапы разработки ПО, направленный на проверку соответствия продукта требованиям и демонстрацию того, что продукт отвечает поставленным целям.  • В Agile все тоже самое только в более сжатые сроки
  • 20. ПЛАНИРОВАНИЕ ТЕСТИРОВАНИЯ НА Э ТА П Е С ТА Р ТА П Р О Е К ТА Что есть? Что необходимо сделать?  • Определить стратегию и  • Высокоуровневое цели понимание нужд заказчика  • Объем тестирования  • Требования (не всегда)  • Приоритеты  • Роли и обязанности  • Инструменты  • Метрики
  • 21. П Л А Н И Р О ВА Н И Е И О Ц Е Н К А ЗА Д АЧ
  • 22. ТРЕБОВАНИЯ  • Есть  • Нет  • Есть, но лучше бы не было
  • 23. О Ц Е Н К А ЗА Д АЧ П О Т ЕС Т И Р О ВА Н И Ю Что делать когда требования есть?  • Анализируем и уточняем требования  • Тестируем на непротиворечивость, полноту и т.п.  • Следим за актуальностью требований  • Следим за покрытием тест кейсами требований
  • 24. О Ц Е Н К А ЗА Д АЧ П О Т ЕС Т И Р О ВА Н И Ю Что делать если требований нет? • Нет критериев приемки • Непонятно выполнили то, что требовалось или нет  Пишем требования  Пишем Acceptance Test Cases  Пишем Use Cases  Пишем Test Cases  Пишем Automation Test Scenarios  Check list
  • 25. ОЦЕНКА ЗА Д АЧ  • Декомпозиция  • Ограничения по истории  • Ограничения по таскам  • Покрытие  • Важно ничего не забыть
  • 28. Т У Т ДОЛЖЕН БЫЛ БЫТЬ КВА ДРАНТ ТЕСТИРОВАНИЯ
  • 29. Example of the Iteration
  • 30. Example of Testing Lifecycle I0 I1 I2 I3 I4..In Pre-production Exploratory, Test Analysis Acceptance Automation I1 Testing I1 UAT I1 Exploratory, Test Analysis Acceptance Full Automation I2 Testing I2 Regression I2 Exploratory, Test Analysis Acceptance Performan Automation I3 Testing I3 ce I3 Automated Regression Test Integration Test
  • 31. П Е РЕ Д АЧ А Ф И Ч И В Т ЕС Т И Р О ВА Н И Е Цель: проверить что фича готова к тестированию  • Девелоперы: • фича имплементирована • Покрыта юнит тестами • Билд собран и передан команде тестирования  • Тестировщики: • Проводят транзишен тесты, тесты пройдены – берем в тестирование, тесты не пройдены возвращаем в разработку
  • 32. C O L L A BO R ATI O N W I TH DEVELOPERS • Testing earlier, sometimes on their machines • Developers gain insight into potential problems Developer • Together can succeed with automated testing • Reuse unit testing frameworks Tester • Do acceptance tests in the same programming environment
  • 33. Use checklists and testing dashboards if you have no time for detailed test cases
  • 34. Assign testing tasks to Developer Not sure if it is good decision in our Reality
  • 35. How defects are managed  Defects within the Iteration • On the fly  Defect on a story, after the story is signed off • Prioritize and play the story • Add a test  Significant misunderstanding in how the functionality was intended to work • Create a new story and prioritize
  • 36. Agile Testing Success Factors Testers are part of • Be cathedral builders not stone cutters the team • Collective ownership • Drop the “Quality Police” mindset Agile testing mindset • Focus on team goals & customer value • Automate tests wherever practical Automate tests • Need rapid feedback • Balance against developer focus on Look at the big technical implementation picture • Use agile test matrix as guide
  • 37. Agile Testing Success Factors • Collaborate with customers Collaborate • Collaborate with BA • Collaborate with Customer • Team retrospectives Continually improve • Personal training: reading, blogs, QAI, local QA groups
  • 38. Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
  • 39. Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
  • 40. Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
  • 41. Ч Е М БУД Е М М Е РЯ Т Ь С Я ?
  • 42. Recommended Reading Testing Extreme Programming, Scrum and XP from the Lisa Crispin Trenches, Henrik Kniberg Agile Testing, Lisa Crispin