Тестирование программного обеспечения

Поделись знанием:
Перейти к: навигация, поиск
Разработка программного обеспечения
Процесс разработки ПО
Шаги процесса

Анализ • Проектирование • Программирование • Документирование • Тестирование

Модели

Итеративная • Спиральная • Каскадная • V-Model • Dual Vee Model

Методологии

Agile (XP, Lean, Scrum, FDD и др.) • Cleanroom • OpenUP • RAD • RUP • MSF • DSDM • TDD

Сопутствующие дисциплины

Конфигурационное управление • Управление проектами • Управление требованиями

Тести́рование програ́ммного обеспе́че́ния — процесс исследования, испытания программного продукта, имеющий две различные цели:

  • продемонстрировать разработчикам и заказчикам, что программа соответствует требованиям;
  • выявить ситуации, в которых поведение программы является неправильным, нежелательным или не соответствующим спецификации[1].




Введение

Стандарт ISO/IEC 25010:2011 (ГОСТ Р ИСО/МЭК 25010-2015) определяет качество программного обеспечения как степень удовлетворения системой заявленных и подразумеваемых потребностей различных заинтересованных сторон[2]. В соответствии со стандартом модель качества продукта включает восемь характеристик:

  • функциональная пригодность;
  • уровень производительности;
  • совместимость;
  • удобство пользования;
  • надёжность;
  • защищённость;
  • сопровождаемость;
  • переносимость (мобильность).

Состав и содержание документации, сопутствующей процессу тестирования, определяется стандартом IEEE 829-2008 IEEE Standard for Software and System Test Documentation.

История

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

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

В начале 1970-х годов тестирование программного обеспечения обозначалось как «процесс, направленный на демонстрацию корректности продукта» или как «деятельность по подтверждению правильности работы программного обеспечения». В зарождавшейся программной инженерии верификация ПО значилась как «доказательство правильности». Хотя концепция была теоретически перспективной, на практике она требовала много времени и была недостаточно всеобъемлющей. Было решено, что доказательство правильности — неэффективный метод тестирования программного обеспечения. Однако, в некоторых случаях демонстрация правильной работы используется и в наши дни, например, приёмо-сдаточные испытания. Во второй половине 1970-х тестирование представлялось как выполнение программы с намерением найти ошибки, а не доказать, что она работает. Успешный тест — это тест, который обнаруживает ранее неизвестные проблемы. Данный подход прямо противоположен предыдущему. Указанные два определения представляют собой «парадокс тестирования», в основе которого лежат два противоположных утверждения: с одной стороны, тестирование позволяет убедиться, что продукт работает хорошо, а с другой — выявляет ошибки в программах, показывая, что продукт не работает. Вторая цель тестирования является более продуктивной с точки зрения улучшения качества, так как не позволяет игнорировать недостатки программного обеспечения.

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

В начале 1990-х годов в понятие «тестирование» стали включать планирование, проектирование, создание, поддержку и выполнение тестов и тестовых окружений, и это означало переход от тестирования к обеспечению качества, охватывающего весь цикл разработки программного обеспечения. В это время начинают появляться различные программные инструменты для поддержки процесса тестирования: более продвинутые среды для автоматизации с возможностью создания скриптов и генерации отчетов, системы управления тестами, ПО для проведения нагрузочного тестирования. В середине 1990-х годов с развитием Интернета и разработкой большого количества веб-приложений особую популярность стало получать «гибкое тестирование» (по аналогии с гибкими методологиями программирования).

В 2000-х появилось ещё более широкое определение тестирования, когда в него было добавлено понятие «оптимизация бизнес-технологий»К:Википедия:Статьи без источников (тип: не указан)[источник не указан 3426 дней]. Основной подход заключается в оценке и максимизации значимости всех этапов жизненного цикла разработки программного обеспечения для достижения необходимого уровня качества, производительности, доступности.

Тестирование программного обеспечения

