понедельник, 16 января 2012 г.

Дипломатия или решаем проблемы грамотно

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

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

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

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

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

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

Вверх несмело поднялась рука, затем встал невысокого роста аккуратно причесанный "ботаник" и, поправив очки, несмело спросил:
- Учитель, а вдруг они нас не послушают и не захотят исправлять ошибку, вдруг они посмеются над нами. Что тогда делать?

- Эх, - вздохнул учитель, который тоже задавался такими вопросами вначале своего пути. - Может и не захотят, может и посмеются. Но! Смеется тот, кто смеется последним. У вас есть секретное оружие - система багтрекинга. Заносите туда описание ошибки, назначайте её на того, кого надо. Если программист вернул её Вам обратно, требуйте его написать комментарий, по какой причине он не хочет исправлять ошибку. Если вы все еще не согласны с тем, что проблему можно оставить, переназначьте её на менеджера, чтобы он принял окончательное решение. Но! Не забудьте обосновать почему, по-вашему, ошибка должна быть исправлена. Таким образом именно менеджер возьмет на себя всю ответственность за проблемы, связанные с той ошибкой.

- Учитель, на летней практике, у меня был случай, когда я был уверен, что нашел ошибку, но, как оказалось, о подобном сценарии ничего не говорилось в спецификации. Разработчик просто отклонил багрепорт с комментарием "Цэ не баг, цэ фiча". Я был расстроен, но поделать ничего не мог. Как быть в такой ситуации? - спросил "молодой боец" с гелевым ежиком на голове.

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

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

* * * * *

- На этом урок окончен. - Добавил учитель и, выдохнув, растворился в облаке горько-сладкого табачного дыма.

Читать далее...

четверг, 20 октября 2011 г.

Процесс, который алмазы точит...

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

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

И вот пришло время, вы получаете первый комплект артефактов: спецификации, мокапы, планы...

 Старик замолчал на мгновение, вспоминая свой первый тест план.
- Учитель, а что же дальше? Что дальше? - зашептали ученики почти в один голос.
- Не перебивайте, будьте терпеливей. - сказал старик и продолжил...

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

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

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

Разработчики подготовили первый билд и небрежно кидают его вам, и просят левым глазком взглянуть на него. Не проходит и часа, как вы уже возвращаете его назад и говорите, что "ЭТО" тестировать невозможно, что через клик приложение "валится", да и ни одна функция не работает, как того требует спецификация. Говорите, что все найденные дефекты записаны в багтрекер и отправляете отчет "smoke test failed!!!"

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

Руководитель разработки уже не рад, что взял на этот проект двух студентов без опыта, а ведущего программиста отправил в отпуск... Но что поделать, надо работать...

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

- Учитель, а зачем вообще нужен этот smoke test? Неужели без него нельзя? - спросил паренек в малиновом пиджаке.
- Без него то, конечно можно. Но с ним как-то сподручнее. Дымовой тест - делается для того, чтобы понять, можно ли вообще тестировать приложение или нет, соответствует ли оно требуемым критериям качества для начала тестирования или нет. Нет смысла проверять то, как далеко стреляет лук, если тетива на нем не натянута, да и стрела кривая. - с ухмылкой ответил учитель и продолжил... 

К утру следующего дня вам дают новый билд, однако уже с ним приходит письмо со списком того, что якобы готово на 100%, а что пока трогать нет смысла, т.к. ребята в поте лица стараются сделать все, что в их силах, но пока "никак не выходит у них каменный цветок".

На этот раз Вас не обманули - все критические баги, находящиеся на поверхности, были исправлены. С гордостью за разработчиков и за их труды вы отправляете отчет, что smoke test passed.

Менеджер проекта доволен, руководитель разработки улыбается, т.к. он единственный кто знает, что творится в коде :)

Вы же, открыв багтрекер, начинаете регрессионное тестирование (Regression testing)  и санитарное тестирование (Sanity testing). Вы перепроверяете дефекты, которые разработчики перевели в статус Fixed (Исправлено), Rejected, Can't Reproduce и т.д. Замечу, что статусы Rejected и Can't Reproduce для вас самые неприятные - это явное свидетельство того, что либо вы недостаточно хорошо локализовали дефект, не очень понятно описали шаги для воспроизведения, либо разработчик поленился воспроизвести ситуацию.

