ݺߣ

ݺߣShare a Scribd company logo
Тестирование ПО
Тестирование ПО
• Переход от нацеленности на доказательство
  отсутствия ошибок к поиску ошибок в ПО.
• Процесс тестирования расширяется на
  весь период разработки ПО.
• Появление специализированных программ.
• Появление отдельной профессии.
• Тестирование не только для поиска ошибок.
• Функциональные тесты. Поиск ошибок в ПО.
• Тестирование производительности.
   • Нагрузочное тестирование. Определение работы ПО при
      ожидаемой нагрузке.
   • Стресс-тестирование. Анализ пропускной способности ПО при
      максимальной нагрузке.
   • Тестирование надежности. Проверку стабильности работы ПО
      при длительном периоде и рабочей нагрузке.
• Тестирование пользовательского интерфейса (usability). Проверка
  эргономичности работы с ПО.
• Тестирование безопасности.
• Черный ящик. Нам ничего не известно о
  коде и ПО. Тестирование производится с
  позиции конечного пользователя.




• Белый ящик. Предполагается, что нам
  доступен исходный код системы.
if(condition)
{
      DoWork1();
}
else
{
      DoWork2();
}

На такой код дайте два теста!
Ручное тестирование   Автоматизированное тестирование
• Модульное или юнит-тестирование. В качестве компонентов
  выделяют классы или даже методы классов.
• Интеграционное тестирование. При данном тестировании
  программные модули (классы) объединяются и автоматизировано
  тестируются совместно по методу черного ящика.
• Системное тестирование. Тестируется вся система целиком по
  методу черного ящика.
• NUnit. Имеются дополнения для
  тестирования WinForms и WebForms:
  NUnit.Forms и NUnit.ASP
  соответственно.
• msTest. Распространяется компанией
  Microsoft.
• xUnit.
• mbUnit.
• Fast (Быстрота). Тесты должны выполняться быстро.
• Independent (Независимость). Результаты выполнения одного теста
  не должны быть входными данными для другого.

• Repeatable (Повторяемость). Тесты должны давать одинаковые
  результаты независимо от среды выполнения.

• Self-Validating (Очевидность). Тест либо прошел, либо не прошел.
• Timely (Своевременность). Тесты должны создаваться своевременно.
• Отличный источник спецификации системы,
  может выступать вместо документации.
• Unit-тесты позволяют легко вносить изменения в
  ПО. Нету страха что-нибудь сломать.
• Unit-тесты положительно влияют на архитектуру
  и дизайн системы.
• Добавление теста. Любое
  добавление функциональности
  начинается с написания тестов к
  нему.
• Реализация заявленной
  функциональности.
• Рефакторинг. Внесение изменений в
  код, с целью повышения его
  читабельности.
Программист не
                   TDD евангелист
использующий TDD
CIS          • http://software-testing.ru
• TeamCity   • Кент Бек, Экстремальное
• TFS          программирование: разработка через
• Jenkins      тестирование
Bugtracker   • Roy Osherove, The Art of Unit Testing
• Redmine    • Andy Hunt, Pragmatic Unit Testing in C#
• JIRA         with NUnit
• Bugzilla
Selenium
Тестирование ПО

More Related Content

What's hot (20)

Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
Technopark
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
Alexei Lupan
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
SQALab
Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.
DressTester
Теория тестирования, часть 1
Теория тестирования, часть 1 Теория тестирования, часть 1
Теория тестирования, часть 1
DressTester
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определения
Natalia Odegova
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Sergiy Povolyashko, PMP
обзор IT бизнеса
обзор IT бизнесаобзор IT бизнеса
обзор IT бизнеса
DressTester
Тест-дизайн "в цикле"
Тест-дизайн "в цикле"Тест-дизайн "в цикле"
Тест-дизайн "в цикле"
Александр Федоров
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
SQALab
Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1
Technopark
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
Maxim Shaptala
Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
SQALab
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
Technopark
Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требований
SQALab
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
Vitebsk Miniq
урок 1
урок 1урок 1
урок 1
DressTester
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
COMAQA.BY
Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1Тестирование весна 2014 лекция 1
Тестирование весна 2014 лекция 1
Technopark
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
Alexei Lupan
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
SQALab
Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.Тестирование сложных программных решений и комплексных систем.
Тестирование сложных программных решений и комплексных систем.
DressTester
Теория тестирования, часть 1
Теория тестирования, часть 1 Теория тестирования, часть 1
Теория тестирования, часть 1
DressTester
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определения
Natalia Odegova
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. UkraineProcess Quality, QA and QC. QA Club. Kharkov. Ukraine
Process Quality, QA and QC. QA Club. Kharkov. Ukraine
Sergiy Povolyashko, PMP
обзор IT бизнеса
обзор IT бизнесаобзор IT бизнеса
обзор IT бизнеса
DressTester
Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?Как принести пользу разработке и упростить себе жизнь?
Как принести пользу разработке и упростить себе жизнь?
SQALab
Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1Тестирование осень 2013 лекция 1
Тестирование осень 2013 лекция 1
Technopark
Обеспечение качества: Практические советы
Обеспечение качества: Практические советыОбеспечение качества: Практические советы
Обеспечение качества: Практические советы
SQALab
Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1Тестирование весна 2013 лекция 1
Тестирование весна 2013 лекция 1
Technopark
Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требований
SQALab
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
Who is a functional tester
Who is a functional testerWho is a functional tester
Who is a functional tester
Vitebsk Miniq
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
COMAQA.BY

