Показаны сообщения с ярлыком тестирование. Показать все сообщения
Показаны сообщения с ярлыком тестирование. Показать все сообщения

Потеря спутника


Отклонение могло произойти из-за проблем с софтом в системе управления «разгонника» и системе управления ракетой, говорит руководитель одного из предприятий космической промышленности. По версии «РИА Новости», речь может идти о «нескоординированности действий между предприятиями, заложившими полетные задания, и предприятиями, не проводившими их предварительное совместное тестирование». Члены комиссии должны также разобраться в том, были ли проведены работы по адаптации систем ракеты-носителя и разгонного блока к пуску с Восточного или нет. Эти вопросы будут рассмотрены во время заседания, намеченного на 12 декабря.

Комиссия Юрия Коптева только начала свою работу, но ряд серьезных вопросов к организации контроля качества производимой продукции на предприятиях у нее уже есть. Например, при сборке тех же «Фрегатов» ответственность за работоспособность отдельных систем блока лежит на изготовителях этих систем, а за комплексную готовность собранного «разгонника» ответственности не несет никто.

Как тестируют ПО в NASA

В понедельник, вторник, среда, четверг - тестируешь, а в пятницу - взлетаешь.

Тестирование не позволяет обнаружить такие ошибки, как создание не того приложения


Производительность OSv — легковесной ОС для гипервизора

Инструменты:
  • SPECjvm2008 для тестирования Java-приложений;
  • memaslap для тестирования производительности Memcached 1.4.15 в стандартной конфигурации.

В качестве хоста выступал Intel Haswell i7-4770 с 16 Гб оперативной памяти и 64-битной Fedora 19 с установленным QEMU 1.4.2 и ядром Linux 3.10.5. В сравнении участвовали OSv версии 0.01 и 64-битная Fedora 18 с ядром Linux 3.9.9. Обе работали внутри одноядерной виртуальной машины с 3 Гб памяти и OpenJDK 1.7.0. Измерялась сетевая производительность и производительность ввода-вывода, а вот cpu intensive тесты проведены не были то ли в силу их провальности, то ли по причине молодости OSv, над оптимизацией которой пока практически не работали (это официальная причина).

Результаты тестов.
Суммарный прирост производительности Java-приложений составил меньше двух процентов, что сами разработчики объяснили использованием стандартной OpenJDK, так как оптимизированная для OSv Java-машина еще не была готова. А вот тест Memcached благодаря модели «одна память на всех», которая позволяет избежать лишних копирований буферов и переключений контекста, получился более наглядным. Memcached, запущенный в OSv, смог обслужить 286 550 запросов в секунду на канале 10 Гб, тогда как Linux-версия только 205 199 (разница составляет ~40%).

В общем-то, прирост налицо, однако было бы интересно посмотреть на результат работы Memcached, скомпилированного в виде Linux-модуля например. Другими словами, воссоздать условия запуска работы OSv внутри другой ОС.

SPECjvm2008: OSv против Linux

Золотой фонд программерской литературы по версии ][. Не для чайников!


  • С. Макконнелл «Совершенный код»
  • М. Фаулер «Рефакторинг»
  • Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес «Приемы объектно-ориентированного проектирования. Паттерны проектирования»
  • Р. Мартин «Чистый код»
  • Д. Кнут «Искусство программирования»
  • Э. Хант, Д. Томас «Программист-прагматик»
  • К. Ларман «Применение UML 2.0 и шаблонов проектирования»
  • М. Фаулер «Архитектура корпоративных программных приложений»
  • К. Бек «Экстремальное программирование»
  • К. Бек «Экстремальное программирование. Разработка через тестирование»
  • Э. Эванс «Предметно-ориентированное проектирование»
  • Ф. Брукс «Мифический человеко-месяц»

Заметки о тестировании программ

Основная идея — не пытаться программировать сразу. Пошаговая детализация автоматически заставляет формировать понятную структуру программы. При этом требуется отслеживать правильность детализации, создавая набор контрольных точек и просчитывая значения данных в них. Выбор представления данных — один из фундаментальных аспектов разработки программы. Н. Вирт так определял критерии этого действия: естественность, структуры данных обязаны «вытекать» из специфики задачи; привычность, структуры данных выбираются так, чтобы программирование приближалось к утверждению «как говорю, так и пишу программу, ничего лишнего»; оптимальность, структуры данных выбираются так, чтобы была возможность построения эффективного алгоритма.
Следует придерживаться правила о том, что любой фрагмент программного кода (логики) должен иметь одну точку входа и одну точку выхода (пусть даже в ущерб эффективности использования памяти).
Временная сложность(t). Обычно на время решения задачи накладываются определенные ограничения. Размерность задачи опишем величиной N. Временная сложность алгоритма является линейной при t~O(N), полиномиальной при t~O(Nq), где q равно обычно 2 или 3, и экспоненциальной при t~O(qN).


OZON.ru - Книги | Программирование в алгоритмах | С. Окулов | Купить книги: интернет-магазин / ISBN 978-5-94774-689-1OZON.ru - Книги | Программирование в алгоритмах | С. Окулов | Купить книги: интернет-магазин / ISBN 978-5-94774-689-1