- Учитель, а как надо закрывать дефекты и причем тут эти “регрессионное и санитарное” тестирования? - поинтересовалась девочка с iPhone-ом в руке
- Дефект проверить не проблема - проходите все описанные шаги, проверяете результат и все. Однако, исправив одно, разработчик мог сломать что-то другое. Проверив четко по шагам, надо сделать еще несколько тестов, чтобы убедиться в том, что вокруг тоже все работает как и раньше. Вот для этого мы и проводим эти самые “регрессионное и санитарное тестирования”. - Поучительно сказал старик, сделав очередную затяжку курительной трубки.

Покончив с закрытием и пере-открытием дефектов, вы переходите к основной работе - централизованному тестированию по тест кейсам и/или (если вы адепт исследовательского тестирования) вы начинаете упорно исследовать приложение :)

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

Менеджер проекта закипает от количества дефектов и ужасного качества, не обращая внимания на то, что это всего навсего вторая попавшая в тестирование версия.

Руководитель разработки начинает проникаться уважением к тестировщикам, нашедшим несколько десятков интересных дефектов. Легким движением багтрекера он назначает их на разработчиков, и понеслось все сначала...

- Учитель, а-а что лучше: т-тестирование по т-т-тест кейсам или и-и-исследовательское? Какой путь в-в-выбрать? - заикаясь спросил кучерявый ботаник на первой парте.
- На протяжении века идет спор. Лучшие тестировщики нового и старого света уходили ни с чем с поля боя. У каждого из них были свои доводы и результаты, но никто из них не смог доказать свою правоту. Что посоветую вам я, так это совместить оба подхода, всегда планировать как тестирование по тест кейсам, так и исследовательское тестирование. Пройдя все тест кейсы, потратьте несколько часов на “свободный полет”, проверьте все, что по-вашему можно проверить еще. И будет вам почет и уважение. - сказал старик, вспоминая дефекты найденные по тест кейсам и во время исследования.

Дальше все идет по накатанной: новые билды, пройденные и не пройденные дымовые тесты, то закипающий, то остывающий мозг проектного менеджера, то гнев, то милость руководителя разработки. Однако, через какое-то время сойдётся "задачка с ответом" -  результаты тестирования сойдутся, с прописанными в плане тестирования, критериями окончания тестирования.

* * * * * * * * * * * *

 - На этом мы закончим сие поверхностное описание процесса тестирования. Надеюсь что вы запомнили, последовательность выполненных видов тестирования:

Дымовое > Регрессионное > все остальные виды тестирования

- Упрощенная схемка прилагается. - сказал учитель и растворился в воздухе, оставив на столе лишь свою курительную трубку... 


Авторы: Алексей Булат и Алексей Лемешев.

Читать далее...

вторник, 7 июня 2011 г.

Happy vs Unhappy клиент

Найдите одно отличие:


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

РЕЗЮМЕ:

В конце любого проекта, заказчик остается либо доволен, либо не доволен.
Наша задача оставлять его всегда довольным, иначе следующий к нам может и вовсе не прийти. Поэтому мы должны сделать все, чтобы клиент становился HAPPY, даже когда пришел к нам абсолютно UNHAPPY, в отчаянии от безысходности. Мы должны понять, "приютить, приласкать, обогреть и обобрать", держать его в курсе, не дать потратить лишних денег, даже если они просто "осваиваются" впустую. И будет нам вселенское счастье, респект и уважуха.

Алексей Булат

Читать далее...

понедельник, 6 июня 2011 г.

Бизнес процессы! Дмитрий Потапенко - О рознице

Посмотрел недавно очень неплохое видео и решил поделитсья с общественностью!

Итак прошу любить и жаловать - "Дмитрий Потапенко - О рознице":

Читать далее...

среда, 18 мая 2011 г.

Рекомендации молодым багоборцам.

