Эта статья была опубликована в блоге w3c в 2007 году, но складывается впечатление, что большая часть разработчиков ПО даже и не задумывается о проблеме длины текста. Сколько раз вы видели сообщения, не умещающиеся в алерт?
User
Автоматическое тестирование программ
9 min
48KВведение
Долгое время считалось, что динамический анализ программ является слишком тяжеловесным подходом к обнаружению программных дефектов, и полученные результаты не оправдывают затраченных усилий и ресурсов. Однако, две важные тенденции развития современной индустрии производства программного обеспечения позволяют по-новому взглянуть на эту проблему. С одной стороны, при постоянном увеличении объема и сложности ПО любые автоматические средства обнаружения ошибок и контроля качества могут оказаться полезными и востребованными. С другой – непрерывный рост производительности современных вычислительных систем позволяет эффективно решать все более сложные вычислительные задачи. Последние исследовательские работы в области динамического анализа такие, как SAGE, KLEE и Avalanche, демонстрируют, что несмотря на присущую этому подходу сложность, его использование оправдано, по крайней мере, для некоторого класса программ.
+23
Простой нагрузочный тест с Apache JMeter
7 min
289KПо моим наблюдениям, разработчики довольно редко делают нагрузочное тестирование сайтов и веб-приложений. И бывает так, что выставят проект в Интернет, а тут вдруг посетители начнут ходить (хабраэффект, к примеру, случился), и сайт в самый подходящий момент ложится или начинает не по-детски тормозить.
Почему бы не избежать этих неприятностей, прогнав нагрузочный тест?
Наверное, кого-то останавливает неверное представление о том, что нагрузочное тестирование — это очень сложное дело, требующее специальных знаний. Однако не боги горшки обжигают. Если выбор — тестировать не слишком профессионально, или не тестировать вовсе, я бы выбрал первое. Тем более, что организовать примитивный тест производительности очень даже просто. Можно воспользоваться онлайн-средствами (см., например, Нагрузочное тестирование по-быстренькому), а можно замутить все своими руками, это ненамного сложнее.
Под катом рассказываю, как с нуля организовать незамысловатый нагрузочный тест сайта при помощи Apache JMeter.
Почему бы не избежать этих неприятностей, прогнав нагрузочный тест?
Наверное, кого-то останавливает неверное представление о том, что нагрузочное тестирование — это очень сложное дело, требующее специальных знаний. Однако не боги горшки обжигают. Если выбор — тестировать не слишком профессионально, или не тестировать вовсе, я бы выбрал первое. Тем более, что организовать примитивный тест производительности очень даже просто. Можно воспользоваться онлайн-средствами (см., например, Нагрузочное тестирование по-быстренькому), а можно замутить все своими руками, это ненамного сложнее.
Под катом рассказываю, как с нуля организовать незамысловатый нагрузочный тест сайта при помощи Apache JMeter.
+14
Отладка тест-плана JMeter
6 min
50KВ предыдущем посте про JMeter я описывал создание примитивного нагрузочного теста. При разработке более сложных сценариев не обойтись без отладки. К сожалению, в JMeter эта техника не совсем очевидна. Ниже на несложном примере покажу несколько приемов отладки тест-плана. Заодно продемонстрирую использование таких элементов, как HTTP Request Defaults, Regular Expression Extractor, If Controller и некоторых других.

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

