Архив за 03 июня 2019 - 11

image

Должен признаться: я читаю ACM Magazine. Это делает меня «ботаником» даже по меркам программистов. Среди прочего, я узнал из этого журнала о «метаморфическом тестировании». Раньше я никогда о нём не слышал, как и все люди, которых я спрашивал. Но научная литература по этой теме на удивление объёмна: есть множество невероятно успешных примеров её применения в совершенно разных областях исследований. Так почему же мы не слышали о нём раньше? Существует только одна статья для людей вне научных кругов. Пусть теперь их будет две.

Краткая предыстория

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

def test_dist():
    p1 = (0, 3)
    p2 = (4, 0)
    assert dist(p1, p2) == 5

Кроме тестов-оракулов, есть и ручные тесты. Тестер садится за компьютер и сравнивает вводимые данные с результатами. В процессе усложнения систем ручные тесты становятся всё менее полезными. Каждый из них проверяет только одну точку в гораздо большем пространстве состояний, а нам нужно нечто, исследующее всё пространство состояний.

Это приводит нас к генеративному тестированию (generative testing): написанию тестов, покрывающих случайное множество в пространстве состояний. Самым популярным стилем генеративного тестирования является property based testing, или PBT. Мы находим «свойство» (property) функции, а затем генерируем входные значения и проверяем, соответствуют ли выходные значения этому свойству.

def test_dist():
    p1 = random_point()
    p2 = random_point()
    assert dist(p1, p2) >= 0

Преимущество PBT заключается в покрытии большего пространства. Его недостаток — утеря специфичности. Это уже не оракул-тест! Мы не знаем, каким должен быть ответ, и функция может быть ошибочна, но таким образом, что обладает тем же свойством. Здесь мы полагаемся на эвристики.
Читать полностью »

Видео дня: Oppo показала смартфон с подэкранной камерой - 1
Xiaomi может опередить Samsung. Компания делает смартфон с камерой под поверхностью экрана

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

Инсайдер Мукул Шарма (Mukul Sharma) опубликовал на своей странице в Twitter информацию о готовящейся к выходу версии смартфона Redmi K20.

Данная версия посвящена голливудскому блокбастеру «Мстители: Финал» (Avengers: Endgame), который вышел в прокат этой весной, установив массу рекордов по всему миру.

Данная версия Redmi K20 будет отличаться от стандартной наличием 12 ГБ оперативной памяти, а также присутствием эксклюзивного цифрового контента.

Аналоговый: тест Porsche Macan S

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

Пока Xiaomi оттягивает официальный анонс смартфона Xiaomi Mi 9T, в Сети продолжается массовая утечка данных об этом устройстве.

В этот раз источник опубликовал фотографию, на которой показана упаковка с большим количеством коробок с Xiaomi Mi 9T, которые предназначены для отправки в магазины.

В данной партии присутствуют смартфоны в цвете Carbon Black, оснащенные 6 ГБ оперативной и 64 ГБ энергонезависимой флэш-памяти.

В серию Samsung Notebook 7 вошли лэптопы с экраном размером 13,3 и 15,6 дюйма

Компания Samsung Electronics анонсировала новые портативные компьютеры Notebook 7, построенные с применением аппаратной платформы Intel.

В семейство вошли модели с экраном размером 13,3 и 15,6 дюйма по диагонали. В первом случае применяется интегрированная графика Intel UHD, во втором — контроллер Intel UHD или дискретный адаптер NVIDIA GeForce MX250. Кроме того, анонсирована 15,6-дюймовая версия Notebook 7 Force с ускорителем NVIDIA GeForce GTX 1650.

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

Инсайдер Мукул Шарма (Mukul Sharma) опубликовал на своей странице в Twitter изображение, на котором, как утверждается, изображена часть лицевой панели нового смартфона Nokia.

На прошлой неделе компания HMD Global разослала журналистам приглашения на пресс-конференцию, посвященную анонсу нового смартфона, которая пройдет 6 июня в Италии.

Согласно одной из версий, компания представит смартфон под кодовым названием Nokia Wasp, который поступит в продажу под названием Nokia 2.2. Кроме того, высказывается предположение, что нам покажут, как минимум, два смартфона, включая современный камерофон, так как компания Читать полностью »

На прошлой неделе появилась информация, согласно которой смартфон Huawei Nova 5 будет представлен 28 июня этого года, при этом его цена составит, согласно разным данным, от 290 до 580 долларов.

Теперь же появилось логичное объяснение такого расхождения по ценам. Дело в том, что помимо стандартной версии Huawei Nova 5 покупателям предложат модель Huawei Nova 5 Pro, сведения о которой слил китайский магазин.

Согласно информации, указанной на фотографии, Huawei Nova 5 и Huawei Nova 5 Pro должны представить в июне этого года.

Усилитель к классическому датчику пульса - 1

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

Ожидается, что линейка флагманских телефонов Huawei Mate 30 и Mate 30 Pro будет представлена осенью этого года. Свежая информация, которой поделился в Twitter источник, указывает на то, что линейка Mate 30 будет построена на однокристальной системе Kirin и работать под управлением проприетарной операционной системы HongMeng.

Согласно новым данным, серия Huawei Mate 30 может дебютировать уже 22 сентября. При этом в течение последних двух лет китайский производитель выпускал серию смартфонов Mate в октябре.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js