Как стать автором
Поиск
Написать публикацию
Обновить
188.65

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

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

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

Можно ли тестировать API ногами?

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

Всем привет! Скажу сразу, что это статья человека с большой мечтой о входе в сферу айти в качестве QA, который находится при этом в хардкорных условиях. Сейчас я в поиске своего первого рабочего места после многих месяцев обучения как на курсах, так и самостоятельного. По моей задумке текст должен стать интересной историей для решивших его прочесть. И надеюсь, что у меня получилось. Помимо этого, в ней дополнительно будет немного информации для потенциального работодателя. Я решил начать свои поиски со статьи подобного формата, в связи с невозможностью многих вещей в процессе трудоустройства. И прочитав пост эти нюансы станут вам куда понятнее.

Читать полностью

Ты добавил всего две строчки. Почему на это ушло два дня?

Время на прочтение3 мин
Количество просмотров64K
На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

  • строки кода = усилие
  • строки кода = значение
  • все строки кода равны

Ничто из этого не является истинным.

Почему исправление, которое кажется таким простым, заняло два дня?
Читать дальше →

Билл Гейтс финансирует создание тонких графеновых презервативов

Время на прочтение2 мин
Количество просмотров106K
image
Графен — тонкий, легкий и непроницаемый для всего кроме мельчайших молекул материал (он, например, является отличным водяным фильтром). Презервативы же, хотя и являются отличными барьером для болезней передающихся половым путем — не являются ни тонкими ни легкими, а это уменьшает чувствительность, из-за чего многие их не используют. Фонд Билла и Мелинды Гейтс считает, что мир станет лучше, если людям будет нравиться пользоваться презервативами. Поэтому они решили профинансировать разработку тонких, повышающих удовольствие графеновых кондомов.
Читать дальше →

Почему поиск по фото у Google и Apple не способен найти обезьян

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров44K

В мае 2015 года Google выпустила отдельное приложение «Фотографии». Люди были поражены тем, что оно способно анализировать изображения, разбирать их на детали, а потом маркировать людей, места и вещи. Даже переводить текст!

Была только одна проблема. Google внедрил «категоризацию фотографий» — все фотографии автоматически размечались и организовывались в папках на основании того, что на них было. И через пару месяцев 22-летний программист-фрилансер Джеки Альсине обнаружил, что все фотографии, на которых был изображен он и его девушка, оба чернокожие, были помечены как «гориллы». Причем если на фотографиях был виден белый человек или человек со светлой кожей, Google маркировал их правильно — например, «выпускной» или «поход в бар». М-да.

История сразу разгорелась в Твиттере. После шквала негатива Google поклялась больше не позволять своему приложению классифицировать каких-либо людей как «горилл» и пообещала решить эту проблему. Восемь лет спустя — эта история, оказывается, всё еще не затухла, и влияет на развитие современных ИИ больше, чем можно было бы ожидать.

Читать далее

О тестировании одной игры с картинками

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


У меня много знакомых, работающих в IT, и почти все они уверены, что я и мой отдел играются на работе. Для справки, я руковожу отделом тестирования компании Иннова с ноября 2009.

Мир геймдева для обитателей мира разработки «человеческого», как я его называю, софта, это что-то непонятное и сказочное. Тестировать гномов, заводить баг на эльфа, моделировать тестовое окружение для осады замка. Я рассказывала на SQA days 7, в чем специфика тестирования игр (слайдкаст есть у меня в блоге).

Недавно мы запустили Атлантику. Это игра от корейского разработчика NDoors, которую можно охарактеризовать двумя словами: ММОРПГ и пошаговый_бой.

Все, больше про саму игру ничего не будет. А будет про её тестирование.
Читать дальше →

Как я нашёл баг в процессорах Intel Skylake

Время на прочтение9 мин
Количество просмотров47K
Инструкторы курсов «Введение в программирование» знают, что студенты находят любые причины для ошибок своих программ. Процедура сортировки отбраковала половину данных? «Это может быть вирус в Windows!» Двоичный поиск ни разу не сработал? «Компилятор Java сегодня странно себя ведёт!» Опытные программисты очень хорошо знают, что баг обычно в их собственном коде, иногда в сторонних библиотеках, очень редко в системных библиотеках, крайне редко в компиляторе и никогда — в процессоре. Я тоже так думал до недавнего времени. Пока не столкнулся с багом в процессорах Intel Skylake, когда занимался отладкой таинственных сбоев OCaml.

