Чтобы покрытие кода было достаточным, а создание нового функционала и рефакторинг старого проходили без страха что-то сломать, тесты должны быть поддерживаемыми и легко читаемыми. В этой статье я расскажу о множестве приёмов написания юнит- и интеграционных тестов на Java, собранных мной за несколько лет. Я буду опираться на современные технологии: JUnit5, AssertJ, Testcontainers, а также не обойду вниманием Kotlin. Некоторые советы покажутся вам очевидными, другие могут идти вразрез с тем, что вы читали в книгах о разработке ПО и тестировании.Читать полностью »
Рубрика «тестирование» - 13
Передовой опыт тестирования в Java
2020-09-07 в 7:23, admin, рубрики: assertj, java, junit5, kotlin, Блог компании FunCorp, тестированиеКак использовать простую утилиту для поиска уязвимостей в программном коде
2020-09-01 в 6:00, admin, рубрики: DAST, devops, DevSecOps, Graudit, IAST, SAST, безопасность, Блог компании VDSina.ru — хостинг серверов, информационная безопасность, тестирование, Тестирование веб-сервисов, управление разработкойGraudit поддерживает множество языков программирования и позволяет интегрировать тестирование безопасности кодовой базы непосредственно в процесс разработки.
Источник: Unsplash (Markus Spiske)
Тестирование — важная часть жизненного цикла разработки программного обеспечения. Существует очень много видов тестирования, каждый из них решает свою задачу. Сегодня я хочу поговорить о поиске проблем безопасности в коде.
Очевидно, что в современных реалиях разработки программного обеспечения важно обеспечить безопасность процессов. В своё время был даже введён специальный термин DevSecOps. Под этим термином понимают ряд процедур, направленных на выявление и устранение уязвимостей в приложении. Существуют специализированные open source решения для проверки уязвимостей в соответствии со стандартами OWASP, которые описывают различные типы и поведение уязвимостей в исходном коде.
Читать полностью »
Юнит-тесты переоценены
2020-07-13 в 8:02, admin, рубрики: Блог компании QIWI, Программирование, тестирование, Тестирование IT-систем, Тестирование веб-сервисов, управление разработкой, юнит-тестыПредлагаем вам перевод поста «Unit Testing is Overrated» от Alex Golub, чтобы подискутировать на тему юнит-тестов. Действительно ли они переоценены, как считает автор, или же являются отличным подспорьем в работе? Опрос — в конце поста

Результаты использования юнит-тестов: отчаяние, мучения, гнев
Важность тестирования в современной разработке ПО сложно переоценить. Для создания успешного продукта недостаточно выпустить его и сразу забыть, это долгий итеративный процесс. После изменения каждой строки кода программа должна сохранять свою функциональность, что подразумевает необходимость тщательного тестирования.
В процессе развития отрасли разработки ПО совершенствовались и методики тестирования. Они постепенно сдвигались в сторону автоматизации и повлияли на саму структуру ПО, порождая такие «мантры», как «разработка через тестирование» (test-driven development), делая упор на такие паттерны, как инверсия зависимостей (dependency inversion), и популяризируя построенные на их основе высокоуровневые архитектуры.
Сегодня автоматизированное тестирование настолько глубоко связано в нашем сознании с разработкой ПО, что одно сложно представить без другого. И поскольку оно, в конечном итоге, позволяет нам быстро создавать ПО, не жертвуя при этом его качеством, то трудно спорить о полезности тестирования.
Однако, несмотря на существование различных подходов, современные «best practices» в основном подталкивают разработчиков к использованию конкретно юнит-тестирования. Тесты, область контроля которых находится в пирамиде Майка Кона выше, или пишутся как часть более масштабного проекта (часто совершенно другими людьми), или полностью игнорируются.
Преимущество такого подхода часть поддерживается следующим аргументом: юнит-тесты обеспечивают в процессе разработки наибольшую полезность, потому что способны быстро отслеживать ошибки и помогают применять упрощающие модульность паттерны разработки. Читать полностью »
Анализ безопасности роутера Smart box
2020-07-12 в 12:04, admin, рубрики: beeline, smart box, информационная безопасность, исследование, кибербезопасность, роутер, тестированиеЗдравствуй, дорогой читатель!
Сегодня мы начнем с того, что в один момент я решил вместо того, чтобы тренироваться на уязвимых машинах, протестировать свой собственный Wi-Fi роутер на уязвимости, который я получил еще в 2015 году. Тогда был очень популярный тариф у Билайна, когда вместе с подключением интернета, в аренду за 1 рубль шел и сам Wi-Fi роутер, который я и решил протестировать.
Роутер Smart Box, последняя версия прошивки — 2.0.38 (Релиз прошивки 2017 года), с тех пор, обновлений не поступало.
simctl: управление симуляторами Apple через терминал
2020-06-14 в 20:52, admin, рубрики: apple, iOS разработка, iphone, xcode, автоматизация, командная строка, мобильные приложения, отладка, разработка мобильных приложений, разработка под iOS, симуляторы, тестирование, Тестирование IT-систем, Тестирование мобильных приложенийВсем привет! Меня зовут Паша Лесюк, я работаю мобильным тестировщиком в компании Циан. В этой статье я расскажу о возможностях управления яблочными симуляторами из командной строки.

