Каков наиболее часто используемый подход, используемый для тестирования в Java-проектах (итеративная разработка)?Методы тестирования
ответ
Мое предложение состоит в том, что у вас должно быть здоровое сочетание автоматизированного и ручного тестирования.
АВТОМАТИЗИРОВАННЫХ ИСПЫТАНИЙ
Unit Testing
Использование NUnit, чтобы проверить свои классы, функции и взаимодействие между ними.
http://www.nunit.org/index.phpAutomated Функциональное тестирование
Если это возможно, вы должны автоматизировать много функционального тестирования. Некоторые рамочные работы имеют функциональное тестирование, встроенное в них. В противном случае вы должны использовать для этого инструмент. Если вы разрабатываете веб-сайты/приложения, вы можете посмотреть на Selenium.
http://www.peterkrantz.com/2005/selenium-for-aspnet/Непрерывная интеграция
Используйте CI, чтобы убедиться, что все автоматизированные тесты запускать каждый раз, когда кто-то в вашей команде делает коммит проекту.
http://martinfowler.com/articles/continuousIntegration.html
РУКОВОДСТВО ТЕСТИРОВАНИЕ
Насколько я люблю автоматизированное тестирование это, имхо, не является заменой для ручного тестирования. Основная причина заключается в том, что автоматизированный способ может выполнять только то, что ему говорят, и проверять только то, что было проинформировано, для просмотра в качестве pass/fail. Человек может использовать свой интеллект, чтобы находить ошибки и задавать вопросы, возникающие при тестировании чего-то другого.
- Исследовательское тестирование
ET является очень низкая стоимость и эффективный способ найти дефекты в проекте. Он использует преимущества интеллекта человека и учит тестировщиков/разработчиков больше о проекте, чем любой другой метод тестирования, о котором я знаю. Выполнение ET-сессии, предназначенной для каждой функции, развернутой в тестовой среде, - это не только эффективный способ быстро найти проблемы, но и хороший способ учиться и веселиться!
http://www.satisfice.com/articles/et-article.pdf
Благодарим вас за подробный ответ Jonas. Это будет хорошей ссылкой. –
No Worries, только рад помочь. Тестирование может быть очень забавным, если вы позволите. –
Раньше я работал с TDD (Test Driven Development), и мои чувства к нему неоднозначны. По сути, вы пишете свои тесты, прежде чем писать свой код, и напишите свой код, чтобы удовлетворить требованиям теста. TDD заставляет вас иметь четкое представление о ваших требованиях перед запуском. Дополнительным преимуществом является то, что, как только вы закончите разработку, предполагая, что внимательно следите за процедурами TDD, у вас будет полный набор тестовых наборов для работы с кодом. Нижняя сторона заключается в том, что она занимает очень много времени, и порой вам просто нужно пропустить пару шагов (например, возможно, писать код до того, как тесты, как правило, предпочли бы здравомыслящий человек).
Подробнее можно прочитать here (wiki link)
Модульное тестирование?
Контрактное программирование, a la Eiffel?
Модель водопада?
Различные магазины делают разные вещи. Если бы был один метод, чтобы управлять ими всеми, вы бы не задавали этот вопрос.
Личный опыт предполагает, что наиболее популярным подходом является отсутствие вообще.
Это, к сожалению, и, возможно, удивительно, очень верно ... – Cambium
... или, по крайней мере, как только вы можете уйти ;-) –
Каковы основные проблемы тестирования? –
В предположении проведения тестирования я бы сказал, что тестирование с JUnit - это общий подход к тестированию на Java.
Хотя большинство тестов написаны с использованием тестов JUnit, как правило, больше тестов интеграции, чем модульных тестов. (что означает не тестирование одной вещи в изоляции, а некоторые вещи вместе)
Кроме того, тест в основном не записывается в первый подход к тестированию, а параллельно или после реализации определенной функции.
Если вы перейдете к команде, которая использует более продвинутое тестирование, вы, возможно, обнаружите, что CI Server (Cruise Control, Hudson) запускает тесты не реже одного раза в день во время ночной сборки.
В порядке наиболее часто используемый подход:
- никаких тестов на всех
- ручных тестов: запуск приложения, щелчок или обеспечение ввода, проверьте результаты
- попробовать написать несколько JUnits , забудьте о них, сдвиньте до 2 и 1
- Начните с TDD, посмотрите, что это трудно затем сдвиньте до 3, 2 и 1
с теоретической стороны есть множество способов правильно протестировать код. Если вы ищете что-то практическое, посмотрите на Clean Code Talk. Взгляните на всю серию, около 5 разговоров (не можете разместить более одной ссылки).
Мое предложение для тестирования проекта Java, чтобы сохранить его простым.
Шаги: - Ручное тестирование: -Установить стабильный продукт. Тестирование на автоматизацию: - Поддерживайте качество продукта. Отчеты Создание и отчетность: - Сообщите людям о качестве продукта. Непрерывная интеграция: сделайте это полностью автоматизированным, непрерывным инструментом.
Когда разработчик выполнит Функциональность, начните тестирование модуля по модулю. Попробуйте сравнить фактический результат с ожидаемым выходом и против него.
Когда разработчик разрешил проблемы, начните с тестирования интеграции, а также начните тестирование проблем разрешенных состояний и проверьте, не возникла ли какая-либо регрессия из-за проблемы с исправлением.
Наконец, когда продукт становится стабильным, тогда начните автоматизацию модулей. Вы также можете выполнить автоматизацию шаг за шагом, например: - 1.Автоматизация модулей. 2. Создайте отчет и отправьте письмо для продукта HealthCheck. 3. Непрерывное тестирование интеграции и автоматизации на частном сервере на локальной машине.
- 1. Методы тестирования модулей тестирования
- 2. Методы тестирования тестовых единиц
- 3. Методы тестирования интеграции Spring?
- 4. Методы тестирования mocking ApexAsynJob
- 5. Методы тестирования EJB 3.1
- 6. делегат методы OCMock тестирования
- 7. Методы тестирования компонентов Vue
- 8. Методы тестирования класса тестирования с OCMock
- 9. Методы тестирования базы данных асинхронного тестирования
- 10. методы тестирования питона, которые называют методы класса
- 11. Методы модульного тестирования с UserDefinedFunction
- 12. Java - JUnit - методы тестирования - MultipleMarkersError
- 13. Гибкие испытания/традиционные методы тестирования
- 14. Методы тестирования, вызванные другим методом
- 15. Как отделить единичные методы тестирования?
- 16. Модули тестирования модулей VS Методы
- 17. Динамически запускаемые методы тестирования JUnit
- 18. Методы тестирования хелперов в Rails
- 19. Вложенные частные методы модульного тестирования
- 20. Методы тестирования со строковыми выходами?
- 21. Методы тестирования внутри компонента ReactJS?
- 22. Методы, зависящие от модуля тестирования
- 23. Методы ввода-вывода модулей тестирования
- 24. Методы тестирования с использованием JUnit
- 25. Почему методы тестирования единиц измерения?
- 26. Методы тестирования Rspec в транзакции
- 27. Модуль Тестирование уровня доступа к данным - методы тестирования тестирования?
- 28. RSpec - методы тестирования, которые вызывают частные методы, которые следует издеваться
- 29. Методы тестирования, которые ничего не возвращают
- 30. C++ методы тестирования недействительности с использованием gtest
Должно быть сообщество wiki. – Borealid