Как Вы делаете тестирование не скучным?

Мы используем следующий вариант # 3: Создаем только JSON-сервер REST API. Сделать сервер веб-сайта HTML. Веб-сервер HTML, как и в вашем варианте, не является клиентом сервера API REST. Вместо этого оба сверстники. Недалеко от поверхности находится внутренний API, который обеспечивает функциональность, необходимую двум серверам.

Мы не знаем ни о каком прецеденте, так что это своего рода эксперимент. Пока (собирается войти в бета-версию), это сработало довольно хорошо.

10
задан 2 revs 1 July 2009 в 10:01
поделиться

13 ответов

Проведите быстрые тесты. (Более) немедленная обратная связь помогает достичь коротких итераций. Это может почти заставить вас начать следующий тестовый прогон.

11
ответ дан 3 December 2019 в 13:35
поделиться

Напишите несколько модульных / автоматических тестов, которые будут запускаться автоматически, например, после завершения новой сборки.

Используйте инкапсуляцию и попробуйте протестировать только интерфейсы.

Напишите несколько небольших инструментов, которые помогут вам тестировать свои модули / классы.

1
ответ дан 3 December 2019 в 13:35
поделиться

Я работаю в небольшой компании, но у нас есть отдельная группа тестирования. Это связано с тем, что разработчики часто не видят собственных ошибок, поэтому они, как правило, плохие тестировщики. Наша команда тестирования состоит из опытных инженеров-тестировщиков, которые работают в соответствии с заранее определенными планами тестирования и часто используют автоматизированные инструменты тестирования для тестирования создаваемых нами приложений. (Включая веб-сайты!) Они не разработчики! Эти тестеры используют TMap для автоматизированного тестирования. Остальное - это просто ручной труд, чтение функционального дизайна и проверка того, что все, что упомянуто в функциональном дизайне, будет работать в точности , как описано в окончательной версии. О любых ошибках сообщается разработчикам с помощью внутреннего инструмента сообщения об ошибках.

1
ответ дан 3 December 2019 в 13:35
поделиться

Я сначала пытаюсь написать свои тесты и пытаюсь создать класс вокруг этого. Так что я действительно сосредоточен на тестах. Я использую JUnit и т. Д.

Если вы попробуете программировать таким образом ... тестирование станет все более увлекательным, с моей точки зрения.

1
ответ дан 3 December 2019 в 13:35
поделиться

Один из советов, который я даю своей команде, заключается в том, что в отношении новых функций 90% логики должны работать вне контекста приложения.

Функции, которые могут выполняться вне контекст приложения всегда легко протестировать.

Если вы используете .net, вы можете изучить NUnit .

Вы также можете посмотреть Pex . Кажется, это потрясающая среда тестирования.

Однако ваш вопрос является немного общим, потому что существует множество типов тестирования.

Удачи вам, тестируя :).

1
ответ дан 3 December 2019 в 13:35
поделиться

«Ни тестирования, ни скучно».

2
ответ дан 3 December 2019 в 13:35
поделиться

Для нового кода определите, что он должен делать, напишите тест, который утверждает, что код это делает, выясните, как это сделать, затем напишите код .

Для поиска ошибок в существующем коде тест, который воспроизводит ошибку, облегчает тестирование.

Это не скучно, потому что в обоих случаях тесты имеют высокую вероятность неудачи.

Для UAT , то я не нашел ни одного нескучного способа - вы проходите требования одно за другим и делаете столько тестов, сколько необходимо для функциональности. В идеале для новых проектов это было бы в основном сделано заранее как часть проработки, но не всегда. Это становится скучным только тогда, когда вы пишете тесты после того, как у вас есть длинный список тестов, которые, как вы уже знаете, пройдут.

3
ответ дан 3 December 2019 в 13:35
поделиться

Я не понимаю, как это может быть скучно, поскольку это большая часть самого программирования. Выявление и устранение ошибок очень важно, но если вы думаете, что это скучно, возможно, вам лучше написать код, и в этом случае вы можете написать несколько строк, которые проверяют важные части вашего кода.

