Как стать автором
Обновить
141.65

Тестирование IT-систем *

Тестируем все и вся

Сначала показывать
Порог рейтинга
Уровень сложности

Автоматизация Flex-приложений при помощи Java + Selenium + FlexMonkium

Время на прочтение10 мин
Количество просмотров8K
В этом посте я опишу свои исследования, которые мне пришлось проделать, когда на проекте стал вопрос об автоматизации тестирования. Проект представляет собой веб-сайт, клиентская часть которого написана на Flex, а серверная — на Python(Django).

Выбор средств для автоматизации

Для начала рассмотрим путь от начала, который я прошел, прежде чем остановился на связке Java + Selenium + FlexMonkium. А это:

  • Selenium + Sfapi
  • Ranorex
  • FlexMonkey
  • Selenium + FlexMonkium

Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии7

Философия бага – описание ошибки

Время на прочтение3 мин
Количество просмотров5.6K
image Имея опыт работы в нескольких командах по тестированию ПО в различных проектах и компаниях, начиная от фриланса и заканчивая аутсорсинговыми и продуктовыми фирмами, я заметил такой факт, что в каждой команде отчет об ошибке пишется по своим традициям и стилям. При этом большинство тимлидов или ведущих QA-инженеров, которые эти традиции придумали, утверждают, что именно их стиль описания бага является наиболее правильным и максимально приближен к фен-шую. Нет, я не хочу сказать, что баг-репорты везде кардинально отличаются, нет, они приближены к стандартному виду с заголовком, шагами для воспроизведения, описанием ошибки и ожидаемым результатом, но от проекта к проекту имеют свой стиль. Например, подробность описания шагов воспроизведения (свое видение на эту тему я опишу в следующем посте), порядок расположения ожидаемого результата и описания ошибки и т.д.

Молодые специалисты, прейдя на первый проект в своей жизни, воспринимают все традиции по ведению тестовой документации и тестированию как эталон, так как у них нет опыта и им не с чем этот процесс сравнить. Взяв за основу какой-либо стиль дизайна отчета об ошибке, при смене места работы на собеседовании могут возникнуть споры при ответе на вопрос: «Расскажите нам про дизайн баг-репорта», т.к. у команды, в которой вы хотите работать стиль описания может отличаться. Здесь важным моментом является не угадать этот самый стиль, а озвучив свой и услышав в его адрес критику, уметь обосновать свою точку зрения.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии16

Использование Dummynet для эмуляции узкого канала под Windows

Время на прочтение1 мин
Количество просмотров5.4K
Иногда нужно протестировать работу клиентского приложения в сетевых условиях, приближенных к боевым. Что при разработке, что при выборе софта. Как правило, сервер рядом, а нужно оттестировать и на таком канале, и на таком. Как ни странно, удобного средства управления трафиком (traffic shaping) под Windows мне долго не удавалось найти. Из поисков запомнилось: кто-то советовал для тестовых целей купить модем. Можно поставить роутером машину на Linux и на ней рулить трафиком, но мне такой подход кажется слегка чрезмерным.
Оказывается, не меньше года в проекте Dummynet есть бинарники для Windows, которые позволяют легко и непринужденно управлять, как минимум, полосой канала (bandwidth) и задержкой (latency).
Читать дальше →
Всего голосов 36: ↑28 и ↓8+20
Комментарии10

Истории

Эмуляция сетевых проблем с помощью WANem

Время на прочтение3 мин
Количество просмотров29K
Картинка для привлечения внимания Недавно один из заказчиков TestLab² пожелал узнать, как будет работать его инсталлятор (с закачкой всякого на лету) на разных каналах. Внезапно первые подходы показали, что нам везет и обычные edge, umts и wimax-каналы (не говоря о проводных) в нашей округе как-то уж очень хорошо работают.
Чтобы создать тяжелые условия мы нашли и применили специализированный инструмент WANem, о котором я расскажу под катом.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии20

Real-life unit tests

Время на прочтение1 мин
Количество просмотров6.6K
Часто мне приходилось слышать, что кто-то послушал лекцию или прочитал статью про юнит-тесты, вроде как всё понял; решил сам попробовать — и ничего не получилось.

Почему так получается?

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

В этом видео на живом примере показано, как писать юнит-тесты для кода с внешними зависимостями.

www.devclub.eu/2011/06/06/asolntsev-real-life-unit-tests

Слайды и пояснения:
Всего голосов 20: ↑17 и ↓3+14
Комментарии50

Типы багов: этимология и энтомология

Время на прочтение4 мин
Количество просмотров49K

Какие бывают баги


1. Немного этимологии и энтомологии
Давайте посмотрим попристальней на такое знакомое и (до боли?) родное слово БАГ. Происходит оно от английского слова Bug, означающего «насекомое». Есть еще много сторонних значений, в частности английское выражение «to go bugs» — сойти с ума, что легко кореллируется со вполне русским «тараканы в голове завелись». Также вспоминаются и «жучки на линии» (тоже, кстати, по-английски – bugs). И опять мы пришли к насекомым.
Читать дальше →
Всего голосов 49: ↑42 и ↓7+35
Комментарии18

