Similar presentations:
Принципы тестирования
1.
ПРИНЦИПЫ ТЕСТИРОВАНИЯ2.
Quality / КачествоCтепень, в которой компонент, система или процесс удовлетворяют заданным требованиям и /
или потребностям и ожиданиям пользователя / клиента.
Software Quality / Качество ПО
Совокупность функциональных возможностей и характеристик программного продукта, которые
влияют на его способность удовлетворять заявленные или подразумеваемые потребности, а
также требованиям явным и не явным.
Software Testing / Тестирование ПО
Процесс анализа программного обеспечения и сопутствующей документации (требований,
спецификаций, макетов, схем, отраслевых стандартов и т.д.) с целью выявления дефектов и
повышения качества продукта.
3.
Software Attributes / Свойства ПО1. Accessibility / Доступность – доступность приложения для широкого круга людей, в том
числе, для людей с ограниченными возможностями (экранная лупа, озвучка действий и т.д.).
2. Compatibility / Совместимость – возможность корректного использования приложения в
различных средах и на различных платформах. В частности операционные системы (MacOS,
Windows, Linux и т.д.), версии операционных систем (Windows 7, 8, 10 и т.д.), браузеры
(Chrome, Firefox, Microsoft Edge, Safari и т.д.), различные устройства (настольные ПК,
мобильные телефоны, планшеты, и т.д).
3. Functionality / Функциональность - способность программы корректно выполнять функции
указанные в требованиях заказчика.
4. Localizability / Локализация - возможность использования программы на разных языках,
часовых поясах или иных региональных особенностях.
5. Performance / Производительность – скорость, с которой программа работает при
определенной нагрузке, например при одновременном количестве пользователей онлайн.
6. Security / Безопасность - степень защиты программы от несанкционированного доступа,
кражи или потери данных.
7. Usability / Удобство использования - степень простоты и удобства использования
программы.
4.
Verification / ВерификацияОценка того, соответствует ли программа требованиям заказчика.
Отвечает на вопрос: Мы правильно создаем приложение?
Во время тестирования приложения, в основном, происходит процесс его верификации.
Validation / Валидация
Оценка того, соответсвует ли программа потребностям и ожиданиям заказчика, а также
потенциальных пользователей.
Отвечает на вопрос: Мы создаем правильное приложение?
В гибких методологиях, именно демонстрация заказчику является процессом валидации
приложения или его части.
5.
Testing Principles / Принципы тестирования1. Тестирование показывает наличие дефектов, а не их отсутствие.
Тестировщик никогда не дает гарантий о том, что дефектов нет. Тестировщик может только утверждать, что в
условиях, которые он создал для приложения, дефектов не обнаружено.
2. Исчерпывающее тестирование невозможно.
Поскольку существует бесконечное количество сценариев использования программы, входных значений,
операционных систем и устройств протестировать их все технически невозможно.
Есть простая логика:
• Тесты ищут ошибки.
• Но все ошибки найти невозможно.
• Значит, наша задача — найти максимум ВАЖНЫХ ошибок за имеющееся время.
3. Раннее тестирование экономит время и деньги.
Исправить текст в требованиях намного дешевле, чем переделать часть программы или всю программу целиком.
4. Ошибки группируются вместе или принцип Парето.
80% дефектов находятся в 20% модулей программы. Поэтому тестировщики зачастую пытаются заранее предугадать
такие области и сконцентрировать на их тестировании больше ресурсов.
6.
Testing Principles / Принципы тестирования5. Остерегайтесь эффекта Пестицида.
Когда мы видим, что все эти тесты проходят успешно, это дает ложную уверенность в качестве
программы. Следовательно, целью должно быть последовательное добавление или изменение
тестов в течении всего цикла разработки программы.
6. Тестирование зависит от контекста.
Стратегия тестирования зависит от характера тестируемой программы, от того, кто ей будет
пользоваться и как.
7. Отсутствие ошибок - это заблуждение.
Этот принцип коррелирует с принципами 2 (исчерпывающее тестирование невозможно) и 1
(тестирование показывает наличие дефектов, а не их отсутствие). Ошибочно полагать, что
программное обеспечение без дефектов имеет высокое качество. Во-первых, некоторые дефекты
могли остаться незамеченными. Но даже если мы предположим, что все дефекты были обнаружен
и исправлены, это не обязательно означает, что программное обеспечение полностью соответствуе
потребностям и ожиданиям пользователей. Возможно, кнопка работает точно в соответствии со
спецификацией требований и не имеет каких-либо дефектов, но для пользователя она может
располагаться неудобно.
7.
Logic of creating checks /Логика создания проверок
Приступая к созданию проверок, задайте себе следующие вопросы и получите чёткие ответы:
• Уточнить наличие требований к объекту тестирования. Что перед вами? Если вы не понимаете,
что вам предстоит тестировать, вы не уйдёте дальше бездумных формальных проверок.
• Кому и зачем оно нужно (и насколько это важно)? Ответ на этот вопрос позволит вам быстро
придумать несколько характерных сценариев использования того, что вы собираетесь
тестировать.
• Как оно обычно используется? Это уже детализация сценариев и источник идей для позитивного
тестирования.
• Как приложение может сломаться, т.е. начать работать неверно? Это также детализация
сценариев использования, но уже в контексте негативного тестирования.
8.
9.
Requirements / Требования1. Функционал ножа включает в себя: консервный нож, штопор и лезвие.
2. Все функциональные части ножа складные.
3. Материал ручки: огнеупорный пластик.
4. Материал консервного ножа: металл плюс молибден.
5. Материал штопора и лезвия: металл.
6. Общий вес ножа: 893 грамма.
7. Цвет функциональной части ножа: металл без хрома.
8. Цвет ручки: красный.
9. Состояние лезвия ножа по умолчанию: заточен для резки мяса глубокой заморозки.
10.
Task / ЗаданиеИспользуя вышеописанные принципы и правила протестируйте смартфон.
Общее количество проверок 10 – 15.
software