Первое проявление


В конце апреля 2016 года вскоре после выпуска OCaml 4.03.0 один Очень Серьёзный Индустриальный Пользователь OCaml (ОСИП) обратился ко мне в частном порядке с плохими новостями: одно из наших приложений, написанное на OCaml и скомпилированное в OCaml 4.03.0, падало случайным образом. Не при каждом запуске, но иногда вылетал segfault, в разных местах кода. Более того, сбои наблюдались только на их самых новых компьютерах, которые работали на процессорах Intel Skylake (Skylake — это кодовое название последнего на тот момент поколения процессоров Intel. Сейчас последним поколением является Kaby Lake).

За последние 25 лет мне сообщали о многих багах OCaml, но это сообщение вызывало особенное беспокойство. Почему только процессоры Skylake? В конце концов, я даже не мог воспроизвести сбои в бинарниках ОСИПа на компьютерах в моей компании Inria, потому что все они работали на более старых процессорах Intel. Почему сбои не воспроизводятся? Однопоточное приложение ОСИПа делает сетевые и дисковые операции I/O, так что его выполнение должно быть строго детерминировано, и любой баг, который вызвал segfault, должен проявлять себя при каждом запуске в том же месте кода.
Читать дальше →

Тестирование — это не поиск ошибок!

Время на прочтение5 мин
Количество просмотров155K
Многие считают, что тестирование ПО — это поиск ошибок. Иногда я говорю тестировщикам: «не старайся найти как можно больше ошибок, старайся пропустить как можно меньше!», и меня не понимают: а в чём разница?

А разница огромная! В этой статье я хочу рассказать, в чём она заключается, и какие инструменты необходимо использовать для настоящего полезного тестирования.
Читать дальше →

Взламываем транспортные карты: чит на бесконечные деньги

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров129K

Этот парень открыл все турникеты на станции. Вы до сих пор считаете, что все хакеры вредны?

Начну с простого вопроса: кто из вас пользуется общественным транспортом? А кому нравится за него платить? Если такие все же найдутся, то могут смело переставать читать статью. Для остальных у меня есть рассказ о том, как четверо старшеклассников из Массачусетса взломали местную транспортную систему.

Жителям Бостона статья поможет получить бесплатные поездки, а для всех остальных этот материал будет неплохим уроком по реверс-инжинирингу. Ну или, по крайней мере, вы узнаете любопытную историю.

Читать далее

Корпус с масляным охлаждением компонентов

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

Давно мечтал собрать нечто подобное, но не было повода.
Недавно начал экспериментировать с майнингом на разных видеокартах в разных корпусах. Пришел к выводу, что меньше всего карты высокого уровня греются без корпуса. Но при установке нескольких карт уровня 7950/7970 приходится городить сверху вентиляторы — конструкция хлипкая, шумная и занимает много места.
Пробовал серверные корпуса — 1U и 4U. Шумят так, что глохнешь, а охлаждают не очень эффективно — пара карт уровня FirePro V9800 и S10000 перегревались на штатных частотах уже через 10 минут. При достижении 100 градусов станция зависала. Да и работать на таких температурах не безопасно. Для достижения стабильности в таких условиях приходилось снижать нагрузку на четверть, что шума и жара не убавляло, а эффективности — напротив. О шуме я не думал — оборудование стояло в серверной, а вот терморежим проседал, несмотря на работающие кондиционеры и кулера на полную мощность.
И тут я вспомнил о своей старой задумке с масляным охлаждением и решил воплотить ее в жизнь

Повышение живучести SSD за счёт его превращения из QLC в SLC

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров55K

В этой статье мы займёмся беспрецедентным экспериментом! Я шаг за шагом проведу вас через процесс преобразования SSD на базе QLC NAND в SLC SSD, что позволит значительно повысить его ресурс и общую производительность.

▍ Спецификация испытуемого SSD



На роль испытуемого я выбрал Crucial BX500, который мы уже много раз тестировали, освещая этот процесс как на нашем сайте, так и на YouTube-канале.
Читать дальше →

