PHP скрипт для POST запросов

Каркас рабочего php-скрипта, который может помочь при тестировании API — отправляет POST-запросы через curl на сервер. В дальнейшем может быть модифицирован исходя из поставленной задачи. В частности, в примере используется аутентификация пользователя с помощью его логина и пароля путем передачи этих параметров на сервер.

/*
 * Autentification test script
*/
 
$postURL = "http://api.site.com/";
$username = 'UserName';
$password = 'UserPassword';
$postVars = "&username=$UserName&password=$UserPassword";
 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $postURL);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postVars);
$result = curl_exec($ch);
curl_close($ch);
 
if(!$result)
{
    $error = curl_error($curl).'('.curl_errno($curl).')';
    echo $error;
}
else
{
    echo $result;
}

С башогра про тестирование

Суровые российские монтажники получили задание от начальника установить лампу освещения на входе в здание с автоматом выключения. Есть такие, вырубающие ток в светлое время суток. Собрали, подключили, а так как на дворе светлый день, то проверка прошла на ура. Закрыли датчик шапкой — темно. Лампа включается. Сняли шапку с датчика — светло. Лампа выключается. И с чувством выполненного долга ушли домой.

Самый цирк начался поздно вечером, потому что датчик монтажники закрепили прямо над лампой. Всю ночь у дежурного была дискотека: стемнело — датчик лампу зажег, лампа зажглась и стало светло, а стало светло — датчик лампу гасит, ой опять темно — датчик лампу зажигает …. и так от заката до рассвета.

Плагин User Agent Switcher для Firefox

Существует отличный плагин для браузера Firefox, который позволяет эмулировать различные user-agent’ы браузеров, будь то Internet Explorer, Opera, Safari и т.п. Первоначально в плагине имеется совсем небольшая поддержка  user-agent’ов, но это не беда. Достаточно импортировать вот этот xml-файл, который содержит в себе огромное количество user-agent’ов, удобно сгруппированных по категориям.

Так, к примеру, на скриншоте ниже, я выбрал в качестве user-agent’а iPad, и сайт Google автоматически переключился на версию для планшетных ПК.

Плагин можно загрузить через менеджер расширений в браузере Firefox, набрав в поисковой строке расширений «User Agent Switcher».

Сервис валидации email адресов

В сети есть очень полезный сервис, который, во-первых, позволяет определить синтаксическую корректность написания email адреса на основе стандартов RFC (Request for Comments), а во-вторых, имеет множество реальных примеров тестовых email’ов, которые согласно RFC являются полностью корректными. К примеру:

test@org
test@xn--hxajbheg2az3al.xn--jxalpdlp
test@[IPv6:::3333:4444:5555:6666:7777:8888]

На сайте также можно найти исходники на Java, C# и PHP для тестирования email полей.

Доклад про Selenium IDE с Selenium Camp 2011

Доклад Алексея Лупана «Selenium IDE как артефакт пикника на обочине» с конференции «Selenium Camp 2011», проходившей в Киеве.

Слайды: ссылка.

Установка плагина Android для NetBeans IDE

Для того, чтобы создавать проекты под Android в среде NetBeans, необходимо установить соответствующий плагин. Т.к. для NetBeans’а на данный момент нет официального плагина Android, как для Eclipse, то придется воспользоваться сторонней помощью.

В NetBeans’е открываем окно «Подключаемые модули» («Сервис» -> «Подключаемые модули») и переходим на вкладку «Настройки». Жмем кнопку «Добавить». В появившемся окне «Настройка центра обновлений» задаем имя «nbandroid» (так называется проект плагина) и URL-адрес «http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.xml». Жмем «ОК», переходим на вкладку «Доступные подключаемые модули», на всякий случай жмем кнопку «Перезагрузить каталог», после чего в строке поиска вводим «Android». В области доступных модулей должны появиться:

— Android
— Android Test Runner for NetBeans 6.9.1
— Android Test Runner for NetBeans 6.9
— Android Test Runner for NetBeans 7.0+

Необходимо отметить модуль «Android» вместе с подходящим модулем «Android Test Runner» для вашей версии NetBeans и нажать кнопку «Установить», после чего перезагрузить NetBeans.

После выполнения этих действий для создания станут доступны два проекта — «Android Project» и «Android Test Project».

nbandroid

Тестирование Android-приложения с помощью эмулятора