О разработке интерактивных приложений под ОС IBM i (aka AS-400)
2020-06-01 в 8:00, admin, рубрики: c++, dds, DSM API, Green Screen, IBMi, rpg, Альфа-Банк, зеленый экран, интерфейсы, приложения зеленого экрана, С++, тестированиеЗдравствуйте, уважаемые читатели. Меня зовут Владимир Лебедев, я работаю в Альфа-Банке и занимаюсь тем, что пытаюсь максимально упростить жизнь разработчиков АБС Equation, занимающихся разработкой приложений под операционную систему IBM i.
Сразу скажу, что литературный слог – точно не мой конек. Я больше про исследования и скрупулезное изучение технических возможностей, про поиск инженерных решений. Однако у нас в сообществе разработчиков IBMi в банке принято, что по итогам года выбираются законченные реализации, которыми мы делимся с читателями и за пределами Альфа-Банка. В этом году в их число попала и моя работа.
Также скажу, что пытливый читатель не найдет в статье сногсшибательных прорывов и идей, которые кардинально меняют мир вокруг. Скорее, работу можно рискнуть сравнить с процессом доказательства теоремы Ферма. Известно, что Пьер Ферма еще в 1637 году сформулировал свою великую теорему. Почти четыре столетия ученые пытались расколоть этот орешек. Но удалось это сделать только в 1994 году Эндрю Уайлсу, а в 2016 году этот гениальный норвежец получил за дело своей жизни Абелевскую премию. Доказательство теоремы Ферма не несет за собой исключительной практической ценности или стремления к славе и успеху, но в процессе решения задачи были найдены интересные идеи, выросли целые поколения ученых.
Мой скромный (но, похвалю себя =), честный и кропотливый) труд — он не про решения во фронтовом программном обеспечении Альфа-Банка. Хотя, надо признать, что мои коллеги здесь крайне преуспели, и банк занимает свое заслуженное место в рейтингах. Мой труд про исследования, которые являются неотъемлемой историей любого профессионального сообщества, стремящегося к саморазвитию на всех уровнях.
Итак, начнем. ОС IBM i и ее предшественницы — aka AS/400 — известны тем, что все ее интерактивные приложения до сих пор работают через так называемый зеленый экран (green screen или GS). Выглядит это примерно так:
Пример Green Screen-а
Читать полностью »
Как «Медуза» организовала бета-тест нового приложения с читателями и не облажалась
2020-05-29 в 10:48, admin, рубрики: helpscout, telegram, Блог компании Meduza: dev, разработка мобильных приложений, тестирование, Тестирование мобильных приложений, тестирование приложенийУ «Медузы» нет QA-отдела, а прицельно тестированием новых продуктов занимается один человек (и это не основная его работа). Часто мы просим других сотрудников поучаствовать: у всех разные телефоны и привычки, это сильно помогает бороться с «замыленным глазом». Но даже в этом случае тестеров у нас не больше 20.
Наше новое приложение (оно написано с нуля на Flutter, об этом мы подробно рассказывали здесь) тестировали больше 1500 человек. В этой статье мы расскажем, как это происходило.
Просто скажите «нет» end-2-end тестам
2020-05-20 в 7:17, admin, рубрики: Блог компании ГК ЛАНИТ, Ланит, перевод, тестирование, Тестирование IT-систем, Тестирование веб-сервисов, управление проектами, Читальный залУ вас наверняка было такое, когда вы и ваши друзья очень хотели посмотреть какой-нибудь фильм, а после жалели о том, что потратили на него время. Или, может быть, вы помните тот момент, когда ваша команда думала, что нашла «киллер фичу» и обнаруживала ее «подводные камни» только после выпуска продукта.
Хорошие идеи часто терпят неудачу на практике, и в мире тестирования хорошим примером этого может служить стратегия тестирования, построенная на автоматизации end-to-end тестов.
Тестировщики могут инвестировать свое время на написание многих типов автоматических тестов, включая модульные тесты, интеграционные тесты и end-2-end тесты, но эта стратегия в основном направлена на end-2-end тесты, которые проверяют продукт или услугу в целом. Как правило, эти тесты имитируют реальные пользовательские сценарии.

Основные linux-команды для новичка
2020-05-11 в 15:09, admin, рубрики: linux, тестирование, Тестирование IT-системLinux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!
Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.
Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)
Читать полностью »
Мир, код, май: проводим праздники с полезными докладами
2020-04-29 в 15:25, admin, рубрики: .net, android, devops, iOS, java, JS, конференции, Программирование, распределенные системы, тестирование
Автор оригинала diliago
До этой недели слова про «саморазвитие на самоизоляции» были не очень актуальны для айтишников: они продолжали активно работать, у них не появилась прорва времени на книги или онлайн-курсы.
Но на майских праздниках время будет, и при этом по-прежнему надо оставаться дома. Как провести их, чтобы не было мучительно больно за бесцельно прожитые дни? И как при этом освежить голову, переключившись с текущих рабочих задач на что-то другое?
Мы считаем это подходящим моментом, чтобы получить знания не по своему основному профилю, а по смежным темам. Посмотреть по сторонам всегда интересно, но обычно до этого не доходят руки из-за горящих задач, а вот сейчас возможность есть.
Поэтому мы взяли видеозаписи наших конференций и составили плейлисты по необычному принципу: решили показать различным специалистам доклады не со знакомого им мероприятия по их направлению, а с других. Что джавистам было бы особенно близко на конференции по тестированию? А что фронтендеры могут узнать от дотнетчиков?