3
ответ дан 3 December 2019 в 13:35
поделиться

Вы, наверное, имеете в виду утомительно, а не скучно. В таком случае эта статья может помочь

2
ответ дан 3 December 2019 в 13:35
поделиться

Напишите автоматические модульные тесты с помощью PhpUnit или Simpletest , поскольку вы используете PHP, или любой другой Платформа модульного тестирования доступна для выбранного вами языка. Следуя Разработка через тестирование (TDD), вы создадите набор тестов вместе со своим кодом. У вас не будет впечатления, что вы что-то тестируете. В самом деле.

«* немного протестируй, немного напиши *».

2
ответ дан 3 December 2019 в 13:35
поделиться

Сделать простой в использовании набор тестов для программ Perl легко. Существует стандартный способ тестирования на Perl с использованием Test Anything Protocol .

Обычно вы пишете группу файлов с расширением .t в t / вашего проекта, а затем запустите proof .

Файлы в t / в основном выглядят следующим образом:

#!/usr/bin/perl
use strict;
use warnings;

use Test::More tests => 8;

use Date::ICal;

$ical = Date::ICal->new( year => 1964, month => 10, day => 16, 
                         hour => 16, min => 12, sec => 47, 
                         tz => '0530' );

ok( defined $ical,            'new() returned something' );
ok( $ical->isa('Date::ICal'), "  and it's the right class" );
is( $ical->sec,     47,       '  sec()'   );
is( $ical->min,     12,       '  min()'   );    
is( $ical->hour,    16,       '  hour()'  );
is( $ical->day,     17,       '  day()'   );
is( $ical->month,   10,       '  month()' );
is( $ical->year,    1964,     '  year()'  );

Для получения дополнительной информации вы можете прочитать учебник .

Есть много языков, в которых есть модули, предназначенные для работы с TAP , дополнительную информацию см. здесь .

К сожалению, TAP только недавно использовался для других языков, кроме Perl, поэтому для них не так много поддержки, как для Perl.

1
ответ дан 3 December 2019 в 13:35
поделиться

Я думал так же, как ты. Когда я только начал программировать, нам нужно было решить, каким будет результат на бумаге, а затем провести визуальное сравнение фактического и ожидаемого результата. Разговор об утомительном. Пару лет назад я открыл для себя Test Driven Development и xUnit, и теперь мне нравятся тесты.

По сути, в TDD у вас есть структура, позволяющая писать тесты и очень легко их запускать. Итак, написание тестов сводится к написанию кода. Процесс следующий:

  1. Просто напишите достаточно, чтобы вы могли написать тест. Например, вы добавляете метод в класс, поэтому вы просто пишете sig метода и любой оператор return, необходимый для его компиляции.
  2. Затем вы пишете свой первый тест и запускаете фреймворк, чтобы убедиться, что он не работает.
  3. Затем вы добавляете код / ​​реорганизуете свой метод в добиться прохождения теста.
  4. Затем вы добавляете следующий тест и видите, что он терпит неудачу.
  5. Повторяйте 3 и 4, пока не перестанете думать о других тестах.
  6. Вы закончили.

Это одна из приятных особенностей TDD: как только ваш код проходит все тесты, которые вы только можете придумать, вы знаете, что закончили - без TDD иногда трудно понять, когда остановиться. Откуда берутся ваши тесты? Они взяты из спец. TDD часто помогает понять, что спецификация. полна дыр, когда вы думаете о тестовых примерах для вещей, которых не было в спецификации. Вы можете получить ответы на эти вопросы до того, как начнете писать код для их решения.

Еще одна приятная вещь заключается в том, что когда вы обнаружите ошибку позже, вы можете безопасно начать переработку своего кода, зная, что все существующие тесты докажут, что ваш код по-прежнему работает во всех известных случаях, в то время как новые тесты вы написанное для воссоздания ошибки покажет вам, когда вы ее исправите.

