• Популярные вопросы разработчика о тестировании

    Эта статья — не теоретическое руководство по написанию тестов и не how-to по использованию инструментария в определенном стеке, а ряд популярных вопросов, иногда даже у многих не сформировавшихся, на которые я постараюсь дать ответы. Источником этих вопросов служат коллеги, люди с обоих сторон в собеседованиях и знакомые, а ответы будут субъективными, краткими и не исчерпывающими, основанными на чужих материалах и своём опыте. Целевая аудитория статьи – разработчики, которые с определенным успехом пишут или хотя бы пытались писать тесты, но испытывают определенные сложности в их написании.


    Я старался не привязываться к конкретному языку, чтобы увеличить охват читающих, однако оговорюсь сразу, что работаю в экосистеме PHP с использованием PHPUnit, и поэтому некоторые мои выводы могут быть неподходящими для других экосистем. При подборе вопросов и написанию я ориентировался на множество докладов и статей и пользовался ими как референсом.


    Поводом для написания послужила недавняя статья «PHPUnit. Мокаем Doctrine Entity Manager» от trawl, некоторые проблемы из которой я тоже разберу.


    Список вопросов:


    • Писать или не писать тесты?
    • А если на тесты не выделяют время?
    • Виды тестирования, как выбрать?
    • Почему мне сложно и долго писать тесты?
    • Как тестировать приватные методы?
    • Как писать интеграционные тесты? Как тестировать базу?
    • Как правильно: интеграционные или функциональные?
    • Как быть с внешними зависимостями?
    • Как упростить навигацию между тестами и предметом тестирования?
    • Должен ли я использовать TDD?
    • Что еще можно использовать для улучшения кода?
    Читать дальше →
    • +12
    • 7,2k
    • 7
  • Upload progress средствами PHP 5.4

    В текущее время существует множество вариантов определения прогресса загрузки файла: как с помощью клиентских технологий, так и с помощью серверных. Примером клиентских технологий служат swfupload с использованием Flash, примером серверных — nginx_uploadprogress_module.
    Грядущий релиз PHP преподносит нам подарок в виде родного инструмента для определения прогресса закачки файла.
    Разберемся с ним.
    Читать дальше →