Главная страница
Навигация по странице:

  • Этапы процесса тестирования

  • Модели жизненного цикла ПО

  • Модели жизненного цикла ПО, водопадная модель

  • Модели жизненного цикла ПО, итерационная модель

  • Модели жизненного цикла ПО, гибкие методологии: Scrum, Agile и т.п.

  • Начало Завершение Действия: Артефакты

  • Плани- рование

  • Разработка тестов ВыполнениетестовАнализи отчётностьНачалоЗавершение Действия

  • Выполнение тестов Анализи отчётностьНачалоЗавершение Действия: Артефакты

  • Анализ и отчётность НачалоЗавершение Действия: Артефакты

  • Завершение Действия: Артефакты

  • Технические навыки и личностные качества тестировщика

  • «веб-разработка вообще».

  • Личностные качества хорошего тестировщика

  • Контроль качества («а всё ли идёт так, как надо», «или есть проблемы») Фактически, «тестирование ПО»

  • Тестирование программного обеспечения

  • Дефект

  • Тест-план

  • Тестовый сценарий, тест-сьют

  • Качество

  • Облачная концепция. Лекция 3 Функциональные и нефункциональные требования


    Скачать 5.98 Mb.
    НазваниеЛекция 3 Функциональные и нефункциональные требования
    АнкорОблачная концепция
    Дата31.03.2023
    Размер5.98 Mb.
    Формат файлаpptx
    Имя файлаObschaya_kontseptsia_testirovania.pptx
    ТипЛекция
    #1027604
    Общая концепция тестирования Основная терминология Организация тестирования ПО Организация тестирования Тестирование, отладка и сборка программного изделия Жизненный цикл тестирования Разработка тестов

    Лекция 3

    Функциональные и нефункциональные требования

    Нефункциональные требования


    Требования к продукту
    Организационные требования
    Внешние требования

    Количественные показатели нефункциональных требований


    Скорость

    Размер

    Простота эксплуатации

    Надежность

    Устойчивость к сбоям

    Переносимость

    Структура SRS. IEEE Standard 830.http://habrahabr.ru/post/52681/


    Introduction
      Purpose
      Document conventions
      Intended Audience and Reading Suggestions
      Project scope
      References

      Overall Description

      Product perspective
      Product features
      User classes and characteristics
      Operating environment
      Design and implementation constraints
      User documentation
      Assumptions and dependencies

      System features

      System feature X (таких блоков может быть несколько)


        Description and priority
        Stimulus/Response sequences
        Functional requirements

      External interface requirements

      User interfaces
      Software interfaces
      Hardware interfaces
      Communication interfaces

      Non functional requirements

      Performance requirements
      Safety requirements
      Software quality attributes
      Security requirements

      Other requirements
      Appendix A: Glossary
      Appendix B: Analysis Models
      Appendix C: Issues list

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


    Спецификации
    Псевдокод
    Конечные автоматы
    Таблицы решений
    Диаграммы деятельности
    Таблицы сущность-связь
    Схемы потоков данных

    Визуализация требований


    UML диаграммы
    Схемы
    Mind map
    Мокапы

    Критерии качества требований к ПО


    Корректные требования
    Недвусмысленные требования
    Полнота набора требований
    Непротиворечивость набора требований
    Упорядоченность требований по их важности и стабильности
    Проверяемые требования
    Модифицируемый набор требований
    Трассируемые требования
    Понимаемые требования

    Явные и неявные требования

    Помните машину с непрозрачным лобовым стеклом и квадратными колесами?

    Что если нет документации?

    Что может помочь?


    Код приложения
    Носители знаний
    Прототипы
    Тест-кейсы
    Авто-тесты
    Любая другая информация

    Что если нет документации?

    С какими проблемами мы сталкиваемся


    Требования неполные
    Частые изменения
    Требования изменяются в последний момент
    Не верно трактовали

    Что если нет документации?

    Тестирование, основанное на требованиях (Requirements Based Testing)

    Что если нет документации?


    просмотр на наличие неоднозначностей выведение причинно-следственных связей


    Какой же тип оповещения отправляет банкомат в отдел информационных технологий?
    Каково точное определение “вскрытия”?
    Эквивалентно ли “вскрытие” “открытию без ключа и секретного кода?
    Что происходит в случае использования ключа, но без введения секретного кода?
    Какой текст оповещения?
    Что такое “соответствующие действия”?


    просмотр на наличие неоднозначностей выведение причинно-следственных связей

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


    Тестовая документация

    Этапы процесса тестирования

    Тест дизайн (Test Design)

    Этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования

    Типы тестовой документации


    План тестирования (Test Plan)
    Набор тест кейсов и тестов (Test Case & Test suite)
    Дефекты / Баг Репорты (Bug Reports / Defects)

    Тестовый случай (Test Case)

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

    Хороший Test Case состоит из


    Перевод продукта в нужное состояние
    Верификация того, что подлежит проверке
    Перевод продукта в исходное состояние

    Обнаруживаем тесты


    Тщательное изучение и анализ требований (описания функции, модуля, спецификации, и т.д.).
    Декомпозиция требований\функций.
    Выявление всех условий, входных и выходных данных (что)
    Анализ поведения (как)
    Использование различных техник для выделения определенных тестов
    Использование накопленных знаний о выполненных проектах (оттестированных продуктах)
    Интуиция
    Анализ\просмотр выявленных тестов и добавление новых

    Логический и низкоуровневый


    Логические Test Case - составляются после разработки плана тестирования
    Низкоуровневые Test Case - пишутся при наличии или очень детальной спецификации или когда уже можно проводить динамическое тестирование

    Основные поля Тест Кейса


    ID - номер кейса или номер вместе с какой-то абривиатурой к примему «PD_Sync_123»
    Summary - краткое описание проблемы
    Precondition - шаги перевода программы в нужное состояние
    Steps (Actions) - шаги, для того чтобы востроизвести баг
    Expected Result - ожидаемый результат
    Pass/Fail - поле для проставления статуса каждому тест кейсу

    Пример Тест Кейса

    Проверка успешного входа в систему Администратора при условии что его логин и пароль = 'Login' и '12345'

    Еще пример

    Тестовый набор (Test Suite)

    Группа связанных Test cases

    Test Matrix

    Место хранения тестов, отметок о результатах прохождения тестов и дате проведения теста


    трассировка к требованию информация о зависимости от других тестов дополнительная информация

    Ошибки

    Отчеты об ошибках

    Отчет об ошибке - это инструмент!

    Тестировщики производят отчеты об ошибках!

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

    Надо суметь “продать” найденную вами ошибку!

    Идеальный отчет об ошибке

    Поднимает проблему и дает все необходимые данные для принятия решения

    Баг ваш или программиста?

    Мотивация и случаи,когда баг исправляться не будет


    Изменяйте свое поведение (изменяйте условия путем изменения своих действий)
    Изменяйте настройки программы
    Изменяйте программное и аппаратное окружение

    Новый ли баг для этой версии?


    Изменяйте свое поведение (изменяйте условия путем изменения своих действий)
    Изменяйте настройки программы
    Изменяйте программное и аппаратное окружение

    Новый ли баг для этой версии?

    Модели жизненного цикла ПО

    Модели жизненного цикла ПО, v-образная модель


    Простая.
    На каждой фазе свои очевидные артефакты.
    Хорошо работает для мелких проектов.


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

    Модели жизненного цикла ПО, водопадная модель


    Простая.
    Пошаговая.
    Очевидные артефакты и действия на всех стадиях.


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

    Модели жизненного цикла ПО, итерационная модель


    Много анализа требований.
    Подходит для больших важных проектов.
    Раннее прототипирование, ранние поставки продукта.


    Дорогая.
    Не работает для мелких проектов.

    Модели жизненного цикла ПО, гибкие методологии: Scrum, Agile и т.п.


    Плани-

    рование

    Завершение_Действия:_Артефакты'>Анализи_отчётностьНачалоЗавершение_Действия:_Артефакты'>ВыполнениетестовАнализи_отчётностьНачалоЗавершение_Действия'>Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Плани-

    рование

    Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Действия:

    Артефакты:

    Краткие обсуждения.
    Распределение обязанностей.
    Изучение списка требований.


    Запросы на выделение ресурсов.
    Письма с заданиями.
    Отчёты об анализе требований.


    Плани-

    рование

    Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Действия:

    Артефакты:

    Глубокое изучение требований к продукту.
    Определение и обсуждение рисков.
    Формирование, утверждение и публикация плана тестирования.
    Подготовка тестового окружения.


    План тестирования.
    Запросы на выделение ресурсов.


    Плани-

    рование

    Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Действия:

    Артефакты:

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


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


    Плани-

    рование

    Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Действия:

    Артефакты:

    Получение уведомления о выходе билда.
    Изучение сопроводительной документации.
    Инсталляция билда.
    Запуск смоук-теста и принятие решения о дальнейшем тестировании.
    Тест критического пути и расширенный тест.
    Написание отчётов об ошибках.


    Уведомления.
    Отчёты об ошибках.
    Тесты.
    Скрипты для автоматизированного тестирования.


    Плани-

    рование

    Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Действия:

    Артефакты:

    Оценка качества продукта.
    Использование метрик.
    Уведомление руководства.
    Написание отчёта о результатах тестирования.


    Метрики.
    Отчёт о результатах тестирования.


    Плани-

    рование

    Разработка

    тестов

    Выполнение

    тестов

    Анализ

    и отчётность

    Начало

    Завершение

    Действия:

    Артефакты:

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


    Итоговый отчёт о результатах тестирования.
    Отчёт о финальном собрании.

    Технические навыки и личностные качества тестировщика

    Технические навыки, необходимые тестировщику


    Знание иностранных языков.
    Программирование: C/C++/C#, Java, PHP, Object Pascal, Visual Basic, JavaScript, HTML, .NET, «веб-разработка вообще».
    Администрирование СУБД: Oracle, MS SQL, MySQL.
    Администрирование ОС: Windows, Sun Solaris, HP-UX, Free-BSD, Linux.
    Сетевое администрирование: TCP/IP, IPX/SPX, NetBIOS.
    Автоматизированное тестирование: Silk*, Rational*, Mercury Interactive *, JUnit, HTTP/HTML-Unit.

    Личностные качества хорошего тестировщика


    Повышенная ответственность.
    Хорошие коммуникативные навыки.
    Способность ясно, быстро, чётко выражать свои мысли.
    Исполнительность.
    Терпение, усидчивость, внимательность к деталям, наблюдательность.
    Гибкое мышление, хорошая способность к обучению.
    Хорошее абстрактное и аналитическое мышление.
    Способность ставить нестандартные эксперименты.
    Склонность к исследовательской деятельности.


    Обеспечение качества («профилактика» и «здоровый образ жизни»).

    Контроль качества

    («а всё ли идёт так, как надо?», «или есть проблемы?»)

    Фактически, «тестирование ПО» – это «диагностика» и «помощь в лечении» программного средства как такового и всего проекта в целом.

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

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

    ЛЮДИ

    ПРОЦЕСС

    ТЕХНОЛОГИЯ

    Дефект (баг, глюк; defect, bug) – любое несоответствие фактического и ожидаемого результата (согласно требованиям или здравому смыслу).

    Ожидаемый результат (expected result) – такое поведение программного средства, которое мы ожидаем в ответ на наши действия.

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

    Чек-лист (check-list) – набор идей тестов.

    Тест-кейс (test case) – набор входных данных, условий выполнения и ожидаемых результатов, разработанный с целью проверки того или иного свойства или поведения программного средства.

    Тестовый сценарий, тест-сьют (test scenario, test-suite) – набор тест-кейсов, собранных в группу (последовательность) для достижения некоторой цели.

    Билд («сборка») (build) – промежуточная версия программного средства (финальный билд часто называют релизом (release)).

    Качество (quality) – показатель степени соответствия продукта его требованиям.

    Метрика качества (quality metric) – числовое значение некоторого показателя качества.

    Может определяться расчётным способом или по некоторой формуле.


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