На Главную

Общие принципы тестирования

February 12th, 2009 by Ira Sribna

bugs.JPGНа протяжении долгого и тяжелого пути тестирования, были замечены особенности, присущие данному виду деятельности. Прошу знакомиться: :)

  • Тестирование демонстрирует присутствие дефектов, а не их отсутствие : Тестирование демонстрирует, что у продукта есть недостатки, т.е. в продукте есть дефекты. Тестирование не может доказать, что программа не содержит дефектов. Должное тестирование сокращает вероятность присутствия скрытых дефектов в тестируемом объекте. Даже если проблемы найдены в процессе тестирование, это не доказывает, что дефектов в продукте нет.
  • Исчерпывающее тестирование невозможно: Исчерпывающий тест, в котором все возможные входные данные и их комбинации предусмотрены, включая различные предусловия, невозможен. Программное обеспечение, разрабатываемое на практике, требовало бы астрономического числа тест кейсов. Поэтому каждый тест кейс – это всегда лишь образец. Вследствие этого, выполнение тестов  должно быть контролируемо с учетом рисков и приоритетов.
  • Работы, связанные с тестированием, должны начинаться как можно раньше: Тестирование должно начинаться на ранних стадиях жизненном цикла программного обеспечения и должно фокусироваться на заданных целях. Это поспособствует более раннему нахождению дефектов.
  • Дефекты имеют тенденцию скапливаться группами: Дефекты не распределены равномерно, они имеют свойство «собираться группами». Поэтому, если много дефектов было найдено в одном месте,  обычно еще больше дефектов могут быть обнаружены неподалеку.  Не нужно критично относиться к данному правилу :-)
  • “Пестицидный парадокс”: Если те же самые тесты выполняются снова и снова, они теряют свою эффективность. Новые, неизвестные до сих пор дефекты не будут найдены. Поэтому, чтобы сохранить эффективность тестов и победить «пестицидный парадокс»,  должны быть созданы новые тест кейсы, а старые изменены.
  • Тест ситуационно зависим: Две различные системы не должны быть протестированы одинаковым способом. Для каждой системы критерии завершения тестирования и т.д. должны быть выбраны индивидуально.
  • Ошибочность предположения, что отсутствие сбоев означает пригодность системы: Поиск сбоев и корректировка дефектов не гарантирует, что система в целом соответствует ожиданиям и потребностям пользователя. Вовлечение пользователей в процесс разработки на ранних стадиях и использование прототипов поспособствует избежанию проблем.

Перевод из книги “Software Testing Foundations” (авторы: Andreas Spillner, Tilo Linz, Hans Schaefer)

Интересное в интернете:

Автор: Ira Sribna

Похожие статьи:

RSS комментариев

8 Комментариев

Comment by Аноним
2009-02-12 12:29:50

Идем на сертификацию?

Comment by Ira Sribna
2009-02-12 14:42:49

это предложение? :)

 
 
2009-02-12 16:42:07

“Исчерпывающее тестирование невозможно”
тут варто додати “для нетривіальних продуктів”.

якщо все, що робить програмний продукт, це додавання двох констант, то число тестів прямує до певного скінченного числа :)

Comment by Ira Sribna
2009-02-12 17:58:15

мне кажется, что как раз, продукт, выполняющий простое сложение двух констант, относится к тривиальным задачам. Плюс такой продукт, это скорее теоретический пример, в реальной жизни он вряд ли кому-нибудь понадобится :)

 
 
Comment by СOTOHA Subscribed to comments via email
2009-02-12 19:44:18

просто перевод, даже без каких-либо коментариев?

 
 
Comment by Ева Subscribed to comments via email
2009-02-16 10:51:54

для исчерпывающего тестирования можно просто использовать несколько разных тестов. Каждый из них обнаружит какие-либо дефекты. А каждый последующий обнаружит те, которых не обнаружил предыдущий. в любом случае, большая их часть будет обнаружена.

 
2009-02-19 11:48:21

Общие принципы тестирования | Sribna…

Перевод из книги “Software Testing Foundations” (авторы: Andreas Spillner, Tilo Linz, Hans Schaefer)…

 

Извините, комментарии закрыты.