Несколько советов молодым от умудренного опытом горе, т.е. гуру тестера...

  1. Изучайте баг репорты, написанные своими коллегами.
    Очень часто, прочтя баг репорт, написанный кем-то, задумываешься: “Интересно... А что если мне проверить такое?” Проверяешь и действительно, находишь багу.
  2. Утром после вечернего, ночного, выходного продакшн деплоя, первым делом проверьте работоспособность приложения, даже если никто из пользователей не сообщил о проблемах.
    Были случаи, когда сразу после деплоя все работало как часы, а на утро - бац и отвалилось. Либо утром ты проснулся с идеей прогнать тест, который ты не проводил на фазе тестирования. Сделал - и действительно нашел критическую багу. Либо как часто бывает в реальной жизни - нагрузочное тестирование проводили на тестовой платформе, отличающейся по конфигурации от используемой в продакшине, в “тесте” все ОК, а в “проде” - в силу каких-то причин тормозит... У всего этого итог один - Rollback.
  3. Пишите шпаргалки неофициальные короткие инструкции, пометки и комментарии, чек листы, логи прохождения тест кейсов. Иногда они будут полезнее, чем официальные документы.
    Вы думаете, перерабатываете, прогоняете информацию через себя и выдаете её в более понятной форме. Своими записями вы оптимизируете процесс своей работы, выбрасываете не нужное, добавляете необходимое.
  4. Задавайте вопросы и уточняйте нюансы даже когда для Вас все кажется очевидным. Читайте спецификации, спрашивайте у бизнес аналитиков, разработчиков, менеджеров и пользователей.
    Обладая информацией, полученной из разных источников, Вы будете писать более качественные тест кейсы и тем самым цена, написанных Вами, баг репортов будет намного выше.

Читать далее...

понедельник, 16 мая 2011 г.

Основные аспекты создания скриптов для нагрузочного тестирования

Введение


Напомним, что само по себе нагрузочное тестирование - это автоматизированное тестирование, а значит это разработка, отладка, контрольный запуск и анализ результатов, а не просто запись и запуск (Record & Playback). В данной статье мы постараемся рассмотреть основные аспекты создания набора тест скриптов для нагрузочного тестирования, не углубляясь в технические особенности инструментов, языков программирования и технологий. Итак приступим.

Если мы хотим получить удобный для пользования и сопровождения набор тестовых скриптов, нам необходимо будет внедрить приемы обеспечения качества: использование стандартов, шаблонов и инструкций. Необходимо договориться об общем использовании одинаковой структуры каталогов, архитектуры скриптов, именовании функций, переменных, и транзакций. В итоге каждый участник группы, отвечающей за нагрузочное тестирование, будет знать архитектуру тестового набора, а также без труда сможет прочитать и внести необходимые изменения в скрипт, написанный другим тестировщиком.



Содержание

  1. Стандартизация тестового набора для тестирования производительности
  2. Порядок действий при разработке скриптов для тестирования производительности
  3. Конфигурация тестового набора для тестирования производительности
  4. Вывод
  5. Литература

Стандартизация тестового набора для тестирования производительности

Разрабатывая скрипты для нагрузочного тестирования, мы выполняем работу присущую программисту/разработчику, и поэтому должны следовать их правилам, выполняя все для обеспечения качества и надежности кода тестов. Очень часто для этого стоит провести консультации с разработчиками и с их помощью выработать основные правила создания тестовых скриптов.

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

  1. Структура каталогов
  2. Архитектура (структура) тест скриптов
  3. Именование объектов

Структура каталогов тестового набора

Наличие одинаковой структуры каталогов значительно облегчает работу ([1] Страница 5). Вы всегда будете знать, где и что находится. Вам не придется искать, где же находятся, к примеру, параметры для тестового набора, написанного другим тестировщиком. Предлагаем Вам следующую структуру каталогов:


Структура каталогов тестового набора

  • parameters - директорий глобальных параметров тестового сценария (более подробное описание глобальных параметров смотрите ниже в разделе "название параметров")
  • scripts - директорий хранения тестовых скриптов
  • scenarios - директорий хранения сценариев или тестовой модели

Архитектура тест скриптов

Аналогично со структурой тест кейсов, скрипты для нагрузочного тестирования так же рекомендуется разделять на 3 части: precondition, test case action, postcondition. Данное разделение очень удобно, т.к. разные части тестов имеют разную частоту выполнения.


