| Selenium Во все времена было трудно автоматизировать функциональное регрессионное тестирование. Тест-утилиты традиционно использовали тесты в стиле record-and-play, которые сравнивали результаты запроса на Web-страницу с тестовыми запросами для определения, успешно ли проведено бестирование. В этом случае тестирование проходило неудачно даже при малейших изменениях страницы. Из за этого традиционные тест-утилиты становидись бесполезными при регрессионном тестировании. Selenium проводит тестирование в самом браузере. Вместо сравнения двух контентов, тест Selenium запускает скрипты в самом браузере; их роль – имитировать действия пользователя. Хотя эти тесты не защищают от возможных вынужденных изменений, они всё же более надёжны, чем тесты в стиле record-and-play. |
| Эталон может фиксировать уже достигнутое системой качество анализа и/или перевода или, напротив, указывать на желательное состояние системы в будущем. При работе с фиксированным эталонным результатом отслеживаются все изменения, возникшие на небольшом промежутке времени. Работа происходит следующим образом: корпус “прогоняется” через систему, и результаты фиксируются, образуя эталон. При каждом изменении системы (или через определенные промежутки времени) этот же корпус снова подаётся на вход системы, и результат его обработки сравнивается с эталоном. Различия отыскиваются автоматически; затем эксперт просматривает список предложений, получивших отличный от эталона анализ или перевод, находит то изменение системы, которое вызвало расхождение, и, если изменение было ошибочным, оперативно его пересматривает. Таким способом гарантируется неухудшение параметров системы при внесении изменений. Если сравнение результата обработки корпуса с эталоном показывает улучшение работы системы, то этот результат фиксируется в качестве нового эталона. Такую процедуру тестирования мы называем регрессионным тестированием – по аналогии с соответствующей методикой, активно используемой в программировании сложных систем в последние десятилетия. Оперативный режим регрессионного тестирования позволяет разработчику вовремя заметить небольшие шаги системы к лучшему или к худшему. Однако на основании такого теста нельзя дать глобальную оценку работе системы. |
| Регрессионное тестирование Регрессионное тестирование сравнивает выходные данные текущего теста с результатами (или известными значениями} предыдущих. Мы можем гарантировать, что дефекты, устраненные сегодня, не нарушат ничего из того, над чем мы работали вчера. Это важное средство страховки, и оно сокращает число неприятных сюрпризов. Все тесты, о которых мы говорили до настоящего момента, могут запускаться как регрессионные тесты с гарантией, что мы не откатываемся назад, когда разрабатываем новую программу. Мы можем запускать регрессии для тестирования производительности, контрактов, достоверности и т.д. |
| Регрессионное тестирование. Введение. Одним из важных моментов качественного тестирования ПО является проведение так называемого регрессионного тестирования (тестов регрессии). Часто эта группа тестов проводится не в полном объеме или не проводится вообще. Цель данной статьи - дать краткую характеристику тестам регрессии, выделить ключевые положения темы. Определение. Под регрессионным тестированием понимают те виды тестов, которые проводятся с каждой новой версией программы. Иными словами, тесты регрессии - это своего рода "старые песни о главном". Цель проведения этих тестов проста - убедиться, что новая версия программы не содержит ошибок в уже протестированных участках кода. По данным зарубежных авторов количество ошибок, возникающих в процессе изменения кода (исправления багов, внедрения новой функциональности и т.п.) колеблется от 50% до 80%. Выявить эти ошибки и помогают тесты регрессии. |
| Регрессио?нное тести?рование (англ. regression testing, от лат. regressio — движение назад) — собирательное название для всех видов тестирования программного обеспечения, направленных на обнаружение ошибок в уже протестированных участках исходного кода. Такие ошибки — когда после внесения изменений в программу перестает работать то, что должно было продолжать работать — называют регрессионными ошибками (англ. regression bugs). Обычно используемые методы регрессионного тестирования включают повторные прогоны предыдущих тестов, а также проверки, не попали ли регрессионные ошибки в очередную версию в результате слияния кода. |