Существует несколько признаков, по которым принято производить классификацию видов тестирования. Обычно выделяют следующие:

По объекту тестирования
По знанию системы
По степени автоматизации
По степени изолированности компонентов
По времени проведения тестированияК:Википедия:Статьи без источников (тип: не указан)[источник не указан 3426 дней]
По признаку позитивности сценариев
По степени подготовленности к тестированию
  • Тестирование по документации (формальное тестирование)
  • Интуитивное тестирование (англ. ad hoc testing)

Уровни тестирования

  • Модульное тестирование — тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция. Часто модульное тестирование осуществляется разработчиками программного обеспечения.
  • Интеграционное тестирование — тестируются интерфейсы между компонентами, подсистемами или системами. При наличии резерва времени на данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем.
  • Системное тестирование — тестируется интегрированная система на её соответствие требованиям.
    • Альфа-тестирование — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. Чаще всего альфа-тестирование проводится на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования. Иногда альфа-тестирование выполняется под отладчиком или с использованием окружения, которое помогает быстро выявлять найденные ошибки. Обнаруженные ошибки могут быть переданы тестировщикам для дополнительного исследования в окружении, подобном тому, в котором будет использоваться программа.
    • Бета-тестирование — в некоторых случаях выполняется распространение предварительной версии (в случае проприетарного программного обеспечения иногда с ограничениями по функциональности или времени работы) для некоторой большей группы лиц с тем, чтобы убедиться, что продукт содержит достаточно мало ошибок. Иногда бета-тестирование выполняется для того, чтобы получить обратную связь о продукте от его будущих пользователей.

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

Статическое и динамическое тестирование

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

При статическом тестировании программный код не выполняется — анализ программы происходит на основе исходного кода, который вычитывается вручную, либо анализируется специальными инструментами. В некоторых случаях анализируется не исходный, а промежуточный код (такой как байт-код или код на MSIL).

Также к статическому тестированию относят тестирование требований, спецификаций, документации.

Регрессионное тестирование

После внесения изменений в очередную версию программы, регрессионные тесты подтверждают, что сделанные изменения не повлияли на работоспособность остальной функциональности приложения. Регрессионное тестирование может выполняться как вручную, так и средствами автоматизации тестирования.

Тестовые сценарии

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

Тестирование «белого ящика» и «чёрного ящика»

В зависимости от доступа разработчика тестов к исходному коду тестируемой программы различают «тестирование (по стратегии) белого ящика» и «тестирование (по стратегии) чёрного ящика».

При тестировании белого ящика (также говорят — прозрачного ящика), разработчик теста имеет доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого программного обеспечения. Это типично для модульного тестирования, при котором тестируются только отдельные части системы. Оно обеспечивает то, что компоненты конструкции — работоспособны и устойчивы, до определённой степени. При тестировании белого ящика используются метрики покрытия кода или мутационное тестирование.

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

При тестировании серого ящика разработчик теста имеет доступ к исходному коду, но при непосредственном выполнении тестов доступ к коду, как правило, не требуется.

Если «альфа-» и «бета-тестирование» относятся к стадиям до выпуска продукта (а также, неявно, к объёму тестирующего сообщества и ограничениям на методы тестирования), тестирование «белого ящика» и «чёрного ящика» имеет отношение к способам, которыми тестировщик достигает цели.

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

Покрытие кода

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

Тестировщики могут использовать результаты теста покрытия кода для разработки тестов или тестовых данных, которые расширят покрытие кода на важные функции.

Как правило, инструменты и библиотеки, используемые для получения покрытия кода, требуют значительных затрат производительности и/или памяти, недопустимых при нормальном функционировании ПО. Поэтому они могут использоваться только в лабораторных условиях.

См. также

Напишите отзыв о статье "Тестирование программного обеспечения"

