2. Тестирование ПО - процесс исследования программного обеспечения с целью получения информации о качестве продукта (wikipedia). Качество - степень соответствия присущих характеристик требованиям (ISO 9001) Требования ПО - совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации (wikipedia). Тестирование как понятие
3. Внутреннее качество ПО. Точка зрения разработчиков Внешнее качество ПО Точка зрения руководства Аттестации ПО на соответствие требованиям Для двух точек зрения — внешнего качества и внутреннего качества — в рамках ISO 9126 предложена модель качества, состоящая из 6 факторов и 27 атрибутов. Тестирование как понятие Качество
5. Качество ПО cт.з. пользователя (ISO 9126 ) Эффективность Продуктивность Безопасность Удовлетворение пользователей Тестирование как понятие Качество
6. Виды требований по уровням Бизнес-требования Пользовательские требования Функциональные требования Виды требований по характеру Функциональный характер Нефункциональный характер Тестирование как понятие Требования
7. Источники требований Стандарты (HTML, CSS, XML, URL, пр.) Федеральное и муниципальное отраслевое законодательство (конституция, законы, распоряжения) Нормативное обеспечение организации (регламенты, положения, уставы, приказы) Представления и ожидания потребителей и пользователей системы Конкурирующие программные продукты Тестирование как понятие Требования
8. Методы выявления требований Общение с заказчиком Общение с авторами продукта Анализ стандартов, нормативной документации Анализ выявленных проблем в багтрекере Проверка требований на проверяемость Проверяемые Непроверяемые Документирование требований Удобство понимания для специалистов разного уровня подготовки Тестирование как понятие Требования
10. Верификация проверяет соответствие между: нормами стандартов описанием требований (техническим заданием) к ПО проектными решениями исходным кодом пользовательской документацией и функционированием самого ПО Валидацияпроверяет соответствие любых создаваемых или используемых в ходе разработки и сопровождения ПО артефактов нуждам и потребностям пользователей и заказчиков этого ПО Верификация отвечает на вопрос "Делаем ли мы продукт правильно?", а валидация — на вопрос "Делаем ли мы правильный продукт?" /B. Boehm/ Тестирование как понятие
12. Тестирование как процесс Документация Тест план Тестируемые требования Не тестируемые требования Стратегия тестирования Типы тестирования Ресурсы Этапы тестирования Критерии тестирования Тестовая процедура Набор тестов Критерий оценки результатов Тестовая спецификация Начальные условия Сценарий выполнения Ожидаемый результат Взаимозависимости Требования Отчет о тестировании Тестовая процедура Тестовая спецификация Описание ошибки Оценка серьезности
13. Стратегия Незначительные изменения в интерфейсе Новая функциональность Плановое тестирование функциональности Тестирование изменений Тестирование как процесс Документация GUI
14. Критерии тестирования Критерии начала Готовность функционала или его части Готовность тестовой среды. Наличие документации для новой функциональности(требования, тест-спецификация). Критерии окончания Все тесты успешны Производительность не упала Безопасность в пределах допустимого Тестирование как процесс Документация
15. Тестовая спецификация - описание теста (т.e. данных, разработанных для проверки отдельной программы или верификация соответствия на определенное требование) Начальные условия Сценарий выполнения Ожидаемый результат Взаимозависимости Требования Тестовая процедура - последовательность взаимосвязанных тестовых спецификаций для достижения цели определенного типа тестирования. Тестирование как процесс Документация
19. Тестирование, связанное с изменениями. Санитарное тестирование Дымовое тестирование Тестирование как процесс Типы тестирования
20. Тестовое Покрытие - это одна из метрик оценки качества тестирования, представляющая из себя плотность покрытия тестами требований либо исполняемого кода. Покрытие тестами кода Покрытие тестами требований Тестирование как процессПокрытие
21. Покрытие тестами кода Расчет тестового покрытия относительно исполняемого кода программного обеспечения проводится по формуле: где:Tcov - тестовое покрытиеLtc - кол-во строк кода, покрытых тестамиLcode - общее кол-во строк кода. Метод оценки покрытия кода не выявит нереализованные требования, так как работает не с конечным продуктом, а с существующим исходным кодом Тестирование как процессПокрытие Tcov = (Ltc/Lcode) * 100%
22. Покрытие тестами требований Расчет тестового покрытия относительно требований проводится по формуле: где:Tcov - тестовое покрытиеLcov - количество требований, проверяемых тест кейсамиLtotal - общее количество требований Метод покрытия требований может оставить непроверенными некоторые участки кода, потому что не учитывает конечную реализацию. Тестирование как процессПокрытие Tcov = (Lcov/Ltotal) * 100%
23. Контроль качества на всех этапах реализации функционала Тестирование как процессЧто должно получиться
24. Инфраструктурные инструменты Testlink Mantis Planner (Web2Project, Wiki) Wiki Система контроля версий Инструменты для работы Jmeter (нагрузка) Сценарии для автоматизации. Selenium (IDE, RC, Grid, пр.) Автоматизация функционального тестирования Bromine (требуется исследование) Hudson (требуется исследование) Тестирование как процессИнструменты
25. Система управления тест-кейсами и требованиями. Устанавливает связь требований с тестами Устанавливает зависимости между требованиями Поддерживает версионность требований и тестов Фиксирует результаты выполнения тестов Формирует отчеты по результатам прогонов за любой период и по любому билду (выкатке) Имеется интерфейс для BTS Mantis. Тестирование как процессTestlink