Что такое автотестирование проекта (кода) и как все это должно выглядить например для flash игры или для сайта? Разработчики пишут скрипты например на php, где эмулируют какую то последовательность запросов на сервер?
А в случае если мне надо протестировать много пользовательскую флеш игру, как клиент, так и сервер, то как здесь могут выглядеть автотесты?
"Разработчики пишут скрипты например на php, где эмулируют какую то последовательность запросов на сервер?"
Обычно этим занимаются тестировщики. Они тоже умеют писать скрипты. Есть хорошие среды для тестирования, в которых можно разработать множество автоматических действий.
Разработчики и тестировщики вместе пишут приложение так, чтобы его было удобнее тестировать.
не обязательно автоматически тестировать все.
Можно для тестов специально сделать отдельный клиент, как это делают с ботами.
Просто на время тестирования этот клиент будет разрешен и возможностей у него будет больше.
Визуальную часть тестируют отдельно. Даже в той же линейке, если поставить свой сервер и дать себе права админа, появлялось множество команд помогающих тестированию - отображение графической сетки, перемещение в нужные точки. Это все - остатки тестирования
>>Можно для тестов специально сделать отдельный клиент, как это делают с ботами.
можно подробнее о том как это делают? Программируют поведение ботов, то есть программируют все функции реализующие возможное поведение ботов и смотрят как они играют в комнате?
Это для серверной части. А для клиентской? Грубо говоря как я могу быть уверен что клиентская часть у бота правильно отображает серверные шаги бота ( сообщения в чате - видно или нет, видно ли этому боту в его клиентской части поведение остальных ботов )
Игорь Самохин: Не нужно писать функции которые реализуют возможное поведение ботов.
Нужно проверить, что бот А может передать боту Б предмет в зоне видимости.
Пишется скрипт в котором заданы координаты куда бежать, что делать.
Эти тесты периодически прогоняются автоматом.
А так - от мануального тестирования большинства визуальных интерфейсов никто не уходил.
Автоматизируют то, что можно автоматизировать.
Веб интерфейс очень легко автоматизировать.
Пишутся тест-кейсы, пишется скрипт под каждый тест кейс. Запустился, проверился.
Сергей: из ответа не понял, скрипты для тестирования клиентской части игры ( эмуляция кликов мышей, дарения подарков, действий в игре ) написать в принципе можно? Так делают?
1. В клиент можно встроить возможность написания скриптов, затем отключить в релизе для обычных игроков.
2. Есть множество "кликеров" и систем, которые эмулируют действия мышкой. Просто не всегда именно это требуется тестировать в графическом интерфейсе - обычно автоматизируют то, что нужно регулярно проверять, а не как работает какая-то вещь.
Например можно написать скрипт, который будет проходить определенные задания, и отслеживать метрики - работает/не работает, за какое время было пройдено задание, при этом проверить быстродействие работы на разном железе.
логика простая. Вы же как-то проверяете что все работает? А теперь представьте что вы написали программу которая делает это за вас и она дает два результата - работает (зеленое) или не работает (красное).
Тесты можно писать на разных уровнях. От отдельных модулей вашего приложения (масые маленькие кусочки) до всей системы (вся многопользовательская игра). Далее подключаем здравый смысл. Мы сначала должны убедиться что каждый отдельный компонент системы работает, а затем проверять как работают компоненты в сборе.