SlideShare a Scribd company logo
1 of 23
Тестирование - это процесс многократного выполнения
программы с целью выявления ошибок. Целью тестирования
является обнаружение максимального числа ошибок. Поэтому
тестовый прогон, в результате которого не выявлено
ошибок, считается неудачным (неэффективным).
Отладка-этап разработки компьютерной программы, на
котором обнаруживают, локализуют и устраняют ошибки.
Существуют следующие подходы к
формулированию стратегии тестирования:
1. Определение объемов тестовых работ;
2. Определение подхода к тестированию;
3. Определение критериев тестирования и
точек контроля качества;
4. Определение стратегии автоматизации.
• Повысить вероятность того, что приложение,
предназначенное для тестирования, будет работать
правильно при любых обстоятельствах;
• Повысить вероятность того, что приложение,
предназначенное для тестирования, будет соответствовать
всем описанным требованиям;
• Провести полное тестирование приложения за короткий
срок.
1) Проверить, что система работает в соответствии с
определенными временами отклика клиента и сервера;
2) Проверить, что наиболее критические последовательности
действий с системой конечного пользователя выполняются верно;
3) Проверить работу пользовательских интерфейсов;
4) Проверить, что изменения в базах данных не оказывают
неблагоприятного влияния на существующие программные
модули;
5) При проектировании тестов свести к минимуму переработку
тестов при возможных изменениях приложения;
6) Использовать инструменты автоматизированного
тестирования там, где это целесообразно;
7) Проводить тестирование таким образом, чтобы не только
обнаруживать, но и предупреждать дефекты;
8) При проектировании автоматизированных тестов использовать
стандарты разработки таким образом, чтобы создать многократно
используемые и сопровождаемые скрипты.
По типу тестов:
Функциональные типы тестов;
(рассматривают внешнее поведение системы)
Нефункциональные типы тестов;
(описывает тесты, необходимые для определения
характеристик ПО, которые могут быть измерены различными
величинами)
Типы тестов, связанные с изменениями.
(для подтверждения того факта, что после изменения
проблема была действительно решена)
По уровням тестирования:
• Компонентное (модульное) тестирование(Проверка отдельных
модулей программы, тестирование носит изолированный характер.
Включает в себя как функциональные, так и нефункциональные виды
тестирования);
• Интеграционное тестирование(Тестирования взаимодействия между
компонентами (модулями) системы. Включает в себя как
функциональные, так и нефункциональные виды тестирования);
• Системное тестирование(Проверяется поведение системы в целом.
Включает в себя как функциональные, так и нефункциональные виды
тестирования);
• Приемочное тестирование(Целью приемочного тестирования
является оценка готовности системы для ее выпуска).
ПО ЗНАНИЮ СИСТЕМЫ (ДОСТУПНОСТИ
КОДА):
• Тестирование чёрного ящика(Тестирование проводится
без доступа к исходному коду);
• Тестирование белого ящика(Тестирование проводится с
доступом к исходу коду и с возможностью модификации
кода);
• Тестирование серого ящика(Представляет собой
объединение двух выше перечисленных видов
тестирования).
По объекту тестирования:
• Функциональное тестирование(Проверка функций и характеристик разрабатываемого
ПО на основе проектной документации);
• Тестирование производительности (Проверка работоспособности системы под
нагрузкой. Может служить для проверки и подтверждения других атрибутов качества системы, таких
как масштабируемость, надёжность и потребление ресурсов);
• Юзабилити-тестирование/Тестирование интерфейса; пользователя
(Цель данного вида тестирования заключается в определении степени удобства и практичности
пользовательского интерфейса) ;
• Тестирование безопасности (Проверка надежности системы от возможных рисков и
угроз (потеря, конфиденциальность, целостность и доступность данных));
• Тестирование локализации (Корректность перевода и работы отдельных компонентов
системы (форматы дат, единицы измерения и т.д.));
• Тестирование совместимости (Проверка возможности приложения взаимодействовать
с различными программными продуктами, операционными системами и окружением).
По степени автоматизации:
• Ручное тестирование(Тестирование проводится без
инструментов автоматизации);
• Автоматизированное тестирование (Тестирование на всех
уровнях выполняется с использованием средств автоматизации);
• Полуавтоматизированное тестирование (Предполагается,
что для определенных целей применяется автоматизации
(автоматизации развертки окружения, автоматизация
функционального тестирования, автоматизация генерации данных
и т.д.).
По времени проведения тестирования:
• Тестирование при приёмке (Минимальный набор тестов на явные
ошибки);
• Тестирование новой функциональности(Тестируется новые
функции системы);
• Регрессионное тестирование(Проверка изменений сделанных в
системе для подтверждения того факта, что существующая ранее
функциональность работает как и прежде) ;
• Тестирование при сдаче(Целью приемочного тестирования
является оценка готовности системы для его выпуска на рынок или
передачи клиенту. Может включать в себя альфа-тестирование
(alpha testing) и бета-тестирование (beta testing)).
По признаку позитивности сценариев:
• Позитивное тестирование(Проверка позитивных (правильных)
пользовательских сценариев. На вход подается разрешенные (ожидаемые) данные);
• Негативное тестирование(Проверка реакции системы на ввод негативных (не
разрешенных) данных) .
По степени подготовленности к тестированию
• Тестирование по документации(Тестирование приложения проводится по заранее
подготовленным данным (тест-кейсы, чек-листы, чит-листы, спецификация и т.д.));
• Тестирование ad hoc или интуитивное тестирование(тестирование проводится
при полном отсутствии документации, без плана и цели);
• Тестирование методом свободного поиска или исследовательское
тестирование(предполагается наличие минимально необходимой для тестирования
документации).
-Модульное тестирование
(заключается в изолированной проверке каждого отдельного элемента путем запуска тестов в
искусственной среде)
-Интеграционное тестирование
(предназначено для проверки связи между компонентами, а также взаимодействия с различными
частями системы (операционной системой, оборудованием либо связи между различными
системами))
-Системное тестирование
(задачей CТ является проверка как функциональных, так и не функциональных требований в системе в
целом)
– Альфа-тестирование
((имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой
потенциальными пользователями/заказчиком. )
– Бета-тестирование
(интенсивное использование почти готовой версии продукта (как
правило, программного или аппаратного обеспечения) с целью выявления максимального
числа ошибок в его работе для их последующего устранения перед окончательным выходом
(Релизом) продукта на рынок, к массовому потребителю )
Воспроизведение дефекта;
Анализ дефекта;
Дизайн исправления дефекта;
Кодирование исправления дефекта;
Валидация исправления;
Интеграция исправления в кодовую базу;
Дополнительные валидации после интеграции.
Запуск программы из под отладчика;
Логировании кода;
Анализ кода без исполнения программы;
Анализ поведения системы или ее части;
Unit тестирование;
Прототипирование;
Отладка с помощью memory-dump-ов или crash-дампов;
Отладка с помощью перехватов;
Профилирование кода;
Выполнение программы в другой среде;
Отладка методом RPC;
Отладка путем анализа документации;
Отладка трансляцией кода;
Отладка разработкой интерпретатора.
•Ошибки анализа;
•Ошибки общего характера;
•Ошибки физического характера;
•Правильность программ;
•Синтаксические ошибки;
•Неопределенные переменные.
Связаны либо с неполным учетом ситуации, которые могут возникнуть, либо с
неверным решением задачи.
К 1 случаю относятся, например, пренебрежение возможностью появления
отрицательных значений переменных, малых и больших величин.
Во 2 случае обычно имеют место крупные и мелкие логические ошибки, из
которых можно назвать:
Отсутствие заданий начальных значений переменных.
• Неверные условия окончания цикла;
• Неверную индексацию цикла;
• Отсутствие задания условий инициирования цикла;
• Неправильное указание ветви алгоритма для продолжения процесса решения
задачи.
После того, как найден подходящий алгоритм решения задачи, на
этапе программирования также могут появиться ошибки,
независимо от выбранного языка.
Такими ошибками могут быть :
• ошибки из-за недостаточного знания или понимания
программистом языка программирования или самой машины;
• ошибки, допущенные при программировании алгоритма, когда
команды, используемые в программе, не обеспечивают
последовательности событий, установленной алгоритмом.
Можно назвать несколько типов ошибок, вызываемых
неверными действиями программиста:
• Пропуск некоторых операторов;
• Отсутствие необходимых данных;
• Непредусмотренные данные;
• Неверный формат данных.
Любые программы - правильные в отношении их логического
построения только для определенного типа данных, поэтому
необходимо четко определить область значений данных, в которой
программа способна функционировать. Необходимо вводить
операторы, позволяющие проверить, находятся ли данные в
установленных границах.
Нарушение правильности может проявляться двумя способами:
• неверная синтаксическая конструкция программы;
• программа выдает неверные результаты.
Выявление транслятором синтаксических ошибок представляет собой самый
важный и необходимый этап отладки программы.
Если под синтаксической ошибкой понимать "всякое нарушение требований
языка программирования", то следует признать, что многие ошибки остаются
необнаруженными.
Советы по устранению ошибок:
• Если ошибок много, то в первую очередь устранить очевидные;
• Обратиться к руководству по программированию на данном языке (справка);
• Выбрать хороший отладочный компилятор.
Распространенными источниками программных ошибок являются
неопределенные переменные и переменные, для которых не
заданы начальные значения.
Определение начальных значений:
• Присваивание;
• Ввод;
• Чтение из файла.
Разные прогоны программы с одними и теми же данными могут
привести к различным результатам.

More Related Content

What's hot

Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестированияAlexander Solosh
 
тестирование по
тестирование потестирование по
тестирование поIon Griu
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Igor Khmelnytskyy
 
Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Igor Khmelnytskyy
 
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...ITMO University
 
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)sqadays8
 
Ptsp презентация
Ptsp презентацияPtsp презентация
Ptsp презентацияakmoldir
 
Артефакты тестирования: быть или не быть?
Артефакты тестирования: быть или не быть?Артефакты тестирования: быть или не быть?
Артефакты тестирования: быть или не быть?Maksim Grinevich
 
Тест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писатьТест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писатьSQALab
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test processQA Guards
 
2.3 Тестирование: процесс, роли, артефакты
2.3 Тестирование: процесс, роли, артефакты2.3 Тестирование: процесс, роли, артефакты
2.3 Тестирование: процесс, роли, артефактыNatalia Odegova
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...SQALab
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019GoQA
 
Grey box techniques
Grey box techniquesGrey box techniques
Grey box techniquesQA Guards
 
МАСТЕР-КЛАСС. Риски тестирования
МАСТЕР-КЛАСС. Риски тестированияМАСТЕР-КЛАСС. Риски тестирования
МАСТЕР-КЛАСС. Риски тестированияSQALab
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionAlexei Lupan
 

What's hot (20)

Процесс тестирования
Процесс тестированияПроцесс тестирования
Процесс тестирования
 
тестирование по
тестирование потестирование по
тестирование по
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
 
Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)Тестирование ПО (лекция 3)
Тестирование ПО (лекция 3)
 
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...
 
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)Александр Александров -- Надёжный тест-дизайн (мастер-класс)
Александр Александров -- Надёжный тест-дизайн (мастер-класс)
 
