diff --git a/xMind.3.5.1/Testing.Map (xMind 3.5.1).html b/xMind.3.5.1/Testing.Map (xMind 3.5.1).html new file mode 100644 index 0000000..a19aa37 --- /dev/null +++ b/xMind.3.5.1/Testing.Map (xMind 3.5.1).html @@ -0,0 +1,736 @@ + + + + + +Виды тестирования + + + +

+Виды тестирования +

+
+
+

+По целям +

+

+ Функциональное +

+
+

+Функциональное тестирование (functional testing) - тестирование программного обеспечения (как правило, методом черного ящика) в целях проверки реализуемости функциональных требований и на соответствие технологической документации или спецификации.

+

К функциональному тестированию относится большая часть работ, выполняемых отделом тестирования.

+

Варианты определения из разных источников:

+

Тестирование,  основанное  на анализе  спецификации  функциональности  компонента  или  системы. (ISTQB)

+

Проверка соответствия системы, предъявляемым к ней требованиям, описанным на уровне спецификации поведенческих характеристик. (SWEBOK)

+

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

+

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

+

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

+
+

+ Нефункциональное +

+
+

+Нефункциональное тестирование (non-functional testing)  - анализ атрибутов компонента или системы, не относящихся к функциональности, в соответствии с различными шкалами.

+

Варианты определения из разных источников:

+

Анализ атрибутов компонента или системы, не относящихся к функциональности. (ISTQB)

+

Проверка значений характеристик программного обеспечения в соответствии с различными шкалами.

+
+

+  Пользовательского интерфейса +

+
+

+Тестирование пользовательского интерфейса (user interface testing)  - проверка требований к пользовательскому интерфейсу. Например, требований к размещению элементов управления на экранных формах, к содержанию и оформлению выводимых сообщений, к форматам ввода, к реакции системы на ввод пользователя, к времени отклика на команды пользователя и т.д.

+

Как правило, проводится параллельно функциональному тестированию всех объектов, изменения в которых влияют пользовательский интерфейс.

+

+

+Варианты определения из разных источников:

+

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

+
+

+  Удобства использования +

+
+

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

+

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

+

+

+Варианты определения из разных источников:

+

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

+

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

+
+

+  Защищённости +

+
+

+Тестирование защищённости (security testing)  – тестирование программного продукта с целью определить его защищённость. Основные понятия, которые должны быть охвачены тестированием: конфиденциальность, целостность и сохранность данных, аутентификация, авторизация и невозможность отказа от авторства.

+

Проводится для тех объектов, в работе которых обеспечение защищёность является одной из важнейших задач.

+

+

+Варианты определения из разных источников:

+

Тестирование программного продукта с целью определить его безопасность. (ISTQB)

+

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

+
+

+  Инсталляционное +

+
+

+Инсталляционное тестирование (installation testing)  - тестирование, направленное на проверку успешной установки и настройки, обновления или удаления программного обеспечения при различном программном и аппаратном окружении, а также призванное оценить работоспособность системы после завершения работы инсталлятора.

+

Проводится для всех программ установки, а также при проверке поставки/диска перед выпуском версии.

+

+

+Варианты определения из разных источников:

+

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

+
+

+  Конфигурационное +

+
+

+Конфигурационное тестирование (configuration testing)  - тестирование, направленное на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и системного программного обеспечения и т.д.).

+

+

+Варианты определения из разных источников:

+

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

+

Проверка совместимости программы с теми конфигурациями оборудования и системного программного обеспечения, с которыми она должна работать. (Канер и др.)

+

Проверка того, что программная система корректно работает на всем поддерживаемом аппаратном обеспечении и совместно с другими программными системами. (Синицын и др.)

+
+

+  Совместимости +

+
+

+Тестирование совместимости (compatibility testing)  - тестирование для оценки возможности взаимодействия с каким-либо окружением. Проводится при появлении новых версий общесистемного ПО или для оценки возможности расширения списка поддерживаемого ПО.