Быстрое создание нагрузочных тестов на JMeter для web-сайтов

Время на прочтение5 мин
Количество просмотров150K
imageДля любого программного приложения, предназначенного для массового обслуживания пользователей, необходимо проводить нагрузочное тестирование на предмет его надежности и отказоустойчивости. А так как любой web-сайт — это по своей сути система массового обслуживания, то проверка его на отказоустойчивость всегда является неотъемлемой частью разработки. Существуют различные решения для проведения нагрузочного тестирования веб-приложений. Я не буду сейчас описывать их подробно, про некоторые из них есть упоминания здесь.

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

Для тех кто ни разу не использовал JMeter, рекомендую для начала почитать базовые обзоры, например, Простой нагрузочный тест с Apache JMeter. Когда я первый раз запустил данную программу, первая мысль была разобраться во всем методом «тыка», но как выяснилось это вообще нереально, и метод «тыка» неприменим к JMeter. Поэтому если хотите его использовать, то сразу открывайте мануал, поверьте, вам придется заглядывать туда очень часто, пока полностью не разберетесь, что и как. Я же здесь сейчас опишу самое очевидное и важное, а именно: как собственно создавать нагрузочные тесты. Если бы я в свое время сразу нашел подобную статью, то сэкономил бы без малого день на изучении этой софтины.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии35

Quality assurance management

Время на прочтение3 мин
Количество просмотров7.2K
Уважаемые читатели, прежде всего статья призвана посмотреть на то, чем мы все занимаемся каждый день, глазами разработки, глазами менеджмента и конечно же попытаться пересмотреть подход к традиционному ведению проектов, применимо на всех этапах тестирования.
Итак начнём.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

7 способов бюджетного обучения для тестировщиков

Время на прочтение4 мин
Количество просмотров93K
Если присмотреться к различным ИТ-профессиям, складывается ощущение, что «движухи» у тестировщиков больше, чем в любом другом направлении. Оно и понятно: отрасль молодая, незрелая, и уровень квалификации по сравнению с западным отстаёт.

При этом может показаться, что обучение — это сложно или дорого. Как бы не так! У тестировщиков есть масса возможностей учиться либо совсем недорого, либо вообще бесплатно! Сегодня я хочу поделиться новостями в мире обучения тестировщиков: надеюсь, каждый заинтересованный найдёт для себя что-то подходящее.
Читать дальше →
Всего голосов 45: ↑35 и ↓10+25
Комментарии8

Распараллеливание тестов или одна голова — хорошо, а две головы — лучше

Время на прочтение3 мин
Количество просмотров5.3K
В какой-то момент, если долго и усердно стараться сохранять покрытие тестами не меньше 80% кода, прогон полного комплекта тестов начнет занимать больше времени, чем уходит на перекур и на прочтение новых статей хабра. В свою очередь это приводит к тому, что полный комплект (suite) будет запускаться все реже и реже. Hudson начнет сообщать о сломанных билдах, а дальше сработает эффект разбитого окна и сломанный билд станет нормой.

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

В одном из наших проектов, в который согласно записям redmine вложено около 400 часов работы нашего коллектива ситуация с тестами до распараллеливания выглядела так (пару дней назад):
151 scenarios (151 passed)
3997 steps (3997 passed)
17m49.257s


18 минут!!!

За это время разработчик может сварить кофе, выкурить сигарету, сходит в туалет, ущипнуть за попу симпатичную коллегу и успеть посмотреть последние 3 минуты «матрицы» на экране. Если требовать от него чтобы полный прогон запускался перед каждым коммитом, то он только и будет делать что смотреть «матрицу» и щипать попы пить кофе.

Но анализ загрузки процессора при прогоне показывает, что в работе участвует только лишь одно ядро независимо от того, сколько их всего есть. Как говорит пословица, лучше день потерять, а потом за пять минут долететь. Порыскав в гугле мы нашли гем parallel_tests. Теперь мы не с такой завистью будем смотреть на erlang группу, которые могут спокойно распараллелить свои тесты на кластер арендованных облачных машин в Selectel.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии38

Консольный cucumber и capybara при помощи Selenium и Hudson

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

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

Наша цель — задокументировать шаги, требуемые для преодоления встречающихся препятствий на пути к запуску полного набора тестов Cucumber со сценариями на Selenium на сборочном сервере Hudson.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии8

Оценка количества ошибок в программе. Парная оценка, Исторический опыт

Время на прочтение2 мин
Количество просмотров3.6K
Продолжение к посту модель Миллса.

Парная оценка


Данная модель требует тестирование программы двумя специалистами (или группами специалистов). Зато не требует внесение в программу искусственных ошибок. Итак, пусть программу тестируют независимо друг от друга две группы специалистов. Предположим, что в программе содержится N ошибок. Пусть первая группа нашла N1 ошибок, а вторая — N2. Часть ошибок обнаружена обеими группами. Пусть таких ошибок N12.

Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии20

Ближайшие события

Автоматизация через интеграцию. Промо-версия. UPD