Ptsp презентация
Ptsp презентацияPtsp презентация
Ptsp презентация
 
Артефакты тестирования: быть или не быть?
Артефакты тестирования: быть или не быть?Артефакты тестирования: быть или не быть?
Артефакты тестирования: быть или не быть?
 
Тест-дизайн "в цикле"
Тест-дизайн "в цикле"Тест-дизайн "в цикле"
Тест-дизайн "в цикле"
 
Тест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писатьТест-дизайн: проще читать или проще писать
Тест-дизайн: проще читать или проще писать
 
Test levels
Test levelsTest levels
Test levels
 
Fundamental test process
Fundamental test processFundamental test process
Fundamental test process
 
02ka-nov
02ka-nov02ka-nov
02ka-nov
 
2.3 Тестирование: процесс, роли, артефакты
2.3 Тестирование: процесс, роли, артефакты2.3 Тестирование: процесс, роли, артефакты
2.3 Тестирование: процесс, роли, артефакты
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
 
Test types
Test typesTest types
Test types
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
 
Grey box techniques
Grey box techniquesGrey box techniques
Grey box techniques
 
МАСТЕР-КЛАСС. Риски тестирования
МАСТЕР-КЛАСС. Риски тестированияМАСТЕР-КЛАСС. Риски тестирования
МАСТЕР-КЛАСС. Риски тестирования
 
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interactionSqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
Sqa.days.2010.beskov.system.analyst.and.test.engineers.interaction
 