+

+

+Варианты определения из разных источников:

+

Тестирование для оценки возможности взаимодействия с каким-либо окружением. (ISTQB)

+
+

+  Надёжности и восстановления после сбоев +

+
+

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

+

+

+Варианты определения из разных источников:

+

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

+

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

+
+

+  Локализации +

+
+

+Тестирование локализации (localization testing) - проверка адаптации программного обеспечения для нового места эксплуатации; включает проверку изменения языка и культурной адаптации.

+

+

+Варианты определения из разных источников:

+

Проверка адаптации программного обеспечения для нового места эксплуатации; включает проверку изменения языка и культурной адаптации. (Канер и др.)

+
+

+  Производительности +

+
+

+Тестирование производительности (performance testing)  - определение степени, с которой система выполняет заложенные в нее функции в установленных рамках на время обработки и пропускную способность.

+

Достаточно часто при тестировании производительности проверяется сразу несколько его подвидов.

+

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

+

+

+Варианты определения из разных источников:

+

Определение степени, с которой система выполняет заложенные в нее функции в установленных рамках на время обработки и пропускную способность. (ISTQB)

+

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

+

+

Тестирование производительности бывает следующих видов:

+

Нагрузочное тестирование

+

Тестирование стабильности

+

Стрессовое тестирование

+

Объемное тестирование

+

Тестирование масштабируемости

+
+

+   Нагрузочное +

+
+

+Нагрузочное тестирование (load testing)  - выполнение программы c повышением нагрузки, вплоть до достижения запланированных характеристик, и далее с отслеживанием поведения на всем протяжении повышения загрузки системы.

+

При этом может происходить, например:

+

измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций;

+

определение количества пользователей, одновременно работающих с приложением;

+

определение границ приемлемой производительности при увеличении нагрузки (при увеличении интенсивности выполнения этих операций).

+

+

+Варианты определения из разных источников:

+

Тестирование реакции программы на предельные условия эксплуатации. (Канер и др.)

+

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

+

Выполнение программной системы c повышением нагрузки, вплоть до достижения запланированных характеристик и далее, с отслеживанием поведения на всем протяжении повышения загрузки системы. (SWEBOK)

+

Автоматизированное тестирование, имитирующее работу определенного количества бизнес пользователей на каком либо общем (разделяемом ими) ресурсе. Задачей тестирования является определение масштабируемости приложения под нагрузкой, при этом происходит:

+

измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций;

+

определение количества пользователей, одновременно работающих с приложением;

+

определение границ приемлемой производительности при увеличении нагрузки (при увеличении интенсивности выполнения этих операций);

+

исследование производительности на высоких, предельных, стрессовых нагрузках. (Про Тестинг)

+
+

+   Стабильности +

+
+

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

+

+

+

+Варианты определения из разных источников:

+

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

+
+

+   Стрессовое +

+
+

+Стрессовое тестирование (stress testing)  - тестирование, оценивающее систему на граничных значениях рабочих нагрузок или за их пределами, или же в состоянии ограниченных ресурсов, таких как память или доступ к серверу.

+

+

+

+Варианты определения из разных источников:

+

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

+

Оценка надежности и устойчивости системы в условиях превышения пределов нормального функционирования. (Криспин и др.)

+

Оценка производительности и устойчивости системы в случае, когда для своей работы она выделяет максимально доступное количество ресурсов либо когда она работает в условиях их критической нехватки. Основная цель стрессового тестирования - вывести систему из строя, определить те условия, при которых она не сможет далее нормально функционировать. (Синицын и др.)

+
+

+   Объёмное +

+
+

+Объемное тестирование (volume testing) - тестирование, проводимое для получения оценки производительности при увеличении объемов данных.

+

+

+Варианты определения из разных источников:

+

