понедельник, 26 января 2009 г.

Урок 53: Оценочные (evaluation-based) техники фокусируются на том, как определить, что тест выполнен или провален


Lessons Learned in Software Testing
Авторы: Cem Kaner, James Bach и Bret Pettichord
Перевод: Сергей Талалаев


Оценочные техники описывают методы для определения того, что программа выполнила или провалила тест. Они не определяют, как тестирование должно выполняться, или как должны собираться данные. Они говорят вам, что если вы можете собрать определенные данные, то вы сможете их оценить.

Самотестируемые данные. Файлы данных, используемые вами для тестирования, несут в себе информацию, которая позволяет вам определять, что выходные данные повреждены.

Сравнение с сохраненными результатами. Регрессионное тестирование (обычно, но не всегда автоматизированное), в котором тот факт, пройден тест или провален, определяется путем сравнения результатов, полученных вами сегодня, с результатами предыдущей недели. Если результаты были корректными на прошлой неделе и отличаюся сегодня, то такое различие может говорить о новом дефекте.

Сравнение со спецификацией или другим авторитетным документом. Различие со спецификацией - это (возможно) ошибка.

Эвристическое соответствие. Соответствие - это важный критерий оценки
программы.Несоответствие может быть поводом для создания отчета об ошибке или отражать сознательное изменение дизайна. Мы используем в работе 7 основных соответствий:
1. Историческое соответствие. Текущие поведение функции соответствует её поведению в прошлом.
2. Соответствие в представлении. Поведение функции соответствует тому, что организация ожидала от проекта.
3. Соответствие со сравнимыми продуктами. Поведение функции соответствует поведению подобных функций в сравнимых продуктах.
4. Соответствие утверждениям. Поведение функции соответствует тому, как, по мнению людей, это должно быть.
5. Соответствие ожиданиям. Поведение функции соответствует тому, что, по вашему мнению, хочет пользователь.
6. Соответствие продукту. Поведение функции соответствует поведению сравнимых функций или функциональных шаблонов в продукте.
7. Соответствие цели. Поведение функции соответствует её истинной цели.

Оракул-based тестирование. Оракул - это оценочное приспособление, которое скажет вам о том, что программа прошла или провалила тест. В высокопроизводительном автоматизированном тестировании оракул - это обычно другая программа,которая выдает результаты или оценивает результаты проверяемой программы. Оракул обычно более авторитетен, чем проверяемая программа, поэтому беспокойство, отмеченное оракулом, стоит времени и усилий, потраченных на проверку.

6 комментариев:

Команда sqadotby комментирует...

Если вы нахмурясь выйдете из дома,Если вам не в радость солнечный денек...

Чтобы немного отвлечься от кризисных явлений в головном мозге, предлагаем вам очередную порцию "спорных" мыслей (как они сами неустанно повторяют) от уже известных вам авторов.

А.Б. комментирует...

"Сравнение со спецификацией или другим авторитетным документом. Различие со спецификацией - это (возможно) ошибка."

На мой взгляд, различие со спецификацией это на 100% ошибка вот только остается определить где, в приложении или в спецификации...

nhu комментирует...

To Alexey Bulat:
В точку, Алексей! :)
В тех условиях, в которых мы работаем (когда сроки и другие факторы - типа человеческой лени - не позволяют поддерживать спецификацию в актуальном состоянии), ошибка, наверняка, либо в приложении, либо в спецификации.

А авторы, похоже, имели дело с другими спецификациями, которые они причисляют к отряду авторитетных документов, и которым, видимо, можно доверять :)

Но я твое мнение разделяю и поддерживаю!

STA комментирует...

Эк вас зацепило, коллеги. :)

Я при переводе понял фразу в таком ключе: "Различие со спецификацией - это (возможно) ошибка в приложении"

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

Анонимный комментирует...

Что-то давно у вас не появлялось новых уроков. Сам читаю эту книгу в оригинале.
Могу помочь с продолжением этой рубрики.

Unknown комментирует...

Уважаемый yatester!
Спасибо большое за Ваше предложение помощи!
Да, у нас тут образовалься некоторый перерыв в работе над переводом, но мы обязатльно вернемся к этому, надеюсь, полезному процессу :)