24-ядерный CPU, а я не могу набрать электронное письмо

Время на прочтение9 мин
Количество просмотров101K
Я не искал неприятностей. Не запускал процесс сборки Chrome тысячу раз за выходные, а только занимался самыми обычными задачами 21-го века — просто писал электронное письмо в 10:30 утра. И вдруг Gmail подвис. Я продолжал печатать несколько секунд, но на экране не появлялось никаких символов. Затем внезапно Gmail отвис — и я вернулся к своему очень важному письму. Но впоследствии всё повторилось, только на этот раз Gmail ещё дольше не отвечал запросы. Это странно

Трудно устоять перед возможностью провести хорошее расследование, но в данном случае вызов особенно силён. Ведь я в Google работаю над улучшением производительности Chrome для Windows. Обнаружить причину зависания — моя работа. И после множества фальстартов и тяжёлых усилий мне всё-таки удалось выяснить, как Chrome, Gmail, Windows и наш IT-отдел вместе помешали мне набрать электронное письмо. По ходу дела нашёлся способ сэкономить значительное количество памяти для некоторых веб-страниц в Chrome.

В расследовании оказалось так много нюансов, что я оставлю некоторые для другой статьи, а сейчас полностью объясню причины подвисаний.
Читать дальше →

Ключ от всех дверей: как нашли бэкдор в самых надежных* картах доступа

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров27K

Вы прикладываете ключ-карту к считывателю, и дверь офиса открывается. Но что, если такой пропуск может взломать и скопировать любой желающий?

В 2020 году Shanghai Fudan Microelectronics выпустила новые смарт-карты FM11RF08S. Производитель заявил об их полной защищенности от всех известных методов взлома. Группа исследователей проверила эти заявления и обнаружила встроенный бэкдор, позволяющий получить полный доступ к данным карты.

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

Читать далее

Самый быстрый браузер

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


В июле 2023 года произошло важное событие — Firefox превзошёл Chrome в популярном тесте Speedometer, который измеряет скорость работы браузеров.

Были времена, когда Firefox считался медленным и неповоротливым браузером, потребляющим много памяти и в целом «тормозным». Когда появился Chrome, то некоторые пользователи перешли на него из-за лучшей производительности. Сейчас ситуация кардинально меняется.

Как Mozilla сумела добиться такого результата?
Читать дальше →

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

Книга «How Google Tests Software» теперь на русском!

Время на прочтение2 мин
Количество просмотров54K
Полтора года назад, когда вышла книга «How Google Tests Software», я загорелась перевести ее на русский язык. Я давно восхищаюсь Уиттакером, я переводила его статьи, слушала мастер-классы и считаю его самым крутым чуваком в тестировании. Тогда я еще работала руководителем отдела тестирования в «Иннове», и компания поддержала мой проект.

С тех пор многое поменялось: я перестала заниматься тестированием, выпускала приложения для iOS, сейчас работаю продакт-менеджером большого веб-проекта. Уиттакер же еще в 2012 году ушел из Google в Microsoft, громко хлопнув дверью.

Несмотря на все это, весь прошлый год я работала над книгой: договаривалась с издательством, пыталась организовать группу добровольцев для перевода текста (не получилось), искала переводчика, помогала переводить и редактировала текст, работала с дизайнерами над макетом и обложкой, утверждала корректуру и сверстанные макеты. Проект занял намного больше сил и времени, чем я рассчитывала, но результатом я осталась довольна.

И вот, в январе издательство «Питер» выпустило книгу на русском языке с нашим переводом и дизайном:

Читать дальше →

Toyota: 81 514 нарушений в коде

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


Люди: — Эй, Тойота, мы тут посчитали, у вас из-за корявой электроники и софта 89 человек погибло с 2000 по 2010.
Тойота: — Да они сами виноваты, путают педали.
Люди: — Хьюстон, у нас проблемы.
NASA: — Ща разберемся, нам надо 10 месяцев и 3 миллиона долларов.
Люди: — На.
Тойота: — 3 миллиона мало, вот вам еще сверху кэшем.
(прошло 10 месяцев)
NASA: — Эй, Тойота, мы у вас пару ошибок в коде нашли, а точнее 7134 нарушения стандартов MISRA, рекурсию, функцию на 740 строк и 9000 глобальных переменных.
Тойота: — А у нас свои стандарты. А вы ваще на Луну летали?
NASA (публично): — Тойота ни в чем не виновата.
(Акции Тойота подскочили на 4,6%)
Люди: — Ну ё-моё.
(спустя 3 года)
Два американских тестировщика (у которых дедушки погибли в Перл-Харбор): — Нет багов? А если найдем?

