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
81
Тестирование как паразработка
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
Crystalball: predicting test failures
p0deje
1
6.9k
Тестирование и параразработка
p0deje
0
120
Petri Nets Based Testing
p0deje
0
13
Тестирование на основе сетей Петри
p0deje
2
290
Tester's Anxieties
p0deje
0
130
Как тестируют в Toptal
p0deje
0
240
YARD - больше чем просто документация
p0deje
0
200
How to make your own Travis CI: Vagrant + KVM
p0deje
0
320
From Selenium to Watir
p0deje
2
330
Other Decks in Technology
See All in Technology
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
takapy
1
140
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
OSSコミットしてZennの課題を解決した話
dyoshikawa1993
0
150
AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
opelab
10
4.3k
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
120
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
276
34k
How to Ace a Technical Interview
jacobian
274
23k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Thoughts on Productivity
jonyablonski
64
4.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Web development in the modern age
philhawksworth
203
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
Navigating Team Friction
lara
181
13k
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]
СПАСИБО!