Время на прочтение11 мин
Количество просмотров3.3K
Upd: добавлены скиншоты.

19-20 мая в Минске проходил Software Engineering Forum 2011. Мы выступили с докладом «Новый уровень автоматизации тестирования», или альтернативный длинный вариант – «Доавтоматизация» автоматизированного тестирования через интеграцию тестового инструментария». В нем мы раскрыли три основных вопроса:
  1. Уровни автоматизации тестирования в организации.
  2. Основные моменты, на которые стоит обратить внимание при автоматизации тестирования (на основе собственного опыта и опыта коллег, а также результатов опросов).
  3. Прототип решения для управления автоматизированным тестированием (на базе внутренней разработки Octopus).

Под катом – содержание доклада, ссылка на промо-версию Octopus. Длинный пост.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии10

Пользователи в помощь тестировщику веб-проекта

Время на прочтение3 мин
Количество просмотров1.2K

Зачем нужны тестеры набранные из пользователей


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

Их помощь может быть разной, от тестирования нового функционала, до разбора ошибок из обращений других пользователей, например с форума. Если говорить о разработке онлайн игр, их помощь может быть весьма полезна, если вы собираетесь как-либо менять игровой баланс, или вводить новый функционал, они как игроки могут подсказать как поменяется баланс в игре и как отреагируют пользователи.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии12

Автоматизированное тестирование мобильных приложений

Время на прочтение6 мин
Количество просмотров50K
Я провел настоящее исследование ситуации с автоматизированным тестированием интерфейса мобильных приложений. Речь идет не о тестировании модулей, а именно о тестировании интерфейса финального приложения. И, да, прямо на телефоне!

Зачем это нужно? В первую очередь, для гарантированного улучшения качества вашего ПО и улучшении настроения тестировщиков.

В чем идея? Чаще всего тестирование мобильных приложений осуществляется людьми: тестировщик берет приложение, iPhone 3, iPhone 4, iPad, если ему не повезло, то еще берет пару андроидов и GalaxyTab, и тестирует ваше приложение, 80% тестирования составляют примерно такие сценарии:
— запустить приложение, убедиться, что оно не падает;
— перейти на вкладку места, убедиться, что все пункты на месте;
— зайти в один из пунктов, убедиться, что описание на месте;


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

В свое время в вебе на помощь пришел Selenium, который позволил через специальный плагин к браузеру записывать действия тестировщика (все помнят макросы в MS Word?) и затем проигрывать их автоматически с проверкой результата. Можно запускать тесты даже на разных браузерах! Мы использовали это решение в своей компании, и оно, действительно, работает. Усилия на разработку тестов окупились.

По сравнению с вебом мобильная разработка еще очень молодая область, и я не ожидал увидеть хороших решений для автоматизированного тестирования интерфейсов. Оказалось, что их более чем достаточно. Хочу рассказать вам о некоторых из них.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии33

Оценка количества ошибок в программе. Модель Миллса

Время на прочтение3 мин
Количество просмотров17K
Сколько ошибок в программе? Это вопрос, который волнует каждого программиста. Особую актуальность придает ему принцип кучкования ошибок, согласно которому нахождение в некотором модуле ошибки увеличивает вероятность того, что в этом модуле есть и другие ошибки. Точного ответа на вопрос о количестве ошибок в программе очень часто дать невозможно, а вот построить некоторую оценку — можно. Для этого существуют несколько статических моделей. Рассмотрим одну из них: Модель Миллса.

Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии18

Результаты опроса: 301 ответ!

Время на прочтение1 мин
Количество просмотров4.5K
Для подготовки доклада к конференции SEF.BY мы провели онлайн-опрос на тему автоматизированного тестирования.Основная цель — определить уровень автоматизации тестирования и популярные инструменты. В этом топике делюсь результатами.
Огромное спасибо всем, кто принял участие!

Всего ответов — 301, но некоторые вопросы респонденты пропускали, поэтому количество ответов на каждый выпрос варьируется и указано на вставке в графике. Также, в тех случаях, когда наши предположения о популярных тулах не оправдались и ответ «Другое» занимал лидирующие позиции, мы указывали самые популярные варианты пользователей.


Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии3

Slash и backslash: вехи на пути

Время на прочтение4 мин
Количество просмотров28K

Немного истории


Slash

Возникновение слеша относят к временам Римской империи. На ранних стадиях современности, во Фрактуре [1], которая была широко распространена по всей Европе в средневековье, слеш (/) использовался вместо запятой, в то время как двойной слеш (//) использовался вместо тире. Двойной слеш, в конечном счете, превратился в символ похожий на знак равенства (=), а позже был еще больше упрощен до тире или дефиса [2].
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии18

Опрос. Инструменты автоматизации тестирования

Время на прочтение2 мин
Количество просмотров12K
Здравствуйте, уважаемые хабровчане!
Мы с коллегой готовим для конференции доклад на тему автоматизации тестирования desktop-приложений. Ценность и полезность доклада возрастет, если мы сможем использовать в выступлении результаты опроса профессионального сообщества.
Результатами поделюсь на Хабре.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии8