Антон Столяр - agile testing
DESCRIPTION
Презентация Антона Столяра на встрече QA Club Minsk посвященной тестированию в AgileTRANSCRIPT
AGILE TESTING
By Anton Stoliar
КАЖДОМУ ПРОЕКТУ СВОЯ МЕТОДОЛОГИЯ
Алистэр Коуберн -
http://webcache.googleusercontent.com/search?
q=cache:Ss0fTKZmS6cJ:www.maxkir.com/sd/
methyperproject_RUS.htm+&cd=1&hl=ru&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 все тоже самое только в более сжатые
сроки
SCRUM PROCESS
Что есть?
• Высокоуровневое
понимание нужд
заказчика
• Требования (не
всегда)
ПЛАНИРОВАНИЕ ТЕСТИРОВАНИЯ НА
ЭТАПЕ СТАРТА ПРОЕКТА
Что необходимо сделать?
• Определить стратегию и
цели
• Объем тестирования
• Приоритеты
• Роли и обязанности
• Инструменты
• Метрики
ПЛАНИРОВАНИЕ И ОЦЕНКА ЗАДАЧ
ТРЕБОВАНИЯ
• Есть
• Нет
• Есть, но лучше бы не было
ОЦЕНКА ЗАДАЧ ПО ТЕСТИРОВАНИЮ
Что делать когда требования есть?
• Анализируем и уточняем требования
• Тестируем на непротиворечивость, полноту и
т.п.
• Следим за актуальностью требований
• Следим за покрытием тест кейсами
требований
ОЦЕНКА ЗАДАЧ ПО ТЕСТИРОВАНИЮ
Что делать если требований нет?
• Нет критериев приемки
• Непонятно выполнили то, что требовалось или нет
Пишем требования
Пишем Acceptance Test Cases
Пишем Use Cases
Пишем Test Cases
Пишем Automation Test Scenarios
Check list
ОЦЕНКА ЗАДАЧ
• Декомпозиция
• Ограничения по истории
• Ограничения по таскам
• Покрытие
• Важно ничего не забыть
ТУТ ДОЛЖЕН БЫЛ БЫТЬ КВАДРАНТ ТЕСТИРОВАНИЯ
Example of the Iteration
Example of Testing Lifecycle
Test Analysis I1
Acceptance Testing I1
Exploratory, Automation
I1
Test Analysis I2
Acceptance Testing I2
Exploratory, Automation
I2
Test Analysis I3
Acceptance Testing I3
Exploratory, Automation
I3
Automated Regression Test
Integration Test
Performance
Full Regression
UAT
I0
I1
I2
I3
I4..In
Pre-production
ПЕРЕДАЧА ФИЧИ В ТЕСТИРОВАНИЕ
Цель: проверить что фича готова к тестированию
• Девелоперы:
• фича имплементирована
• Покрыта юнит тестами
• Билд собран и передан команде тестирования
• Тестировщики:
• Проводят транзишен тесты, тесты пройдены – берем в
тестирование, тесты не пройдены возвращаем в разработку
COLLABORATION WITH DEVELOPERS
Developer
Tester
• Testing earlier, sometimes on their machines
• Developers gain insight into potential problems
• Together can succeed with automated testing
• Reuse unit testing frameworks
• 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
• Be cathedral builders not stone cutters• Collective ownership
Testers are part of the team
• Drop the “Quality Police” mindset• Focus on team goals & customer valueAgile testing mindset
• Automate tests wherever practical• Need rapid feedbackAutomate tests
• Balance against developer focus on technical implementation
• Use agile test matrix as guide
Look at the big picture
• Collaborate with customers• Collaborate with BA• Collaborate with Customer
Collaborate
• Team retrospectives• Personal training: reading, blogs, QAI, local
QA groupsContinually improve
Agile Testing Success Factors
ЧЕМ БУДЕМ МЕРЯТЬСЯ?
ЧЕМ БУДЕМ МЕРЯТЬСЯ?
ЧЕМ БУДЕМ МЕРЯТЬСЯ?
ЧЕМ БУДЕМ МЕРЯТЬСЯ?
Recommended Reading
Testing Extreme Programming,
Lisa Crispin
Agile Testing, Lisa Crispin
Scrum and XP from the Trenches,
Henrik Kniberg
Recommended Reading
Спасибо