Red Team против умного замка: взламываем биометрическую СКУД при помощи скрепки и магнита

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров26K

Один из самых «вкусных» моментов в работе пентестера — red-team тестирование, позволяющее ненадолго ощутить себя эдаким Джейсоном Борном от мира кибербезопасности. Подобно героям боевиков, мы постоянно проникаем на объекты разной степени защищенности: ломаем замки, обходим системы видеонаблюдения. Разве что не спускаемся в серверную на тросе с вертолета.


Поработав на таких проектах, начинаешь смотреть на любую дверь с перспективы потенциального нарушителя и выискивать уязвимости в каждой встречной СКУД. Поэтому первое, что бросилось нам в глаза, когда Бастион переехал в новый офис, — это биометрические терминалы, установленные на дверях нескольких особо важных кабинетов. Словом, пока сисадмины распаковывали сервера и ломали голову над тем, как расставить офисную технику по правилам фэн-шуя, мы решили провести небольшой внутренний пентест…

Читать дальше →

Особенности национального распознавания образов

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

«Когда я слышу про распознавание образов, я никогда не спрашиваю, хорошие там алгоритмы или плохие. Я спрашиваю только, отличают ли они мотоцикл от трактора.» ©
Читать дальше →

PVS-Studio наконец то добрался до Boost

Время на прочтение9 мин
Количество просмотров27K
Boost and PVS-Studio

Мы уже давно хотели проверить библиотеку Boost. У нас не было уверенности, что результатов проверки хватит на статью. Однако, желание не пропадало. Два раза мы пытались сделать это, но отступали, не разобравшись, как заменить вызов компилятора на вызов PVS-Studio.exe. Теперь мы вооружились новым инструментарием, и третья попытка оказалась удачной. Итак, возможно ли найти в Boost ошибки?

Читать дальше →

Притча о покрытии кода тестами

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

Ранним утром программист спросил великого мастера:
— Я готов писать модульные тесты. К какому покрытию кода я должен стремиться?
Великий мастер ответил:
— Не переживай о покрытии, просто пиши хорошие тесты.
Программист улыбнулся, поклонился и ушел.

Немного времени спустя другой программист задала этот же вопрос. Великий мастер указал на котел с кипящей водой и сказал:
— Сколько зерен риса я должен положить в этот котел?
Программист с озадаченным видом ответила:
— Как я могу ответить наверняка? Все зависит от того, сколько людей вам надо накормить, насколько они голодны, какие еще блюда вы подаете, сколько риса у вас есть и от многого другого.
— Совершенно верно. — сказал великий мастер.
Второй программист улыбнулась, поклонилась и ушла.
В конце дня...

Анализ инцидента 21 октября на GitHub

Время на прочтение10 мин
Количество просмотров56K
Роковые 43 секунды, которые вызвали суточную деградацию сервиса

На прошлой неделе в GitHub произошёл инцидент, который привёл к деградации сервиса на 24 часа и 11 минут. Инцидент затронул не всю платформу, а только несколько внутренних систем, что привело к отображению устаревшей и непоследовательной информации. В конечном счете данные пользователей не были потеряны, но ручная сверка нескольких секунд записи в БД выполняется до сих пор. На протяжении почти всего сбоя GitHub также не мог обрабатывать вебхуки, создавать и публиковать сайты GitHub Pages.

Все мы в GitHub хотели бы искренне извиниться за проблемы, которые возникли у всех вас. Мы знаем о вашем доверии GitHub и гордимся созданием устойчивых систем, которые поддерживают высокую доступность нашей платформы. С этим инцидентом мы вас подвели и глубоко сожалеем. Хотя мы не можем отменить проблемы из-за деградации платформы GitHub в течение длительного времени, но можем объяснить причины произошедшего, рассказать об усвоенных уроках и о мерах, которые позволят компании лучше защититься от подобных сбоев в будущем.
Читать дальше →