Как улучшить сон или 3 способа написания тестов на JavaScript
Сергей Селецкий
@sseletskyy s@nosy.guru
Кто я такой?Сергей Селецкий
@sseletskyy
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
PHP NOTESTS
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
PHPJAVA TESTS
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
RUBY RSPEC
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
UI/UXJAVA2 + Flex
WTF!
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
PHPJS TDD
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
RUBYJS BDD
-50
-25
0
25
50
75
100
2003 2007 2009 2010 2012 2013 2015
ПРОФЕССИОНАЛИЗМ УДОВОЛЬСТВИЕ
Всё начинается с блок-схемы
Что такое командная разработка?
ЕЩЕ ПАРОЧКУ HOTFIX’ОВ
Что такое трассировка выполнения кода?
Как обрести душевное равновесие?
Как кодить, а не шкодить?или
Как обрести душевное равновесие?
Как кодить, а не шкодить?или
JUST DO IT!
1 способ написания тестов на JavaScript
+ test => ?bad code
+ test => same bad codebad code
+ test => same bad codebad code
test + code =>___________
+ test => same bad codebad code
test + code => same bad code
+ test => same bad codebad code
test + code => same bad code but less bugs
2 способ написания тестов на JavaScript
TEST DRIVEN DESIGN
МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ?
DESIGN == замысел; план; цель; намерение;
проект; планирование; чертёж; эскиз; конструкция; расчёт; рисунок; узор; композиция (картины и т. п.); умысел;
злой умысел; схема; образец; конструирование; проектирование;
проектирование;
TEST DRIVEN DESIGN
МЕТОДОЛОГИЯ ТЕСТИРОВАНИЯ ПРОЕКТИРОВАНИЯ
WHERE IS THAT
BULLET?
TEST as BEHAVIOR
REQUIREMENT
TEST as BEHAVIOR
REQUIREMENT
КАК НАЧАТЬ BDD’ить на проекте без тестов?
КАК НАЧАТЬ BDD’ить на проекте без тестов?• покрывать тестами баги
КАК НАЧАТЬ BDD’ить на проекте без тестов?• покрывать тестами баги• писать тесты спеки только для новых задач