Главная страница

Введение в тестирование по содержание


Скачать 3.94 Mb.
НазваниеВведение в тестирование по содержание
Дата01.06.2022
Размер3.94 Mb.
Формат файлаppt
Имя файла17569.ppt
ТипРеферат
#563000
страница10 из 10
1   2   3   4   5   6   7   8   9   10

Функциональное тестирование

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

Функциональное тестирование включает в себя:


Тестирование установки и лицензирования

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

Тестирование защищенности

Тестирование защищенности: Тестирование с целью оценить защищенность программного продукта

Объекты тестирования:


пароли шифрование аппаратные устройства доступа уровни доступа к информации авторизация скрытые каналы безопасность на физическом уровне

Тестирование графического пользовательского интерфейса

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

Нефункциональное тестирование

Нефункциональное тестирование: Тестирование атрибутов компонента или системы, не относящихся к функциональности, то есть надежность, эффективность, практичность, сопровождаемость и переносимость.

Тестирование производительности

Тестирование производительности: Процесс тестирования с целью определить производительность программного продукта


Тестирование производительности: в инженерии программного обеспечения тестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой. Также может служить для проверки и подтверждения других атрибутов качества системы, таких как масштабируемость, надёжность и потребление ресурсов. http://ru.wikipedia.org/

Тренинг "SQA-033 Основы тестирования производительности"

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

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

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

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

Тестирование удобства использования

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

Тестирование по изменениям…

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

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

По типу прогона тестов..

Ручное тестирование: Процесс ручного тестирования продукта. Тестировщик играет роль конечного пользователя, используя максимальное количество функций программы, чтобы удостовериться в их корректной работе. Автоматизированное тестирование: Использование программного обеспечения (помимо тестируемого ПО) для контроля выполнения тестов, сравнения полученных результатов с эталонными, установки предусловий тестов и других функций контроля тестирования и организации отчетов.

Дефекты

Дефекты – основная продукция тестировщиков

Отчет о дефекте – основной продукт работы большинства тестировщиков.

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

Отчет о дефекте

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

Инструмент управления дефектами

Система управления дефектами: Инструмент, обеспечивающий фиксирование дефектов и изменений, а также поддержку их состояний. Часто имеет процессно-ориентированные возможности для поддержки и контроля распределения, исправления и повторной проверки дефектов, а также возможности отчетности
Тренинг "SQA-024 Основы управление дефектами"

Жизненный цикл отчета об ошибке

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

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

Пример ЖЦ дефекта 1/3

Пример ЖЦ дефекта 2/3

После сообщения о дефекте, отчет изучается коллегой тестировщика, сообщившего о нем, или руководителем тестирования.

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

Пример ЖЦ дефекта 3/3

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

Любой статус помимо «отклонен», «отложен» или «закрыт» требует работ по устранению дефекта до окончания проекта. У отчета о дефекте в таком статусе есть владелец, ответственный за переход инцидента в следующий статус.

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

Отчет о дефекте 1/6

Идентификатор. Уникальный ID, присваиваемый отчету о дефекте, который может быть использован при его поиске и упоминании о нем.

Краткое описание. Краткое описание дефекта.

Подробное описание. Детальное описание дефекта.

Влияние. Критичность и серьйозность дефекта.

IEEE 829 Standard for Software Test Documentation

Отчет о дефекте 2/6

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

Отчет о дефекте 3/6

Описание инцидента может содержать следующую информацию:


Время и дата
Имя тестировщика
Аппаратные и программные конфигурации
Входные данные
Шаги процедуры
Ожидаемые результаты
Фактические результаты
Попытки воспроизвести дефект, описание испытанных средств
Прочие наблюдения и информация, которые могут помочь программисту обнаружить дефект

Отчет о дефекте 4/6

Влияние касается приоритета и критичности дефекта


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

Отчет о дефекте 5/6

Уровни критичности:


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

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


Отчет о дефекте 6/6

Приоритеты:


Требует немедленного устранения, делает невозможным дальнейшее тестирование, явный дефект
Должен быть устранен до релиза
Устранить, когда будет время
Желательно устранить, но не препятствует релизу продукта

По мере развития проекта приоритеты могут меняться


Классификация дефектов 1/6


Комментарии: Несоответствующие/некорректные/дезориентирующие или пропущенные комментарии в исходном коде
Ошибка в вычислениях: Неправильный расчет по формуле/ неправильная бизнес валидация в коде
Ошибка данных: Некорректная совокупность данных/обновление БД
Ошибка базы данных: Ошибка в схеме/структуре БД
Упущения при проектировании: Проектные данные/методы проектирования упущены/не отражены в документации и не отвечают требованиям