Тестирование, при котором система испытывается на больших объемах данных. (ISTQB)

+

Задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения, при этом происходит:

+

измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций;

+

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

+
+

+   Масштабируемости +

+
+

+Тестирование  масштабируемости (scalability testing)  - тестирование программного обеспечения для измерения возможностей вертикального и горизонтального масштабирования с точки зрения любой из нефункциональных возможностей будь то поддерживаемая пользовательская нагрузка, количество транзакций, объемы данных и т.д.

+

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

+

+Горизонтальное масштабирование  - разбиение системы на более мелкие структурные компоненты и разнесение их по отдельным физическим машинам и/или увеличение количества серверов параллельно выполняющих одну и ту же функцию.

+
+

+По хронологии выполнения +

+

+ Комплексное +

+
+

+Комплексное тестирование (complex testing)  - вид внутреннего тестирования продукта на соответствие установленным требованиям перед выпуском версии для тестирования. Особое внимание на этом этапе тестирования уделяется проверке взаимодействия модулей между собой.

+

Комплексное тестирование выполняется разработчиками согласно специальному плану тестирования.

+

+

+Варианты определения из разных источников:

+

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

+
+

+ Приёмочное +

+
+

+Приёмочное тестирование (acceptance testing) - формальный процесс тестирования, который проверяет соответствие системы потребностям, требованиям и бизнес процессам пользователя, и проводится для вынесения решения заказчиком (внутренним или внешним) или другим уполномоченным лицом принимается приложение или нет.

+

В НПО Компьютер  данный термин используются для обозначения:

+

собственно, приемочного тестирования, которое выполняется внутренними заказчиками;

+

входного теста, который выполняется при передаче объекта отделу тестирования.

+

+

+Варианты определения из разных источников:

+

Формальное тестирование по отношению к потребностям, требованиям и бизнес процессам пользователя, проводимое с целью определения соответствия системы критериям приёмки. (ISTQB)

+

Формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:

+

определения удовлетворяет ли система приемочным критериям;

+

вынесения решения заказчиком или другим уполномоченным лицом принимается приложение или нет. (Про Тестинг)

+

Фаза тестирования, характерная для программных систем, разрабатываемых на заказ. Как правило, заменяет этапы альфа- и бета- тестирования. (Синицын и др.)

+
+

+ Входной тест +

+
+

+Входной тест (intake test)  - специальный тип теста на «дым» для принятия решения, готов ли компонент или система для дальнейшего детального тестирования.

+

В компании НПО Компьютер проводится на этапе разработки сотрудниками отдела тестирования, практически, для всех продуктов. Успешное прохождение такого теста является критерием завершения этапа разработки. Всем больше известно под названием «приёмочное тестирование».

+

+

+Варианты определения из разных источников:

+

Специальный типтеста на «дым» для принятия решения, готов ли компонент или система для дальнейшего детального тестирования. Обычно проводится в начала фазы тестирования. (ISTQB)

+
+

+ Основное +

+
+

+Основное тестирование  - первый круг выполнения всех запланированных проверок для новой и/или измененной разработки.

+

Основное тестирование, в зависимости от целей, может совмещать в себе функциональное тестирование, тестирование пользовательского интерфейса и удобства использования; также может быть тестированием производительности или безопасности; в зависимости от «глубины» проверок может представлять собой экспресс-тестирование или санитарное тестирование и т.д.

+
+

+ Повторное +

+
+

+Повторное/Подтверждающее тестирование (re-testing/confirmation testing)  - тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок.

+

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

+

+

+Варианты определения из разных источников:

+

Тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок. (ISTQB)

+
+

+ Регрессионное +

+
+

+Регрессионное тестирование (regression testing)  - тестирование уже протестированной программы после модификации для уверенности в том, что процесс модификации не внес или не активизировал ошибки в областях, не подвергавшихся изменениям. Проводится после изменений в коде программного продукта или его окружения.

