Каким образом обеспечение качества вписывается в фазу разработки программного обеспечения?Обеспечение качества на этапе проектирования?
Какие (если есть) действия по обеспечению качества выполняются на этапе проектирования?
Каким образом обеспечение качества вписывается в фазу разработки программного обеспечения?Обеспечение качества на этапе проектирования?
Какие (если есть) действия по обеспечению качества выполняются на этапе проектирования?
Хороший дизайн - проверяемый дизайн. ИМО, нужно всегда думать о том, как можно тестировать программное обеспечение даже на этапе проектирования. Разумеется, требуемый уровень внимания будет зависеть от того, выполняете ли вы детальный дизайн или высокоуровневую архитектуру. Использование методологии, такой как TDD, заставит обратить внимание на важность тестирования во время проектирования. Конечно, не следует забывать о других аспектах QA, таких как тестирование юзабилити, тестирование производительности и т. Д. Это тоже важные факторы, которые необходимо учитывать при проектировании - как для достижения ваших целей, так и для оценки того, достигнуты ли цели.
Наиболее полезная вещь, которую QA может выполнять на этапе проектирования, состоит в том, чтобы убедиться, что поставляемая спецификация имеет набор четких, проверяемых целей. И используйте эти цели, чтобы составить план тестирования.
Это так, чтобы они могли ответить на два очень важных вопроса: «Может ли это быть испытаны» и «Сколько времени это займет, чтобы проверить». Первое важно для того, чтобы все знали критерии завершения проекта. И второе необходимо, поскольку оно составляет часть общей стоимости реализации.
Гарантия качества на самом деле не вписывается в фазу проектирования. QA касается фиксации дефектов после их возникновения, что было обычной практикой в последнем тысячелетии. Конечно, могут возникнуть дефекты в технических документах, созданных во время проектирования, но помимо тех, у которых нет продукта, нет никаких дефектов.
Управление качеством, с другой стороны, это путь в 21-й век. Это комплексный подход к дефекту профилактика. Крайне важно интегрировать его в свой проект с самого начала, поэтому он определенно должен вписаться в дизайн.
Есть тысячи книг и веб-страниц на эту тему, но IMO самые важные вещи:
Этот аргумент действительно не затрагивает вопрос: «Обеспечение качества» и «Управление качеством» могут быть разными, хотя я немного скептически отношусь к этому, но одна из них была бы «политикой качества». – chills42
Ну, когда я ответил на вопрос, заголовок гласил: «Обеспечение качества во время фазы проектирования», поэтому он затрагивает исходный вопрос. И QM и QA * - это разные вещи, и сосредоточение только на QA является * огромной * ошибкой. Я сделал это, сожжен ... – Treb
Существует жутковатая фаза архитектурного проектирования и подробная фаза проектирования.
ОК деятельность в течение этих фаз может включать в себя:
Это иногда называют «критические обзоры конструкции программного обеспечения». Вы можете увидеть пример контрольного списка here.
Чтобы понять, как она вписывается в вашем конкретном процессе разработки, вы должны рассмотреть следующие вопросы:
Фаза проектирования: Отсутствие качества в процессе проектирования может аннулировать правильную спецификацию требований и может сделать правильную реализацию невозможной. Отраслевая практика показывает, что использование контрольного перечня во время проектирования помогает улучшить качество дизайна
Рассматривали ли мы все требования, упомянутые в SRS? Включен ли SRS под контроль документа? Удовлетворены ли требования, связанные со следующими функциями во время проектирования? Производительность, безопасность, параллельность, удобство использования, переносимость, тестируемость, язык/DB/OS/аппаратные требования, среда разработки, совместимость, соблюдение отраслевых стандартов, масштабируемость, обработка исключений
Является ли методология проектирования выбранной для типа разработки программного обеспечения. Ясность: Является ли проектная документация четкой/недвусмысленной? Может ли он быть технически обоснованным Совместимость с существующим программным обеспечением Был ли выявлен эффект этой конструкции на существующем программном обеспечении Проведен анализ воздействия Описан ли этот дизайн на побочных эффектах другого программного обеспечения? Имеет ли этот дизайн какую-либо зависимость от любого другого связанного проекта?
Уровень компонента: Являются ли интерфейсы хорошо определенными? ли основные структуры данных, определенные ли основные алгоритмы, определенные ли поток данных/управления определяется структуры данных и алгоритмы ли структуры данных, определенные ли методы доступа к структурам данных, определенные? Определены ли алгоритмы? Решают проблемы структуры данных и алгоритмы
Обработка ошибок/исключений Обработаны ошибки типа данных? Проверяет ли программное обеспечение ввод пользователя? Предоставляет ли программное обеспечение явные, не угрожающие сообщения, если возникает ошибка? (Качество сообщений об ошибках). Можно ли перезагрузить программное обеспечение из любой точки после ошибки? Содержит ли программное обеспечение условия исключения, такие как нарушения доступа и ошибки с плавающей запятой.
Интерфейсы процедуры Соответствует ли число фактических параметров числу формальных параметров? Соответствует ли тип и размер фактических параметров типу и размеру формальных параметров? Правильно ли мы указали локальные и глобальные функции? Являются ли глобальные переменные определенными и неизменно используемыми для модулей? Является ли все сообщение документированным (то есть параметры и общие данные)?
Процедура Уровень Выполняет ли процедура что-то очень похожее на существующую процедуру? Есть ли процедура библиотеки, которая будет делать то же самое? Является ли процедура чрезмерно сложной? Может ли процедура быть разбита на отдельные, более логичные фрагменты. Является ли процедура приемлемого размера?
Выполняет ли процедура только одну логическую вещь? Описывает ли процедура статическую переменную сферы действия? Является ли процедура легко поддерживаемой и скоррелированной ссылкой? Можно ли легко проверить процедуру? Описаны ли побочные эффекты?
Качество Являются ли цели дизайна (надежность, гибкость, ремонтопригодность, производительность и т. Д.)? Соответствует ли дизайн своим заявленным целям? (Прослеживаемость к требованиям) Есть ли доказательства того, что было рассмотрено более одного варианта дизайна? Есть несколько вариантов дизайна, перечисленных вместе с причиной их принятия или отклонения? Являются ли расчетные допущения Являются ли конструктивные компромиссы Является ли дизайн эффективным? Является ли конструкция ремонтопригодной? Является ли дизайн портативным? Можно ли изменить внешний вид конструкции во внешнюю среду с минимальными изменениями? Является ли параметр параметра управляемым или являются значениями, жестко закодированными в программах.
Требования Соответствует ли дизайн всем требованиям? Прослеживаемость между дизайном и спецификациями системы? Может ли дизайн соответствовать требованиям к стоимости разработки? Может ли быть выполнено в заданный временной интервал? Сохраняется ли конструкция в пределах ограничений памяти требований Сохраняется ли конструкция в пределах требуемых ограничений использования диска Соответствует ли дизайн требованиям времени отклика? Будет ли дизайн обрабатывать ожидаемый курс транзакций? Будет ли конструкция обрабатывать ожидаемые объемы потока данных?
Можете ли вы, пожалуйста, продумать, потому что на данный момент ваш вопрос не очень ясен. –
Даже я не знаю точно, что это значит, но может быть, какие качества завершаются на стадии проектирования? – user81378
после редактирования Джеффа, я добавил ваше разъяснение к вопросу и назначил его для повторного открытия. – warren