> Ведь появление компьютера, способного решать сколь угодно сложные задачи
Справедливости ради следует сказать, что квантовые компьютеры — это не привычные вычислительные устройства, которые можно использовать точно так же как мы сейчас используем ПК, а нечто совершенно другое, с другими областями применения и совершенно другими алгоритмами.
Если мне память не изменяет, простейшие мат.операции, например, в исполнении квантового компьютера очень неэффективны.
Нет, не совсем так. Интеграционные тесты предназначены для тестирования взаимодействия модулей и групп модулей на предмет соответствия результатов работы ТЗ. Юнит тестирование же предназначено для проверки работы программных модулей.
Небольшой пример. Есть класс Profile.
Юнит-тестами проверяется результат работы методов класса с различными входными параметрами (корректными и некорректными):
setProfile()
getProfile()
createProfle()
setAddress()
etc.
Интеграционными тестами проверяется:
— Корректность пересчета стоимости доставки после смены адреса через setAddress(),
— Корректное заполнение полей e-mail'а, высылаемого при регистрации (т.е. вызова createProfile())
— etc
Взаимодействие с внешним миром — это, скорее, относится к функциональному тестированию.
> Заглушку ф-ии сделали (может даже автоматически), а написать присваивание забыли.
За такое руки отрывать нужно :(
Для простого и быстрого тестирования в таком случае в голову приходит тот же самый вариант что я озвучил ранее — последовательный вызов сеттера и геттера без промежуточной проверки. В этом случае сразу будет понятно есть ли в этом классе проблемы с геттером или сеттером.
Т.к. я не знаю как у вас там все устроено и работает, то сказать ничего не могу по этому поводу.
Например, сеттер может выкинуть исключение если что-то пойдет не так (кривые входные данные например). Или, если сеттер вызывается на клиентской части, сериализует данные и засылает их на сервер, то можно смотреть что приходит на сервер после вызова сеттера. Ну и тому подобное.
> Простой пример: использование рефлексии, чтобы протестировать геттер/сеттер. Да ещё непонятно что писать сначала — тест на геттер (установка приватного свойства через рефлексию), геттер, тест на сеттер (проверка через геттер или через рефлексию?), сеттер или сначала тест на сеттер (проверка через рефлексию), сеттер, тест на геттер (установка через сеттер или рефлексию?), геттер.
Зачем же такие извраты.
Ровно 1 тест:
1. Через сеттер ставим значение.
2. Если не поставилось — фейлим тест.
3. Через геттер берем поставленное значение и сравниваем с тем что ставили.
Еще рекомендую почитать “The Art of Unit Testing". Тесты (юнит- и интеграционные) вообще сильно облегчают жизнь, особенно при разработке крупных проектов.
> Под «призраком» я понимаю файл, который постоянно маячит в коммитах. Среди них может быть и обычный файл проекта. Т.е. в файле изменений нет, а он всё-равно отображается как измененный.
Сколько лет работаю с svn/cvs/hg, никогда такого не видел.
Файл либо изменен локально, и тогда легко ловится по svn status, либо изменен другим пользователем и закоммитан — тогда он на сервере, и придет к вам в рабочую копию при svn update.
Может быть эта проблема связана с багами в svn-клиенте, который вы используете?
Во, именно так всё и было. Именно это меня и затянуло (хотя сначала это было просто задание руководства, которое, выдав мне диск и сопроводительный мануал к нему на 500 страниц, сказало — «вот тебе линукс, ставь и разбирайся»).
Не то что сейчас — скачал образ, записал на флешку, воткнул в комп, загрузился и поставил в 4 клика мышкой. И всё, больше особо ничего и не надо в большинстве случаев.
Знали бы вы каких трудов мне стоило выбить эти 32 метра у руководства… Сначала вообще хотели 16 оставить (до этого было 24 метра и NT4), типа линукс, ему много и не нужно.
У меня стаж 12 лет (впервые увидел и поставил RH 5.2 в 1999).
Что кстати характерно, оно вполне себе шустро работало на 100 пентиуме с 32 метрами оперативы. Иксы, нетшкаф, все дела. А в фоне еще и маршрутизация небольшой локалки + ftp/samba/apache на десяток клиентов.
Не думаю, что это вызовет такой шум в этом случае (т.е. если неофициально где-то кто-то скажет).
Для примера — недавно вон слухи появились, что скайп «сдался» ФСБ. Думаете им сильно меньше людей пользоваться стало?
> Когда я прошился первый раз — заметил прирост скорости и жизни батарейки, сейчас точно не знаю, последние обновления сенса не пробовал.
О, спасибо. Про прирост жизни батарейки — это очень гут.
А с последним сенсом, судя по отзывам знакомых, все достаточно противоречиво. У кого-то работает быстро и стабильно, у кого-то тормозит…
Ох жеж! Дайте два. Или три.
Еще интересно было бы услышать отзывы тех кто пользовался MIUI — как оно в сравнении с тем же Sense UI, и в чем вообще его фишки.
Справедливости ради следует сказать, что квантовые компьютеры — это не привычные вычислительные устройства, которые можно использовать точно так же как мы сейчас используем ПК, а нечто совершенно другое, с другими областями применения и совершенно другими алгоритмами.
Если мне память не изменяет, простейшие мат.операции, например, в исполнении квантового компьютера очень неэффективны.
ОК.
Небольшой пример. Есть класс Profile.
Юнит-тестами проверяется результат работы методов класса с различными входными параметрами (корректными и некорректными):
setProfile()
getProfile()
createProfle()
setAddress()
etc.
Интеграционными тестами проверяется:
— Корректность пересчета стоимости доставки после смены адреса через setAddress(),
— Корректное заполнение полей e-mail'а, высылаемого при регистрации (т.е. вызова createProfile())
— etc
Взаимодействие с внешним миром — это, скорее, относится к функциональному тестированию.
За такое руки отрывать нужно :(
Для простого и быстрого тестирования в таком случае в голову приходит тот же самый вариант что я озвучил ранее — последовательный вызов сеттера и геттера без промежуточной проверки. В этом случае сразу будет понятно есть ли в этом классе проблемы с геттером или сеттером.
Т.к. я не знаю как у вас там все устроено и работает, то сказать ничего не могу по этому поводу.
Например, сеттер может выкинуть исключение если что-то пойдет не так (кривые входные данные например). Или, если сеттер вызывается на клиентской части, сериализует данные и засылает их на сервер, то можно смотреть что приходит на сервер после вызова сеттера. Ну и тому подобное.
Зачем же такие извраты.
Ровно 1 тест:
1. Через сеттер ставим значение.
2. Если не поставилось — фейлим тест.
3. Через геттер берем поставленное значение и сравниваем с тем что ставили.
Еще рекомендую почитать “The Art of Unit Testing". Тесты (юнит- и интеграционные) вообще сильно облегчают жизнь, особенно при разработке крупных проектов.
Сколько лет работаю с svn/cvs/hg, никогда такого не видел.
Файл либо изменен локально, и тогда легко ловится по svn status, либо изменен другим пользователем и закоммитан — тогда он на сервере, и придет к вам в рабочую копию при svn update.
Может быть эта проблема связана с багами в svn-клиенте, который вы используете?
Не то что сейчас — скачал образ, записал на флешку, воткнул в комп, загрузился и поставил в 4 клика мышкой. И всё, больше особо ничего и не надо в большинстве случаев.
Для меня в те времена было воистину подвигом собрать ядро (2.0.<не-помню-уже>), так чтобы оно собралось и загрузилось.
Что кстати характерно, оно вполне себе шустро работало на 100 пентиуме с 32 метрами оперативы. Иксы, нетшкаф, все дела. А в фоне еще и маршрутизация небольшой локалки + ftp/samba/apache на десяток клиентов.
Для примера — недавно вон слухи появились, что скайп «сдался» ФСБ. Думаете им сильно меньше людей пользоваться стало?
О, спасибо. Про прирост жизни батарейки — это очень гут.
А с последним сенсом, судя по отзывам знакомых, все достаточно противоречиво. У кого-то работает быстро и стабильно, у кого-то тормозит…
Там выше была ссылка на обзор MIUI, реквест уже неактуален. Штука, судя по всему, достаточно клевая.
Еще интересно было бы услышать отзывы тех кто пользовался MIUI — как оно в сравнении с тем же Sense UI, и в чем вообще его фишки.
Они могут (и скорее всего так уже сделали) раскрыть спецификации и ключи спецслужбам, но никому об этом не сказать.
Так это же вроде говорили что фейком оказалось… Или я чего-то перепутал?