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
Alex Rodionov
December 07, 2013
Technology
0
94
Тестирование как паразработка
Talk from HappyDev'13 about test automation and paradevelopment
Alex Rodionov
December 07, 2013
Tweet
Share
More Decks by Alex Rodionov
See All by Alex Rodionov
Bazel for Ruby (RubyKaigi 2025)
p0deje
0
300
There is no I in Al
p0deje
0
26
Alumnium - Open-source AI-powered Test Automation
p0deje
1
49
Bazel for Ruby (SF Bay Area Ruby Meetup)
p0deje
0
29
Crystalball: predicting test failures
p0deje
1
7.6k
Тестирование и параразработка
p0deje
0
150
Petri Nets Based Testing
p0deje
0
31
Тестирование на основе сетей Петри
p0deje
2
520
Tester's Anxieties
p0deje
0
150
Other Decks in Technology
See All in Technology
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
120
Wasmのエコシステムを使った ツール作成方法
askua
0
120
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
210
BI ツールはもういらない?Amazon RedShift & MCP Server で試みる新しいデータ分析アプローチ
cdataj
0
110
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
170
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
130
【Kaigi on Rails 事後勉強会LT】MeはどうしてGirlsに? 私とRubyを繋いだRail(s)
joyfrommasara
0
230
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
620
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
610
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
8
4.2k
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
460
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
730
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Statistics for Hackers
jakevdp
799
220k
Thoughts on Productivity
jonyablonski
70
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Navigating Team Friction
lara
190
15k
For a Future-Friendly Web
brad_frost
180
9.9k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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]
СПАСИБО!