Одним из проектов, который мне необходимо тетсировать на новой работе — это Android приложение, позволяющее просматривать стереоскопические изображения на экране мобильного устройства. Т.к. на данный момент существуют всего два устройства, которые имееют 3D-экран (HTC EVO 3D и LG Optimus 3D), то приложение заточено именно под них, хотя никто не запрещает запускать его на других Android-устройствах, только толку от этого будет не больше, чем обычного вьюира.

На данный момент у нас на работе всего одно устройство (HTC EVO 3D) на котором можно непосредственно тестировать, хотя в скором времени планируется добыть и LG Optimus 3D. Но помимо физического устройства, можно же тестировать и на эмуляторе, хотя ряд функций все же протестировать не удасться (к примеру, снять изображений на камеру устройства и отправить его в приложение).

Для того, чтобы можно было запустить Android-эмулятор у себя на компьютере, необходимы следующие вещи:

1. Java Development Kit (JDK)
2. Android SDK

Как настроить эмулятор и устанавливать в него приложения можно прочитать в этой статье. А здесь можно узнать, как добиться того, чтобы Android Market присутствовал в эмуляторе.

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

Процесс сдачи экзамена ISQTB Foundation Level

Не так давно успешно сдал сертифицированный экзамен «ISTQB Certified Tester, Foundation Level». Т.к. в сети мало подробной информации о сдаче самого экзамена, то я постараюсь в этой заметки рассказать о нем более подробно.

Многие считают, что экзамены ISTQB — это выкачка денег и что сдавать его добровольно не имеет особого смысла, если, конечно, вас насильно не заставляют. В моей ситуации как раз таки получилось, что заставили. Дело в том, что работодателю крайне желательно иметь сертифицированных сотрудников не столь для себя, как для своих клиентов. Кто-то говорит, что сертифицированные сотрудники повышают престиж компании перед заказчиками, но на самом деле такие сотрудники повышают ни столько престижа, сколько цену для компании перед заказчиками. Здесь, я скорее всего, соглашусь, хотя иметь сертификаты по тому или иному направлению, считаю, делом полезным, ведь, во-первых, готовясь к экзамену, ты повышаешь свой теоритический уровень знаний (пусть он даже никогда и не будет востребован), а во-вторых, имеешь подтвержденное доказательство своих технических способностей в той или иной области, которое, возможно, еще пригодится в жизни и окажет большую услугу при поступлении на другую работу.

Если говорить о ценах ISTQB, то они весьма кусаются, хотя ценовая политика для «Foundation Level» и «Advanced Level» не отличается друг от друга — 150 евро, т.е. где-то 6,5 тыс. рублей. Как уже было сказано выше, компания была заинтересована в сдаче мною этого экзамена, поэтому при успешной сдачи сумма за экзамен полностью покрывалась компанией.

Теперь перейдем к организационной составляющей.

Чтобы зарегистрироваться на экзамен, необходимо пойти на российский сайт RSTQB, выбрать удобный месяц сдачи экзамена (в Петербурге экзамены проводятся в основном в последнюю субботу каждого месяца), и зарегистрироваться на него, выбрав язык сдачи экзамена (можно выбрать русский, можно английский). При регистрации можно указать два вида оплаты: либо банковской картой (как я и сделал), либо через выписанный счет. После завершения регистрации на электронную почту приходит автоответ о том, что регистрационные данные приняты. Затем необходимо дождаться письма о том, что вы успешно зарегистрированы на экзамен и что время и время и место проведения будут сообщены где-то за неделю до проведения экзамена. По прошествии какого-то времени приходит извещение о сумме списания за экзамен. Сама сумма с банковской карты списывается за несколько дней до проведения экзамена. Ну и, наконец, последнее письмо, которое должно прийти, извещает о времени и месте проведения мероприятия. Для Петербурга это Большой Сампсониевский проспект, дом 60, лит.А (вход со стороны Гельсингфорсской улицы), офис компании «DataArt» (кстати, очень известная IT-компания). Добираться лучше всего от станции метро «Выборгская», если, конечно, вы не на машине.

