2009-03-23 5 views
7

Каким образом обеспечение качества вписывается в фазу разработки программного обеспечения?Обеспечение качества на этапе проектирования?

Какие (если есть) действия по обеспечению качества выполняются на этапе проектирования?

+0

Можете ли вы, пожалуйста, продумать, потому что на данный момент ваш вопрос не очень ясен. –

+0

Даже я не знаю точно, что это значит, но может быть, какие качества завершаются на стадии проектирования? – user81378

+0

после редактирования Джеффа, я добавил ваше разъяснение к вопросу и назначил его для повторного открытия. – warren

ответ

2

Хороший дизайн - проверяемый дизайн. ИМО, нужно всегда думать о том, как можно тестировать программное обеспечение даже на этапе проектирования. Разумеется, требуемый уровень внимания будет зависеть от того, выполняете ли вы детальный дизайн или высокоуровневую архитектуру. Использование методологии, такой как TDD, заставит обратить внимание на важность тестирования во время проектирования. Конечно, не следует забывать о других аспектах QA, таких как тестирование юзабилити, тестирование производительности и т. Д. Это тоже важные факторы, которые необходимо учитывать при проектировании - как для достижения ваших целей, так и для оценки того, достигнуты ли цели.

8

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

Это так, чтобы они могли ответить на два очень важных вопроса: «Может ли это быть испытаны» и «Сколько времени это займет, чтобы проверить». Первое важно для того, чтобы все знали критерии завершения проекта. И второе необходимо, поскольку оно составляет часть общей стоимости реализации.

1

Гарантия качества на самом деле не вписывается в фазу проектирования. QA касается фиксации дефектов после их возникновения, что было обычной практикой в ​​последнем тысячелетии. Конечно, могут возникнуть дефекты в технических документах, созданных во время проектирования, но помимо тех, у которых нет продукта, нет никаких дефектов.

Управление качеством, с другой стороны, это путь в 21-й век. Это комплексный подход к дефекту профилактика. Крайне важно интегрировать его в свой проект с самого начала, поэтому он определенно должен вписаться в дизайн.

Есть тысячи книг и веб-страниц на эту тему, но IMO самые важные вещи:

  1. Учитесь на прежних ошибках. Проанализируйте похожие проекты и посмотрите, какие были самые большие ошибки. Попытайтесь избежать их в своем проекте.
  2. После завершения проекта выполните проверку после действия, чтобы узнать, что было пропущено на шаге 1 выше. Используйте эту информацию в следующем аналогичном проекте.
+0

Этот аргумент действительно не затрагивает вопрос: «Обеспечение качества» и «Управление качеством» могут быть разными, хотя я немного скептически отношусь к этому, но одна из них была бы «политикой качества». – chills42

+0

Ну, когда я ответил на вопрос, заголовок гласил: «Обеспечение качества во время фазы проектирования», поэтому он затрагивает исходный вопрос. И QM и QA * - это разные вещи, и сосредоточение только на QA является * огромной * ошибкой. Я сделал это, сожжен ... – Treb

1

Существует жутковатая фаза архитектурного проектирования и подробная фаза проектирования.

ОК деятельность в течение этих фаз может включать в себя:

  • заверив, что архитектура поддерживает все (не) -функционала требованиям
  • заверив, что все важные модули покрыты и правильно спроектированный в детальных проектов
  • Обеспечение того, что проектные документы находятся под управлением (изменением) управления
  • Выполнение (официальные) обзоры для рассмотрения архитектуры и ее документации
  • Обеспечение соблюдения предопределенных стандартов проектирования

Это иногда называют «критические обзоры конструкции программного обеспечения». Вы можете увидеть пример контрольного списка here.

1

Чтобы понять, как она вписывается в вашем конкретном процессе разработки, вы должны рассмотреть следующие вопросы:

  • Качество продукта несет ответственность всей команды. Каждая группа ролей должна приносить свою соответствующую ценность проекту (приносите помощь проекту, если вы чувствуете, что некоторые навыки отсутствуют). Не нужно, чтобы команда по качеству выполняла действия, которые должны быть/должны быть экспертными оценками, т. Е. Обзоры архитектуры/дизайна.
  • QA - это не то место, где вы выбрасываете любую недостающую ответственность в проекте, т. Е. Управление проектами должно заботиться о бюджете, рисках и т. Д. Его ответственность за эту роль должна быть гарантирована. Помимо этого, вы используете аудиты + наставничество, чтобы помочь каждому члену команды выполнить свои роли.
  • QA вносит вклад в архитектуру/дизайн, исходя из их представления, что он должен быть проверен. Они активно рассматривают/планируют/проектируют, как они будут тестировать указанную архитектуру/дизайн, что является важным фактором для эффективного/успешного тестирования.
  • QA вносит свой вклад в разнообразие артефактов, так же как и сторона разработки. Всегда сосредоточен на том, как он связан с целями, которые они хотят достичь.
  • QA необходимо подготовить для начала автоматизации тестирования с самого начала разработки. Это также предполагает важную координацию с разработчиками и план, чтобы использовать подход к разработке, который позволит команде qa постоянно/постепенно выполнять автоматизацию тестирования.
  • Точно так же, как деятельность по разработке связана с приоритетом, команда qa должна делать то же самое. Существует так много вариантов тестирования, которые можно выполнить в проекте, что на самом деле невозможно сделать все это с полным охватом. Это повлияет на усилия qa в проекте, а также поможет дать понять, что осталось вне сферы действия на стороне команды qa (могут быть приняты другие меры для решения этой проблемы из других ролей).
  • Как выполняются действия, имеет близкое отношение к используемым процессам и методам. Упрощение будет заключаться в следующем: если вы задействуете деятельность/усилия в области развития, есть что-то значимое для усилий qa, которые должны продолжаться.
  • Большая часть ролей и видов деятельности в различных методологиях заключается в добавлении к различным аспектам качества проекта и связанного продукта (ов).
