Тестируешь тест? - PullRequest
       21

Тестируешь тест?

7 голосов
/ 03 февраля 2009

Я в основном трачу свое время на автоматические тесты приложений win32 и .NET, которые занимают около 30% нашего времени на написание и 70% на его обслуживание. Мы изучали методы сокращения времени обслуживания и уже перешли к многоразовой тестовой библиотеке, которая охватывает большинство ключевых компонентов нашего программного обеспечения. Кроме того, у нас еще есть работа, чтобы привести нашу библиотеку в состояние, когда мы можем использовать тестирование на основе ключевых слов .

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

Как вы думаете, автоматизированные библиотеки тестирования Gui должны быть модульными? Или это просто трата времени?

Ответы [ 13 ]

1 голос
/ 03 февраля 2009

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

0 голосов
/ 01 марта 2014

Возможно, вы захотите изучить среду тестирования мутаций (если вы работаете с Java: посмотрите PIT Mutation Testing ). Еще один способ оценить качество вашего модульного тестирования - посмотреть отчеты, предоставляемые такими инструментами, как SonarQube ; отчеты включают в себя различные метрики покрытия ;

0 голосов
/ 13 февраля 2014

Я бы посоветовал протестировать тест - это хорошая идея, которую нужно сделать. Просто убедитесь, что то, что вы создаете для тестирования своего приложения, не является более сложным, чем само приложение. Как было сказано ранее, TDD является хорошим подходом даже при создании автоматизированных функциональных тестов (лично я бы не стал так делать, но в любом случае это хороший подход). Модульное тестирование вашего кода также является хорошим подходом. ИМХО, если вы автоматизируете тестирование GUI, просто продолжайте с любыми доступными ручными тестами (у вас должны быть шаги, исходные сценарии, ожидаемые результаты и т. Д.), Убедитесь, что они прошли. Затем для другого теста, который вы можете создать и который еще не был написан вручную, выполните их модульное тестирование и следуйте подходу TDD. (тогда, если у вас есть время, вы можете протестировать остальные). И наконец, ключевое слово на основе IMO - лучший подход, который вы могли бы использовать, поскольку он дает вам наиболее гибкий подход.

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