Примечания

  1. Sommerville I. Software Engineering, 8th ed. Harlow, England: Pearson Education, 2007
  2. ISO/IEC 25010:2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models
    ГОСТ Р ИСО/МЭК 25010-2015 Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов

Литература

  • Гленфорд Майерс, Том Баджетт, Кори Сандлер. [www.dialektika.com/books/978-5-8459-1796-6.html Искусство тестирования программ, 3-е издание] = The Art of Software Testing, 3rd Edition. — М.: «Диалектика», 2012. — 272 с. — ISBN 978-5-8459-1796-6.
  • Лайза Криспин, Джанет Грегори. Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд = Agile Testing: A Practical Guide for Testers and Agile Teams. — М.: «Вильямс», 2010. — 464 с. — (Addison-Wesley Signature Series). — 1000 экз. — ISBN 978-5-8459-1625-9.
  • Канер Кем, Фолк Джек, Нгуен Енг Кек. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений. — Киев: ДиаСофт, 2001. — 544 с. — ISBN 9667393879.
  • Калбертсон Роберт, Браун Крис, Кобб Гэри. Быстрое тестирование. — М.: «Вильямс», 2002. — 374 с. — ISBN 5-8459-0336-X.
  • Синицын С. В., Налютин Н. Ю. Верификация программного обеспечения. — М.: БИНОМ, 2008. — 368 с. — ISBN 978-5-94774-825-3.
  • Бейзер Б. Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем. — СПб.: Питер, 2004. — 320 с. — ISBN 5-94723-698-2.

Ссылки

  • [www.osp.ru/os/2008/07/5478839/ Семь принципов тестирования программ] (рус.)
  • [www.osp.ru/os/2014/08/13043490/ Улучшая, не навреди] (рус.)
  • [software-testing.ru/ Портал специалистов по тестированию и обеспечению качества ПО] (рус.)
  • [automated-testing.info/ Портал об автоматизированном тестировании ПО] (рус.)


Отрывок, характеризующий Тестирование программного обеспечения

И опять в бессильной борьбе с действительностью мать, отказываясь верить в то, что она могла жить, когда был убит цветущий жизнью ее любимый мальчик, спасалась от действительности в мире безумия.
Наташа не помнила, как прошел этот день, ночь, следующий день, следующая ночь. Она не спала и не отходила от матери. Любовь Наташи, упорная, терпеливая, не как объяснение, не как утешение, а как призыв к жизни, всякую секунду как будто со всех сторон обнимала графиню. На третью ночь графиня затихла на несколько минут, и Наташа закрыла глаза, облокотив голову на ручку кресла. Кровать скрипнула. Наташа открыла глаза. Графиня сидела на кровати и тихо говорила.
– Как я рада, что ты приехал. Ты устал, хочешь чаю? – Наташа подошла к ней. – Ты похорошел и возмужал, – продолжала графиня, взяв дочь за руку.
– Маменька, что вы говорите!..
– Наташа, его нет, нет больше! – И, обняв дочь, в первый раз графиня начала плакать.