2

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

Рассматривали ли мы все требования, упомянутые в SRS? Включен ли SRS под контроль документа? Удовлетворены ли требования, связанные со следующими функциями во время проектирования? Производительность, безопасность, параллельность, удобство использования, переносимость, тестируемость, язык/DB/OS/аппаратные требования, среда разработки, совместимость, соблюдение отраслевых стандартов, масштабируемость, обработка исключений

Является ли методология проектирования выбранной для типа разработки программного обеспечения. Ясность: Является ли проектная документация четкой/недвусмысленной? Может ли он быть технически обоснованным Совместимость с существующим программным обеспечением Был ли выявлен эффект этой конструкции на существующем программном обеспечении Проведен анализ воздействия Описан ли этот дизайн на побочных эффектах другого программного обеспечения? Имеет ли этот дизайн какую-либо зависимость от любого другого связанного проекта?

Уровень компонента: Являются ли интерфейсы хорошо определенными? ли основные структуры данных, определенные ли основные алгоритмы, определенные ли поток данных/управления определяется структуры данных и алгоритмы ли структуры данных, определенные ли методы доступа к структурам данных, определенные? Определены ли алгоритмы? Решают проблемы структуры данных и алгоритмы

Обработка ошибок/исключений Обработаны ошибки типа данных? Проверяет ли программное обеспечение ввод пользователя? Предоставляет ли программное обеспечение явные, не угрожающие сообщения, если возникает ошибка? (Качество сообщений об ошибках). Можно ли перезагрузить программное обеспечение из любой точки после ошибки? Содержит ли программное обеспечение условия исключения, такие как нарушения доступа и ошибки с плавающей запятой.

Интерфейсы процедуры Соответствует ли число фактических параметров числу формальных параметров? Соответствует ли тип и размер фактических параметров типу и размеру формальных параметров? Правильно ли мы указали локальные и глобальные функции? Являются ли глобальные переменные определенными и неизменно используемыми для модулей? Является ли все сообщение документированным (то есть параметры и общие данные)?

Процедура Уровень Выполняет ли процедура что-то очень похожее на существующую процедуру? Есть ли процедура библиотеки, которая будет делать то же самое? Является ли процедура чрезмерно сложной? Может ли процедура быть разбита на отдельные, более логичные фрагменты. Является ли процедура приемлемого размера?

Выполняет ли процедура только одну логическую вещь? Описывает ли процедура статическую переменную сферы действия? Является ли процедура легко поддерживаемой и скоррелированной ссылкой? Можно ли легко проверить процедуру? Описаны ли побочные эффекты?

Качество Являются ли цели дизайна (надежность, гибкость, ремонтопригодность, производительность и т. Д.)? Соответствует ли дизайн своим заявленным целям? (Прослеживаемость к требованиям) Есть ли доказательства того, что было рассмотрено более одного варианта дизайна? Есть несколько вариантов дизайна, перечисленных вместе с причиной их принятия или отклонения? Являются ли расчетные допущения Являются ли конструктивные компромиссы Является ли дизайн эффективным? Является ли конструкция ремонтопригодной? Является ли дизайн портативным? Можно ли изменить внешний вид конструкции во внешнюю среду с минимальными изменениями? Является ли параметр параметра управляемым или являются значениями, жестко закодированными в программах.

Требования Соответствует ли дизайн всем требованиям? Прослеживаемость между дизайном и спецификациями системы? Может ли дизайн соответствовать требованиям к стоимости разработки? Может ли быть выполнено в заданный временной интервал? Сохраняется ли конструкция в пределах ограничений памяти требований Сохраняется ли конструкция в пределах требуемых ограничений использования диска Соответствует ли дизайн требованиям времени отклика? Будет ли дизайн обрабатывать ожидаемый курс транзакций? Будет ли конструкция обрабатывать ожидаемые объемы потока данных?

 Смежные вопросы

  • Нет связанных вопросов^_^