![image](https://habrastorage.org/getpro/geektimes/post_images/ddc/446/188/ddc446188d1832b25aeb1d1203b3ec95.jpg)
![](http://habrastorage.org/getpro/habr/hub/88c/d88/dc5/88cd88dc5a3ea03d8d8e3f73bd35aafe.png)
159.39
Рейтинг
Тестирование IT-систем *
Тестируем все и вся
Сначала показывать
Порог рейтинга
Уровень сложности
Отладка тест-плана JMeter
6 мин
49KВ предыдущем посте про JMeter я описывал создание примитивного нагрузочного теста. При разработке более сложных сценариев не обойтись без отладки. К сожалению, в JMeter эта техника не совсем очевидна. Ниже на несложном примере покажу несколько приемов отладки тест-плана. Заодно продемонстрирую использование таких элементов, как HTTP Request Defaults, Regular Expression Extractor, If Controller и некоторых других.
![final test plan](https://habrastorage.org/getpro/habr/post_images/c27/68d/c80/c2768dc8070619842e6151a475b15f01.png)
Тестировать будем механизм поиска на сайте. Пускай сценарий берет слово или фразу из файла, задает вопрос поисковику, получает ответ в виде одной или нескольких страниц, случайным образом выбирает одну из страниц, так же случайно выбирает одну из ссылок и идет по ней. Итого три запроса, за исключением особых случаев (когда найдено мало или не найдено ничего).
![final test plan](https://habrastorage.org/getpro/habr/post_images/c27/68d/c80/c2768dc8070619842e6151a475b15f01.png)
Тестировать будем механизм поиска на сайте. Пускай сценарий берет слово или фразу из файла, задает вопрос поисковику, получает ответ в виде одной или нескольких страниц, случайным образом выбирает одну из страниц, так же случайно выбирает одну из ссылок и идет по ней. Итого три запроса, за исключением особых случаев (когда найдено мало или не найдено ничего).
+4
Процесс ручного тестирования: А что бы нам такое заавтоматизировать?
2 мин
5.5KDisclaimer
Читая книгу по автоматизированному тестированию нашел довольно интересное описание некоторых путей, которые используются для автоматизации процесса. Так как книга написана на английском языке, представляю свой вольный перевод одной части. При прочтении книги очень часто вспоминал свой путь к автоматизации. В данной статье рассматривается то, что нельзя автоматизировать ни в коем случае.
0
-6
Истории
Простой нагрузочный тест с Apache JMeter
7 мин
286KПо моим наблюдениям, разработчики довольно редко делают нагрузочное тестирование сайтов и веб-приложений. И бывает так, что выставят проект в Интернет, а тут вдруг посетители начнут ходить (хабраэффект, к примеру, случился), и сайт в самый подходящий момент ложится или начинает не по-детски тормозить.
Почему бы не избежать этих неприятностей, прогнав нагрузочный тест?
Наверное, кого-то останавливает неверное представление о том, что нагрузочное тестирование — это очень сложное дело, требующее специальных знаний. Однако не боги горшки обжигают. Если выбор — тестировать не слишком профессионально, или не тестировать вовсе, я бы выбрал первое. Тем более, что организовать примитивный тест производительности очень даже просто. Можно воспользоваться онлайн-средствами (см., например, Нагрузочное тестирование по-быстренькому), а можно замутить все своими руками, это ненамного сложнее.
Под катом рассказываю, как с нуля организовать незамысловатый нагрузочный тест сайта при помощи Apache JMeter.
Почему бы не избежать этих неприятностей, прогнав нагрузочный тест?
Наверное, кого-то останавливает неверное представление о том, что нагрузочное тестирование — это очень сложное дело, требующее специальных знаний. Однако не боги горшки обжигают. Если выбор — тестировать не слишком профессионально, или не тестировать вовсе, я бы выбрал первое. Тем более, что организовать примитивный тест производительности очень даже просто. Можно воспользоваться онлайн-средствами (см., например, Нагрузочное тестирование по-быстренькому), а можно замутить все своими руками, это ненамного сложнее.
Под катом рассказываю, как с нуля организовать незамысловатый нагрузочный тест сайта при помощи Apache JMeter.
+14
Тестирование производительности: онлайн-тренинг с домашними заданиями
4 мин
3.8K«Младших тестировщиков производительности» не бывает. Зато бывают люди, которые начинают заниматься тестированием производительности. (с) Скотт Барбер (aka The Perf Guy)
В тестировании компьютерных программ есть «общедоступная» область функционального тестирования, куда доступ открыт всем желающим, и есть целый ряд областей с достаточно высоким «порогом входа», и тестирование производительности находится в их числе.
Для этого вида тестирования требуется хорошее владение оружием, его голыми руками не возьмёшь. Во-первых, нужно само оружие — тестирование производительности обязательно требует умения пользоваться специальными инструментами. Во-вторых, нужно тщательно изучить соперника — необходимо хорошее понимание протоколов взаимодействия тестируемой программы с внешним миром и её внутренней физической и логической архитектуры. Ну и конечно же нужно владеть приёмами — знать какую нагрузку и как подать на тестируемое приложение, и на что смотреть, чтобы выявить проблемы с производительностью.
18 февраля начнется новый онлайн-тренинг, продолжительностью 6 занятий «Тестирование производительности», автор и ведущий Алексей Баранцев.
В тестировании компьютерных программ есть «общедоступная» область функционального тестирования, куда доступ открыт всем желающим, и есть целый ряд областей с достаточно высоким «порогом входа», и тестирование производительности находится в их числе.
Для этого вида тестирования требуется хорошее владение оружием, его голыми руками не возьмёшь. Во-первых, нужно само оружие — тестирование производительности обязательно требует умения пользоваться специальными инструментами. Во-вторых, нужно тщательно изучить соперника — необходимо хорошее понимание протоколов взаимодействия тестируемой программы с внешним миром и её внутренней физической и логической архитектуры. Ну и конечно же нужно владеть приёмами — знать какую нагрузку и как подать на тестируемое приложение, и на что смотреть, чтобы выявить проблемы с производительностью.
18 февраля начнется новый онлайн-тренинг, продолжительностью 6 занятий «Тестирование производительности», автор и ведущий Алексей Баранцев.
+1
Будущее тестирования
11 мин
3.9KПеревод
Продолжение перевода серии заметок Джеймса Виттейкера под названием «The Future of Testing». Эта серия в оригинале была опубликована в конце 2008 года, и в ней Джеймс сделал ряд предсказаний относительно того, как будет выглядеть работа тестировщиков в будущем, лет через 10-20. Его прогнозы во многом основаны на тех идеях, которые развивались и продолжают развиваться в компании Microsoft, где Джеймс работал в то время.
В переводе мы собрали все заметки серии в одну статью, состоящую из восьми частей (в данном посте представлены последние четыре части):
В переводе мы собрали все заметки серии в одну статью, состоящую из восьми частей (в данном посте представлены последние четыре части):
- «Тестсорсинг»
- Виртуализация
- Информация
- Перемещение тестирования к началу
- Визуализация
- Культура тестирования
- Тестировщики в роли дизайнеров
- Тестирование после релиза
0
Будущее тестирования
13 мин
7.9KПеревод
Совместными усилиями участников Клуба тестировщиков мы сделали перевод серии заметок Джеймса Виттейкера под названием «The Future of Testing». Эта серия в оригинале была опубликована в конце 2008 года, и в ней Джеймс сделал ряд предсказаний относительно того, как будет выглядеть работа тестировщиков в будущем, лет через 10-20. Его прогнозы во многом основаны на тех идеях, которые развивались и продолжают развиваться в компании Microsoft, где Джеймс работал в то время.
В переводе мы собрали все заметки серии в одну статью, состоящую из восьми частей:
Итак, перед вами – будущее тестирования.
В переводе мы собрали все заметки серии в одну статью, состоящую из восьми частей:
- «Тестсорсинг»
- Виртуализация
- Информация
- Перемещение тестирования к началу
- Визуализация
- Культура тестирования
- Тестировщики в роли дизайнеров
- Тестирование после релиза
Итак, перед вами – будущее тестирования.
+1
TestRail: как сначала подумать, а потом протестировать
5 мин
140K![картинка для привлечения внимания картинка для привлечения внимания](http://tl2images.testlab.netdna-cdn.com/bug128.png)
Вот об одном из таких инструментов под названием TestRail, который мы недавно внедрили у себя в TestLab², я и хочу сегодня рассказать. Инструмент оказался настолько удачным, что молчать сил не было и я решил наконец-то сделать что-то полезное для общества.
+17
Тестирование по спецификации
11 мин
35KНедавно я писал про различные виды тестирования и про то, что интеграционное тестирование удобно производить с помощью спецификаций. В этой статье я покажу как именно происходит такое тестирование.
Спецификация — это текстовый файл с описанием того, что нужно протестировать в тестовых данных. В ней указывается какие результаты должна получить программа. Тестовый код находит реальные, вычисленные на живом коде результаты. А тестовый движок производит сверку спецификации и вычисленных результатов.
Такой подход позволяет декларативно создавать тесты. Спецификации легко читаются и дополняются при изменении требований. Тестовый код получается компактным. Его легко поддерживать и расширять.
В статье описаны принципы работы движка для тестирования спецификаций и приведены примеры использования. Сам движок прилагается к статье. Можно его считать небольшой библиотекой для интеграционного тестирования.
Спецификация — это текстовый файл с описанием того, что нужно протестировать в тестовых данных. В ней указывается какие результаты должна получить программа. Тестовый код находит реальные, вычисленные на живом коде результаты. А тестовый движок производит сверку спецификации и вычисленных результатов.
Такой подход позволяет декларативно создавать тесты. Спецификации легко читаются и дополняются при изменении требований. Тестовый код получается компактным. Его легко поддерживать и расширять.
В статье описаны принципы работы движка для тестирования спецификаций и приведены примеры использования. Сам движок прилагается к статье. Можно его считать небольшой библиотекой для интеграционного тестирования.
+6
Зачем изучать чужие ошибки?
4 мин
1.4KПолгода назад мы запустили проект Панбагон — коллективный блог, предназначенный для коллекционирования багов и их обсуждения. Как я писал в опубликованном на хабре анонсе, у меня нет цели сделать ни публичный баг-трекер, ни доску позора. Мне хотелось создать некий инкубатор, где из мусора могли бы формироваться идеи, которые могли бы оказаться полезны для поиска багов, аналогичным описанным в Панбагоне. Поэтому я призывал не только описывать сам баг, но и излагать мысли, которые возникли у вас по этому поводу.
Однако мне периодически задают сакраментальный вопрос, вынесенный в заголовок — зачем изучать чужие ошибки? Поэтому я решил объяснить, почему я считаю это крайне полезным занятием для тестировщиков.
Однако начну несколько издалека — с рассказа про огненные сморчки.
Однако мне периодически задают сакраментальный вопрос, вынесенный в заголовок — зачем изучать чужие ошибки? Поэтому я решил объяснить, почему я считаю это крайне полезным занятием для тестировщиков.
Однако начну несколько издалека — с рассказа про огненные сморчки.
+23
Виды тестирования и подходы к их применению
5 мин
265KИз институтского курса по технологиям программирования я вынес следующую классификацию видов тестирования (критерий — степень изолированности кода). Тестирование бывает:
- Блочное (Unit testing) — тестирование одного модуля в изоляции.
- Интеграционное (Integration Testing) — тестирование группы взаимодействующих модулей.
- Системное (System Testing) — тестирование системы в целом.
+41
Эссе о валидации данных
8 мин
30KВ заметке «Можно ли делить на 0,01 ?» на сайте тестировщиков я написал, что при тестировании нужно проверять согласованность валидаторов входных данных с логикой обработки этих данных приложением. Но из комментариев к этой заметке я понял, что для понимания того, как надо тестировать валидацию данных, надо понимать, как она должна работать, что можно считать правильным, а что нет. Поэтому я написал об этом отдельную статью. В ней рассматривается три вопроса: 1) зачем вообще нужна валидация данных, и 2) где и когда может выполняться валидация данных, 3) какие бывают разновидности проверок. Ну и конечно продемонстрировано, как всё это выглядит на живых примерах. А может быть мои рассуждения окажутся интересны не только тестировщикам, но и разработчикам.
+30
Ближайшие события
![](https://habrastorage.org/getpro/habr/upload_files/dea/f03/88f/deaf0388fd29b95ea852399e8528ddcc.jpg)
Больше событий в календаре
Менеджмент
Тестирование
![](https://habrastorage.org/getpro/habr/upload_files/7c3/b61/482/7c3b61482762ad78b83e5deb921dfaa5.jpg)
Больше событий в календаре
Разработка
![](https://habrastorage.org/getpro/habr/upload_files/e79/be2/5d7/e79be25d70f058ee1741a36d6fea41f1.png)
Больше событий в календаре
Разработка
Администрирование
Аналитика
![](https://habrastorage.org/getpro/habr/upload_files/fd0/255/4d3/fd02554d346912bf8fc4bc81f9406174.png)
Больше событий в календаре
Разработка
Менеджмент
Маркетинг
Как вы ведете учет ручных тестов? TestManagement-системой или иначе? (опрос для статьи/конференции)
1 мин
2.7K+1
О модульном тестировании на C++ и о CxxTest
4 мин
61KСовсем недавно в ходе разработки одного проекта передо мной встала задача поиска удобного средства для написания юнит-тестов на C++. К каким результатам привело моё исследование подробнее в этой статье.
+18
SQA Days 2009 Piter: полная подборка материалов 5-й конференции тестировщиков
3 мин
1KПо случаю дня тестировщика, а также в преддверии шестой конференции специалистов по тестированию и обеспечению качества а также конференции Test Labs в Киеве, публикую полный список имеющихся в наличии материалов выступлений предыдущей пятой конференции, которая состоялась 23-24 апреля 2009 г. в Санкт-Петербурге.
Опубликованы все слайды презентаций (в формате PPT), аудиозаписи круглых столов, для примерно половины выступлений — слайдкасты (презентации с наложенным звуком). Некоторые выступления, к сожалению, не были записаны, либо качество записи оказалось слишком низким, поэтому слайдкасты имеются не для всех.
Опубликованы все слайды презентаций (в формате PPT), аудиозаписи круглых столов, для примерно половины выступлений — слайдкасты (презентации с наложенным звуком). Некоторые выступления, к сожалению, не были записаны, либо качество записи оказалось слишком низким, поэтому слайдкасты имеются не для всех.
+5
Descriptive Programming в QuickTest Pro
6 мин
6.2KQuickTest Professional – популярный инструмент для автоматизации функционального тестирования. В немалой степени его популярность обусловлена наличием в нем рекордера пользовательской активности, который позволяет записать действия пользователя и преобразовать их в скрипт.
Объекты, с которыми взаимодействует пользователь, автоматически идентифицируются QTP и сохраняются в специальное хранилище – репозиторий. При сохранении в репозиторий, QTP автоматически сохраняет идентификационные свойства объекта, но делает это не всегда правильно. Например, если на веб-странице присутствуют несколько таблиц (даже если у каждой из них есть свой ID), QTP идентифицирует их по порядковым номерам. Такой способ идентификации объектов вызывает проблемы при проигрывании автотестов. Более того, многие объекты вообще не попадают в репозиторий при записи. Это вызвано многими причинами, наиболее частыми из которых является сложная верстка или верстка с применением DIV-ов. Однако, существует способ обращаться к объектам тестируемого приложения на этапе выполнения скрипта, минуя обращение к репозиторию.
Этот способ называется Descriptive Programming (DP).
Объекты, с которыми взаимодействует пользователь, автоматически идентифицируются QTP и сохраняются в специальное хранилище – репозиторий. При сохранении в репозиторий, QTP автоматически сохраняет идентификационные свойства объекта, но делает это не всегда правильно. Например, если на веб-странице присутствуют несколько таблиц (даже если у каждой из них есть свой ID), QTP идентифицирует их по порядковым номерам. Такой способ идентификации объектов вызывает проблемы при проигрывании автотестов. Более того, многие объекты вообще не попадают в репозиторий при записи. Это вызвано многими причинами, наиболее частыми из которых является сложная верстка или верстка с применением DIV-ов. Однако, существует способ обращаться к объектам тестируемого приложения на этапе выполнения скрипта, минуя обращение к репозиторию.
Этот способ называется Descriptive Programming (DP).
+4
+86
Тестируем UI с помощью Coded UI Test
2 мин
10KВ жизни любого серьезного проекта всегда уделяется большое внимание и много времени тестированию. Процесс тестированию может продолжаться несколько часов, а может занять и целые недели, все зависит от размеров вашего проекта. Существует множество вариантов тестирования вашего решения. В Visual Studio 2010 появился новый способ тестрования, позволяющий с легкостью находить недоработки в графическом интерфейсе.
+34
Моя объединенная теория багов
6 мин
6.2KПеревод
![](https://habrastorage.org/getpro/habr/post_images/d0f/d89/b78/d0fd89b78de0b519635c933a45f2f963.png)
Этот перевод является продолжением серии статей про тестирование:
На очереди практические советы по построению тестопригодного кода и примеры применения изложенных знаний на реальных проектах.
P. S. Отдельное спасибо taxigy за корректуру русского перевода.
Я думаю, что баги можно разделить на три базовые категории:
- Логические. Логические баги наиболее популярны и часто встречающиеся. Это ваши if'ы, циклы и другая подобная логика в коде. (Мысли: это работает неверно).
- Баги взаимодействия. Баг взаимодействия — когда два разных объекта неправильно взаимодействуют между собой. Например, выход одного объекта является не тем, что ожидает следующий объект в цепочке. (Мысли: данные к месту назначения пришли испорченными).
- Баги отображения. Баг отображения — когда вывод (обычно некоторый пользовательский интерфейс, UI) отображается некорректно. Ключевой момент — в том, что это человек определяет, что есть правильно, а что — нет. (Мысли: это «выглядит» неправильно)
+3
Вклад авторов
alizar 1017.4NatalyaRukol 856.0phillennium 775.0Molechka 657.0m1rko 569.6jnechaeva 432.0curiousGeorge 407.0olegchir 398.0Peter_Zhizhin 376.0
Работа
Тестировщик программного обеспечения
60
вакансий