Viewers also liked

Sarrià de Ter en Xarxa. Càpsula 59. 18des15
Sarrià de Ter en Xarxa. Càpsula 59. 18des15Sarrià de Ter en Xarxa. Càpsula 59. 18des15
Sarrià de Ter en Xarxa. Càpsula 59. 18des15Roger Casero Gumbau
 
S10 approaches to psycho social support-war child holland
S10 approaches to psycho social support-war child hollandS10 approaches to psycho social support-war child holland
S10 approaches to psycho social support-war child hollandPorticus Vienna
 
S3 addressing dimensions of quality education holistically lal_dot
S3 addressing dimensions of quality education holistically lal_dotS3 addressing dimensions of quality education holistically lal_dot
S3 addressing dimensions of quality education holistically lal_dotPorticus Vienna
 
Planeación inglesa1
Planeación inglesa1Planeación inglesa1
Planeación inglesa1blognms
 
Kyle's Resume II
Kyle's Resume IIKyle's Resume II
Kyle's Resume IIJames LaHue
 
Apartamento 02 Quartos - Campo Grande
Apartamento 02 Quartos - Campo GrandeApartamento 02 Quartos - Campo Grande
Apartamento 02 Quartos - Campo GrandeTiago Galindo
 
Question 3 audience feedback
Question 3   audience feedbackQuestion 3   audience feedback
Question 3 audience feedbackASmediaamy
 