+

+

+Варианты определения из разных источников:

+

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

+

Цикл тестирования, который производится при внесении изменений на фазе системного тестирования или сопровождения продукта. (Синицын и др.)

+
+

+По степени автоматизации +

+

+ Ручное +

+
+

+Ручное тестирование (manual testing)  - выполнение тестовых процедур без использования каких-либо средств автоматизации.

+

+Функциональное  тестирование, чаще всего, ручное.

+

+

+Варианты определения из разных источников:

+

Выполнение тестовых процедур без использования каких-либо средств автоматизации. (ISTQB)

+
+

+ Автоматизированное +

+
+

+Автоматизированное тестирование (semiautomated testing)  - ручное тестирование с использованием средств автоматизации, например, для генерации тестовых данных или сбора, хранения, анализа результатов и др.

+

Примеры:

+

Скрипты для генерации тестовых данных (заполнение базы записями справочников, документами, задачами, пользователями, создание документов заданного размера и т.д.).

+

Утилиты отслеживания логов.

+

+

+Варианты определения из разных источников:

+

Ручное тестирование с использованием средств автоматизации, например, для сбора, хранения, анализа результатов и др. (ISTQB)

+
+

+ Автоматическое +

+
+

+Автоматическое тестирование (automated testing)  - использование программного обеспечения для осуществления или помощи в проведении определенных тестовых процедур, например, управление тестированием, проектирование тестов, выполнение тестов и проверка результатов.

+

Примеры:

+

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

+

Автоматические функциональные тесты.

+

И т.д.

+

+

+Варианты определения из разных источников:

+

Использование программного обеспечения для осуществления или помощи в проведении определенных тестовых процессов, например, управление тестированием, проектирование тестов, выполнение тестов и проверка результатов. (ISTQB)

+
+

+По формальности +

+

+ По тестам +

+
+

+Тестирование по тестам (scripted testing)  – тестирование по заранее составленным и задокументированным тестам.

+

К данному виду относится большая часть деятельности отдела тестирования.

+

+

+Варианты определения из разных источников:

+

Тестирование по заранее составленным и задокументированным тестам. (ISTQB)

+
+

+ Исследовательское +

+
+

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

+

Пример:

+

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

+

+

+Варианты определения из разных источников:

+

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

+
+

+ Специализированное (свободное) +

+
+

+Специализированное (свободное) тестирование (ad hoc testing)  - техника тестирования, основывающаяся на опыте, интуиции и знаниях инженера, рассматривающего проблему с точки зрения имевшихся ранее аналогий. Тестирование, выполняемое неформально: без формальной  подготовки  тестов,  формальных  методов  проектирования  тестов, определения ожидаемых результатов и руководства по выполнению тестирования.

+

+

+Варианты определения из разных источников:

+

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

+

Тестирование, выполняемое неформально; без формальной  подготовки  тестов,  формальных  методов  проектирования  тестов, определения ожидаемых результатов и руководства по выполнению тестирования. (ISTQB)

+
+

+По позитивности сценария +

+

+ Позитивное +

+
+

+Позитивное тестирование (positive testing)  - тестирование с использованием только корректных данных и проверка того, что приложение правильно выполняет вызываемые функции.

+

Как правило, проводится в первую очередь, для подтверждения принципиальной работоспособности объекта тестирования.

+

+

+Варианты определения из разных источников:

+

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

+
+

+ Негативное +

+
+

+Негативное тестирование (negative testing)  - тестирование с использованием как корректных, так и некорректных данных с целью проверки исключительных ситуаций.

+

Как правило, проводится после позитивного тестирования. В условиях жестких ограничений по срокам достаточно часто выступает в роли балласта, который в целях экономии времени отбрасывается и не проводится.

+

+

+Варианты определения из разных источников:

+

Тестирование с использованием как корректных, так и некорректных данных с целью проверки исключительных ситуаций. (Про Тестинг)