Similar to Тестирование ПО (20)

Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark
технология и отладка по (47)
технология и отладка по (47)технология и отладка по (47)
технология и отладка по (47)
romachka_pole
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
SQALab
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
Анастасия Асеева
Unit testing
Unit testingUnit testing
Unit testing
ISsoft
План тестирования
План тестированияПлан тестирования
План тестирования
EDISON Software Development Centre
Как мы тестируем анализатор кода
Как мы тестируем анализатор кодаКак мы тестируем анализатор кода
Как мы тестируем анализатор кода
Tatyanazaxarova
Team workflow
Team workflowTeam workflow
Team workflow
Даниил Зайцев
Unit Testing
Unit TestingUnit Testing
Unit Testing
Dima Denisenko
TAP
TAPTAP
TAP
miraj84
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
Maxim Shaptala
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
COMAQA.BY
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
Yandex
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
Technopark
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark
технология и отладка по (47)
технология и отладка по (47)технология и отладка по (47)
технология и отладка по (47)
romachka_pole
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
SQALab
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest
Unit testing
Unit testingUnit testing
Unit testing
ISsoft
Как мы тестируем анализатор кода
Как мы тестируем анализатор кодаКак мы тестируем анализатор кода
Как мы тестируем анализатор кода
Tatyanazaxarova
Jubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation ToolJubula – TDD UI QA Automation Tool
Jubula – TDD UI QA Automation Tool
COMAQA.BY
Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
Yandex
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
Technopark
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab

Тестирование ПО

  • 3. • Переход от нацеленности на доказательство отсутствия ошибок к поиску ошибок в ПО. • Процесс тестирования расширяется на весь период разработки ПО. • Появление специализированных программ. • Появление отдельной профессии. • Тестирование не только для поиска ошибок.
  • 4. • Функциональные тесты. Поиск ошибок в ПО. • Тестирование производительности. • Нагрузочное тестирование. Определение работы ПО при ожидаемой нагрузке. • Стресс-тестирование. Анализ пропускной способности ПО при максимальной нагрузке. • Тестирование надежности. Проверку стабильности работы ПО при длительном периоде и рабочей нагрузке. • Тестирование пользовательского интерфейса (usability). Проверка эргономичности работы с ПО. • Тестирование безопасности.
  • 5. • Черный ящик. Нам ничего не известно о коде и ПО. Тестирование производится с позиции конечного пользователя. • Белый ящик. Предполагается, что нам доступен исходный код системы.
  • 6. if(condition) { DoWork1(); } else { DoWork2(); } На такой код дайте два теста!
  • 7. Ручное тестирование Автоматизированное тестирование
  • 8. • Модульное или юнит-тестирование. В качестве компонентов выделяют классы или даже методы классов. • Интеграционное тестирование. При данном тестировании программные модули (классы) объединяются и автоматизировано тестируются совместно по методу черного ящика. • Системное тестирование. Тестируется вся система целиком по методу черного ящика.
  • 9. • NUnit. Имеются дополнения для тестирования WinForms и WebForms: NUnit.Forms и NUnit.ASP соответственно. • msTest. Распространяется компанией Microsoft. • xUnit. • mbUnit.
  • 10. • Fast (Быстрота). Тесты должны выполняться быстро. • Independent (Независимость). Результаты выполнения одного теста не должны быть входными данными для другого. • Repeatable (Повторяемость). Тесты должны давать одинаковые результаты независимо от среды выполнения. • Self-Validating (Очевидность). Тест либо прошел, либо не прошел. • Timely (Своевременность). Тесты должны создаваться своевременно.
  • 11. • Отличный источник спецификации системы, может выступать вместо документации. • Unit-тесты позволяют легко вносить изменения в ПО. Нету страха что-нибудь сломать. • Unit-тесты положительно влияют на архитектуру и дизайн системы.
  • 12. • Добавление теста. Любое добавление функциональности начинается с написания тестов к нему. • Реализация заявленной функциональности. • Рефакторинг. Внесение изменений в код, с целью повышения его читабельности.
  • 13. Программист не TDD евангелист использующий TDD
  • 14. CIS • http://software-testing.ru • TeamCity • Кент Бек, Экстремальное • TFS программирование: разработка через • Jenkins тестирование Bugtracker • Roy Osherove, The Art of Unit Testing • Redmine • Andy Hunt, Pragmatic Unit Testing in C# • JIRA with NUnit • Bugzilla Selenium