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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


Slash

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

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

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

Семь правил тестировщика

Время на прочтение4 мин
Количество просмотров14K
«Сначала ваши попытки должны были потерпеть крах, чтобы вы были готовы ухватиться за спасательный круг, который вам бросят.»
Е. Херригель
«Дзен и искусство стрельбы из лука»

Ты ручной тестировщик?
На автоматизацию тестирования нет времени?
То, что нужно тестировать, невозможно автоматизировать?
Ты уже достиг вершин, но хочешь посмотреть чей-то чужой путь?

Тогда прошу под кат!
Читать дальше →
Всего голосов 83: ↑79 и ↓4+75
Комментарии40

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

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Стандартный_тест_на_обработку_длинного_заголовка

Время на прочтение1 мин
Количество просмотров4.1K
Дорогой_хабрахабр_прости_пожалуйста_но_какой_тестировщик_не_проверит_эту_ может_и_бесполезную_штуку_в_блоге_по_тестированию?



Для придания посту минимальной информационной ценности, добавлю:
тестирование «неправильного» поведения пользователя называется негативным тестированием.
Всего голосов 376: ↑305 и ↓71+234
Комментарии131

Конференция SQA Days: как (не)обычные тестировщики меняют мир?

Время на прочтение3 мин
Количество просмотров1.2K
В апреле этого года в Казани пройдёт 9-я конференция SQA Days. На ней, как и всегда, соберутся ведущие умы, гуру и эксперты в области тестирования. Её участниками, как и всегда, будут наиболее активные представители сферы контроля качества. На ней, как и всегда, каждый получит желаемое: тонны информации, века консолидированного опыта, террабайты мотивашечек.

Все вышеперечисленные фенечки и плюшечки ни капельки не удивят того, кто хоть раз посещал грамотные конференции. Однако, при этом, в SQA Days есть множество воистину удивительных вещей: стабильность, темпы развития, широкая география проведения… и люди!
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии5

Разработчики не любят тестировщиков. Потому что не умеют их использовать

Время на прочтение6 мин
Количество просмотров5.2K
Сказки про ссоры разработчиков и тестировщиков когда-то были правдой, но сейчас таких конфликтов почти не встретишь. Спокойная совместная работа над выпуском ПО, ориентация на общие цели, бла-бла-бла…

Но если присмотреться внимательнее, то под видимостью продуктивного сотрудничества зачастую скрывается абсолютное непонимание разработчиков: «зачем эти тестеры вообще нужны??». Это непонимание нередко является взаимным, и несмотря на кажущуюся миролюбивость, оставляет в совместной работе лишь видимость продуктивности.
Читать дальше →
Всего голосов 49: ↑39 и ↓10+29
Комментарии29

Тестирование игр в Иннове: рассказ о работе отдела

Время на прочтение7 мин
Количество просмотров17K
В качестве предисловия скажу, что я пришла в Иннову чуть больше года назад, моей задачей было «сделать тестирование в компании». Мой отдел тестирования состоит из двух групп: группа тестирования веб-приложений и группа тестирования игровых приложений. Такое разделение сложилось потому, что у этих направлений разные задачи и разные требования к сотрудникам.

Дальше рассказ будет про направление игрового тестирования. Это рассказ про моих ребят, про наши процессы, про нашу организацию работы. Приглашаю на словесную экскурсию.

Легион
Читать дальше →
Всего голосов 87: ↑65 и ↓22+43
Комментарии105

Рецепт нагрузочного тестирования на JMeter

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

Стоит ли вообще браться за JMeter


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

Составление сценария


В моем случае было необходимо протестировать сервис, и понять как долго он еще протянет без оптимизации кода или добавления серверов.
В идеале нужно загрузить в JMeter сценарий по которому как бы работает пользователь, после чего прогнать сценарий в несколько потоков, наблюдая за скорость обработки запросов.
Главная сложность в том, как этот сценарий получить и собственно этим рецептом я и хочу поделиться.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии10

Вдохновение для юнит-тестов

Время на прочтение4 мин
Количество просмотров7.4K
Много слов сказано о достоинствах юнит-тестов (TDD, BDD — в данном случае неважно), а также о том, почему люди всё-таки их не используют.

Но я думаю, что одна из главных причин заключается в том, что люди не знают, с чего начать. Вот прочитал я статью про юнит-тесты, понравилось; решил, что надо бы когда-нибудь попробовать. Но что дальше? С чего начать? Как придумывать все эти требования, как называть тест-методы?

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

Об этом и пойдёт речь:
откуда брать вдохновение.
Всего голосов 95: ↑89 и ↓6+83
Комментарии50

Три самых полезных навыка, которые я приобрел 5 лет назад

Время на прочтение5 мин
Количество просмотров11K
Я работаю в автоматизации тестирования уже более пяти лет. Более всего я работал с ОС Windows. Мы пишем скрипты на Borland SilkTest. Я знаком и с другими средами разработки автоматизированных тестов, такими как QTP и TestComplete – у каждого продукта есть свои достоинства, но, к сожалению, и свои недостатки. Возникают проблемы, которые очень сложно решить «не выходя из системы»*
Читать дальше →
Всего голосов 122: ↑85 и ↓37+48
Комментарии66