четверг, 21 марта 2013 г.

О размерах карт и не только


От покера к стандартам

Интересно, задумывался ли кто-то раньше, о таком незаменимом элементе для каждого настольщика как карты, а если быть точнее об их размерах. Ведь в последнее время каких только карт мы не видели. Это были и огромные «Дикситовские», и мини от ФФГ, и квадратные «Низамовские», в общем разнообразие поражает и даже, периодически, пугает, когда начинаешь задумываться о сохранности данных чудес игровой индустрии. Ибо:  время, наши жирные пальцы, а также случайное пиво, отнюдь не улучшают визуальную красоту карт, а подбор протекторов, раньше, был процессом не легким. 
В этой небольшой статье, я попытаюсь ответить на вопросы возникновения различных размеров карт, их историю и поведать некоторые интересные факты и наблюдения.

вторник, 29 января 2013 г.

Маленькая мысль о настольных играх


  Маленькая мысль о настольных играх

 

 


Будучи дома, не в совсем вменяемом состоянии (не подумайте ничего плохого, был просто приболевший), я обдумывал некоторые нюансы настолок, а именно какую категорию людей проще всего подсадить на этот наркотик.

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

А играю, потому что это не только интересно и увлекательно. Погружаться в крохотный мирок, расстеленный на столе и представлять себя кем-то иным. Но так же и восполнять "живое" общение с людьми, ибо технологии заставляют тебя отталкиваться от общества, что, порой, доводит до абсурда. В качестве примера приведу такую ситуацию, с человеком который сидит от меня в полутораметрах я общаюсь через скайп. Это же не нормально. Но когда мы расскладываем настолку, будучи в офиссе или дома мы именно общаемся и чувствуем себя живыми, людьми так сказать.

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

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

пятница, 21 декабря 2012 г.


Давайте что автоматизируем

  Итак возникло желание поделится своим опытом работы с таким известным инструментом для автоматизации тестирования, как Test Complete.

10 занятий будут разбиты на следующие подпункты:

1.    Общее знакомство с ТС
  •   a.    Обзор интерфейса
  •   b.    Создание проэкта и выбор языка разработки
  •   c.    Запись и воспроизведение тестов
  •   d.    Обзор доступных языков

2.    Детальное расмотрение необходимых приемов работы
  •   a.    Обзор Моделей (Tree/DOM/Tag/Hybrid)
  •   b.    Работа с Object Browser
  •   c.    Обнаружение элементов
  •   d.    Создание и групирование Units (скриптов)

3.    Написание и запуск тестовых сценариев
  •   a.    Выбираем браузер
  •   b.    Пишем простой скрипт с нуля используя Object Browser
  •   c.    Запускаем тест
  •   d.    Основы работы с Script Editor

4.    Работа с логами и событиями ТС
  •   a.    Обзор логирования в ТС
  •   b.    Методы логирования и создание своих логов из скрипта
  •   c.    Вывод логов в файл
  •   d.    Основы работы с событиями
5.    Особенности работы с Web-приложениями  в ТС
  • a.    Выбор оптимальной модели
  • b.    Настройка проэкта под написание тестов для Веб
  • c.    Работа с элементами. Обращения к элементам
  • d.    Совершенствуем ранее написаные скрипты
6.    Работа с вложеными функциями. Варианты запуска тестов.
  • a.    Вызов функций в пределех одного Юнита
  • b.    Вызов функций разнесенных в отдельных Юнитах
  • c.    Запуск нескольких тестов
  • d.    Запуск тестов из командной строки
7.    Варианты написания тестового фреймворка
  • a.    Виды тестовых фрейморков
  • b.    Выбор паттерна
  • c.    Подготовка и конфигурирование проэкта
  • d.    Создание необходимых модулей
  • e.    Написание базовых функций
8.    Наполнение фреймворка необходимыми элементами
9.    Работа с внешними данными и графическими элементами
10.    Пишем набор тестов с использованием созданого ранее фреймворка

Другую информацию, а также записаться на курс можно ТУТ

понедельник, 9 июля 2012 г.


Проблема тестировщиков или «Евангелие от Качества».

Всем привет, да, да я знаю, не писал я очень долго, посему простите своего покорного слугу, обещаю реабилитироваться. Как вы могли заметить название темы весьма необычное и на то есть свои причины. Дабы не оттягивать что-то у кота (я про усы, пошляки ;) ) перейду непосредственно к статье.

Началось все на одной конференции, которые я посещаю очень редко, почему?, спросите вы, да просто это тема отдельной статейки.

Так вот в некотором царстве, в некотором государстве была конференция тестировщиков. И вот там спросил я, человека одного, синиором себя называющий: - Скажи мне, мил человек, что есть тестирование. И был ответ мне – Тю, на, ну это, багов поиск. Хм… подумал я. Ответ, конечно, лаконичный и не без доли правды, но как-то странно слышать это от человека который в тестировании несколько лет. И тут пытливый ум заставил меня походить-потынятся  по залу, во время кофебрейка, и позадавать свой вопрос другим людям, не только тестерам, но и их лидам.

Со стороны это было похоже на текст песни: «я спросил у тополя, я спросил у ясеня, ты б еще у тумбочки, идиот спросил». И вот каким было мое наблюдение, среди целой кучи «умных» ответов я не нашел именно «ОТВЕТА». 
Мне рассказывали про соответствие исходного продукта требованиям, мне лили ведрами информацию про тест кейсы, тест планы и т.д. Но, НО, не один человек, я повторю вот так: «НИ ОДИН ЧЕЛОВЕК» ни разу не сказал слово Качество.

Господа я негодую. Ведь как это так, все себя называют QA-ями, а про качество мы не знаем, и это, черт возьми, грустно. Бить себя кулаками как Кинг-Конг, хвастаться титулами, словно на званом балу у королевы Англии. А в чем смысл тестирования мы не знаем. Давайте посмотрим в ВИКИ:

«Качество продукции - оценка потребителем степени соответствия совокупности присущих характеристик назначению продукции»

Бррр. Мутно да? Так вот если проще это сказать: Качество – это способность некого объекта (программа, товар, услуга) удовлетворять запросам конечного потребителя.  И все. Долой все ваши тест-кейсы. Ибо в них нет больше надобности дорогие собратья и сосестры.

Ну так а в чем проблема? Воооо…. 

 А самое забавное, что суть проблемы лежит на самой вершине, только почему-то не хотят ее замечать. Вы догадались, о чем я? Ну же? Давайте, шевелите мозгом, вот, уже слышу скрип.
Ладно, пожалею всех, и не буду лить воду и отвечу, а вы мне поможете. Кто такой тестировщик по образованию, зачастую это студенты технических ВУЗов. И много ли часов экономики в этих самых ВУЗах. Увы. Вот и всё, я ведь говорил что ответ на поверхности.

И в заключение хочу сказать вот что: главная цель каждого кто работает в тестировании – это Качество. Процессы, программы, знания – это все инструменты, а главная цель – КАЧЕСТВО. Зарубите себе на носу.

Это была первая, и надеюсь не последняя статья из цикла «Евангелие от Качества».

ЗЫ. Вопрос на засыпку и маленький тест. Перед Вами две ручки (которыми пишут), одна паркер за туеву хучу бабок, а вторая ЛингСяоКунгЛаоЛюКенг за одну грн. Внимание вопрос: (удар гонга) Какая из этих ручек качественнее.     

         

пятница, 11 ноября 2011 г.

Как получить код страницы средствами TestComplete

Йоли-хоу всем кто меня читает..

Итак, хочу поделиться со всеми своим маленьким опытом работы с Тест Комплитом, а вернее тем как я нашел способ получать код ошибки при тестировании Web проэкта.
Сразу хочу оговорить что я не супер-пупер-мега автоматизатор, но все же шишки набил )) и если вы тоже молоды и юзаете данную прогу вам эта статейка будет полезна.

Итак меня назначили на проэкт и я сразу, ответственно стал педалить тонны кода автотестов, стараясь покрыть ими (тестами) как можно больше функционала. Что бы было покрытие даже больше чем когда вы наступили на ногу матерому, старому боцману, и он тоже начал вас покрывать ))... Правда не тестами...

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

Первым решением бало парсить страницу на текст: 404 или 500, используя или метод Find() или NativeWebObject. Самое смешное что это работало, но функцию проверки надо было вставлять чуть ли не после каждого нажатия на линку. Я уверен кто-то сейчас засмеялся, потыкал пальчиком в монитор и сказал: - "Во дыбил", для таких повторюсь: я не супер-пупер-мега автоматизатор.

Наверное пора о главном.
Была найдена маленькая фича под названием MSXML2.XMLHTTP которая делает запрос, а потом сама понимает какой ответ ей пришел, сразу хочу оговориться что работает это только в IE, хотя я уверен что многие его использую как паттерн для тестирования Web приложений. Вот эта фунция с коментариями на языке Jscript:

function checkPageForError()
{
//определяем переменные для работы с броузером
var ie, page;
ie = Sys.Process("iexplore");
page = ie.Page("*");

//обьявляем переменную которая и будет кидать запросы и делаем ее новым ActiveX обьектом
var HTTPrequest = new ActiveXObject("MSXML2.XMLHTTP");
//формируем запрос на текущую страницу
HTTPrequest.open("GET", page.URL, false);
//посылаем его
HTTPrequest
.Send();
//и сравниваем (надеюсь тут все очивидно)
if(HTTPrequest.Status == 404 || HTTPrequest.Status == 500)
{
Log.Error(page.URL + " -page status: " + HTTPrequest.Status);
}
}

Но эту функцию тоже "не кошерно" втыкать в каждый модуль тестов. И тут нам на помощь приходят - Events, а именно Web Testing Events с событием OnWebPageDownloaded во всей красе.
Надо просто втавить имя выше написаной процедуры в этот обработчик и вуаля, как только страница загрузиться и если (не дай Боже, конечно) она поломана, мы в логе получим извещение...

Дам еще код фунции которая проверяет страницу по пути к ней:

function checkPageForErrorAtAddress(addressLink, linkName)
{
var ie, page;
ie = Sys.Process("iexplore");
page = ie.Page("*");

var HTTPrequest= new ActiveXObject("MSXML2.XMLHTTP");
HTTPrequest.open("GET", addressLink, false);
HTTPrequest.Send();

if(HTTPrequest.Status == 404 || HTTPrequest.Status == 500)
{
Log.Error(linkName + " -page status: " + HTTPrequest.Status);
}
else
{
Log.Message(linkName + " -page status: " + HTTPrequest.Status);
}
}

На этом, всем спасибо, все свободны... Жду коментов...

P.S. Простите за грамматику ))

пятница, 29 июля 2011 г.

Ошибки

И снова привет.

Этот пост будет очень коротким. Тут я просто хотел бы извиниться за все свои ошибки в грамматике русского языка. Уж не гневайтесь и простите.

четверг, 28 июля 2011 г.

Мерчик в зазеркалье (часть 2)

Что такое закулисье каждого магазина? О-о-о-о, это нечто. Все магазины у нас в городе постоены на базе бывших универсамов и универмагов, по-этому красиво только в зале и в оффисах управленцев. Все остальное – унылое, серое, пропахшее плесенью эхо СССР. Это факт. И я сомневаюсь что что-то нычне изменилось.

Так вот, при входе в зал, ты находишь свою полку, грустно смотришь и понимаешь что работы будет дофига. Сначала надо что-бы тебе вывезли товар, для этого надо найти работника зала, того самого Валеру-полочника. Вы когда-нибудь пытались найти призрака? Нет? Вы мысленно понимаете что это невозможно, это требует специальной квалификации и навыков. Работника-полочника найти еще труднее. У него или обед (по 10-15 раз в сутки), или перекур (2-3 блока в день), или он занят закадриванием молодушки на соседнем ряду своими отборными прыщями. Блин, почему они все прыщявые? И почему они не работают в «Маках»? Но не об этом. Найдя заветного человека, ты просиш его вывести товар, он смотрит на тебя, смотрит, приглядывается и поняв что отмазатся не получиться идет искать грузчика. Грузчики еще более фантомная единица в супермаркете нежели полочники. Пока Валера ищет Васю начинаешь наводить красоту с тем что есть на полке.

Но! Славное секьюрити не дремлет. Сначала они просто гуляют возле тебя, а потом каждые 5-10 минут просят показать пропуск, видимо только это их и успокаивает и сдерживает от депрессий во время всего рабочего дня. Ведь действительно – сидит некий малец и долго ковыряется на полке, непорядок, надо узнать что он там замышляет, авось бомбу устанавливает которую не зематил охранник на пропускной. Очевидно все охранники страдают хронической, запущеной формой амнезии так-как они задают одни и теже вопросы, как я писал выше, через каждые 5-10 минут.

Спустя минут 40 сбываеться чудо. Валера вместе с Васей привозят тебе полную тележку товара с которым тебе надо вступить в дизайнерсую связь по предписанным корпоративным стандартам.

Как не трудно догадаться, бейдж выданый перед входом в зал надо сново помять на 2 бумажки, сделать запись в 3х журналах (которые тоже находяться в разным местах заклисья), поставить штамп на одну из бумажек. На выходе охранник проделывает с тобой процедуру которую он видел в популярном блокбастере, тоесть общупывает, местами облапывает, проверяет сумку и карманы. Сумка между прочим была в шкафу у охранника, возможно были преценденты материализации продукции из мага сразу в сумку, этим наверняка владеют мерчики 80го уровня. Охранник забирает у тебе бумажку и выпускает на свободу, каждый раз быходя из закулисья я чувствовал себя как вновь «откинувшийся» вор-рецедивист.

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

P.S. Прошу всех Валер и Вась на меня не обижатся ))