среда, 28 июля 2010 г.

Пишем систему автоматизированных тестов "с нуля"

Добрый день,

На сайте протестинг была выложена статья Пишем систему автоматизированных тестов "с нуля" (автор мой коллега Владимир Антонов). Было бы не плохо, если бы всевидящее око тестировщиков ознакомилось с ней и оставило здесь в моем блоге свои комментарии :)

Заранее спасибо,
Алексей Булат

12 комментариев:

Felix комментирует...

Основная часть(первые 5 частей) очень похожа на первые занятия по программированию для тестировщиков от Баранцева. Впринципе для себя ничего нового здесь не отметил.

В восторге от 6й части - Визуализация работы. Автору громадное спасибо. То насущное, чем мы(команда тестировщиков где я работаю) выбиваем из начальства ресурсы для отдела автоматизации.

PS
На http://www.protesting.ru/automation/practice/automation_from_scratch.html нет полного ФИО автора. У меня нет возможности грамотно сказать спасибо автору. Фамилию знаю, имя могу только предположить =)

Алексей Булат комментирует...

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

P.S. Имя автора поправил :)

Simplex комментирует...

Оч полезная статья.
Прямо таки появилась общая картина автоматизации)
А какой framework лучше выбрать?
И с чего вопще начинать практику автоматизации? Буду рад любым советам)

Алексей Булат комментирует...

> А какой framework лучше выбрать?
Все зависит от конкретных задач и целей.
> с чего вопще начинать практику автоматизации?
могу посоветовать двигаться от простого к сложному: мелкие тесты, реализация простеньких паттернов и фреймворков, ну а дальше ("чем дальше в лес, тем больше дров...") - дальше уже всю картину будет видно невооруженным взглядом. В этом деле главное не стоять на месте.

Simplex комментирует...

>Все зависит от конкретных задач и целей.
Хорошо тогда такой вопрос:
Какие framework'и вы используете и для каких целей?)
И опять же если начинать с простого то на чем?

Алексей Булат комментирует...

Пишу на Java!

Тесты: JTR (http://sourceforge.net/projects/javatr/) самописный инструмент на подобии TestNG и Junit. Над ним надстроили анализатор логов и репорт результатов в удобной для нас форме.

WEB testing: Selenium, WATIJ, Htmlunit + фреймворк-адаптер для переключения между этим инструментами по необходимости. Так же фреймворк для работы с тестируемым приложением на базе Page Object pattern.

Вы это хотели узнать?

Simplex комментирует...

>Вы это хотели узнать?
Да, огромное спасибо.

Ignat комментирует...

Благодарю за материалы. Статья интересная. Но меня мучает вопрос: на кого ориентирована статья? Другими словами, кому может понадобиться собственная система автоматизированных тестов, когда кругом полно готовых решений разной степени сложности и доступности?

Алексей Булат комментирует...

Спасибо за комментарий. Конечно же не всем необходимо писать свою систему. Некоторым для работы хватает только Record & Playback функции. :)
В имеющихся инструментах достаточно ограничены возможности, и как только вам понадобится что-то не входящее в их функционал, вы начнете танец с бубном по прикручиванию недостающих частей. А когда подобных подпорок станет на порядок больше, появятся реальные трудности с поддержкой и конфигурацией. Вот как раз тогда вы задумаетесь, а не написать ли какую-то свою систему автоматизации, которая отвечала именно вашим требованиям.

Ignat комментирует...

>когда подобных подпорок станет на порядок больше, появятся реальные трудности с поддержкой и конфигурацией.

Спасибо. Ваши аргументы весомы. Но есть одно "НО". Вы говорите: "Поддержка и конфигурация". Но ведь собственный проект тоже имеет баги, тоже требует поддержки и масштабирования. Значит, понабится ресурс на его доработку согласно новым реалиям. А в случае неверно выбранной архитектуры есть риск начать всё с нуля. Учитывая вышесказанное, не лучше ли обратиться к гуру автоматизации и использовать плоды их трудов?

Алексей Булат комментирует...

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

Про баги в архитектуре, вы правы и такое случается. НО только лишь из-за того, что эту работу доверяют неправильным людям.

Вы говорите про "гуру автоматизации". Вы таких знаете? Я - нет. Тут я бы посоветовал обратиться не к гуру автоматизации, а к гуру разработки ПО, предоставив ему ваши требования к инструменту для тестирования.

Если же вы говорите о людях которые писали всем известные инструменты типа QTP, TestComplete и т.д, то мне кажется, что это выльется Вам очень кругленькую сумму. При этом их еще придется уговорить для вас что-то написать. (был опыт такого общения, сказали, что мой change request невозможно реализовать исходя имеющейся архитектуры инструмента - пришлось писать свою подпорку)

Анонимный комментирует...

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

Условия копирования публикаций:

Все публикации в данном блоге являются частной собственностью авторов. Любое копирование информации допускается только при условии указания имени автора и активной ссылки на источник.