Т.к. в письме было написано лишь «Сампсониевский проспект, дом 60, лит.А, DataArt», то искать, где это находится, пришлось довольно таки долго. Пришлось даже позвонить в «DataArt», и узнать, где они конкретно находятся. Народу, желающему сдавать экзамены ISTQB, видимо, не так много, в связи с чем помимо меня на экзамен пришел еще одни человек. Через несколько минут подошел экзаменатор, который еще успел попить кофе, и ровно в 11:00 мы вошли в кабинет (переговорная). Там он нам объяснил, что экзамен проводится письменно (!), из четырех вариантов ответов необходимо выбрать лишь один правильный. Пользоваться чем-то посторонним, естественно, нельзя. Для тех, кто сдает экзамен на неродном себе языке, дается 75 минут на сдачу экзамена, для всех остальных же — 60 минут. И тут, как обычно это бывает, произошла путаница — при регистрации на экзамен я выбрал русский язык сдачи, а у экзаменатора на руках была английская версия. После недолгого обсуждения, было решено принести мне русский вариант, как и положено. Второй человек, кстати, сдавал на английском, правда, со знанием этого языка у него явно было не все в порядке, потому что он несколько раз просил помочь экзаменатора с переводом фраз в вопросе. Т.к. помощь в переводе во время сдачи экзамена не запрещена, то экзаменатор любезно ему помогал.

В тесте присутствуют 40 вопросов, которые мысленно поделены на пять тематических рубрик:

— «Fundamentals of testing»
— «Testing throughout the software lifecycle»
— «Static techniques»
— «Test design techniques»
— «Test management»

Чтобы успешно сдать экзамен, необходимо правильно ответить как минимум на 26 вопросов. Многие говорят, что минимальный порог правильных ответом для сдачи экзамена очень мал, что свидетельствует о низкой значимости этого сертификата. Так что тема для дискуссий по данному вопросу остается открытой.

Результат экзамена приходит на электронную почту через неделю с небольшим, и если он сдан успешно, то сам сертификат высылается на почту в течение 3 месяцев (!). Так что, похоже, свой сертификат я получу не раньше, чем после Нового Года.

Краткие итоги:

— цена экзамена: 6,5 тыс. рублей;
— экзамен проводится обычно раз в месяц;
— 40 вопросов, минимум 26 правильных ответов для успешной сдачи экзамена (для подготовки к экзамену можно воспользоваться подготовленной подборкой литературы и примерных вопросов);
— вопросы поделены на пять тематических рубрик;
— на экзамен отводится 60 минут для сдающих на родном языке, 75 — для сдающих на не родном языке;
— результат экзамена становится известным через неделю после сдачи;
— выдача сертификата в течение 3 месяцев.

И еще: регистрироваться на экзамен лучше заранее, за несколько недель до проведения. У меня был печальный опыт, когда я зарегистрировался за неделю до экзамена, а извещение о времени и адресе проведения пришло мне поздно вечером чуть меньше, чем за 10 часов до самого экзамена. Естественно, это письмо я вовремя не прочитал, и пропустил экзамен. Но в тот раз деньги с банковской карты они заранее почему-то не снимали, так что я избежал проблем с возвратом денег за не оказанные услуги.

Бесплатные инструменты для тестирования

Всеобъемлющий список инструментов для проведения тестирования, который разбит на разделы:

  • инструменты тестирования с открытым исходным кодом;
  • инструменты тестирования производительности и стресс-тестов;
  • инструменты тестирования HTML;
  • HTML-валидаторы и инструменты проверки ссылок;
  • инструменты тестирования безопасности веб-сайтов;
  • инструменты функционального тестирования;
  • инструменты тестирования БД;
  • и др.

Что не мало важно, все приведенные инструменты являются бесплатными.

Материалы для подготовки к ISQTB Foundation Level

Выкладываю минимальную тематическую подборку для подготовки к сдаче сертифицированного экзамена ISQTB Foundation Level:

  • ISTQB CTFL Syllabus 2010 (English)
  • ISTQB CTFL Syllabus 2011 (English + Russian)
  • ISTQB Glossary (English v2.1 + Russian v2.0)
  • ISTQB Questions — Q&A почти на 65 страниц, позволит оценить степень сложности самих вопросов, а также потренироваться на досуге.

Ссылка по теме: клик (так же база по 700 вопросам)

Онлайн тестирование: раз — шесть частей по двадцать вопросов; два — семь частей по 40 вопросов.

Книга для дополнительной подготовки: «Software Testing Foundations: A Study Guide for the Certified Tester Exam, 3nd Edition».