Где непрофессиональные вводные материалы непрофессионала для тестирования всего на Python? - PullRequest
2 голосов
/ 12 ноября 2010

Этот вопрос был изменен

Если бы мне нужно было выбрать тип тестирования, которое я хотел бы изучить (я понятия не имею, каким образом это переводится на Python), можно найти здесьhttp://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd. Я не знаю, является ли это проворным, экстремальным или просто называется TDD.Это модульное тестирование, док тестирование комбинации обоих или я что-то упустил?Есть ли что-то еще лучше, похожее или этот стиль просто не применим?Я ищу материал для начинающих, как проводить тестирование (особенно для Python), как описано в моей ссылке.Я открыт для идей и всех ресурсов Python.Спасибо!

Я вставил сюда оригинальное сообщение для справки http://dpaste.com/274603/plain/

Ответы [ 5 ]

2 голосов
/ 12 ноября 2010

Самое простое для начала - это модуль Python unittest.В дальнейшем существуют платформы для более автоматического выполнения задач, но unittest отлично работает для простых случаев.

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

Наконец, вы вызываете unittest.main () для запуска всех определенных вами тестов.

Естьпосмотрите на этот пример: http://docs.python.org/library/unittest#basic-example

1 голос
/ 13 ноября 2010

Какие ресурсы у вас есть, ребята, для начала тестирования, в частности, на Python?... Из каких мест лучше всего начинать?

Шаг 1. Пишите меньше.

Шаг 2. Фокус.

Шаг 3Определите ясными, простыми предложениями, что вы тестируете.Это программное обеспечение?Что оно делает?На какой архитектуре он работает?Определенно перечислите конкретные вещи, которые вы на самом деле собираетесь проверить.Конкретный.Сосредоточенный.

Шаг 4. Во-первых, вы собираетесь проверить.Одна вещь.Выберите требование, которому оно должно соответствовать.Одно требование.То есть, «учитывая x и y в качестве входных данных, вычисляет z.»

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

  • Вам нужно что-то проверить.(«Приспособление».)

  • У вас должны быть требования, чтобы проверить его.(«TestCase».)

  • У вас есть измеримые критерии прохождения / неудачи.(«Утверждение».)

Если у вас его нет, вы не можете проверить.Это помогает записать это словами.Короткие, сфокусированные списки светильников, случаев и утверждений.Короткий.Сосредоточено.

Как только у вас есть одно требование, тестирование - это просто кодирование требований на языке, который утверждает результаты каждого теста.Ничего более.

Ваш unittest.TestCase использует setUp для создания прибора.A TestCase может иметь один или несколько методов испытаний для различных упражнений.Каждый метод тестирования имеет одно или несколько утверждений о приборе.

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

После того, как у вас есть всеТребования к устройству. Вернитесь к шагу 3 и выполните еще одно устройство.

Медленно собирайте тесты.По кусочкам.Пиши меньше.Фокус.

0 голосов
/ 13 ноября 2010

Вот ссылка на заметки С. Титуса Брауна, посвященные тестированию программного обеспечения: http://ivory.idyll.org/articles/advanced-swc/#testing-your-software

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

0 голосов
/ 13 ноября 2010

Тестирование - это больше искусство, и вы становитесь лучше благодаря практике.

Для себя я прочитал эту книгу Прагматическое модульное тестирование в C # с NUnit и я очень рекомендую его вам.Хотя речь идет о .Net и C #, а не о Python, вы можете пропустить точный код, но попытаться понять принципы, которым его учат.

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

0 голосов
/ 12 ноября 2010

Мне нравится это один и это один тоже

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...