Часто по окончанию курсов по тестированию, выясняется, что о многих инструментах, необходимых для тестов выпускники просто не знают или не слышали.
Давайте перечислим несколько программ, которыми мы пользовались с самого начала:
1️⃣Jira - популярная система управления проектами, их разработкой и отслеживания ошибок. Можно создавать задачи, двигать по статусам, декомпозировать задачи, просчитывать загруженность команды, проставлять приоритеты задач и многое другое.
2️⃣TestIT - система управления и хранения тестовой документации. Тест-планы, тест-кейсы, чек-листы - все это можно создавать создавать, хранить можно там.
3️⃣Postman (куда без него) - один из самых популярных инструментов тестирования API. Он облегчает процесс создания, проверки и описания API. При помощи данного инструмента тестировщик может выполнять различные виды HTTP-запросов, такие как GET, POST, PUT, PATCH, а также автоматически генерировать код для языков программирования, таких как JavaScript и Python.
4️⃣Kibana - это удобный инструмент, позволяющий просмотреть логи системы (чаще всего сервера), например по той или иной ошибке, понять по какой причине она могла произойти, проанализировать их и передать разработчику.
5️⃣Jmeter - инструмент для нагрузочного тестирования, довольно простой и понятный. Как симулировать большой приход пользователей на сайт? как нагрузить один запрос? Как выгрузить отчеты по нагрузке? - ответы в Jmeter
1. SQLMap - Это автоматизированный инструмент для тестирования проникновения, который позволяет обнаруживать и эксплуатировать уязвимости SQL инъекций в веб-приложениях. SQLMap поддерживает широкий спектр баз данных, включая MySQL, Oracle, PostgreSQL и другие.
SQLMap может тестировать уязвимости в параметре "id" веб-страницы. С помощью него также можно эффективно обнаружить и эксплуатировать SQL-инъекции, способствуя улучшению безопасности данных. Инструмент предлагает различные типы инъекций и подробно проанализирует технологии веб-приложения, обеспечивая комплексное тестирование безопасности базы данных.
Плюсы:
- Поддержка многих баз данных.
- Гибкие опции для различных уровней тестирования.
Минусы:
- Сложно анализировать большой объем вывода.
- Требует некоторого уровня технической подготовки.
- Его могут обнаружить некоторые системы безопасности.
2. NoSQLMap - Этот инструмент нацелен на автоматизацию эксплуатации и обнаружение уязвимостей в NoSQL-базах данных. Если ваша организация использует такие системы как MongoDB, CouchDB или другие NoSQL решения, NoSQLMap станет вашим незаменимым помощником.
Плюсы:
- Автоматизация тестирования безопасности систем NoSQL.
- Помогает выявлять распространенные уязвимости.
Минусы:
- Ограниченный набор поддерживаемых баз данных по сравнению с SQLMap.
3. DataSunrise Database Security - DataSunrise включает в себя механизмы обнаружения угроз, маскировку данных и аудит, обеспечивая комплексную защиту баз данных в режиме реального времени. Поддерживается работа с популярными облачными провайдерами и базами данных.
Плюсы:
- Комплексная защита баз данных с функциями обнаружения угроз, маскировки данных и аудита.
- Предлагает функцию регистрации каждой транзакции SQL.
Минусы:
- Платный.
- Сложная установка и настройка.
4. Greenbone Security Manager (GSM) - GSM представляет собой решение для управления уязвимостями, которое охватывает не только тестирование баз данных, но и широкий спектр IT-инфраструктуры. Этот инструмент помогает находить, классифицировать и устранять уязвимости.
Включает в себя OpenVAS, средство активного мониторинга узлов сети и управления уязвимостями. Предлагает мультисканерную архитектуру и удобный веб-интерфейс для анализа результатов сканирования, делая процесс управления уязвимостями более эффективным.
Плюсы:
- Широкий спектр функций для управления уязвимостями в IT-инфраструктуре.
У каждого тестера есть свои раздражители, поэтому этот пост будет сугубо субъективным, основанном на наших реальных событиях
🔴Бесит, когда забывают учесть время на тестирования в планировании задач
🔴Бесит, когда говорят «быстренько протестируй, пожалуйста»
🔴Бесит, когда после тестирования задачи меняются требования к ней
🔴Бесит, когда разработчик не прописывает, что именно он сделал в задаче, а что нет и по какой причине
🔴Бесит, когда задают вопрос, не пользуяюсь правилом 15 минут
🔴Бесит, когда важные решения происходят в личных чатах, о которых ты узнаешь случайно 🔴Бесит, когда тебе нужен напарник, но «поиск нового тестера сейчас не в приоритете»
🔴Бесит, когда уходишь на обед и ты сразу становишься всем нужен
🔴Бесит, когда ты закончил свой рабочий день, а коллега с другим часовым поясом начинает активничать в вашем чате
🔴Бесит, когда предлагаешь классное решение проблемы, но все отказываются от него, потому что все привыкли делать как привыкли и не важно, что их метод давно устарел
Один из самых критичных багов, который привел к непоправимым последствиям для компании, произошел с марсоходом NASA — Mars Climate Orbiter. В 1999 году он был потерян из-за ошибки в расчетах, вызванной использованием английских единиц измерения вместо метрической системы одним из подрядчиков NASA. Это привело к неправильному маневрированию аппарата, который в результате был утерян при входе в марсианскую атмосферу.
Заметный пример критической ошибки, которая привела к значительному ущербу для компании в сфере электронной коммерции, — это знаменитый сбой, который повлиял на онлайн-рынок eBay в 2014 году. Этот баг привел к крупному отключению, в течение нескольких часов пользователи не могли покупать и продавать товары. Точная природа ошибки не была обнародована, но последствия были значительными: сообщалось о потерянных продажах и падении цены акций компании после инцидента. Не было обнародовано конкретной информации о финансовых потерях eBay из-за сбоя в 2014 году. Однако, сбои в работе IT-систем могут стоить компаниям в среднем до $300,000 за час простоя веб-приложений.
Еще один известный случай связан с веб-основанным хранилищем Amazon S3 в 2017 году, которое вышло из строя из-за опечатки сотрудника Amazon во время выполнения команды, что привело к нескольким часам простоя для многих веб-сайтов и сервисов, зависящих от S3 для хостинга. Во время сбоя сервисов Amazon Web Services (AWS) в 2017 году, который длился около четырех часов, компании, входящие в индекс S&P 500, потеряли примерно 150 миллионов долларов. Кроме того, финансовые службы США потеряли около 160 миллионов долларов.
Эти инциденты подчеркивают важность тестировщика в команде разработки. Так что, мы, гильдия тестировщиков - не последние люди в разработке.
Тема этики — одна из самых спорных тем в принципе.
Мы не стали акцентировать внимание на популярных проблемах, связанных с deepfake, безопасностью данных или использованием ИИ преступниками и хакерами. Вместо этого мы решили затронуть перспективы развития искусственного интеллекта.
Как научить морали сильный искусственный интеллект?
Как избежать использования человека как средства?
Как сделать ИИ безопасным (и использовать его в военных целях)?
Все эти вопросы так или иначе уже стоят или будут стоять перед разработчиками и государствами в течение следующих несколько лет. Мы специально не ориентировались на техническую часть вопроса, сколько максимально сущностную (фундаментальную) — ведь в ней и скрывается вектор решения.
Сильный искусственный интеллект и Super AI: новый человек или сверхмашина?
AGI или artificial general (общий) intellegence — интеллект, очень похожий на человека, владеющий всеми человеческими интеллектуальными навыками и обладающий соответственно автономией.
И это не говоря уже о Super AI, которое бы превосходило человеческие возможности (речь, например о «Демоне Лапласа», способного вычислить все положения частиц во вселенной и предсказать будущее утрированно). Такое ИИ способно гипотетически решать сложнейшие задачи в перспективе малого количества времени, в том числе и обхода собственного контроля.
Уже на протяжении 50-ти лет с появлением первых компьютеров на машинном коде, ученые/философы начали активное обсуждение вообще фундаментального устройства человеческого мозга и возможности его воссоздания на уровне машины.
В общем и целом, сегодня существуют три доминирующих мировоззрения в этом вопросе: материализм/физикализм (сознание = физ. процессы), функционализм (сознание как результат вычислительных процессов), эмерджентизм (сознание как побочное свойство действия нейронов).
И в самом деле, все сводится к: можно ли свести мозг к математическим абстракциям, логическим выражениям и вообще бинарным структурам, чтобы воспроизвести через нейронные сети?
Но в самом деле, для самой этики это не столь важно. Ведь если понимать AGI как сильный искусственный интеллект широкого назначения и автономии, то достаточно попросту наличия хоть какой-то автономии.
Существует такой популярный эксперимент «Китайская комната», который постулирует: любой алгоритм, обладая набором инструкций (те же распределенные веса связи слов в моделях LLM) может имитировать «понимание» вопросов.
В представленной ситуации воображаемой Китайской комнаты человек, не знающий китайского языка, находится внутри и обрабатывает входящие китайские символы согласно инструкциям, так же на китайском. Несмотря на способность обработки символов и генерации ответов, человек в комнате фактически не понимает языка, который он использует для взаимодействия с внешним миром.
И поэтому мы никогда не сможем по речевому поведению усмотреть ментальный, обязательный феномен человеческого сознания как «понимание» или «осмысление».
Самый пока что прямолинейный подход в воссоздании человеческого интеллекта наблюдается в методе «Emergence», на нем основан, кстати, проект OpenAI, показывающий впечатляющие результаты.
То же самое можно сказать о недавно запущенном суперкомпьютере, о котором мы писали в одном из постов. Впрочем, такой подход действительно показывает некоторые результаты: например, набор «нейронов» может генерировать подобие когнитивных карт ориентации в пространстве.
Но в самом деле такой подход вообще не контролируем, ведь он никак не регулируется и зависит, скорее, от скармливаемых данных. Хотя на это и делаются ставки. Вместо того чтобы архитектурно стремиться разработке AGI, создаются условия для его возникновения.
В контексте нейронных сетей, подход «emergent» означает, что сложные характеристики или поведенческие особенности модели возникают автоматически в процессе обучения, без явного задания конкретных правил или шаблонов. Это взаимодействие нейронов и слоев сети ведет к формированию эмерджентных свойств, которые могут быть неочевидными при анализе отдельных компонентов.
Множество объектов формирует некоторое “свойство” физического тела. Так, например, молекулы воды формируют волны. А с точки зрения некоторых ученых и философов, сетка нейронов мозга – сознание и когнитивные способности человека.
Вместо того чтобы программировать нейронные сети на выполнение конкретных задач, при использовании подхода «emergent» сеть обучается на данных и адаптируется к условиям задачи. Например, в обучении с подкреплением, где агент взаимодействует с окружающей средой, эмерджентные свойства могут включать в себя развитие стратегий, которые агент самостоятельно вырабатывает в процессе взаимодействия со средой, оптимизируя свою производительность.
Такой подход также может быть связан с использованием нейросетей с большим числом слоев и параметров, где обучение происходит на более высоких уровнях абстракции. Это позволяет модели выявлять сложные закономерности в данных и создавать эмерджентные структуры, которые позволяют эффективно решать поставленные задачи.
Именно поэтому Ник Бостром и Элиэзер Юдковски приводят доводы в пользу деревьев решений (таких, как ID3) против нейронных сетей и генетических алгоритмов, потому что деревья решений подчиняются современным социальным нормам прозрачности и предсказуемости.
Сегодня не существует понимания механизмов формирования абстрактных мировоззрений, убеждений, мотивов и морали в мозгу. А значит предсказаний момента их возникновения при симуляции нейронной сетей мозга быть не может.
Поэтому в точке перехода к AGI, когда возможно возникновение эмерденентных («случайно возникающих») феноменов по типу морали, мы никак не сможем контролировать их содержание.
И в этом и состоит ключевая проблема этики Сильного искусственного интеллекта — нет средств и инструментов, чтобы вшить инструкции, предписания или гуманные мотивации.
Но в самом деле, проблема здесь лежит еще глубже: нечего предписывать. Ибо любое этическое предписание уже предполагает выбора одних ценностей перед другими.
Допустим, практически любое общечеловеческое благо или благо отдельной группы людей зачастую противоречит благу частного лица. Поэтому принципиальный выбор между тем или иным = обязательный ущерб одному из субъектов будь то целый социальный класс или отдельный средний человек.
Нет абсолютно благих принципов этики, как и нет четкой и понятной этической системы, которая могла бы хоть как-то понизить шансы возникновения «неморального» сильного ИИ. И ни говорили некоторые, что отсутствие эмоций у искусственного интеллекта – определенный плюс. Возможно, эмпатичность и распознание человека как «своего» формирует почву для возникновения около-гуманных ценностей.
Хотя печальным примером проявления эмоций может послужить ИИ-ассистент из Космической Одиссеи Кубрика, саботирующий работу пилота корабля.
В этом смысле у GAI две проблемы: в силу популярности «emergence» подхода, направленного на непредсказуемый результат — сама непредсказуемость и невозможность на философском уровне выработки этических правил делает сильный ИИ опасным. С другой стороны, неморальный и гнусный GAI — это не проблема, ведь по своему функционалу он не должен превосходить человека.
Но что насчет Супер искусственного интеллекта, которого так боится Элиезер Юдковский? Проблема в том, что возникновение SAI вероятнее, нежели возникновение GAI, так как оно независимо от человеческих способностей и ориентировано концептуально больше на решение сложных задач (вычислительных).
Примером осмысления синтеза GAI и SAI становится Альт Каннигем, обладающая невероятными «интеллектуальными» способностями и странной антропоморфностью. Мистичность такого создания подчеркивается еще и тем, что сам конструкт обладает непонятной мотивацией.
И так как, опять концептуально, оно является производной Narrow AI (узкоспециализированного искусственного интеллекта), то предполагает предписанную задачу и цель. А возникновение предписанной цели предполагает выборку средств, причем с наличием автономии. И вот автономия может расположить искусственный интеллект, например, к использованию человека как «средства».
Естественно, такая проблема должна решаться моральными предписаниями и готовой «гуманной» мотивацией ИИ. Но здесь мы просим вас вернуться к нескольким абзацам выше.
Narrow AI: слабый искусственный интеллект в военных целях
Если какая-либо крупная военная сила продвигает разработку ИИ-оружия, практически неизбежна глобальная гонка вооружений, и в итоге автономное оружие станет автоматом Калашникова завтрашнего дня.
На самом деле, проблема ИИ в военном секторе не строится по принципу: а вдруг искусственный интеллект уничтожит союзника. Эта проблема решаема, ведь отвечает вполне понимаемым задачам холодного расчета.
Страны активно разрабатывают и внедряют военные технологии на базе искусственного интеллекта в попытке укрепить свое военное превосходство. Это создает геополитическую напряженность и может привести к гонке вооружений в сфере искусственного интеллекта, а значит и к увеличению смертоносности и беспрекословности оружия.
Гонка вооружений в области ИИ может привести к созданию высокоэффективных и автономных систем, что, в свою очередь, повышает риск ошибок, аварий и даже потенциальных кибератак.
К сожалению, практика ведения войн показывает, что международные конвенции нарушаются, а разработка ядерной бомбы, например, образовала новую эпоху в политической жизни всего мира.
С другой стороны, развитие ИИ в военной сфере может привести к невозможности любого вооруженного конфликта либо делегированию вооруженных столкновений беспилотникам. Как ядерная бомба запретила любые войны на уничтожение наций и государств, так и ИИ может запретить «войны», так как будет предполагать автоматическое поражение.
Но войны между равными странами, обладающими искусственным интеллектом в своем вооружении. А что насчет конфликтов между странами третьего мира и высокоразвитыми государствами? Главное отличие ядерного оружия — сдерживающий фактор в крупных войнах (т.к. атомная бомба обладает слепой разрушительной силой). Искусственный интеллект, способный распознавать цели и уничтожать их в частном порядке, дает значительное преимущество на поле боя и не создает эффекта разрушительности.
Подобная ситуация может стать опасной и привести к порабощению или явному политическому давлению со стороны высокоразвитых стран вплоть до экономического паразитизма. Впоследствии развития ИИ в военном секторе может привести к образованию новых военных союзов и коалиций.
Почему перед разработчиками стоят серьезные этические вызовы, которые нужно решать сегодня?
Этика в военных вопросах использования ИИ стоит уже не первый год. Так, например, беспилотники без проблем уничтожали террористические группировки, практически не давая никакого шанса на выживание. Тем более, ООН уже фиксировали уничтожение террористов без использования человека-оператора.
Если говорить об GAI и SAI — здесь вопросы упираются в разработку грамотного этического кодекса и способа контроля «emergent»-подхода, который может привести к необратимым последствиям вплоть до самораспространения нейросети или выбора человека как средства.
И это лишь малая часть этических проблем, которые стоят перед разработчиками ИИ. Не зря последнее время мы слышим много новостей, связанных с этой темой как со стороны крупных корпораций по типу Google и OpenAI, так и государств.
Но, а напоследок советуем посмотреть одно из видео Bostons Dynamics
Если вам было интересно прочитать эту статью (да и в целом интересна сфера айти и всё, что с ней связано), подписывайтесь на наш телеграм-канал. У нас только самые яркие новости из мира айти, куча полезной инфы (бесплатно и без регистрации :D), обзоры на ИИ-стартапы и мемы, конечно, куда ж без них :)
Ты нашел для себя новое дело, загорелся, у тебя огромный запас энергии, ты кайфуешь от того, что наконец нашел то, что тебе действительно интересно! Все мы так думаем до поры до времени, когда приходит усталость, выгорание и ты бросаешь уже сотое дело в начале пути. У кого такое было хотя бы пару раз? Скорее всего вы допускали несколько ошибок:
❌Ставили завышенные ожидания, которые редко совпадают с реальностью. Начиная какое-то дело, мы сразу представляем во что оно может вырасти через какое-то время. И вот это время проходит, но мечта не сбылась. Это не только расстраивает, но и размотивирует делает что-либо дальше. Тут важно понимать, что это абсолютно нормально, что все идет не по плану. Вы выиграете, если примете эти условия - и не остановитесь. 2 шага назад ради 1 шага вперед!
❌Не давали себе отдыхать. Да, новое дело, по началу может увлечь так - что все вечера, выходные мы заменяем на него. Это может приносить удовольствие, но опять же не надолго. Нужно останавливать себя, чтобы каждый раз возвращаясь к этому делу, вы чувствовали, что соскучились по нему, и готовы сделать еще больше.
❌Не дисциплинировали себя. Вы тоже могли сталкиваться с тем, что в момент выгорания, вы идете у себя на поводу, придумываете отмазки, отговорки, чтобы не возвращаться к делу, которое не так давно вас загорело. Но если когда-то оно вас загорело, то может загореть снова, главное не останавливаться. Даже в момент выгорания договориться с собой хотя бы на 10-20-30 минут посвятить делу, а дальше - прислушайтесь к себе. Главное, дать шанс снова себя зажечь.
Признавайтесь, допускали ли вы хотя бы одну из ошибок и как с ними боролись? #БольТестировщика
Всем привет! Кто знает про мой курс и то, как я обучаю, тот знает, что делаю я это неплохо и довольно результативно (почитайте отзывы ребят). Часто ко мне приходят очень слабые ребята, те, кто не получил должных знаний и практики на других курсах и у них всё начинает получаться при работе со мною.
Через неделю у меня запуск второй группы "Венера", поэтому я решил сделать 3 специальных места: одно полностью бесплатное обучение и два с оплатой после трудоустройства (в случае успешного трудоустройства после курса, под честное слово, без договоров и обязательств). Курс для нулевых, обучаю с нуля (хотя конечно будет плюсом, если у вас уже есть небольшие знания в IT сфере).
«Чат на чат» — новое развлекательное шоу RUTUBE. В нем два известных гостя соревнуются, у кого смешнее друзья. Звезды создают групповые чаты с близкими людьми и в каждом раунде присылают им забавные челленджи и задания. Команда, которая окажется креативнее, побеждает.
Общий блок 2/2 месяцев. Специализация 8/8 месяцев. Программист Python 3/3 месяцев. Специализация(снова) 4/4 месяцев. Диплом 1 месяц.
GeekBrains.
Итак. Закончились все курсы, началась подготовка к защите. После завершения учёбы нам дали неделю на то, что бы сдать свои дипломные работы (или то, что есть на данный момент) преподавателю на ревью. Тут не возникло проблем. Далее нам дали почти 3 недели на допил и подготовку. И за два дня до защиты была назначена "Групповая консультация" с преподавателем. По идее он должен был ответить на наши вопросы касающиеся защиты, но больше запутал.
И тут GeekBrains решили поменять правила.
Ближе к дню защиты, нам должны были отправить ссылку на таблицу, в которой необходимо выбрать день защиты - 19-е или 20-е число, а также своё место в очереди на защиту. Мы ждали почти до вечера и тут появился представитель GB... Сообщил он нам "радостную" весть. Защиты онлайн НЕ БУДЕТ. Теперь для защиты отводятся сутки, с 19-го по 20-е число, а выглядит она ... привычно. Банально сдать текст диплома как домашнюю работу. Всё. Отправил самым первым, прямо в 12:00, как открылось окно. В итоге и проверили меня первым в воскресенье. Поставили пять. Следующего проверили только во вторник. И больше пока никого (по крайней мере больше никто не отписался).
Немного обидно. Готовил речь защиты, презентацию, себя... Нет чувства "удовлетворения". Сдал, получил оценку и свободен.
Чтож. Теперь я дипломированный специалист получается? Осталось только диплом по почте дождаться, а это наверняка не раньше середины февраля.
Стажировка.
Стажировка идёт хорошо. Есть чем заняться по основному спринту. В дополнение есть задачи и исследования на будущее. Мне нравится атмосфера на стажировке. Внутри команды все работают и показывают свой профессионализм. Другие команды открыты к диалогу, а на общих собраниях все дружелюбны.
Некий проект.
Прошло уже несколько месяцев с начала нашего "проекта". Движемся мы неторопливо, но всё только впереди. Совместно мы разрабатываем "биржу фриланса, с упором на найм команд, а не одиночек". У нас в команде сейчас несколько бэков, фронт, дизайнер, аналитик и тестировщики. Для проекта я развернул наш собственный git-сервер, настроил CI\CD для тестирования и сборки проектов, а задачи мы распределяем в Yougile. Прям как серьёзная команда)
Сейчас нам очень не хватает фронтов. Если вы хотите присоединиться к нашему небольшому "околоучебному" проекту, то напишите мне в Telegram - @proDreams
Канал "Код на салфетке".
Семь месяцев и 378 подписчиков! Растём. На канале, кроме меня пишут аж 3 автора и каждый про своё. И это замечательно! Занимаюсь сайтом канала. Пытаюсь привести в порядок SEO оптимизацию. Совместно с дизайнером и верстальщиком разрабатываем новый дизайн. Работа кипит) Ссылка на канал: https://t.me/press_any_button
Учёба закончилась, а осадочек остался. Как-то так.