Тестовые скрипты в HP LoadRunner изначально разделены на 3 части:

  • Init - используется для инициализации VUser, т.е. в него целесообразно помещать те части скрипта, которые не требуют постоянных повторений, такие как вход в тестируемую систему, конечно если мы не тестируем именно эту часть приложения. (Может быть пустым)
  • Action - рабочая часть скрипта. В него помещают те действия, которые будут выполняться, и результаты которых будут измеряться и сохраняться, а в последствии анализироваться. (Количество блоков Action может быть разным, в зависимости от архитектуры тестового скрипта)
  • End - корректное завершение теста.(Может быть пустым)

Соглашение об именовании

Программируя на разных языках, мы используем правила наименования (объектов, переменных, функций) присущие данному языку. В качестве примера рекомендуем ознакомиться с таковыми правилами для Java [4] (Ch. 3 Naming Conventions)

В автоматизированном тестирование, а в частности в тестировании производительности, есть некоторые специфические сущности, которые необходимо подвести под единую систему наименований. Рассмотрим основные:

  1. название скриптов
  2. названия параметров
  3. название транзакций

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


Названия тест скриптов

Для удобства работы с скриптами рекомендуется всем членам команды использовать одинаковый формат названий скриптов:

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

Пример: название скрипта по созданию компаний будет AddCompaign. Если компании надо создавать для заранее заданного количества пользователей (предположим - 100), то название будет следующим: AddCompaign_100


Названия параметров

Очень часто разные скрипты содержат одинаковые параметры. А если учесть, что параметры хранятся в файлах, то мы можем получить некоторое количество одинаковых файлов для нескольких VUser-ов. От этого можно и даже нужно избавляться, т.к. дублирование одинаковой информации не лучший паттерн.


Условно разобьем параметры на 2 типа:

  • глобальные - параметры, использующиеся в большом количестве скриптов внутри сценария, например: хост тестируемого приложения, параметры доступа к БД и т.д. Глобальные параметры хранятся в каталоге parameters проектной директории. В скрипте же, путь к файлу параметров зададим относительно папки скрипта, а именно: "..\parameters\"
  • локальные - параметры конкретного тестового скрипта. Хранятся внутри директории каждого конкретного скрипта VUser-а.

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


Название транзакций

Для измерения производительности, необходимо определить необходимые транзакции. Каждая транзакция измеряет время, необходимое для получения ответа сервера на запрос виртуального пользователя. Для удобства чтения рекомендуется транзакции называть с большой буквы, начинается с кейворда TX [5], каждый последующий кейворд разделен подчеркиванием.

Пример: по аналогии с примером из пункта 2.3.1 Названия тест скриптов, название транзакций будет TX_ADD_COMPAIGN и TX_ADD_COMPAIGN_100 соответственно.




Порядок действий при разработке скриптов для тестирования производительности

Условно разобьем процесс разработки тестового набора на 3 фазы:

  1. Подготовка
  2. Создание и отладка
  3. Хранение

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

Далее рассмотрим более подробное описание фаз разработки тестовых скриптов для нагрузочного тестирования.


Подготовка

Задачи:

  • анализ тестовой модели нагрузки
  • анализ функциональной части скрипта, с целью понять, что тест должен делать и как
  • выбор варианта создания скрипта:
    1. ручной, когда разработчик сам пишет функции, использующиеся в скрипте
    2. автоматический, когда скрипт записывается специальным инструментом
    3. комбинированный, когда скрипт сначала записывается, а потом параметризируется и усовершенствуется вручную

Создание и отладка

Задачи:

  • создание шаблона скрипта (под шаблоном подразумевается не параметризованный скрипт, без каких-либо проверок)
  • параметризация параметров скрипта
  • добавление проверок в скрипт
  • настройки параметров VUser-ов (скриптов) и окружения
  • отладка при 1 итерации
  • отладка при Х итерациях
  • добавление скрипта в общий сценарий
  • обновление глобальных параметров (при необходимости)

Хранение

Задачи:

  • сохранение глобальных параметров - папка \parameters\
  • сохранение сценариев- папка \scenarios\
  • сохранение скриптов - папка \scripts\

