1 / 45

Основы тестирования ПО

Вводный курс. Основы тестирования ПО. Автор: Алексей Баранцев. Программа семинара. Что такое тестирование? Характеристики качества и виды контроля качества Классификации тестирования по уровням по целям «чёрное и белое». Что такое тестирование?. Тестирование – это…. … не разработка

ashton-wong
Download Presentation

Основы тестирования ПО

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Вводный курс Основы тестированияПО Автор: Алексей Баранцев

  2. Программа семинара • Что такое тестирование? • Характеристики качества и виды контроля качества • Классификации тестирования • по уровням • по целям • «чёрное и белое»

  3. Что такое тестирование?

  4. Тестирование – это… • … не разработка • … не анализ • … не управление • … не техписательство • … не • … не • … не

  5. Тестирование – это предоставление отрицательной обратной связи

  6. Положительная и отрицательная обратная связь

  7. Тестирование – QC – QA Quality Assurance Обеспечение качества Quality Control Контроль качества Тестирование

  8. История определений 1980 • Процесс выполнения программы с намерением найти ошибки. [Г.Майерс. Надежность программного обеспечения. М:Мир, 1980] • Процесс наблюдения за выполнением программы в специальных условиях и вынесения на этой основе оценки каких-либо ее аспектов. [ANSI/IEEE standard 610.12-1990: Glossary of SETerminology. NY:IEEE, 1987] • Это не действие. Это интеллектуальная дисциплина, имеющая целью получение надежного программного обеспечения без излишних усилий на его проверку.[B. Beizer. Software Testing Techniques, Second Edition. NY:van Nostrand Reinhold, 1990] • Техническое исследование программы для получения информации о ее качестве с точки зрения определенного круга заинтересованных лиц.[С. Kaner, 1999] • Проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом.[IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004] 1987 1990 1999 2004

  9. Рабочее определение №1 Тестирование – это проверка соответствия программы требованиям, осуществляемая путём наблюдения за её работой в специальных, искусственно созданных ситуациях, выбранных определённым образом

  10. Схема тестирования Программа Информация о несоответствиях Требования

  11. Определение по SWEBOK Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом SWEBOK, 2004

  12. Определение по SWEBOK Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом SWEBOK, 2004

  13. Определение по SWEBOK Тестирование – это проверка соответствия между реальным поведением программы и ее ожидаемым поведением на ограниченномнаборе тестов, выбранном определенным образом SWEBOK, 2004

  14. Рабочее определение №1 (повтор) Тестирование – это проверка соответствия программы требованиям, осуществляемая путём наблюдения за её работой в специальных, искусственно созданных ситуациях, выбранных определённым образом

  15. Рабочее определение №2 Тест – это специальная, искусственно созданная ситуация, выбранная определённым образом, и описание того, какие наблюдения за работой программы нужно сделать для проверки её соответствия некоторому требованию

  16. Тестировщик: • Управляет выполнением программы, создаёт искусственные ситуации • Наблюдает поведение программы и сравнивает наблюдаемое поведение с ожидаемым

  17. Основные задачи тестирования • Что подать на вход? стимулы • Что ожидается на выходе? реакции оракул

  18. Входы и выходы

  19. Входы и выходы Программа

  20. Разновидности входов и выходов • Пользовательский интерфейс (UI) • Программный интерфейс (API) • Сетевой протокол • Файловая система • Состояние окружения • События

  21. Характеристики качества и виды контроля качества

  22. Аспекты качества Стандарт ISO 9126 • Функциональность • Надёжность • Практичность • Эффективность • Сопровождаемость • Переносимость

  23. 1 - Функциональность • Пригодность к использованию (suitability) • Точность, правильность (accuracy) • Способность к взаимодействию (interoperability) • Соответствие стандартам и правилам (compliance) • Защищенность (security)

  24. 2 - Надёжность • Зрелость, завершенность (обратна к частоте отказов) (maturity) • Устойчивость к отказам (fault tolerance) • Способность к восстановлению работоспособности при отказах (recoverability)

  25. 3 - Практичность • Понятность (understandability) • Удобство обучения (learnability) • Работоспособность (operability) • Привлекательность (attractiveness)

  26. 4 - Эффективность • Временные характеристики (time behaviour) • Использование ресурсов (resource utilisation)

  27. 5 - Сопровождаемость • Анализируемость (analyzability) • Изменяемость, удобство внесения изменений (changeability) • Риск возникновения неожиданных эффектов при внесении изменений (stability) • Контролируемость , удобство проверки (testability)

  28. 6 - Переносимость • Адаптируемость (adaptability) • Устанавливаемость, удобство установки (installability) • Способность к сосуществованию с другим ПО (coexistence) • Удобство замены другого ПО данным (replaceability)

  29. Тестирование: • функциональности • надёжности • эффективности • практичности • сопровождаемости • переносимости • …

  30. Различные классификации видов тестирования

  31. Уровни тестирования • Модульное • Интеграционное • Системное

  32. Приложение-матрёшка КИС Веб-приложение Клиентская часть Серверная часть Серверприложений База данных library JS library JS func class Stored proc method method JS library class Stored proc method method JS func

  33. Тестирование бывает: • Модульное • Интеграционное • Системное • функциональности • надёжности • эффективности • практичности • сопровождаемости • мобильности

  34. Тестирование бывает:

  35. Чёрное и белое

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

  37. No more bugs found, boss!

  38. Полнота тестирования

  39. Чёрное и белое

  40. Чёрное Полностью покрыты все … • … входные данные • … комбинации входных данных • … последовательности комбинаций входных данных

  41. Белое Полностью покрыты все … • … строки кода программы • … ветви в коде программы • … пути в коде программы

  42. Приложение-матрёшка КИС Веб-приложение Веб-сервис Клиентская часть Серверная часть Сервер приложений База данных База данных JS library library пакет Приложение JS library library library Чужое приложение

  43. Разноцветные ящики

  44. Продолжение следует…

More Related