четверг, апреля 26, 2012

Мега полезный и интересный доклад: Advanced Web Debugging with Fiddler


Сегодня я посмотрел мега полезный доклад Mehdi Khalili:  Advanced Web Debugging with Fiddler.
Если Вы еще не с Fiddler, или использовали из всего его функционала только табу «Inspectors» – я настоятельно рекомендую посмотреть этот доклад.

Мехди делится множеством полезных советов по использованию инструмента. И говорит, что Fiddler’ом пользуются даже домохозяйки, далекие от IT и тестирования. Да, да… для накрутки рейтинга в Веселых Фермах :)

Более детально о докладе можно прочитать тут:
http://www.mehdi-khalili.com/advanced-web-debugging-with-fiddler

Видео:


Кому понравился этот доклад, давайте устроим небольшой флэшмоб, и твитним что-то следующего характера:
Ну, и сегодня я решил почистить свой аккаунт на Github, в котором за длительное время накопилось более 40-ка репозиториев.
Только не думайте что я уж такой крутой автор-опенсорщик, нет, в основном это были форки чужих репозиториев. В любом случае, процесс удаление одного репозитория очень болезненный. На видео видно как это происходит.
 Для экономии кучи времени, я решил полуавтоматизировать этот процесс при помощи Fiddler.

среда, апреля 25, 2012

ATDD и Specification by Example с примерами на Java


Очень классная презентация, речь в которой идет о процессах ATDD, Specification by Example, рассматриваются примеры автоматизации, в том числе паттерн PageObject. Рассматривается инструмент отчета по тестированию Thucydides и многое другое.
Хотел бы я еще и доклад посмотреть, эхх…  
UPD: Спасибо Виталию, за ссылку на видео доклада:
http://irishdev.com/Home/Events/614-Thucydides--Web-Testing-for-Devs.html

среда, апреля 11, 2012

Скринкаст (запись рабочего стола) при помощи ffmpeg под Windows

Наконец-то я нашел подходящий мне способ записывать скринкасты под Windows. Мне это необходимо для записи работы авто-тестов.

Такая видеозапись может рассказать больше лога + из видео можно сделать скриншоты для бага.

Прикрутить эту возможность к своим автотестам я планирую в ближайшее время, а пока хотел бы поделится информацией, как же все таки записать скринкаст при помощи ffmpeg.

Во-первых, необходимо скачать сам 32-битный FFmpeg http://ffmpeg.zeranoe.com/builds

Затем установить Microsoft Visual C++ 2010 SP1 Redistributable Package (x86): http://www.microsoft.com/download/en/details.aspx?id=8328 И самый важный ингредиент: виртуальный драйвер устройства для захвата экрана: http://sourceforge.net/projects/screencapturer

А теперь просто запускаем команду:

ffmpeg -f dshow -i video=screen-capture-recorder -r 24000/1001 -q 1 out.avi

И вуаля, после того как вы завершите выполнение команды, в файле out.avi будет находиться запись всех действий на рабочем столе.

Так можно даже игрушку записать без особых тормозов:

P.S.: Скринкасты мануальных тестов я записываю при помощи CamStudio и конвертирую при помощи WinFF.

Англоязычные посты по этой теме:

FFmpeg, Screencast Windows (источник)

ffmpeg screen capture directshow windows

воскресенье, апреля 08, 2012

Бесплатный онлайн курс для начинающих и продолжающих тестировщиков

Парадокс. Михаил Портнов – это известный преподаватель (а для многих и учитель) дисциплины тестирования программного обеспечения.
А парадокс в том, что на родине и на просторах СНГ о нем очень мало кому известно. Конечно, же, есть узкие круги форума govorimpro.us… но, по-моему это незаслуженно мало.

Почему я так считаю? Очень просто. У Михаила есть бесплатный онлайновый курс для начинающих тестировщиков, прослушав который, на мой взгляд, уже можно искать первую работу хоть в Украине, хоть в России, хоть в Штатах.

Ссылка на курс по тестированию ПО:
Онлайн курсы/школа тестировщиков программного обеспечения

УЧЕБНЫЙ ПЛАН:
  1. Введение: История возникновения профессии, в чем ее суть, наш курс
  2. Тестирование Graphic User Interface в Windows и ВЕБ приложениях
  3. Учебный проект: ResumeBuilder. Спецификация, тестирование Graphic User Interface, bug reports
  4. Учебный проект: ResumeBuilder. Функциональное тестирование, Bug Reporting rules
  5. Bug Tracking Databases: Elementool. bug reporting form; creating custom views; bug life cycle
  6. Документация в тестировании ПО. Тест План, Тест кейс, Тест Дизайн.
  7. Учебный проект Energy-Telecom: требования, назначение, GUI и функциональное тестирование
  8. Energy-Telecom project: Testing WEB forms
  9. Американское резюме - формат, структура, типичные ошибки при написании
  10. Сопроводительное письмо и вопросы на собеседовании


Мое любимое видео:

вторник, апреля 03, 2012

CukeUp!: Matt Wynne on Refuctoring Your Cukes

BDD и частности Cucumber делает наши тесты понятны и поддерживаемыми. И это представляет огромную угрозу для нас. Если тесты смогут понимать и поддерживать другие, то что мешает им лишить нас законного рабочего места?

Именно эту проблему поднимает Matt Wynne в своем докладе Refuctoring Your Cukes и дает полезнейшие советы, как применяя простые практики ре-Fuck-торинга сохранить свое рабочие место.