Trabajo Final de Matemática Financiera, UPC
Trabajo Final de Matemática Financiera, UPC Trabajo Final de Matemática Financiera, UPC
Trabajo Final de Matemática Financiera, UPC María Fernanda Valdizán
 
contoh implementasi komunikasi pemasaran
contoh implementasi komunikasi pemasarancontoh implementasi komunikasi pemasaran
contoh implementasi komunikasi pemasaranKonsultan Skripsi
 
Dimensions of Quality in e-Learning
Dimensions of Quality in e-LearningDimensions of Quality in e-Learning
Dimensions of Quality in e-LearningRosario Cação
 
Lecture 16 inflation
Lecture 16 inflationLecture 16 inflation
Lecture 16 inflationGale Pooley
 
Lecture 6 measuring the cost of living
Lecture 6 measuring the cost of livingLecture 6 measuring the cost of living
Lecture 6 measuring the cost of livingGale Pooley
 
Low Self Esteem Research
Low Self Esteem ResearchLow Self Esteem Research
Low Self Esteem ResearchAshley Williams
 
Business Plan for a Startup Business
Business Plan for a Startup BusinessBusiness Plan for a Startup Business
Business Plan for a Startup BusinessAshley Williams
 
2016 Holiday Tech Gift Guide
2016 Holiday Tech Gift Guide2016 Holiday Tech Gift Guide
2016 Holiday Tech Gift GuideAlex Gemici
 

Viewers also liked (18)

Sarrià de Ter en Xarxa. Càpsula 59. 18des15
Sarrià de Ter en Xarxa. Càpsula 59. 18des15Sarrià de Ter en Xarxa. Càpsula 59. 18des15
Sarrià de Ter en Xarxa. Càpsula 59. 18des15
 
Evaluation 3 complete
Evaluation 3 completeEvaluation 3 complete
Evaluation 3 complete
 
S10 approaches to psycho social support-war child holland
S10 approaches to psycho social support-war child hollandS10 approaches to psycho social support-war child holland
S10 approaches to psycho social support-war child holland
 
GDP State
GDP StateGDP State
GDP State
 
S3 addressing dimensions of quality education holistically lal_dot
S3 addressing dimensions of quality education holistically lal_dotS3 addressing dimensions of quality education holistically lal_dot
S3 addressing dimensions of quality education holistically lal_dot
 