Примечание: готовый тестовый набор должен быть доступен всем участникам проектной группы, для этого он должен быть сохранен в системе контроля версий (либо на совместно используемом сервере).

При использовании SVN [6] в качестве системы контроля версий, рекомендуется воспользоваться общепринятой организацией репозитория [7]:


/trunk - актуальная (последняя) версия тестового набора
/branches - тестовые наборы, находящиеся в разработке
/tags - завершенные тестовые наборы

Примечание: Для получения более детальной и точной информации о системе контроля версий рекомендуется обратиться к команде разработчиков. По работе с репозиторием любой программист будет рад провести короткий мастер-класс для QA.

В двух словах, порядок работы, используя репозиторий, будет следующий: создается новый branch для тестового набора, сохраняются в него новые тестовые скрипты или изменения, после завершения работы сливается (merge) все в trunk. Когда все участники команды залили результаты своей работы (скрипты, сценарии, параметры) в trunk, создается новый tag, как показатель завершенности некоторой версии тестового набора.

В итоге, структура каталогов репозитория будет следующая:

/perfSuite1
     /trunk
         /parameters
         /scenarios
         /scripts
     /branches
        /branch1
         /parameters
         /scenarios
         /scripts
       /branch2
         /parameters
         /scenarios
         /scripts
       ...
     /tags
       /v0.1
         /parameters
         /scenarios
         /scripts
       /v0.2
         /parameters
         /scenarios
         /scripts
       ...
    /perfSuite2
     /trunk
      ...
     /branches
      ...
     /tags
      ...    

Конфигурация тестового набора для тестирования производительности

Тестовые наборы или сценарии тестирования конфигурируются на основании имеющихся моделей нагрузки. Для этого, хранящиеся в репозитории скрипты, группируют в сценарии и назначают требуемое количество виртуальных пользователей, для получения нужной нагрузки (в HP LoadRunner для этих целей используется Controller). Полученные файлы с конфигурацией сценариев сохраняют, также как и скрипты, в репозитории - папка \scenarios\.


Заметим, что предусловием для конфигурации тестового набора является подготовка необхдимых скриптов.

Задача:

  • создание тестового набора (сценария) для нагрузочного тестирования
  • конфигурация тестового набора
  • отладка работы сценария
  • сохранение тестового набора в репозитории

Вывод

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


Литература

[1] HP LoadRunner software—tips and tricks for configuration, scripting and execution (https://h10078.www1.hp.com/bto/download/loadrunner-configuration.pdf)

[2] Блог Алексея Булата “Про Тестинг” - стандартизируем нагрузочные тесты на LoadRunner

[3] Блог Алексея Булата “Про Тестинг” - методика создания нагрузочных тест-скриптов

[4] Java Coding Style Guide (http://www.cs.bilgi.edu.tr/pages/standards_project/java_CodingStyle.pdf)

[5] tx=transaction (http://www.proz.com/kudoz/english_to_polish/finance_general/1859198-tx.html)

[6] Subversion - version control system (http://subversion.apache.org/)

[7] Subversion - Branch Maintenance - Chapter 4. Branching and Merging - Repository Layout (http://svnbook.red-bean.com/en/1.1/ch04s07.html)


Информация взята с сайта Про Тестинг: Статья "Основные аспекты создания скриптов для нагрузочного тестирования"


ЗЫ Комментарии приветствуются, критика тоже... жду отзывов...



Читать далее...

пятница, 18 февраля 2011 г.

Домино, Рыба или Кошка в горошек...

Они уже среди нас, баги везде, баги вокруг, баги, баги, баги...

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


Если вы не заметили ничего необычного, то вот вам еще одна картинка:


Если ли же и на этот раз для Вас все в норме, то есть варианты:
1. Вы еще не до конца тестер
2. Вы счастливый обладатель замыленного глаза
3. Посмотрите еще внимательнее на картинки домино!!! (Подсказка: надо смотреть на кошку на средней доминошке)

С уважением,
Алексей Булат

Читать далее...

Условия копирования публикаций:

Все публикации в данном блоге являются частной собственностью авторов. Любое копирование информации допускается только при условии указания имени автора и активной ссылки на источник.