Княжна Марья отложила свой отъезд. Соня, граф старались заменить Наташу, но не могли. Они видели, что она одна могла удерживать мать от безумного отчаяния. Три недели Наташа безвыходно жила при матери, спала на кресле в ее комнате, поила, кормила ее и не переставая говорила с ней, – говорила, потому что один нежный, ласкающий голос ее успокоивал графиню.
Душевная рана матери не могла залечиться. Смерть Пети оторвала половину ее жизни. Через месяц после известия о смерти Пети, заставшего ее свежей и бодрой пятидесятилетней женщиной, она вышла из своей комнаты полумертвой и не принимающею участия в жизни – старухой. Но та же рана, которая наполовину убила графиню, эта новая рана вызвала Наташу к жизни.
Душевная рана, происходящая от разрыва духовного тела, точно так же, как и рана физическая, как ни странно это кажется, после того как глубокая рана зажила и кажется сошедшейся своими краями, рана душевная, как и физическая, заживает только изнутри выпирающею силой жизни.
Так же зажила рана Наташи. Она думала, что жизнь ее кончена. Но вдруг любовь к матери показала ей, что сущность ее жизни – любовь – еще жива в ней. Проснулась любовь, и проснулась жизнь.
Последние дни князя Андрея связали Наташу с княжной Марьей. Новое несчастье еще более сблизило их. Княжна Марья отложила свой отъезд и последние три недели, как за больным ребенком, ухаживала за Наташей. Последние недели, проведенные Наташей в комнате матери, надорвали ее физические силы.
Однажды княжна Марья, в середине дня, заметив, что Наташа дрожит в лихорадочном ознобе, увела ее к себе и уложила на своей постели. Наташа легла, но когда княжна Марья, опустив сторы, хотела выйти, Наташа подозвала ее к себе.
– Мне не хочется спать. Мари, посиди со мной.
– Ты устала – постарайся заснуть.
– Нет, нет. Зачем ты увела меня? Она спросит.
– Ей гораздо лучше. Она нынче так хорошо говорила, – сказала княжна Марья.
Наташа лежала в постели и в полутьме комнаты рассматривала лицо княжны Марьи.
«Похожа она на него? – думала Наташа. – Да, похожа и не похожа. Но она особенная, чужая, совсем новая, неизвестная. И она любит меня. Что у ней на душе? Все доброе. Но как? Как она думает? Как она на меня смотрит? Да, она прекрасная».
– Маша, – сказала она, робко притянув к себе ее руку. – Маша, ты не думай, что я дурная. Нет? Маша, голубушка. Как я тебя люблю. Будем совсем, совсем друзьями.
И Наташа, обнимая, стала целовать руки и лицо княжны Марьи. Княжна Марья стыдилась и радовалась этому выражению чувств Наташи.
С этого дня между княжной Марьей и Наташей установилась та страстная и нежная дружба, которая бывает только между женщинами. Они беспрестанно целовались, говорили друг другу нежные слова и большую часть времени проводили вместе. Если одна выходила, то другаябыла беспокойна и спешила присоединиться к ней. Они вдвоем чувствовали большее согласие между собой, чем порознь, каждая сама с собою. Между ними установилось чувство сильнейшее, чем дружба: это было исключительное чувство возможности жизни только в присутствии друг друга.
Иногда они молчали целые часы; иногда, уже лежа в постелях, они начинали говорить и говорили до утра. Они говорили большей частию о дальнем прошедшем. Княжна Марья рассказывала про свое детство, про свою мать, про своего отца, про свои мечтания; и Наташа, прежде с спокойным непониманием отворачивавшаяся от этой жизни, преданности, покорности, от поэзии христианского самоотвержения, теперь, чувствуя себя связанной любовью с княжной Марьей, полюбила и прошедшее княжны Марьи и поняла непонятную ей прежде сторону жизни. Она не думала прилагать к своей жизни покорность и самоотвержение, потому что она привыкла искать других радостей, но она поняла и полюбила в другой эту прежде непонятную ей добродетель. Для княжны Марьи, слушавшей рассказы о детстве и первой молодости Наташи, тоже открывалась прежде непонятная сторона жизни, вера в жизнь, в наслаждения жизни.
Они всё точно так же никогда не говорили про него с тем, чтобы не нарушать словами, как им казалось, той высоты чувства, которая была в них, а это умолчание о нем делало то, что понемногу, не веря этому, они забывали его.
Наташа похудела, побледнела и физически так стала слаба, что все постоянно говорили о ее здоровье, и ей это приятно было. Но иногда на нее неожиданно находил не только страх смерти, но страх болезни, слабости, потери красоты, и невольно она иногда внимательно разглядывала свою голую руку, удивляясь на ее худобу, или заглядывалась по утрам в зеркало на свое вытянувшееся, жалкое, как ей казалось, лицо. Ей казалось, что это так должно быть, и вместе с тем становилось страшно и грустно.
Один раз она скоро взошла наверх и тяжело запыхалась. Тотчас же невольно она придумала себе дело внизу и оттуда вбежала опять наверх, пробуя силы и наблюдая за собой.
Другой раз она позвала Дуняшу, и голос ее задребезжал. Она еще раз кликнула ее, несмотря на то, что она слышала ее шаги, – кликнула тем грудным голосом, которым она певала, и прислушалась к нему.
Она не знала этого, не поверила бы, но под казавшимся ей непроницаемым слоем ила, застлавшим ее душу, уже пробивались тонкие, нежные молодые иглы травы, которые должны были укорениться и так застлать своими жизненными побегами задавившее ее горе, что его скоро будет не видно и не заметно. Рана заживала изнутри. В конце января княжна Марья уехала в Москву, и граф настоял на том, чтобы Наташа ехала с нею, с тем чтобы посоветоваться с докторами.