Классификация дефектов 2/6


Некорректное или условно-оптимальное проектирование: Проектные данные/методы проектирования требуют корректировки для того, чтобы считаться полными. Описанные конструктивные особенности не являются оптимальными для требуемого решения
Неправильное проектирование: Неправильное или неточное проектирование
Нечеткое проектирование: Проектные данные/методы проектирования не ясны для рецензента. Слова допускают двоякое толкование, проектные данные нечетки
Граничные условия не учтены: Граничные условия некорректны/не учтены

Классификация дефектов 3/6


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

Классификация дефектов 4/6


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

Классификация требований 5/6


Нечеткие требования: Требования не ясны рецензенту. Используются слова, допускающие двоякое толкование (например, вроде, возможно, может быть и т.д.)
Ошибка настроек времени/очередности: Ошибка, вызванная неверными/отсутствующими расчетами времени ожидания и очередности
Стандарты: Не соблюдаются стандарты, например, стандарты по проектированию/сбору требований/кодированию, имеющие отношение к проекту

Классификация требований 6/6


Системная ошибка: Аппаратные ошибки и ошибки ОС, потеря доступа к памяти, системный сбой
Ошибка тестового плана/сценария: Неполноценные/неверные/нечеткие/дублирующие или пропущенные тестовые планы/сценарии, неполная/неверная конфигурация тестов
Типографическая ошибка: Орфографические/грамматические ошибки в документации/исходном коде
Ошибка объявления переменных: Неверная декларация / использование переменных, ошибка несоответствия типов в исходном коде

В реальности далеко не все найденные дефекты устраняются. Некоторые не устраняются вовсе, исправление же некоторых откладывается до следующего релиза.

Причина 1 – Нехватка времени. В любом проекте приходится иметь дело с огромным количеством программных свойств. Людей, которые эти свойства могли бы записать в код и протестировать, как правило не хватает, не говоря уже о времени для завершения работ. Причина 2 – Дефект вовсе не дефект. Может, вам доводилось слышать фразу: «Это не дефект, а такое свойство!». Это часто приводит к непониманиям, ошибкам в тестах или изменениям в спецификации, поскольку потенциальные дефекты рассматриваются как свойства системы. Причина 3 – Устранять неисправность слишком рискованно. К сожалению, это случается очень часто. ПО – хрупкая и взаимосвязанная система. Устранение одной неисправности может привести к появлению других. Менять что-либо в программе незадолго до выпуска релиза может быть очень рискованной затеей. Лучше оставить в программе известный дефект, чтобы избежать риска появления новых, неизвестных. Причина 4 – Это того не стоит. Дефекты, которые будут проявляться очень редко или в малоиспользуемых функциях, могут быть оставлены без изменений. Дефекты, которые можно обойти или предотвратить, так же часто не устраняются. Все сводится к оценке рисков. Причина 5 – Неэффективный отчет о дефектах. Тестировщик недостаточно обосновал необходимость устранения определенного дефекта. В результате, дефект не был воспринят как таковой, был воспринят как не препятствующий выпуску продукта, как слишком рискованный для устранения или просто как не стоящий усилий по устранению.

Упражнение

Представьте, что вы тестируете калькулятор Windows, который выдает: 1+1=2, 2+2=5, 3+3=6, 4+4=9, 5+5=10 и 6+6=13. Напишите отчет о дефекте, который бы эффективно описывал проблему.


5 мин на размышления
10 мин на разбор

Портрет тестировщика ПО

Личные навыки

Навыки тестирования ПО приобретаются через опыт или обучение в различных направлениях деятельности. Все нижеперечисленное может внести свой вклад в базу знаний тестировщика:


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

Использование программных систем

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

Знание проблемной области или бизнеса

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

Участие в различных этапах разработки ПО

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

Участие в тестировании ПО

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

Навыки межличностного общения

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

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

Литература

Дополнительная литература


“Lessons Learned in Software Testing” by Cem Kaner, James Bach and Bret Pettichord
“Foundations of Software Testing” by Dorothy Graham, Erik van Veenendaal, Isabel Evans, Rex Black
“Software testing” by Ron Patton
“Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах” Роман Савин
“How to Break Software: A Practical Guide to Testing” James A. Whittaker

1   2   3   4   5   6   7   8   9   10


написать администратору сайта