Автоматическое моделирование пользовательских вводов для тестирования форм? - PullRequest
3 голосов
/ 25 марта 2012

Я обычно делаю php-формы и "пытаюсь" использовать в них "хорошие практики".

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

Есть ли инструмент, который делает это?Я слушал о Selenium, кто-то использовал его так, как мне нужно?Или как я могу создать свои собственные инструменты тестирования, которые имитируют пользовательский ввод в произвольном порядке?

Вводимые пользователем данные подразумевают: не заполнять / проверять все поля, вводить недопустимые данные, использовать разные настройки (без JavaScript, версий браузера,..) SQL-инъекции, и я не знаю больше ...

Ответы [ 2 ]

3 голосов
/ 27 марта 2012

Здесь вам нужно рассмотреть комбинацию подходов: хороший дизайн тестовых наборов, данные для этих тестов с различными входными комбинациями и инструмент автоматизации, такой как Selenium, WebDriver, Telerik's Test Studio (коммерческийинструмент, который я помогаю продвигать), или какой-то другой инструмент автоматизации.

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

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

0 голосов
/ 25 марта 2012

Selenium используется для автоматизации браузеров именно так, как вы описали.Используется для того, что называется Функциональное тестирование .Где вы тестируете внешние аспекты приложения, чтобы убедиться, что они соответствуют спецификациям.

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

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

Это часто используется вместе с подходомназывается разработка через тестирование (TDD) , где вы пишете тесты перед кодом приложения.

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