Planeación inglesa1
Planeación inglesa1Planeación inglesa1
Planeación inglesa1
 
Kyle's Resume II
Kyle's Resume IIKyle's Resume II
Kyle's Resume II
 
Apartamento 02 Quartos - Campo Grande
Apartamento 02 Quartos - Campo GrandeApartamento 02 Quartos - Campo Grande
Apartamento 02 Quartos - Campo Grande
 
Question 3 audience feedback
Question 3   audience feedbackQuestion 3   audience feedback
Question 3 audience feedback
 
Trabajo Final de Matemática Financiera, UPC
Trabajo Final de Matemática Financiera, UPC Trabajo Final de Matemática Financiera, UPC
Trabajo Final de Matemática Financiera, UPC
 
contoh implementasi komunikasi pemasaran
contoh implementasi komunikasi pemasarancontoh implementasi komunikasi pemasaran
contoh implementasi komunikasi pemasaran
 
Dimensions of Quality in e-Learning
Dimensions of Quality in e-LearningDimensions of Quality in e-Learning
Dimensions of Quality in e-Learning
 
Member Alignment Sheet
Member Alignment SheetMember Alignment Sheet
Member Alignment Sheet
 
Lecture 16 inflation
Lecture 16 inflationLecture 16 inflation
Lecture 16 inflation
 
Lecture 6 measuring the cost of living
Lecture 6 measuring the cost of livingLecture 6 measuring the cost of living
Lecture 6 measuring the cost of living
 
Low Self Esteem Research
Low Self Esteem ResearchLow Self Esteem Research
Low Self Esteem Research
 
Business Plan for a Startup Business
Business Plan for a Startup BusinessBusiness Plan for a Startup Business
Business Plan for a Startup Business
 
2016 Holiday Tech Gift Guide
2016 Holiday Tech Gift Guide2016 Holiday Tech Gift Guide
2016 Holiday Tech Gift Guide
 

Similar to технология и отладка по (47)

3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентацияvyacheslavmaslov
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаYana Brodetski
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Mva stf module 5 - rus
Mva stf module 5 - rusMva stf module 5 - rus
Mva stf module 5 - rusMaxim Shaptala
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciplesQA Guards
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыSQALab
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей РевкоSQALab
 
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Grigoriy Orlov
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова ОльгаSmart-on-line
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казаниmargo-qa
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительностиvyacheslavmaslov
 
Test management
Test managementTest management
Test managementQA Guards
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойSQALab
 
управление конфигураций и документирование программного обеспечения (49)
управление конфигураций и документирование программного обеспечения (49)управление конфигураций и документирование программного обеспечения (49)
управление конфигураций и документирование программного обеспечения (49)romachka_pole
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 

Similar to технология и отладка по (47) (20)

3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
3 лекция. презентация
3 лекция. презентация3 лекция. презентация
3 лекция. презентация
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
02-lection-ka
02-lection-ka02-lection-ka
02-lection-ka
 
Testing
TestingTesting
Testing
 
Mva stf module 5 - rus
Mva stf module 5 - rusMva stf module 5 - rus
Mva stf module 5 - rus
 
IntroductionPrinciples
IntroductionPrinciplesIntroductionPrinciples
IntroductionPrinciples
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"Доклад "Мониторинг серверных приложений"
Доклад "Мониторинг серверных приложений"
 
Software testing - introduction
Software testing - introductionSoftware testing - introduction
Software testing - introduction
 
Test plan Толстова Ольга
Test plan Толстова ОльгаTest plan Толстова Ольга
Test plan Толстова Ольга
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казани
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительности
 
Test management
Test managementTest management
Test management
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 
управление конфигураций и документирование программного обеспечения (49)
управление конфигураций и документирование программного обеспечения (49)управление конфигураций и документирование программного обеспечения (49)
управление конфигураций и документирование программного обеспечения (49)
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 

More from romachka_pole

защита информации (53)
защита информации (53)защита информации (53)
защита информации (53)romachka_pole
 
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)romachka_pole
 