После столкновения при Вязьме, где Кутузов не мог удержать свои войска от желания опрокинуть, отрезать и т. д., дальнейшее движение бежавших французов и за ними бежавших русских, до Красного, происходило без сражений. Бегство было так быстро, что бежавшая за французами русская армия не могла поспевать за ними, что лошади в кавалерии и артиллерии становились и что сведения о движении французов были всегда неверны.
Люди русского войска были так измучены этим непрерывным движением по сорок верст в сутки, что не могли двигаться быстрее.
Чтобы понять степень истощения русской армии, надо только ясно понять значение того факта, что, потеряв ранеными и убитыми во все время движения от Тарутина не более пяти тысяч человек, не потеряв сотни людей пленными, армия русская, вышедшая из Тарутина в числе ста тысяч, пришла к Красному в числе пятидесяти тысяч.
Быстрое движение русских за французами действовало на русскую армию точно так же разрушительно, как и бегство французов. Разница была только в том, что русская армия двигалась произвольно, без угрозы погибели, которая висела над французской армией, и в том, что отсталые больные у французов оставались в руках врага, отсталые русские оставались у себя дома. Главная причина уменьшения армии Наполеона была быстрота движения, и несомненным доказательством тому служит соответственное уменьшение русских войск.
Вся деятельность Кутузова, как это было под Тарутиным и под Вязьмой, была направлена только к тому, чтобы, – насколько то было в его власти, – не останавливать этого гибельного для французов движения (как хотели в Петербурге и в армии русские генералы), а содействовать ему и облегчить движение своих войск.
Но, кроме того, со времени выказавшихся в войсках утомления и огромной убыли, происходивших от быстроты движения, еще другая причина представлялась Кутузову для замедления движения войск и для выжидания. Цель русских войск была – следование за французами. Путь французов был неизвестен, и потому, чем ближе следовали наши войска по пятам французов, тем больше они проходили расстояния. Только следуя в некотором расстоянии, можно было по кратчайшему пути перерезывать зигзаги, которые делали французы. Все искусные маневры, которые предлагали генералы, выражались в передвижениях войск, в увеличении переходов, а единственно разумная цель состояла в том, чтобы уменьшить эти переходы. И к этой цели во всю кампанию, от Москвы до Вильны, была направлена деятельность Кутузова – не случайно, не временно, но так последовательно, что он ни разу не изменил ей.
Кутузов знал не умом или наукой, а всем русским существом своим знал и чувствовал то, что чувствовал каждый русский солдат, что французы побеждены, что враги бегут и надо выпроводить их; но вместе с тем он чувствовал, заодно с солдатами, всю тяжесть этого, неслыханного по быстроте и времени года, похода.
Но генералам, в особенности не русским, желавшим отличиться, удивить кого то, забрать в плен для чего то какого нибудь герцога или короля, – генералам этим казалось теперь, когда всякое сражение было и гадко и бессмысленно, им казалось, что теперь то самое время давать сражения и побеждать кого то. Кутузов только пожимал плечами, когда ему один за другим представляли проекты маневров с теми дурно обутыми, без полушубков, полуголодными солдатами, которые в один месяц, без сражений, растаяли до половины и с которыми, при наилучших условиях продолжающегося бегства, надо было пройти до границы пространство больше того, которое было пройдено.
В особенности это стремление отличиться и маневрировать, опрокидывать и отрезывать проявлялось тогда, когда русские войска наталкивались на войска французов.
Так это случилось под Красным, где думали найти одну из трех колонн французов и наткнулись на самого Наполеона с шестнадцатью тысячами. Несмотря на все средства, употребленные Кутузовым, для того чтобы избавиться от этого пагубного столкновения и чтобы сберечь свои войска, три дня у Красного продолжалось добивание разбитых сборищ французов измученными людьми русской армии.
Толь написал диспозицию: die erste Colonne marschiert [первая колонна направится туда то] и т. д. И, как всегда, сделалось все не по диспозиции. Принц Евгений Виртембергский расстреливал с горы мимо бегущие толпы французов и требовал подкрепления, которое не приходило. Французы, по ночам обегая русских, рассыпались, прятались в леса и пробирались, кто как мог, дальше.
Милорадович, который говорил, что он знать ничего не хочет о хозяйственных делах отряда, которого никогда нельзя было найти, когда его было нужно, «chevalier sans peur et sans reproche» [«рыцарь без страха и упрека»], как он сам называл себя, и охотник до разговоров с французами, посылал парламентеров, требуя сдачи, и терял время и делал не то, что ему приказывали.
– Дарю вам, ребята, эту колонну, – говорил он, подъезжая к войскам и указывая кавалеристам на французов. И кавалеристы на худых, ободранных, еле двигающихся лошадях, подгоняя их шпорами и саблями, рысцой, после сильных напряжений, подъезжали к подаренной колонне, то есть к толпе обмороженных, закоченевших и голодных французов; и подаренная колонна кидала оружие и сдавалась, чего ей уже давно хотелось.
Под Красным взяли двадцать шесть тысяч пленных, сотни пушек, какую то палку, которую называли маршальским жезлом, и спорили о том, кто там отличился, и были этим довольны, но очень сожалели о том, что не взяли Наполеона или хоть какого нибудь героя, маршала, и упрекали в этом друг друга и в особенности Кутузова.
Люди эти, увлекаемые своими страстями, были слепыми исполнителями только самого печального закона необходимости; но они считали себя героями и воображали, что то, что они делали, было самое достойное и благородное дело. Они обвиняли Кутузова и говорили, что он с самого начала кампании мешал им победить Наполеона, что он думает только об удовлетворении своих страстей и не хотел выходить из Полотняных Заводов, потому что ему там было покойно; что он под Красным остановил движенье только потому, что, узнав о присутствии Наполеона, он совершенно потерялся; что можно предполагать, что он находится в заговоре с Наполеоном, что он подкуплен им, [Записки Вильсона. (Примеч. Л.Н. Толстого.) ] и т. д., и т. д.
Мало того, что современники, увлекаемые страстями, говорили так, – потомство и история признали Наполеона grand, a Кутузова: иностранцы – хитрым, развратным, слабым придворным стариком; русские – чем то неопределенным – какой то куклой, полезной только по своему русскому имени…