Тестировать будем механизм поиска на сайте. Пускай сценарий берет слово или фразу из файла, задает вопрос поисковику, получает ответ в виде одной или нескольких страниц, случайным образом выбирает одну из страниц, так же случайно выбирает одну из ссылок и идет по ней. Итого три запроса, за исключением особых случаев (когда найдено мало или не найдено ничего).
+4
Рецепт нагрузочного тестирования на JMeter
4 min
37KСтоит ли вообще браться за JMeter
Если с JMeter-ом вы не знакомы, то, например, по-быстренькому с ним у вас точно не выйдет.
Если вы все же решили взяться и выделить пару дней, то могу предложить свой рецепт по приготовлению нагрузочного теста на JMeter.
Составление сценария
В моем случае было необходимо протестировать сервис, и понять как долго он еще протянет без оптимизации кода или добавления серверов.
В идеале нужно загрузить в JMeter сценарий по которому как бы работает пользователь, после чего прогнать сценарий в несколько потоков, наблюдая за скорость обработки запросов.
Главная сложность в том, как этот сценарий получить и собственно этим рецептом я и хочу поделиться.
+43
Философия бага – описание ошибки
3 min
5.7K
Молодые специалисты, прейдя на первый проект в своей жизни, воспринимают все традиции по ведению тестовой документации и тестированию как эталон, так как у них нет опыта и им не с чем этот процесс сравнить. Взяв за основу какой-либо стиль дизайна отчета об ошибке, при смене места работы на собеседовании могут возникнуть споры при ответе на вопрос: «Расскажите нам про дизайн баг-репорта», т.к. у команды, в которой вы хотите работать стиль описания может отличаться. Здесь важным моментом является не угадать этот самый стиль, а озвучив свой и услышав в его адрес критику, уметь обосновать свою точку зрения.
+22
Оригинальный тест антивирусов
2 min
5KВ этой мини статье я пролью свет на некоторые особенности работы антивирусов по сигнатурам, а также расскажу почему создателям ПО необходимо тщательно подходить к вопросу выбора упаковщиков, если они не хотят замочить репутацию свою и своей программы.
Пару дней назад, сам для себя не планируя, провёл интересный тест антивирусов. А началось всё с того, что я, бродя по затерянным папкам своего диска, наткнулся на парочку троянов. Когда-то (в далёком 2004 году) я проводил уже тест антивирусов. Там же можете глянуть результаты проверки в моих постах и постах других пользователей. Тогда я взял парочку троянов и несколько программ, модифицирующих бинарник (различные упаковщики и другое ПО, полный список приводится в конце). Вот я и загорелся идеей посмотреть: а что же именилось через 7 лет?
Пару дней назад, сам для себя не планируя, провёл интересный тест антивирусов. А началось всё с того, что я, бродя по затерянным папкам своего диска, наткнулся на парочку троянов. Когда-то (в далёком 2004 году) я проводил уже тест антивирусов. Там же можете глянуть результаты проверки в моих постах и постах других пользователей. Тогда я взял парочку троянов и несколько программ, модифицирующих бинарник (различные упаковщики и другое ПО, полный список приводится в конце). Вот я и загорелся идеей посмотреть: а что же именилось через 7 лет?
+6
Стереоизображение — это просто
3 min
52KПривет, %username%.
В данной статье я хочу рассказать, как можно самостоятельно создать стереоизображение при помощи графического редактора и небольшой программы.


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