CukeUp!: Matt Wynne on Refuctoring Your Cukes from Dmitry Zhariy on Vimeo.

Refuctoring Your Cukes
Cucumber aims to help business stakeholders and developers collaborate more effectively. That's great if you care about helping your project succeed, but what about the rest of us who just want to hang on to our damn jobs? In this talk you'll learn how to use Mortgage-Driven Development (MDD) to destroy the readability and value of your Cucumber tests, so that you can protect your position as the only person who understands what the system does

Source: http://skillsmatter.com/podcast/agile-testing/refuctoring-your-cukes

Более подробно о докладе: CukeUp!: Matt Wynne on Refuctoring Your Cukes

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

Specification by Example: A love story (Alister Scott)

На недавно прошедшей конференции “Watir Bazaar” прозвучал интереснейший доклад Алистера Скотта по теме “Specification by Example: A love story”. Видео доклада вы можете просмотреть по следующей ссылке:
http://kondoot.com/videos/224a1105b17

Слайды этого и других докладов находятся здесь:
https://github.com/watir/watir-bazaar/wiki/Presentations

А ценность доклада в том, что Алистер показывает какие ошибки допускают люди на ранних стадиях создания спецификации с примерами. Допустим, в некотором австралийском интернет магазине решили добавить фичу связанную с бесплатной доставкой товаров. Что должно получится я не знаю, но вижу то, что поведение системы более чем детально расписано:
(Осторожно, многобукофф. Если вы не хотите это читать, прошу проскроллить досюда)

Feature: Beautiful Tea Shipping
Scenario: Free shipping in Australia
Given I am on the Beautiful Tea homepage
When I search for ‘Byron Breakfast’ tea
Then I see the page for ‘Byron Breakfast’ tea
When I add ‘Byron Breakfast’ tea to my card
And I select 10 as the quantity
Then I see 10 x ‘Byron Breakfast’ tea in my card
When I select ‘Check Out’
And I enter my country as ‘Australia’
Then I see the total including GST
And I see that I am eligible for free shipping
Scenario: No free shipping outside Australia
Given I am on the Beautiful Tea homepage
When I search for ‘Byron Breakfast’ tea
Then I see the page for ‘Byron Breakfast’ tea
When I add ‘Byron Breakfast’ tea to my card
And I select 10 as the quantity
Then I see 10 x ‘Byron Breakfast’ tea in my card
When I select ‘Check Out’
And I enter my country as ‘New Zealand’
Then I see the total without GST
And I see that I am eligible for free shipping
Scenario: No free shipping in Australia
Given I am on the Beautiful Tea homepage
When I search for ‘Byron Breakfast’ tea
Then I see the page for ‘Byron Breakfast’ tea
When I add ‘Byron Breakfast’ tea to my card
And I select 1 as the quantity
Then I see 1 x ‘Byron Breakfast’ tea in my card
When I select ‘Check Out’
And I enter my country as ‘Australia’
Then I see the total including GST
And I see that I am not eligible for free shipping

С трудом дочитав это до конца, я понял, что есть какая-то разница между Австралийцами и Новозеландцами. И то, что Австралийцы не хотят доставлять своим соседям из Новой Зеландии чай ‘Byron Breakfast’ на халяву. Дискриминация просто налицо. Кроме того, оказывается что мне, жителю Австралии, бесплатная доставка положена, только если я закажу 10 упаковок чая ‘Byron Breakfast’.
И не положена, если я закажу одну упаковку. А если 5?
Кроме того, мне абсолютно непонятно, почему я должен платить некий GST, а эти ссс… соседи из Новой Зеландии его не платят. А что если я сделаю заказ из Украины? Я буду платить этот GST? (фиг его знает, что это такое, напридумывают тут аббревиатур)

Но исправленный пример для той же самой фичи просто открывает глаза:

Feature: Beautiful Tea Shipping Cost
  • Australian customers pay GST
  • Overseas customers don’t pay GST
  • Australian customers get free shipping for orders $100 and above
  • Overseas customers all pay the same shipping rate regardless of order size
Scenario: Calculate GST status and shipping rate
Given the customer is from <customer’s country>
When the customer’s order totals <order total>
Then the customer <pays GST>
And they are charged <shipping rate>
Examples:
customer’s countrypays GSTorder totalshipping rate
AustraliaMust$99.99Standard Domestic
AustraliaMust$100.00Free
New ZealandMust Not$99.99Standard International
New ZealandMust Not$100.00Standard International
Zimbabwe Must Not$100.00Standard International
И мне, как человеку с улицы, как-то стает более ясна общая картина задуманной фичи.
Во-первых из заголовка я понимаю, что есть некоторые законы, которые заставляют платить этот GST только австралийцев. Во-вторых… ну какой нафиг чай? Речь вообще идет о сумме заказа. Заказал на 100 баксов и более – получи бесплатную доставку, если ты австралиец. Заказал на 10 баксов – плати за доставку.

В первом варианте описания фичи было откровенное нечитабельное месиво из чая, кнопки Check Out, GST и австралийцев. За деревьями не видно леса. Второй вариант короче, но четко описывает фичу и дает хорошие примеры. Теперь нам не нужно переписывать тест-кейсы всякий раз когда цена на чай падает.

Кроме того, я уверен что автоматизировать тестирование этой фичи теперь стало еще проще по сравнению с предыдущем вариантом.