+
+

+По исполнению кода +

+

+ Статическое +

+
+

+Статическое тестирование (static testing)  - тестирование системы на уровне спецификации или реализации без исполнения кода программного продукта.

+

+

+Варианты определения из разных источников:

+

Тестирование системы на уровне спецификации или реализации без исполнения кода программного продукта. (ISTQB)

+
+

+  Статический анализ кода +

+
+

+Статический анализ кода (static code analysis)  - анализ исходного кода, производимый без его исполнения. Типичные дефекты статического анализа:

+

ссылка на переменную с неопределенным значением;

+

переменные, которые никогда не были использованы;

+

никогда не выполняемый код;

+

нарушение стандартов программирования и т.д.

+

В основном производится автоматически средствами разработки.

+

+

+Варианты определения из разных источников:

+

Анализ исходного кода, производимый без его исполнения. (ISTQB)

+
+

+  Рецензирование исходного кода +

+
+

+Рецензирование исходного кода (code review)  - вид тестирования, заключающийся в проверке исходных текстов элементов разработки (т.е. не путем проверки функционирования разработанного элемента, а изучением внутренней реализации этого элемента).

+

Выполняется разработчиками, не принимавшими участия в разработке (модификации) данного элемента разработки.

+

+

+Варианты определения из разных источников:

+

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

+
+

+ Динамическое +

+
+

+Динамическое тестирование (dynamic testing)  - тестирование, проводимое во время выполнения программного обеспечения, компонента или системы.

+

К динамическому тестированию, в настоящее время, относится вся деятельность отдела тестирования.

+

+

+Варианты определения из разных источников:

+

Тестирование, проводимое во время выполнения программного обеспечения, компонента или системы. (ISTQB)

+
+

+По знанию системы +

+

+ Белого ящика +

+
+

+Тестирование белого ящика (white box testing)  - тестирование, основанное на анализе внутренней структуры компонента или системы и на знании исходного кода, к которому тестировщик (как правило, это программист) имеет полный доступ.

+

+

+Тестирование белого ящика в НПО Компьютер чаще всего проводится разработчиками, но может вытекать из явного указания целей тестирования какого-либо объекта, передаваемого в наш отдел. Например, целью тестирования может быть проверка конкретной ISBL-функции. При тестировании прикладной разработки DIRECTUM исходный код доступен полностью, но, бывает, к исходному коду не обращаются, ориентируясь только на информацию о том, как объект должен функционировать. И такое тестирование при всей доступности исходного кода нельзя назвать тестированием белого ящика. +

+

+

+Варианты определения из разных источников:

+

Тестирование, основанное на анализе внутренней структуры компонента или системы. (ISTQB)

+

Тестировщик (как правило, это программист) разрабатывает тесты, основываясь на знании исходного кода, к которому он имеет полный доступ. (Канер и др.)

+
+

+ Серого ящика +

+
+

+Тестирование серого ящика (gray box testing)  - тестирование, ориентированное на имитацию работы пользователей, в условиях, когда часть внутренней структуры программы известна.

+

+

+Варианты определения из разных источников:

+

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

+
+

+ Чёрного ящика +

+
+

+Тестирование чёрного ящика (black box testing)  - тестирование, основанное на анализе функциональной или нефункциональной спецификации системы, при котором программа рассматривается как объект, внутренняя структура которого неизвестна.

+

+

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

+

+

+Варианты определения из разных источников:

+

Тестирование, основанное на анализе функциональной или нефункциональной спецификации системы без знания внутренней структуры. (ISTQB)

+

Тестирование, при котором программа рассматривается как объект, внутренняя структура которого неизвестна. (Канер и др.)

+
+

+По уровню тестирования +

+

+ Модульное (компонентное) +

+
+

