суббота, декабря 22, 2012

Насколько подробными должны быть мануальные тесты?

Хороший вопрос. Я думаю, многие из нас сталкивались созданием тестовых наборов. И многие из нас будут спорить с пеной у рта: "Да не нужны нам тесты записывать, все и так знают как это работает." – "Нет! Хоть что-то должно быть. Используйте чек-листы, майнд-мапы!" – "Да, нет же! Тест-кейсы должны быть  подробными, чтобы каждый новый человек с улицы мог прийти и с первого дня проходить тестовый набор".

И единственное, что тут можно сказать: "Я согласен! Со всеми!".

Действительно, все зависит от контекста: от проекта, от команды, от квалификации, от менеджмента… 

Джастин Хантер (Justin Hunter), основатель проекта http://hexawise.com/, отвечает на этот вопрос следующей матрицей 2х2:


понедельник, декабря 17, 2012

Visual Studio: Макрос для замены пробелов на символы подчеркивания


Имена тестов более читабельны, если написаны через подчеркивание:
При_вводе_2_плюс_2_в_результате_должно_быть_4()
Нежели если они написаны в CamelCase
ПриВводе2Плюс2ВРезультатеДолжноБыть4()
Но, замена пробелов на символы подчеркивания может оказаться весьма болезненным и трудоемким занятием.
Как я дел это раньше:
  1. Писал строку текста в Ворде, для того чтобы не допускать тупых афрографических ашибак
  2. Копировал строку в Visual Studio
  3. Использовал стандартный поиск и замену по выделенному тексту. Это лишний диалог, на который я тратил лишнее время. 
При помощи макроса для Visual Studio, это действие проходит быстрее и менее раздражающе.
Теперь я нажимаю Alt+1 – и пробелы заменяются на подчеркивания.

Код макроса можно взять тут: Visual Studio Macro for BDD Naming
И видео о том, как добавить новый макрос в Visual Studio:

воскресенье, декабря 16, 2012

Confet&QA: Мой доклад про создание читабельных отчетов для автоматизации тестирования на .NET/C# + Webdriver + Gallio Icarus/MbUnit + BDDfy


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

Мой доклад посвящен инструментам, помогающим сделать результаты прогона автоматизации более наглядными. Это Gallio + MbUnit, которые позволяют не только создавать и запускать тесты, но и создавать красивые отчеты после прохода автоматизации, записывать видео встроенными средствами и много другое.

Я рассказал о BDDfy – фреймворке, позволяющим писать тесты в более понятном и читабельном аля BDD-стиле. Именно в этом фреймвоке  я нашел решение тех проблем, которые у меня возникали со Specflow.

Но, на счет Gallio Icarus не обошлось и без полезной ложки дёгтя.
Перечитайте нашу переписку на форуме автоматизаторов с товарищем apetrovskiy. Александр очень хорошо расписывает возможные проблемы с Gallio и варианты их решения.



Ресурсы:
Gallio Icarus: http://gallio.org

BDDfy – фреймворк для БыДиДификации кода :)

Страница проекта на Github:
http://teststack.github.com/TestStack.BDDfy/

Описание на английском:
http://www.mehdi-khalili.com/bddify-in-action/introduction

И еще больше докладов с Конфетки в поиске по Ютубу.

суббота, декабря 15, 2012

XMLStarlet утилита для редактирования XML файлов из командной строки


Наконец-то нашел!

Зачем?
Иногда встречаются задачи, для решения которых необходимо модифицировать, удалить или добавить некоторые атрибуты в XML файле. 
Например, заменить connectionString в файле web.config и подобных конфигурационных файлах. 
Иногда мне приходится отслеживать изменения в XML фалах, а для этого их необходимо привести в более удобный вид. 

Решения
Я пишу скрипты на языке Perl, если необходимы более тонкие преобразования и работа с XML файлами. Для конфигурации билда перед запуском авто-тестов, у меня также есть подобные поиски и замены в файлах конфигурации на C#. Но, все это как-то заточено под конкретные файлы, и создавать универсальное решение не хотелось, но пришлось бы…

Пришлось бы, если бы я не нашел замечательный инструмент XMLStarlet, который позволяет редактировать, валидировать, запрашивать данные из XML фала через командную строку.
Со всеми возможностями инструмента я еще не разобрался, да и не надо пока. Главное, что я нашел, как заменить значения строки подключения к базе данных. А делается это так:

xml ed -u "configuration/connectionStrings/add[@name='SqlServerDb']/@connectionString" -v "Data Source=SQL2008;Initial Catalog=testdb93;User ID=admin;Password=admin;MultipleActiveResultSets=True;" My.Database.config

Создав несколько bat-файлов, я теперь могу быстро переключать приложение на разные базы данных.

Домашняя страница XMLStarlet
Страница загрузки

З.Ы: Внутри архива есть хорошее руководство пользователя

вторник, декабря 11, 2012

Given When Then в баг репортах

Не знаю как у вас, но на моем проекте баг-репорты очень часто выступают в роли требований: в роли пропущенных требований и запросов на совершенствование (enhancement request).

Кстати, интересно, а какая собственно разница между требованием, тест-кейсом и баг-репортом?

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