Ни какие автоматизированные тесты не смогут полностью повторить людей. Для меня тест — это когда человек, который незнакомый с твоей программой, получает полную свободу действий и начинает тыкать все подряд в той последовательности какой захочет он (а никак задумывалось, мы все мыслим об одном, но по-разному). Тесты всегда следуют алгоритму, который заведомо правильный, а бывает шаг влево и всё… поведение программы рушится, ломается или программа и совсем падает.
Не спорю, что без автоматизации тестов не обойтись, но как подмечено в статье, что надо разграничивать. Например, я с удовольствием автоматизирую нажатие пальцем на кнопку 1000 раз, но последовательное нажатие пунктов в меню доверю человеку.
> Ни какие автоматизированные тесты не смогут полностью повторить людей.
ни один человек не способен выполнить такое количество тестов, которео может выполнить машина
Автотесты могут определить достаточно грубые ошибки. Аля вылезло окошко с ошибкой после некоего действия.
Или наоборот, не вылезло ожидаемое окошко…
Собственное мнение: толку от них не то что бы много… но немного есть.
>>>Например, невозможно (читай: очень сложно) автоматизировать тестирование таких вещи как:
>>>установка операционной системы
Не правда, у нам на работе постоянно приходится пераставлять OCи (все виды.) и этот процесс полностью автоматизирован.
>>>проверка содержимого картинки, видео
Опять таки очень часто приходится распознавать текст со скриншотов.
Да это не полная проверка картинки/видео, но всё равно распознавание работает.
Плюс как вариант можно делать по пиксельное сравнение. Или проверять совпадение цветов в нужных областях.
Да, теоретически это можно протестировать. Но используя стандартные средства автоматизации тестирования это оочень сложно, в некоторых из них — невозможно. Придется применять отдельные инструменты, которым, в свою очередь, уже не хватает каких-то возможностей обычных автотестов. В итоге придется допиливать либо то, либо другое. Это трудоемко, и много где будет невыгодно. Но если захотеть, конечно да, автоматизировать можно все
Просто у нас основной инструмент perl. По-этому мы не сильно скованы в средствах. :)
То что нельзя сделать примощи perl, можно сдeлать чем-нибудь ещё и обернуть в perl.
OMFG, ну почему каждый пост на хабре о тестировании — непроходимая чушь?!
Ну кто вам сказал, что «Автотест — это обязательно скрипт, имитирующий взаимодействия пользователя с приложением»?
А юнит-тесты не могут быть авто-? А нагрузочные? А UI-тестирование?
Автоматизация тестирования: минусы