+Модульное/компонентное тестирование (unit/component testing)  - тестирование наименьших элементов программного обеспечения, которые могут быть протестированы по-отдельности (модули, объекты, классы, функции). Задача модульного тестирования - выявление локализованных в модуле ошибок реализации алгоритмов, а также в определение степени готовности системы к переходу на следующий уровень разработки и тестирования.

+

В НПО Компьютер над различными отделимыми фрагментами программ, составляющих платформу IS-Builder, модульное тестирование выполняется самими разработчиками, проводится по принципу «белого ящика» и часто включает те или иные методы анализа кода. Дефекты при модульном тестировании, как правило, исправляются сразу после нахождения без составления отчета об ошибке. В большинстве случаев тестирование полностью автоматизировано. Для компонент прикладной разработки и других частей системы DIRECTUM модульное тестирование может проводиться в отделе тестирования.

+

+

+Варианты определения из разных источников:

+

Тестирование наименьших элементов программного обеспечения, которые могут быть протестированы по-отдельности (модули, объекты, классы, функции). (ISTQB)

+

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

+

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

+

Этот уровень тестирования позволяет проверить функционирование отдельно взятого элемента системы. Что считать элементом – модулем системы определяется контекстом. (SWEBOK)

+
+

+ Интеграционное +

+
+

+Интеграционное тестирование (integration testing)  - тестирование части системы, состоящей из двух и более модулей. Задача интеграционного тестирования - поиск дефектов, связанных с ошибками реализации и интерпретации интерфейсного взаимодействия между модулями, а также ошибок взаимодействия с другими частями системы (операционной системой, оборудованием).

+

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

+

+

В НПО Компьютер над различными отделимыми фрагментами программ, составляющих платформу IS-Builder, интеграционное тестирование выполняется самими разработчиками. Для компонент прикладной разработки и других частей системы DIRECTUM интеграционное тестирование может проводиться в отделе тестирования.

+

+

+Варианты определения из разных источников:

+

Тестирование, выполняемое для обнаружения дефектов в интерфейсах и во взаимодействии между интегрированными компонентами или системами. (ISTQB)

+

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

+

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

+

Данный уровень тестирования является процессом проверки взаимодействия между программными компонентами/модулями. (SWEBOK)

+
+

+ Системное +

+
+

+Системное тестирование (system testing)  - процесс тестирования системы в целом с целью проверки того, что она соответствует установленным требованиям. Задача системного тестирования - выявление дефектов, связанных с работой системы в целом, таких как неверное использование ресурсов системы, непредусмотренные комбинации данных пользовательского уровня, несовместимость с окружением, непредусмотренные сценарии использования, отсутствующая или неверная функциональность, неудобство в применении и т.д.

+

+

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

+

+

В НПО Компьютер над различными отделимыми фрагментами программ, составляющих платформу IS-Builder, системное тестирование выполняется самими разработчиками на этапе комплексного тестирования. Для компонент прикладной разработки и других частей системы DIRECTUM системное тестирование проводится в отделе тестирования и составляет большую часть его деятельности.

+

+

+Варианты определения из разных источников:

+

Процесс тестирования системы в целом с целью проверки того, что она соответствует установленным требованиям. (ISTQB)

+

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

+
+

+  +

+

+

+
+

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

+

+

В приведенных определениях под наименьшим элементом понимается скорее законченный фрагмент программы. А если в качестве «модуля» рассматривается, например, прикладной модуль системы DIRECTUM, то:

+

модульное тестирование будет направлено на проверку конкретных функций, справочников, блоков ТМ и т.д.;

+

интеграционное тестирование будет направлено на проверку корректности взаимодействия всех модулей друг с другом (выполнение прикладных функций при создании записи справочника и т.д.);

+

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

+

+

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

+
+

+По разработке тестовых сценариев +

+

+ На основе требований +

+
+

+Тестирование на основе требований (requirements-based testing)  - подход к тестированию, при котором тестовые сценарии разрабатываются на основе целей и условий тестирования, вытекающих из требований. Так для каждого требования пишется один или несколько тестовых случаев, проверяющих выполнение данного требования.

