Общие принципы тестирования
February 12th, 2009 by Ira SribnaНа протяжении долгого и тяжелого пути тестирования, были замечены особенности, присущие данному виду деятельности. Прошу знакомиться:
- Тестирование демонстрирует присутствие дефектов, а не их отсутствие : Тестирование демонстрирует, что у продукта есть недостатки, т.е. в продукте есть дефекты. Тестирование не может доказать, что программа не содержит дефектов. Должное тестирование сокращает вероятность присутствия скрытых дефектов в тестируемом объекте. Даже если проблемы найдены в процессе тестирование, это не доказывает, что дефектов в продукте нет.
- Исчерпывающее тестирование невозможно: Исчерпывающий тест, в котором все возможные входные данные и их комбинации предусмотрены, включая различные предусловия, невозможен. Программное обеспечение, разрабатываемое на практике, требовало бы астрономического числа тест кейсов. Поэтому каждый тест кейс – это всегда лишь образец. Вследствие этого, выполнение тестов должно быть контролируемо с учетом рисков и приоритетов.
- Работы, связанные с тестированием, должны начинаться как можно раньше: Тестирование должно начинаться на ранних стадиях жизненном цикла программного обеспечения и должно фокусироваться на заданных целях. Это поспособствует более раннему нахождению дефектов.
- Дефекты имеют тенденцию скапливаться группами: Дефекты не распределены равномерно, они имеют свойство «собираться группами». Поэтому, если много дефектов было найдено в одном месте, обычно еще больше дефектов могут быть обнаружены неподалеку. Не нужно критично относиться к данному правилу
- “Пестицидный парадокс”: Если те же самые тесты выполняются снова и снова, они теряют свою эффективность. Новые, неизвестные до сих пор дефекты не будут найдены. Поэтому, чтобы сохранить эффективность тестов и победить «пестицидный парадокс», должны быть созданы новые тест кейсы, а старые изменены.
- Тест ситуационно зависим: Две различные системы не должны быть протестированы одинаковым способом. Для каждой системы критерии завершения тестирования и т.д. должны быть выбраны индивидуально.
- Ошибочность предположения, что отсутствие сбоев означает пригодность системы: Поиск сбоев и корректировка дефектов не гарантирует, что система в целом соответствует ожиданиям и потребностям пользователя. Вовлечение пользователей в процесс разработки на ранних стадиях и использование прототипов поспособствует избежанию проблем.
Перевод из книги “Software Testing Foundations” (авторы: Andreas Spillner, Tilo Linz, Hans Schaefer)
Интересное в интернете:
- Быстрое создание саттелита с помощью XAP
- Даже когда денег нет, они все равно есть - так утверждает Макс Крайнов
Идем на сертификацию?
это предложение?
“Исчерпывающее тестирование невозможно”
тут варто додати “для нетривіальних продуктів”.
якщо все, що робить програмний продукт, це додавання двох констант, то число тестів прямує до певного скінченного числа
мне кажется, что как раз, продукт, выполняющий простое сложение двух констант, относится к тривиальным задачам. Плюс такой продукт, это скорее теоретический пример, в реальной жизни он вряд ли кому-нибудь понадобится
просто перевод, даже без каких-либо коментариев?
yup
для исчерпывающего тестирования можно просто использовать несколько разных тестов. Каждый из них обнаружит какие-либо дефекты. А каждый последующий обнаружит те, которых не обнаружил предыдущий. в любом случае, большая их часть будет обнаружена.
Общие принципы тестирования | Sribna…
Перевод из книги “Software Testing Foundations” (авторы: Andreas Spillner, Tilo Linz, Hans Schaefer)…