В 12 м и 13 м годах Кутузова прямо обвиняли за ошибки. Государь был недоволен им. И в истории, написанной недавно по высочайшему повелению, сказано, что Кутузов был хитрый придворный лжец, боявшийся имени Наполеона и своими ошибками под Красным и под Березиной лишивший русские войска славы – полной победы над французами. [История 1812 года Богдановича: характеристика Кутузова и рассуждение о неудовлетворительности результатов Красненских сражений. (Примеч. Л.Н. Толстого.) ]
Такова судьба не великих людей, не grand homme, которых не признает русский ум, а судьба тех редких, всегда одиноких людей, которые, постигая волю провидения, подчиняют ей свою личную волю. Ненависть и презрение толпы наказывают этих людей за прозрение высших законов.
Для русских историков – странно и страшно сказать – Наполеон – это ничтожнейшее орудие истории – никогда и нигде, даже в изгнании, не выказавший человеческого достоинства, – Наполеон есть предмет восхищения и восторга; он grand. Кутузов же, тот человек, который от начала и до конца своей деятельности в 1812 году, от Бородина и до Вильны, ни разу ни одним действием, ни словом не изменяя себе, являет необычайный s истории пример самоотвержения и сознания в настоящем будущего значения события, – Кутузов представляется им чем то неопределенным и жалким, и, говоря о Кутузове и 12 м годе, им всегда как будто немножко стыдно.
А между тем трудно себе представить историческое лицо, деятельность которого так неизменно постоянно была бы направлена к одной и той же цели. Трудно вообразить себе цель, более достойную и более совпадающую с волею всего народа. Еще труднее найти другой пример в истории, где бы цель, которую поставило себе историческое лицо, была бы так совершенно достигнута, как та цель, к достижению которой была направлена вся деятельность Кутузова в 1812 году.
Кутузов никогда не говорил о сорока веках, которые смотрят с пирамид, о жертвах, которые он приносит отечеству, о том, что он намерен совершить или совершил: он вообще ничего не говорил о себе, не играл никакой роли, казался всегда самым простым и обыкновенным человеком и говорил самые простые и обыкновенные вещи. Он писал письма своим дочерям и m me Stael, читал романы, любил общество красивых женщин, шутил с генералами, офицерами и солдатами и никогда не противоречил тем людям, которые хотели ему что нибудь доказывать. Когда граф Растопчин на Яузском мосту подскакал к Кутузову с личными упреками о том, кто виноват в погибели Москвы, и сказал: «Как же вы обещали не оставлять Москвы, не дав сраженья?» – Кутузов отвечал: «Я и не оставлю Москвы без сражения», несмотря на то, что Москва была уже оставлена. Когда приехавший к нему от государя Аракчеев сказал, что надо бы Ермолова назначить начальником артиллерии, Кутузов отвечал: «Да, я и сам только что говорил это», – хотя он за минуту говорил совсем другое. Какое дело было ему, одному понимавшему тогда весь громадный смысл события, среди бестолковой толпы, окружавшей его, какое ему дело было до того, к себе или к нему отнесет граф Растопчин бедствие столицы? Еще менее могло занимать его то, кого назначат начальником артиллерии.
Не только в этих случаях, но беспрестанно этот старый человек дошедший опытом жизни до убеждения в том, что мысли и слова, служащие им выражением, не суть двигатели людей, говорил слова совершенно бессмысленные – первые, которые ему приходили в голову.
Но этот самый человек, так пренебрегавший своими словами, ни разу во всю свою деятельность не сказал ни одного слова, которое было бы не согласно с той единственной целью, к достижению которой он шел во время всей войны. Очевидно, невольно, с тяжелой уверенностью, что не поймут его, он неоднократно в самых разнообразных обстоятельствах высказывал свою мысль. Начиная от Бородинского сражения, с которого начался его разлад с окружающими, он один говорил, что Бородинское сражение есть победа, и повторял это и изустно, и в рапортах, и донесениях до самой своей смерти. Он один сказал, что потеря Москвы не есть потеря России. Он в ответ Лористону на предложение о мире отвечал, что мира не может быть, потому что такова воля народа; он один во время отступления французов говорил, что все наши маневры не нужны, что все сделается само собой лучше, чем мы того желаем, что неприятелю надо дать золотой мост, что ни Тарутинское, ни Вяземское, ни Красненское сражения не нужны, что с чем нибудь надо прийти на границу, что за десять французов он не отдаст одного русского.