метод Oracle (45)
метод Oracle (45)метод Oracle (45)
метод Oracle (45)romachka_pole
 
технология Rational unified process (44)
технология Rational unified process (44)технология Rational unified process (44)
технология Rational unified process (44)romachka_pole
 
шаблоны проектирования (42)
шаблоны проектирования (42)шаблоны проектирования (42)
шаблоны проектирования (42)romachka_pole
 
Xp программирование (41)
Xp программирование (41)Xp программирование (41)
Xp программирование (41)romachka_pole
 
принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)romachka_pole
 
модульное программирование (35)
модульное программирование  (35)модульное программирование  (35)
модульное программирование (35)romachka_pole
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )romachka_pole
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )romachka_pole
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)romachka_pole
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )romachka_pole
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )romachka_pole
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)romachka_pole
 
язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)romachka_pole
 
Case средства (16 17)
Case средства (16 17)Case средства (16 17)
Case средства (16 17)romachka_pole
 
этапы создания по при обьективном подходе( ) (16)
этапы создания по при обьективном подходе( ) (16)этапы создания по при обьективном подходе( ) (16)
этапы создания по при обьективном подходе( ) (16)romachka_pole
 
Case средства (16 17)
Case средства (16 17)Case средства (16 17)
Case средства (16 17)romachka_pole
 
Case средства (16 17)
Case средства (16 17)Case средства (16 17)
Case средства (16 17)romachka_pole
 
классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)romachka_pole
 

More from romachka_pole (20)

защита информации (53)
защита информации (53)защита информации (53)
защита информации (53)
 
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)
 
метод Oracle (45)
метод Oracle (45)метод Oracle (45)
метод Oracle (45)
 
технология Rational unified process (44)
технология Rational unified process (44)технология Rational unified process (44)
технология Rational unified process (44)
 
шаблоны проектирования (42)
шаблоны проектирования (42)шаблоны проектирования (42)
шаблоны проектирования (42)
 
Xp программирование (41)
Xp программирование (41)Xp программирование (41)
Xp программирование (41)
 
принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)
 
модульное программирование (35)
модульное программирование  (35)модульное программирование  (35)
модульное программирование (35)
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )
 
диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )диаграмма кооперации, реализации(25 26 33 34 )
диаграмма кооперации, реализации(25 26 33 34 )
 
принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)принцип построения диаграммы последовательности (24 32)
принцип построения диаграммы последовательности (24 32)
 
язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)язык Uml. диаграмма использования. (19)
язык Uml. диаграмма использования. (19)
 
Case средства (16 17)
Case средства (16 17)Case средства (16 17)
Case средства (16 17)
 
этапы создания по при обьективном подходе( ) (16)
этапы создания по при обьективном подходе( ) (16)этапы создания по при обьективном подходе( ) (16)
этапы создания по при обьективном подходе( ) (16)
 
Case средства (16 17)
Case средства (16 17)Case средства (16 17)
Case средства (16 17)
 
Case средства (16 17)
Case средства (16 17)Case средства (16 17)
Case средства (16 17)
 
классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)
 

