среда, июня 26, 2013

SWD Page Recorder 0.1 alpha – инструмент записи PageObjects

Что это?

SWD Page Recorder (SWD читать как «SWOD/свод») – это кроссбраузерный инструмент для записи элементов веб-страницы с последующей генерацией PageObject- классов.

Зачем?

Не смотря на то, что тестировщики называют себя автоматизиторами, их работа – это в основном тяжелый и рутинный ручной труд. Одно из самых нудных занятий – это создание PageObject-классов для новой страницы веб-приложения. Все существующие инструменты разработчика (консоли, встроенные в браузер) – очень универсальны. Это заставляет тестировщика делать множество лишних действий для поиска и тестирования необходимых локаторов элементов, и кроме того, для каждого браузера такие инструменты очень сильно различаются. Например, для Internet Explorer вы не найдете такого разнообразия плагинов, как в FireFox.

SWD Page Recorder – это попытка создать универсальный инструментарий, который бы работал одинаково во всех браузерах: начиная от Internet Explorer и Firefox – и заканчивая браузерами на Android и iOS смартфонах.

Поиск и тестирование локаторов осуществляется посредством самого Selenium WebDriver, а локаторы, добытые таким путем, однозначно будут работать в авто-проверках с использованием Selenium WebDriver.

вторник, июня 18, 2013

Будущее автоматизации тестирования уже здесь! Три идеи «на завтра»

Вы думаете, это глупо делится стратегическими планами на будущее? – Совсем, нет. Ведь сами идеи, без практической реализации – стоят очень мало. Если кто-то тихо реализует идею внутри своей компании – это останется никому неведомым. Ну, а если кто-то начнет свой проект и поделится своей реализацией с общественностью… то я радо буду частью этой общественности. А между тем, идею я таки тут уже “застолбил”.  Кроме того, когда работаешь над чем-то, очень не хватает конкуренции, подгоняющей тебя работать быстрее. 



Генерация или запись PageObjects? 
Многие люди считают, что генерация PageObjects – это что-то из области искусственного интеллекта.

среда, июня 12, 2013

Повторное получение созданной сессии WebDriver при помощи Fiddler

Во время отладки теста на Selenium Webdriver, возникает огромное чувство раздражения, когда тест приходится перезапускать полностью и… ждать… ждать пока откроется браузер, ждать пока он дойдет до нужной страницы и заполнит все поля формы для того, чтобы проверить работает ли минимальное изменение в коде. Конечно же, таки фичи Visual Studio как Intellitrace и Edit & Continue могут решить проблему, но не всегда.

пятница, мая 24, 2013

Посиделки AT.info: Мой доклад: Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)

Сегодня вечером состоялось очередное заседание клюба киевских автоматизаторов, ака «Посиделки».

В своем докладе я рассказал об известных представителях BDD-инструментария, таких как SpecFlow и BDDfy в сравнении с Юнит-тест стилем для различных уровней автоматизации тестирования: модульного тестирования и системного (через UI).

Вот краткий список идей, которые я хотел донести участникам посиделок:

вторник, мая 14, 2013

T-SQL запрос, который выводит длину и типы всех полей в базе данных

Запрос выводит целую кучу данных, и в комбинации  с другими инструментами, может оказаться очень полезным.
К сожалению, уже не помню, откуда я его взял.
SELECT OBJECT_SCHEMA_NAME(T.[object_id],DB_ID()) AS [Schema],   
        T.[name] AS [table_name], AC.[name] AS [column_name],   
        TY.[name] AS system_data_type, AC.[max_length],  
        AC.[precision], AC.[scale], AC.[is_nullable], AC.[is_ansi_padded]  
FROM sys.[tables] AS T   
  INNER JOIN sys.[all_columns] AC ON T.[object_id] = AC.[object_id]  
 INNER JOIN sys.[types] TY ON AC.[system_type_id] = TY.[system_type_id] AND AC.[user_type_id] = TY.[user_type_id]   
WHERE T.[is_ms_shipped] = 0  
ORDER BY T.[name], AC.[column_id]

четверг, мая 09, 2013

7 Смертных Грехов Тестирования


Сегодня утром попалась интересная тема на форуме: 7 Deadly Sin's of Testing
Один из комментариев к которой я спешу перевести
Итак… 7 Смертных Грехов Тестирования:

воскресенье, апреля 14, 2013

Мотивация, личный интерес и интерес дела


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

Одно из таких слов – это мотивация, в смысле «мотивирован сделать что-то», «поднять мотивацию», «замотивированный сотрудник». Как объяснить в «двух словах» четко и ясно, что оно означает.

Я нашел эти «два слова»:
Мотивация – это личный интерес. Следовательно, демотивация – это отсутствие личного интереса (его могло не быть, он мог потерять  актуальность ).

Все оказывается очень просто.
А в подтверждение, статья М. Литвака, откуда была почерпнута эта мысль:

Хочу сотрудников, которые так же будут болеть за дело
Тезис: любой человек по определению болеет только за свои интересы. А задача руководителя сделать, чтобы интересы дела и его личные интересы сотрудников совпадали.

понедельник, марта 11, 2013

Суровый и беспощадный BDD маркетинг

Только что попалось видео с примером сурового и беспощадного BDD маркетинга для плагина Behave for JIRA.
За основу взят, в принципе, неплохой сценарий, но потом…
В общем, вопрос:
Какие ляпы вы видите в технической реализации сценария? Что бы вы хотели увидеть в этом видео дополнительно?

Даже если никто не ответит, в эту среду вечером я опубликую список тех, которые заметил я.

Upd

Сам сценарий написан довольно хорошо. Тут нет лишних деталей, и в принципе понятно, что должна делать функциональность.

Scenario: Add content assist to the Google Search field
    Given I am about to search
    When I begin to type my query
    Then a list of suggestions should appear below the search field
    And the suggestions should update as I type

На 01:06 начинается самое интересное. Обратите внимание:
Код реализации шагов не соответствует самому сценарию.

В шаге «Then a list of suggestions should appear below the search field» сабмитается форма. Не проверяется то, что список подсказок соответствует… хотя бы чему-то.
 
А в шаге: “And the suggestions should update as I type” – просто закрывается драйвер.
Собственно, в сценарии нет вообще ни одной проверки.