Введение
Для начала рассмотрим, как устроено стереоизображение и как на него смотреть.
+180
Быстрое создание нагрузочных тестов на JMeter для web-сайтов
5 min
152K
В этой статье я хочу поделиться своим опытом использования такого средства, как Apache JMeter. После того как мною были перепробовано с десяток различных подобных инструментом, в итоге я остановился именно на JMeter, так как его возможности с лихвой охватывали мои цели и задачи. И при этом данное программное средство весьма быстрое и легковесное.
Для тех кто ни разу не использовал JMeter, рекомендую для начала почитать базовые обзоры, например, Простой нагрузочный тест с Apache JMeter. Когда я первый раз запустил данную программу, первая мысль была разобраться во всем методом «тыка», но как выяснилось это вообще нереально, и метод «тыка» неприменим к JMeter. Поэтому если хотите его использовать, то сразу открывайте мануал, поверьте, вам придется заглядывать туда очень часто, пока полностью не разберетесь, что и как. Я же здесь сейчас опишу самое очевидное и важное, а именно: как собственно создавать нагрузочные тесты. Если бы я в свое время сразу нашел подобную статью, то сэкономил бы без малого день на изучении этой софтины.
+68
Эмуляция сетевых проблем с помощью WANem
3 min
30K
Чтобы создать тяжелые условия мы нашли и применили специализированный инструмент WANem, о котором я расскажу под катом.
+46
20 бесплатных дополнений для Visual Studio
4 min
39K
+124
Пишем вирус на c#
5 min
124KДоброго времени суток читатели Хабра!
В этой статье я хотел бы поделиться опытом написания вредоносной программы на языке C# в Visual Studio. Для подтверждения своих слов я выложу пример полученного ПО для проверки.
В этой статье я хотел бы поделиться опытом написания вредоносной программы на языке C# в Visual Studio. Для подтверждения своих слов я выложу пример полученного ПО для проверки.
Цели:
- Написать вредоносную программу, которую не увидят антивирусы
- Использовать только средства языка C#
Нам понадобится:
- Visual Studio 2005-2010 (я использовал 2010 Ultimate)
- Знания и опыт работы на языке c#
- Компьютер для опытов
-32
Внимание к покупателю vs SEO. Быть лучшим, не став первым
4 min
2.4K
Обычно общение с потенциальным клиентом начинается с фразы «хочу быть в десятке по фразе…».
После моего вопроса «Зачем быть в десятке?» человек входит в ступор.
Уже через минуту мы вместе приходим к мысли, что на самом деле нужно, чтобы с помощью сайта состоялся контакт с покупателем. И эфемерная «позиция» — сильно промежуточная цель.
Решить же главную задачу — сделать первый контакт с покупателем наиболее «теплым» можно массой разных способов.
И мы начинаем рисовать путь, который проходит человек от выдачи до совершения контакта с компанией. Он отлично иллюстрирует все минусы использования только поискового продвижения.
Предлагаю проследовать по этому пути и вам.
+5
Типы багов: этимология и энтомология
4 min
50KКакие бывают баги
1. Немного этимологии и энтомологии
Давайте посмотрим попристальней на такое знакомое и (до боли?) родное слово БАГ. Происходит оно от английского слова Bug, означающего «насекомое». Есть еще много сторонних значений, в частности английское выражение «to go bugs» — сойти с ума, что легко кореллируется со вполне русским «тараканы в голове завелись». Также вспоминаются и «жучки на линии» (тоже, кстати, по-английски – bugs). И опять мы пришли к насекомым.
+35
Произносим правильно
2 min
153KИз знакомых мне айтишников очень немногие стараются правильно произносить английские слова. Конечно, привычнее произносить C++ как «си-плюс-плюс», а не «си-плас-плас» или «опен-бэ-эс-дэ», а не «оупэн-би-эс-ди».
Но когда «echo $value;» читают как «ечо валуй» — это уже не смешно. Другой человек вас может просто не понять, особенно иностранец.
В топике представлен небольшой список «сложных» слов, которые часто произносят неправильно.
Ориентироваться лучше не на мою (весьма приблизительную) транскрипцию, а на аудио.
♫ — прослушать произношение в словаре
► — прослушать произношение на youtube
Начнем с названий:
Аббревиатуры:
Обычно аббревиатуры произносятся по правилам английского языка: API — эй-пи-ай, PCMCIA — пи-си-эм-си-ай-эй, OpenBSD — оупен-би-эс-ди и т.д.
Но когда «echo $value;» читают как «ечо валуй» — это уже не смешно. Другой человек вас может просто не понять, особенно иностранец.
В топике представлен небольшой список «сложных» слов, которые часто произносят неправильно.
Ориентироваться лучше не на мою (весьма приблизительную) транскрипцию, а на аудио.
♫ — прослушать произношение в словаре
► — прослушать произношение на youtube
Начнем с названий:
ABBYY | аби | ► | ||
Adobe | эдоуби | [əˈdəʋbɪ] | ♫ | |
Apache | эпэчи | [əˈpætʃiː] | ► | от «a-patchy» |
Asus | офиц. э́сус амер. э́йсус |
► |
||
BenQ | бенкью | ♫ | ||
Cisco | сискоу | [ˈsɪskoʊ] | ♫ | |
EBay | ибэй | ♫ | ||
Eee PC | и писи | ► | ||
Ethernet | изэрнэт | [ˈiθərˌnɛt] | ♫ | |
Itanium | айтэйниум | [aɪˈteɪniəm] | ► | |
Juniper | джу́нэпэр | [ˈdʒunəpər] | ♫ | |
LaTeX | лэйтех лэйтек латех латек |
[ˈleɪtɛk] ['leɪtɛx] [ˈlɑːtɛx] [ˈlɑːtɛk] |
||
Linux | офиц. линэкс вар. линукс |
[ˈlɪnəks] [ˈlɪnʊks] |
► |
|
Mac OS X | мэк оу-эс тэн | ► | ||
MySQL | офиц. май-эс-кью-эл вар. май-сиквел |
► | как «My Ess Que Ell», см. оф. сайт | |
nginx | энджин-икс | ► | (от engine-x) | |
PuTTY | пати | [ˈpʌtɪ] | см. оф. сайт | |
Qt | кьют | [kyut] | см. | |
TeX | тех тек |
[ˈtɛx] [tɛk] |
не «текс» | |
XBox 360 | экс-бокс фри сискти | ♫ | ||
Xen | зен | [ˈzɛn] | ♫ | |
Xeon | зион | ♫ | ||
Xerox | зирокс | [ˈzɪərɒks] | ♫ | |
Xilinx | зайлинкс | [ˌzaɪliːŋks] | ► | |
ZyXel | рус. зайксел амер. зайзел |
► | см. |
Аббревиатуры:
GNU | гну | ► | вар. гню | |
GWT | гвит | [ˈɡwɪt] | ||
ICANN | айкэн | ► | ||
IEEE | ай-трипл-и | ► | как «I triple E» | |
ISO | айсо | ► | ||
PNG | пинг | [ˈpɪŋ] | ♫ | как «ping», см. спецификацию |
PXE | пикси | [ˈpɪksi] | ► | |
RUP | рап | ► | ||
SCSI | скази | ['skʌzi] | ♫ | |
SOAP | соуп | [soʊp] | ► | |
SQL | эс-кью-эл | [ˈɛsˈkjuˈɛl] | неофиц. «сикуел» | |
SWF | свиф | [ˈswɪf] | см. спецификацию | |
WYSIWYG | визивиг | [ˈwɪziˌwɪg] | ♫ | |
XAML | зэмл | [ˈzæməl] | ► | |
XUL | зул | [ˈzuːl] | ||
Yii | длинное «и» | [ji:] | ► |
Обычно аббревиатуры произносятся по правилам английского языка: API — эй-пи-ай, PCMCIA — пи-си-эм-си-ай-эй, OpenBSD — оупен-би-эс-ди и т.д.
+300
Как заработать на биткойнах, или мой опыт майнинга
2 min
401KДовелось мне однажды на просторах интернета наткнуться на монетку под названием биткоин. Читал, смотрел, анализировал. Глазам не верил, да денюжек на биржу закинул, чтобы проверить и руками пощупать.
Задумался о майнинге я в конце апреля этого года, когда курс биткоина в очередной раз начал резко расти. Прикинул на калькуляторе сколько на этом можно заработать, и решил собрать машину с 4 видео картами отдельно для добычи биткоинов, тогда по моим подсчетам вложения должны были окупится за 1-2 месяца. При том что риска почти никакого, в случае если «пирамида» накроется, железо всегда можно продать.

Задумался о майнинге я в конце апреля этого года, когда курс биткоина в очередной раз начал резко расти. Прикинул на калькуляторе сколько на этом можно заработать, и решил собрать машину с 4 видео картами отдельно для добычи биткоинов, тогда по моим подсчетам вложения должны были окупится за 1-2 месяца. При том что риска почти никакого, в случае если «пирамида» накроется, железо всегда можно продать.

+120
Bitcoin. Как это работает
10 min
758K
Поиск хабра по Bitcoin выдает два топика. Но это скорее новости. По комментариям заметно, что у многих людей, особенно не знакомых с Bitcoin напрямую, возникает много вопросов насчет принципов его работы. Также много догадок, зачастую неверных. Чтобы как-то прояснить ситуацию, было решено написать эту статью.
+87
Производительность Firefox и Chrome на 150 открытых вкладках
2 min
38KНекоторые power-юзеры начинают день с дефолтного конфига в 40-50 открытых вкладок. В течение дня к этой группе может прибавиться ещё пару десятков, а то и сотня. Хотя это крайне нестандартный поведенческий паттерн, но некоторые именно так и работают. Любопытно посмотреть, как ведут себя браузеры в подобной нештатной ситуации. Один из разработчиков Firefox, аспирант Грегор Вагнер, решил провести тесты на последних сборках Chrome и Firefox.
Вагнер разрабатывает различные стратегии распределения памяти для Firefox. В последних версиях Firefox разработчики значительно оптимизировали браузер в этом отношении.
Вагнер разрабатывает различные стратегии распределения памяти для Firefox. В последних версиях Firefox разработчики значительно оптимизировали браузер в этом отношении.
+64
8 шагов к созданию собственного сайта
6 min
48K
Минимальные требования: умение верстать HTML-страницы и базовые знания в любом из языков веб-программирования (PHP/Python/Perl/Ruby).
Рекомендуемые: Основы работы в графических редакторах (Photoshop/Adobe Illustrator), навык divной HTML вёрстки, владение хотя бы одним из языков для веб-программирования (PHP/Python/Perl/Ruby...).
Временные затраты: напрямую зависят от навыков и желания. У меня на 1 проект уходило от пары часов до недели (В зависимости от детальности реализации каждого из пунктов).
-6
В тестировании главное качество
1 min
4.2KЗдравствуйте, Хабражители!
В последние пару/тройку недель мы проделали большой объем работы на площадке для тестирования сайтов и ПО (Fixber) в рамках задач по улучшению качества предоставляемого тестирования.

Все доработки сделаны исключительно для улучшения уже существующей функциональности площадки.
В последние пару/тройку недель мы проделали большой объем работы на площадке для тестирования сайтов и ПО (Fixber) в рамках задач по улучшению качества предоставляемого тестирования.

Все доработки сделаны исключительно для улучшения уже существующей функциональности площадки.
+5
Information
- Rating
- Does not participate
- Registered
- Activity