+

+

+В НПО Компьютер на данном подходе основана практически вся деятельность отдела тестирования.

+

+

+Варианты определения из разных источников:

+

Подход к тестированию, при котором тестовые сценарии разрабатываются на основе целей и условий тестирования, вытекающих из требований. (ISTQB)

+

Для каждого требования пишутся тестовые случаи, проверяющие выполнение данного требования. (Про Тестинг)

+
+

+ По вариантам использования +

+
+

+Тестирование по вариантам использования (use case testing)  - подход к тестированию, при котором тестовые сценарии создаются для выполнения сценариев использования, написанных на основе представления о способах использования продукта.

+

+

В НПО Компьютер данный подход, в основном, используется при тестировании продуктов отделами внедрения.

+

+

+Варианты определения из разных источников:

+

Разработка тестов методом черного ящика, в котором тестовые сценарии создаются для выполнения сценариев использования. (ISTQB)

+

На основе представления о способах использования продукта создаются варианты использования системы (use cases). По конкретному варианту использования можно определить один или более сценариев. На проверку каждого сценария пишутся тесты, которые должны быть проверены. (Про Тестинг)

+
+

+ На основе модели +

+
+

+Тестирование на основе модели (model-based testing)  - тестирование программного обеспечения, в котором тесты частично или полностью получаются из модели, описывающей некоторые аспекты (чаще функциональные) тестируемой системы.

+

Примеры:

+

Стандартные проверки инсталляторов - тестирование мастеров установки на основе диаграммы состояний и переходов для инсталляторов.

+

Conterra 2.0. ПЧ. Тестирование - тестирование работы с модулем Record Management на основе схемы переходов по стадиям ЖЦ записи.

+

+

+Варианты определения из разных источников:

+

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

+
+

+По исполнителям тестирования +

+

+ Альфа-тестирование +

+
+

+Альфа-тестирование (alpha testing)  - внутреннее пробное использование. Фаза тестирования характерная для программных систем общего применения (не разрабатываемых на заказ).

+

+

В НПО Компьютер к данному виду можно отнести тестирование в отделах разработки. Примечание. Деятельность отдела тестирования трудно однозначно отнести к альфа- или бета-тестированию, так как выполняемая работа проявляет признаки обоих видов.

+

+

+Варианты определения из разных источников:

+

Моделируемое  или  действительное эксплуатационное  тестирование  потенциальными  пользователями/заказчиками  или независимой командой тестирования на стороне разработчиков, но вне разрабатывающей организации.  Альфа-тестирование  часто  применяется  к  готовому  программному обеспечению в качестве внутреннего приёмочного тестирования. (ISTQB)

+

Внутреннее пробное использование. (SWEBOK)

+

Фаза тестирования, характерная для программных систем общего применения (не разрабатываемых на заказ). (Синицын и др.)

+
+

+ Бета-тестирование +

+
+

+Бета-тестирование (beta testing)  - пробное использование с привлечением отобранных внешних пользователей. Фаза тестирования характерная для программных систем общего применения (не разрабатываемых на заказ).

+

+

В НПО Компьютер к данному виду можно отнести опытную эксплуатацию.

+

Примечание. Деятельность отдела тестирования трудно однозначно отнести к альфа- или бета-тестированию, так как выполняемая нами работа проявляет признаки обоих видов.

+

+

+Варианты определения из разных источников:

+

Эксплуатационное  тестирование  потенциальными и/или существующими клиентами/заказчиками на внешней стороне никак не связанными с  разработчиками,  с  целью  определения  действительно  ли  компонент  или  система удовлетворяет  требованиям  клиента/заказчика  и  вписывается  в  бизнес-процессы.  Бета-тестирование часто проводится как форма внешнего приёмочного тестирования готового программного обеспечения для того чтобы получить отзывы рынка. (ISTQB)

