Тесты приёмочные

ATDD == Acceptance Test-Driven Development тестопригодные требования == создавать качественное программное обеспечение в сжатые сроки. автоматизация тестирования, определения шагов. изменить взгляд на проблему, чтобы успешно применять ATDD. вместо «эту функцию я хочу включить» говорить «А как мы будем ее тестировать? Вот пример». не соглашаться, спорить и делать по-своему. для общения с людьми, которые с языками…Больше

Отсечение степеней свободы ошибок

Состояние: «Программа компилируется, но делает не то, что ожидалось». Интро: — включи ВСЕ предупреждения компилятора— прочти ВСЕ предупреждения компилятора— пойми ВСЕ предупреждения компилятора Объясни резиновой утке Почему каждая строка каждого метода в вашей программе заведомо верна.В какой-то момент вы не сможете этого сделать: — не понимаете метод, — он неправильный, — и то, и другое.…Больше

Тест-дизайн откуда есть пошёл.

не узнавать, а понимать. А чтобы понимать, надо сомневаться в тех определениях, которые предлагается узнать. Вообразите квадрат перевёрнутым. тест-дизайн сегодня пользуемся = отблеск тех блестящих 50-х годов. Раньше тестировали ДО того, как написать код (карандаш и бумага, парни), и код писали уже с учётом всех потенциальных проблем, которые были обнаружены на этапе тестирования. Анализ (др.-греч.…Больше

Несчастные не пишут книг о том, как себе помогать.

систематические отклонения в нашей рациональности, отход от логично-го, оптимального, разумного мышления и поведения. система — в своих заблуждениях мы идем одним и тем же путём, создавая асимметрию и эта же асимметрия позволяет, иногда, заметить регулярность. Знание собственных ошибок позволило видеть неверные шаги и принимать меры, пока они не навредили. журналист не станет интересоваться не прошедшими отбор; разве что теми, кто сначала стал звездой, а потом…Больше

Польза тестов на примере сортировки массива

Случай когда «порядок бьёт класс»: После продумывания функции сортировки столбца массива двумерного A2_Column_Sort_Ascend по возрастанию, перед написанием кода нужно продумать функцию A2_Column_Sort_Ascend_Test, проверяющую результат работы этой функции.Перед написанием кода функции A2_Column_Sort_Ascend_Test нужно продумать две функции: — генерирующую двумерный массив Generator_A2 (да, и тест для неё)— проверяющую возрастание в выбранном столбце (да, и тест для неё)…Больше

Отличия иерархии от спагетти-кода

Допустим нужна функция удаления дубликатов строк, например из строки «z z z» нужно получить «z». Лапша версия: Function StringS_Duplicate_Remove_Spagetti( _ sVal As String, _ sepa As String) _ As String Dim a1 As Variant a1 = Split(sVal, sepa) Dim a1_Uniq As Variant a1_Uniq = AX_2_A1_Unique(a1) StringS_Duplicate_Remove_Spagetti = Join(a1_Uniq, sepa)End Function Иерархия конвейера слабосвязанных методовБольше

Программирование.Алкоголь

Хороший спортсмен. Был.Как-то после бани его родной дядя предложил ему выпить пива.Парень говорит: «Я – спортсмен. Не пью».На что дядя отвечает: «Да все спортсмены выпивают. Уж я-то знаю. Давай бахнем. Как настоящие спортсмены».И после этого у парня что-то переключилось.Он так и сказал «что-то во мне переключилось…»И теперь он в 15 лет пьёт пиво и бывший спортсмен.Следите за языком!…Больше

Чек-лист = Юнит-тест

Из Левенчук “Системноинженерное мышление” 2 мало что более эффективно в сверхсложных коллективных проектах, чем дисциплинированно проходимые чеклисты, но это мало где признаётся, кроме авиации, космонавтики, медицины. Дисциплина чеклистов выглядит бюрократической — но системные инженеры их не стесняются.Объясняют нестеснение просто: зато ракеты долетают куда надо, а атомные станции начинают давать ток и даже более безопасны в…Больше

Описание процесса создания программы на примере задачи сравнения диапазонов

Как я делаю автоматическое покрытие юнит-тестами кода Блюдя принцип TDD = разработка управляемая тестированием = Сначала тесты, потом код Например, нужно сравнить два диапазона и в первом диапазоне покрасить ячейки, которых нет во втором. Произвожу мысленную декомпозицию задачи … Каких простых исполнителей создать, чтобы их можно было, когда-то, потом использовать без отладки? Получились артефакты (методы,…Больше

Разработка через тестирование (TDD). Артур Аюханов artbear

Тестирование никогда не доказывает отсутствия ошибок. Но наличие тестов – это лучше, чем отсутствие тестов. Два главных требования тестирования (ОПЫТ): Если тестирование не будет автоматизированным, его будет лень делать. Если тесты будут выполняться медленно, их опять же лениво делать.Больше