понедельник, 27 июля 2009 г.

Программная ошибка как артефакт существующей и правильной спецификации

Всю свою сознательную профессиональную жизнь я пытался создавать идеальные документы. Даже если это были просто отписки о проделанной ненужной работе. Сначала меня этому учили, потом я стал испытывать от этого удовольствие. Перейдя в QA идея идеальности была похоронена реальностью производства ПО.

Спецификации, технические задания, планы проектов быстро и безвозвратно устаревают. Редкий менеджер (в моей памяти) ведет историю документа и только QA, как мячик скачет от спецификации к менеджеру, от менеджера к разработчику, от разработчика к программе, что бы собрать крупицы правды. По этому же поводу Сем Канер отозвался очередной цитатой недели:

Одним из распространенных определений программной ошибки является - расхождение между программой и ее спецификацией. Не пользуйтесь этим определением. Расхождение между программой и ее спецификацией является ошибкой тогда, и только тогда, когда спецификация существует и она правильна.
Сем Канер и др. Тестирование ПО

А если спецификации нет или она неправильна? - Скачите Шура, скачите.

2 комментария:

  1. "Одним из распространенных определений программной ошибки является - расхождение между программой и ее спецификацией. Не пользуйтесь этим определением. Расхождение между программой и ее спецификацией является ошибкой тогда, и только тогда, когда спецификация существует и она правильна."
    С этим сложно не согласиться... НО я бы немного более абстрактно взглянул на это:
    Ошибкой является расхождение между программой и ее спецификацией. А вот является она программной или ошибкой спецификации - это уже другой вопрос!!!

    Объединяет их то, что в результате они все должны быть исправлены...

    Вот.

    ОтветитьУдалить
  2. Я думаю тут вопрос еще больше и толще... ;)

    Правильные процесcы (увижу я когда нибудь эти правильные процессы?) подразумевают постоянный свой анализ, планирование и улучшение. Равно как и продукт этого самого процесса - спеки или программа...

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

    :)

    ОтветитьУдалить