+

Пробное использование с привлечением отобранных внешних пользователей. (SWEBOK)

+

Фаза тестирования, характерная для программных систем общего применения (не разрабатываемых на заказ). (Синицын и др.)

+
+

+Источники +

+

+

+

+ Глоссарий ISTQB +

+
+

Самый известный, полный и, пожалуй, самый достоверный глоссарий терминов тестирования. Подготовлен "Glossary Working Party" International Software Testing Qualifications Board.

+
+

+  ISTQB - Glossary 2.2 (RU) +

+
+

Стандартный глоссарий терминов, используемых в тестировании программного обеспечения

+

Версия 2.2 (от 15 Апреля 2013 года)

+

Подготовлен "Glossary Working Party" International Software Testing Qualifications Board

+

http://www.rstqb.org/fileadmin/user_upload/redaktion/rstqb_ru/downloads/ISTQB_Glossary_Russian_v2_2.pdf

+
+

+ SWEBOK +

+
+

SWEBOK

+

Документ подготовлен Software Engineering Coordinating Committee.

+

Назначение SWEBOK - в объединении знаний по инженерии программного обеспечения (разработке программного обеспечения).

+
+

+  Основы Программной Инженерии (по SWEBOK) +

+
+

Основы Программной Инженерии (по SWEBOK)

+

Русский перевод SWEBOK 2004 с замечаниями и комментариями подготовлены Сергеем Орликом при участии Юрия Булуя. Дополнительные главы написаны Сергеем Орликом.

+

Ссылки:

+

http://swebok.sorlik.ru/

+
+

+  IEEE SWEBOK (2004) +

+
+

SWEBOK -SoftwareEngineeringBodyofKnowledge

+

Ссылки:

+

http://www.swebok.org/

+

http://www.computer.org/portal/web/swebok/2004guide

+
+

+ Книга "Гибкое тестирование...", Криспин и др. +

+

+ Книга "Тестирование программного обеспечения", Канер и др. +

+

+ Книга "Верификация программного обеспечения", Синицын и др. +

+

+ Книга "Usability Engineering", Nielsen +

+

+ Глоссарий NIAG +

+

+ Сайт "Про Тестинг" +

+

+ Глоссарий НПО Компьютер +

+ + diff --git a/xMind.3.5.1/Testing.Map (xMind 3.5.1).png b/xMind.3.5.1/Testing.Map (xMind 3.5.1).png new file mode 100644 index 0000000..fdd702e Binary files /dev/null and b/xMind.3.5.1/Testing.Map (xMind 3.5.1).png differ diff --git a/xMind.3.5.1/Testing.Map (xMind 3.5.1).xmind b/xMind.3.5.1/Testing.Map (xMind 3.5.1).xmind new file mode 100644 index 0000000..facf492 Binary files /dev/null and b/xMind.3.5.1/Testing.Map (xMind 3.5.1).xmind differ diff --git a/xMind.3.5.1/Testing.Map (xMind 3.5.1)_files/images/symbol_question.png b/xMind.3.5.1/Testing.Map (xMind 3.5.1)_files/images/symbol_question.png new file mode 100644 index 0000000..4b72d87 Binary files /dev/null and b/xMind.3.5.1/Testing.Map (xMind 3.5.1)_files/images/symbol_question.png differ diff --git "a/xMind.3.5.1/Testing.Map (xMind 3.5.1)_files/images/\320\222\320\270\320\264\321\213 \321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.jpg" "b/xMind.3.5.1/Testing.Map (xMind 3.5.1)_files/images/\320\222\320\270\320\264\321\213 \321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.jpg" new file mode 100644 index 0000000..0f34e02 Binary files /dev/null and "b/xMind.3.5.1/Testing.Map (xMind 3.5.1)_files/images/\320\222\320\270\320\264\321\213 \321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.jpg" differ