Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Тестирование как параразработка
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
HappyDev'13
December 07, 2013
Programming
0
160
Тестирование как параразработка
Алексей Родионов
HappyDev'13
December 07, 2013
Tweet
Share
More Decks by HappyDev'13
See All by HappyDev'13
Вводный доклад о процессах и ролях, требованиях и визуализации
happydev
0
210
Особенности разработки финансовых проектов
happydev
0
180
Domain Driven Design. Модель вместо требований
happydev
0
430
К черту менеджерские карго культы! Дайте нормальное ТЗ
happydev
0
220
Эволюция больших проектов. Опыт API Яндекс.Карт
happydev
1
450
Мастер класс «Управленческие поединки»
happydev
0
210
Лучшая client-side архитектура
happydev
1
290
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
happydev
0
580
Вводный доклад про SQL, NoSQL и других
happydev
0
290
Other Decks in Programming
See All in Programming
Package Management Learnings from Homebrew
mikemcquaid
0
230
CSC307 Lecture 08
javiergs
PRO
0
670
AtCoder Conference 2025
shindannin
0
1.1k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
dchart: charts from deck markup
ajstarks
3
1k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
990
並行開発のためのコードレビュー
miyukiw
0
1.1k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
4 Signs Your Business is Dying
shpigford
187
22k
The Limits of Empathy - UXLibs8
cassininazir
1
220
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Rails Girls Zürich Keynote
gr2m
96
14k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
GitHub's CSS Performance
jonrohan
1032
470k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
ТЕСТИРОВАНИЕ КАК ПАРАРАЗРАБОТКА @p0deje
[email protected]
• 7+ лет в тестировании • Head QA @ Toptal
• Code monkey @ Watir • (ex) Контрибутор @ Mozilla АЛЕКСЕЙ РОДИОНОВ
КАЧЕСТВО
КАЧЕСТВО соответствие реализации заданным характеристикам
КАЧЕСТВО соответствие реализации заданным характеристикам (функциональная спека, дизайн, юзабилити, etc.)
ТЕСТИРОВАНИЕ получение информации о качестве
ЗАЧЕМ?
ЗАЧЕМ? изменение текущих процессов разработки
ЗАЧЕМ? более лучшее качество
ЗАЧЕМ? выше конкурентоспособность
ЗАЧЕМ? увеличение прибыли
PROFIT!
N.B. Иллюстрация принципа “why stack” компании ThoughtWorks
КАК? Верификация и Валидация
ВЕРИФИКАЦИЯ мы сделали то, что требовалось
ВАЛИДАЦИЯ то, что мы сделали, соответствует ожиданиям (клиента, пользователей)
КАК?
КАК? Требования, планы, кейсы, трэкер и т.д.
КАК? Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы,
трэкер и т.д.
КАК? Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы,
трэкер и т.д. Требования, планы, кейсы, трэкер и т.д.
КАК? Требования, планы, трэкер и т.д. Требования, планы, трэкер и
т.д. Требования, планы, трэкер и т.д.
КАК? Требования, трэкер и т.д. Требования, трэкер и т.д. Требования,
трэкер и т.д.
КАК? Требования и т.д. Требования и т.д. Требования и т.д.
КАК? Как-то так
“РЕГРЕССИОННАЯ СПИРАЛЬ СМЕРТИ”
РУЧНОЕ ТЕСТИРОВАНИЕ НЕ МАСШТАБИРУЕТСЯ
КОЛИЧЕСТВО ➜ КАЧЕСТВО
АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ
УРОВНИ Юнит тесты Интеграционные тесты Системные тесты
ЮНИТ ТЕСТЫ • Методы и классы • В 90% случаев
разработчики
ИНТЕГРАЦИОННЫЕ ТЕСТЫ • Взаимодействие отдельных компонентов • Big bang, bottom-up,
top-down
СИСТЕМНЫЕ ТЕСТЫ • Полностью собранная система • GUI, Exploratory, Ad
hoc, Security, Usability, etc.
Входные данные Тестируемая система Оракул ТЕСТ
ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days)
ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days) daysInMonthToString(10) #=> “10 days”
ВХОДНЫЕ ДАННЫЕ daysInMonthToString(days) daysInMonthToString(10) #=> “10 days” daysInMonthToString(50) #=> Error:
“No more than 31 days”
АНАЛИЗ ПОГРАНИЧНЫХ ЗНАЧЕНИЙ … -1 0 31 32 …
АНАЛИЗ ПОГРАНИЧНЫХ ЗНАЧЕНИЙ … -1 0 31 32 … Неверно
Неверно Верно
АНАЛИЗ ПОГРАНИЧНЫХ ЗНАЧЕНИЙ daysInMonthToString(-1) daysInMonthToString(0) daysInMonthToString(31) daysInMonthToString(32)
КЛАССЫ ЭКВИВАЛЕНТНОСТИ Единственное число - day Множественное число - days
КЛАССЫ ЭКВИВАЛЕНТНОСТИ daysInMonthToString(-1) daysInMonthToString(0) daysInMonthToString(31) daysInMonthToString(32) daysInMonthToString(1)
Входные данные Тестируемая система Оракул ТЕСТ
ОРАКУЛ • Предсказывает поведение системы • Определяет результат теста (pass/fail)
• Джеймс Бах / Майкл Болтон: “FEW HICCUPPS” • Дуг Хоффман: “Таксономия оракулов”
ЧТО ДАЛЬШЕ?
ЧТО ДАЛЬШЕ? Непрерывная интеграция, деплоймент, ATDD, etc.
ЧТО ДАЛЬШЕ? Непрерывная интеграция, деплоймент, ATDD, etc. Оптимизация тестов, инфраструктура,
etc.
ТЕСТИРОВАНИЕ?
ТЕСТИРОВАНИЕ? ПАРАРАЗРАБОТКА!
ПАРАДЕВ Человек в команде разработки, который не является разработчиком
ПАРАДЕВ Человек со множеством скиллов и неограниченный формальными рамками
ПАРАДЕВ Цель тестирования - перестать тестировать
ПАРАДЕВ “Test is dead” - Alberto Savoia
@p0deje
[email protected]
СПАСИБО!