технология и отладка по (47)

  • 1.
  • 2. Тестирование - это процесс многократного выполнения программы с целью выявления ошибок. Целью тестирования является обнаружение максимального числа ошибок. Поэтому тестовый прогон, в результате которого не выявлено ошибок, считается неудачным (неэффективным). Отладка-этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.
  • 3. Существуют следующие подходы к формулированию стратегии тестирования: 1. Определение объемов тестовых работ; 2. Определение подхода к тестированию; 3. Определение критериев тестирования и точек контроля качества; 4. Определение стратегии автоматизации.
  • 4. • Повысить вероятность того, что приложение, предназначенное для тестирования, будет работать правильно при любых обстоятельствах; • Повысить вероятность того, что приложение, предназначенное для тестирования, будет соответствовать всем описанным требованиям; • Провести полное тестирование приложения за короткий срок.
  • 5. 1) Проверить, что система работает в соответствии с определенными временами отклика клиента и сервера; 2) Проверить, что наиболее критические последовательности действий с системой конечного пользователя выполняются верно; 3) Проверить работу пользовательских интерфейсов; 4) Проверить, что изменения в базах данных не оказывают неблагоприятного влияния на существующие программные модули;
  • 6. 5) При проектировании тестов свести к минимуму переработку тестов при возможных изменениях приложения; 6) Использовать инструменты автоматизированного тестирования там, где это целесообразно; 7) Проводить тестирование таким образом, чтобы не только обнаруживать, но и предупреждать дефекты; 8) При проектировании автоматизированных тестов использовать стандарты разработки таким образом, чтобы создать многократно используемые и сопровождаемые скрипты.
  • 7. По типу тестов: Функциональные типы тестов; (рассматривают внешнее поведение системы) Нефункциональные типы тестов; (описывает тесты, необходимые для определения характеристик ПО, которые могут быть измерены различными величинами) Типы тестов, связанные с изменениями. (для подтверждения того факта, что после изменения проблема была действительно решена)
  • 8. По уровням тестирования: • Компонентное (модульное) тестирование(Проверка отдельных модулей программы, тестирование носит изолированный характер. Включает в себя как функциональные, так и нефункциональные виды тестирования); • Интеграционное тестирование(Тестирования взаимодействия между компонентами (модулями) системы. Включает в себя как функциональные, так и нефункциональные виды тестирования); • Системное тестирование(Проверяется поведение системы в целом. Включает в себя как функциональные, так и нефункциональные виды тестирования); • Приемочное тестирование(Целью приемочного тестирования является оценка готовности системы для ее выпуска).
  • 9. ПО ЗНАНИЮ СИСТЕМЫ (ДОСТУПНОСТИ КОДА): • Тестирование чёрного ящика(Тестирование проводится без доступа к исходному коду); • Тестирование белого ящика(Тестирование проводится с доступом к исходу коду и с возможностью модификации кода); • Тестирование серого ящика(Представляет собой объединение двух выше перечисленных видов тестирования).
  • 10. По объекту тестирования: • Функциональное тестирование(Проверка функций и характеристик разрабатываемого ПО на основе проектной документации); • Тестирование производительности (Проверка работоспособности системы под нагрузкой. Может служить для проверки и подтверждения других атрибутов качества системы, таких как масштабируемость, надёжность и потребление ресурсов); • Юзабилити-тестирование/Тестирование интерфейса; пользователя (Цель данного вида тестирования заключается в определении степени удобства и практичности пользовательского интерфейса) ; • Тестирование безопасности (Проверка надежности системы от возможных рисков и угроз (потеря, конфиденциальность, целостность и доступность данных)); • Тестирование локализации (Корректность перевода и работы отдельных компонентов системы (форматы дат, единицы измерения и т.д.)); • Тестирование совместимости (Проверка возможности приложения взаимодействовать с различными программными продуктами, операционными системами и окружением).
  • 11. По степени автоматизации: • Ручное тестирование(Тестирование проводится без инструментов автоматизации); • Автоматизированное тестирование (Тестирование на всех уровнях выполняется с использованием средств автоматизации); • Полуавтоматизированное тестирование (Предполагается, что для определенных целей применяется автоматизации (автоматизации развертки окружения, автоматизация функционального тестирования, автоматизация генерации данных и т.д.).
  • 12. По времени проведения тестирования: • Тестирование при приёмке (Минимальный набор тестов на явные ошибки); • Тестирование новой функциональности(Тестируется новые функции системы); • Регрессионное тестирование(Проверка изменений сделанных в системе для подтверждения того факта, что существующая ранее функциональность работает как и прежде) ; • Тестирование при сдаче(Целью приемочного тестирования является оценка готовности системы для его выпуска на рынок или передачи клиенту. Может включать в себя альфа-тестирование (alpha testing) и бета-тестирование (beta testing)).
  • 13. По признаку позитивности сценариев: • Позитивное тестирование(Проверка позитивных (правильных) пользовательских сценариев. На вход подается разрешенные (ожидаемые) данные); • Негативное тестирование(Проверка реакции системы на ввод негативных (не разрешенных) данных) . По степени подготовленности к тестированию • Тестирование по документации(Тестирование приложения проводится по заранее подготовленным данным (тест-кейсы, чек-листы, чит-листы, спецификация и т.д.)); • Тестирование ad hoc или интуитивное тестирование(тестирование проводится при полном отсутствии документации, без плана и цели); • Тестирование методом свободного поиска или исследовательское тестирование(предполагается наличие минимально необходимой для тестирования документации).
  • 14. -Модульное тестирование (заключается в изолированной проверке каждого отдельного элемента путем запуска тестов в искусственной среде) -Интеграционное тестирование (предназначено для проверки связи между компонентами, а также взаимодействия с различными частями системы (операционной системой, оборудованием либо связи между различными системами)) -Системное тестирование (задачей CТ является проверка как функциональных, так и не функциональных требований в системе в целом) – Альфа-тестирование ((имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком. ) – Бета-тестирование (интенсивное использование почти готовой версии продукта (как правило, программного или аппаратного обеспечения) с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (Релизом) продукта на рынок, к массовому потребителю )
  • 15. Воспроизведение дефекта; Анализ дефекта; Дизайн исправления дефекта; Кодирование исправления дефекта; Валидация исправления; Интеграция исправления в кодовую базу; Дополнительные валидации после интеграции.
  • 16. Запуск программы из под отладчика; Логировании кода; Анализ кода без исполнения программы; Анализ поведения системы или ее части; Unit тестирование; Прототипирование; Отладка с помощью memory-dump-ов или crash-дампов; Отладка с помощью перехватов; Профилирование кода; Выполнение программы в другой среде; Отладка методом RPC; Отладка путем анализа документации; Отладка трансляцией кода; Отладка разработкой интерпретатора.
  • 17. •Ошибки анализа; •Ошибки общего характера; •Ошибки физического характера; •Правильность программ; •Синтаксические ошибки; •Неопределенные переменные.
  • 18. Связаны либо с неполным учетом ситуации, которые могут возникнуть, либо с неверным решением задачи. К 1 случаю относятся, например, пренебрежение возможностью появления отрицательных значений переменных, малых и больших величин. Во 2 случае обычно имеют место крупные и мелкие логические ошибки, из которых можно назвать: Отсутствие заданий начальных значений переменных. • Неверные условия окончания цикла; • Неверную индексацию цикла; • Отсутствие задания условий инициирования цикла; • Неправильное указание ветви алгоритма для продолжения процесса решения задачи.
  • 19. После того, как найден подходящий алгоритм решения задачи, на этапе программирования также могут появиться ошибки, независимо от выбранного языка. Такими ошибками могут быть : • ошибки из-за недостаточного знания или понимания программистом языка программирования или самой машины; • ошибки, допущенные при программировании алгоритма, когда команды, используемые в программе, не обеспечивают последовательности событий, установленной алгоритмом.
  • 20. Можно назвать несколько типов ошибок, вызываемых неверными действиями программиста: • Пропуск некоторых операторов; • Отсутствие необходимых данных; • Непредусмотренные данные; • Неверный формат данных.
  • 21. Любые программы - правильные в отношении их логического построения только для определенного типа данных, поэтому необходимо четко определить область значений данных, в которой программа способна функционировать. Необходимо вводить операторы, позволяющие проверить, находятся ли данные в установленных границах. Нарушение правильности может проявляться двумя способами: • неверная синтаксическая конструкция программы; • программа выдает неверные результаты.
  • 22. Выявление транслятором синтаксических ошибок представляет собой самый важный и необходимый этап отладки программы. Если под синтаксической ошибкой понимать "всякое нарушение требований языка программирования", то следует признать, что многие ошибки остаются необнаруженными. Советы по устранению ошибок: • Если ошибок много, то в первую очередь устранить очевидные; • Обратиться к руководству по программированию на данном языке (справка); • Выбрать хороший отладочный компилятор.
  • 23. Распространенными источниками программных ошибок являются неопределенные переменные и переменные, для которых не заданы начальные значения. Определение начальных значений: • Присваивание; • Ввод; • Чтение из файла. Разные прогоны программы с одними и теми же данными могут привести к различным результатам.