Вы можете добавлять модульные тесты к существующему коду - просто добавляйте их для битов, которые вы изменяете. По мере того как вы будете к нему возвращаться, тесты будут охватывать все больше и больше.

xUnit - это общее название для группы фреймворков, поддерживающих разные языки: JUnit для Java, NUnit для .NET и т. Д. Вероятно, уже есть один для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

вы можете безопасно начать переработку кода, зная, что все существующие тесты докажут, что ваш код по-прежнему работает во всех известных случаях, в то время как новые тесты, которые вы написали для воссоздания ошибки, покажут вам, когда вы ее исправите.

Вы можете добавлять модульные тесты к существующему коду - просто добавляйте их для битов, которые вы меняете. По мере того как вы будете к нему возвращаться, тесты будут охватывать все больше и больше.

xUnit - это общее название для группы фреймворков, поддерживающих разные языки: JUnit для Java, NUnit для .NET и т. Д. Вероятно, уже есть один для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

вы можете безопасно начать переработку кода, зная, что все существующие тесты докажут, что ваш код по-прежнему работает во всех известных случаях, в то время как новые тесты, которые вы написали для воссоздания ошибки, покажут вам, когда вы ее исправите.

Вы можете добавлять модульные тесты к существующему коду - просто добавляйте их для битов, которые вы меняете. По мере того как вы будете к нему возвращаться, тесты будут охватывать все больше и больше.

xUnit - это общее название для группы фреймворков, поддерживающих разные языки: JUnit для Java, NUnit для .NET и т. Д. Вероятно, уже есть один для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

Написанный для воссоздания ошибки покажет вам, когда вы ее исправите.

Вы можете добавлять модульные тесты в существующий код - просто добавляйте их для тех битов, которые вы изменяете. По мере того как вы будете к нему возвращаться, тесты будут охватывать все больше и больше.

xUnit - это общее название для группы фреймворков, поддерживающих разные языки: JUnit для Java, NUnit для .NET и т. Д. Вероятно, уже есть один для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

Написанный для воссоздания ошибки покажет вам, когда вы ее исправите.

Вы можете добавлять модульные тесты в существующий код - просто добавляйте их для тех битов, которые вы изменяете. По мере того как вы будете к нему возвращаться, тесты будут охватывать все больше и больше.

xUnit - это общее название для группы фреймворков, поддерживающих разные языки: JUnit для Java, NUnit для .NET и т. Д. Вероятно, уже есть один для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

JUnit для Java, NUnit для .NET и т.д. Вероятно, он уже существует для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

JUnit для Java, NUnit для .NET и т.д. Вероятно, он уже существует для любого языка, который вы используете. Вы даже можете написать свой собственный фреймворк . Прочтите эту книгу - она ​​великолепна.

7
ответ дан 3 December 2019 в 13:35
поделиться

Если вы находите тестирование скучным, это связано с тем, что тестирование вашего кода является неизбежным злом ... по крайней мере, как я воспринимал, вы это видите.

Все, что вам нужно, это изменить вашу точку зрения взглядов на тестирование ... а точнее ... изменение в том, КАК вы тестируете. Вы любите программировать гораздо больше, чем тестирование ... хорошо программируйте свои тесты ... тогда это так же весело, как программирование самого начала ... и когда вы закончите, у вас есть

  1. программа, которая работает

  2. тестовый набор, который остается и тестирует его при каждой сборке

Так что оставьте эту таблицу Excel и пошаговый отладчик и присоединяйтесь к веселью :-)

Конечно, это еще не все, и здесь тестовые фреймворки (junit, testNG , Dunit, NUnit ...) пригодятся, они снимут небольшие хлопоты и оставят только кодовую часть теста ..

Удачного кодирования и, соответственно, .. удачного тестирования: -)


Несколько ссылок, которые могут оказаться полезными, я не эксперт по PHP, это далеко не так, но, похоже, это соответствует цели.

9
ответ дан 3 December 2019 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: