Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование Стандартов и Процессов

Качество программного обеспечения

Каждый день в своей работе мы сталкиваемся с достаточно абстрактным понятием «качество ПО» и если задать вопрос тестировщику или программисту — «что такое качество?», то у каждого найдется своё толкование. Рассмотрим определение "качества ПО" в контексте международных стандартов: [1061-1998 IEEE Standard for Software Quality Metrics Methodology] Качество программного обеспечения - это степень, в которой ПО обладает требуемой комбинацией свойств. [ISO 8402:1994 Quality management and quality assurance] Качество программного обеспечения — это совокупность характеристик ПО, относящихся к его способности удовлетворять установленные и предполагаемые потребности. На данный момент наиболее распространена и используется многоуровневая модель качества программного обеспечения, представленная в наборе стандартов ISO 9126. На верхнем уровне выделено 6 основных характеристик качества ПО, каждую из которых определяют набором атрибутов, имеющих соответствующие метрики для последующей оценки.

Характеристики качества ПО

  • Функциональность (Functionality) — определяется способностью ПО решать задачи, которые соответствуют зафиксированным и предполагаемым потребностям пользователя, при заданных условиях использования ПО. Т.е. эта характеристика отвечает за то, что ПО работает исправно и точно, функционально совместимо, соответствует стандартам отрасли и защищено от несанкционированного доступа.
  • Надежность (Reliability) — способность ПО выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций. Атрибуты данной характеристики — это завершенность и целостность всей системы, способность самостоятельно и корректно восстанавливаться после сбоев в работе, отказоустойчивость.
  • Удобство использования (Usability) — возможность легкого понимания, изучения, использования и привлекательности ПО для пользователя.
  • Эффективность (Efficiency) — способность ПО обеспечивать требуемый уровень производительности в соответствие с выделенными ресурсами, временем и другими обозначенными условиями.
  • Удобство сопровождения (Maintainability) — легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к именующемуся окружению.
  • Портативность (Portability) — характеризует ПО с точки зрения легкости его переноса из одного окружения (software/hardware) в другое.

При старте QA организации, начните со следующих шагов. Они относительно легки в осуществлении и обеспечении настоящих выгод качества:

  • Договоритесь об общих шаблонах
  • Определите последовательность действий
  • Убедитесь, что стандарты и процессы используются
  • Сохраняйте последующие анализы проекта
  • Анализируйте и учитесь, используя данные дефектов
  • Используйте то, что вы изучили

С чего начать обеспечение качества?

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

Если ваша организация еще не занимается действительно гарантированием качества, то вы имеете существенные возможности улучшить это с помощью ваших выполненных прошлых проектов. Но прежде, чем вы сможете получить любые выгоды, вы должны объяснить вашей организации её затраты из-за низкого качества. Вооруженная этими данными о расходах, ваша организация может установить человека или группу, которая будет ответственна за QA, и делегировать ей власть, чтобы применять те действия, которые я описал.

Гарантия или Обеспечение качества (Quality Assurance) – это главным образом процесс изучения: изучения того, что работает плохо, и что вы можете сделать относительно этого; изучения того, что работает, окружения, в котором оно работает, и применения этого как установившейся практики; и изучения того, как работать лучше с каждым проектом, который вы берёте на свою ответственность.

Создание и Использование Шаблонов

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

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

Действия по контролю качества (Quality Control), такие как рецензии и тестирование, могли бы быть лучше сфокусированы и более продуктивны, если изделие было бы построено, используя согласованные шаблоны. Без них, рецензенты и тестировщики должны пробовать найти баги в чём угодно, что разработчик мог сделать. Такой неорганизованный подход к контролю качества требует больших усилий и кончается меньшим охватом и более низким результатом обнаружения дефектов.

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

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

Создание Инструкций

Заметьте, что заголовок не говорит, что вы должны использовать инструкции или процессы. Это потому что каждый использует процессы для вещей, которые делает регулярно. Ваш отдел уже имеет инструкции по созданию программного обеспечения. Вот два главных вопроса, которые вы должны спросить сами себя относительно этих инструкций:

  1. Отвечают ли они вашим потребностям?
  2. Выполняете ли вы их последовательно в соответствующих средах

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

Часто, когда люди знают свои процессы, это потому, что они глубоко понимают их. Например, процессы могут идти по пути сотрудничества, технического превосходства, или отношений заинтересованных сторон, или некоторым другим способом будут не в состоянии выполнять потребности команды. Человек, который говорит “Я никогда не встречал процесс, который бы мне нравился”, вероятно, использовал много хороших процессов, но не понимал их.

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

Второй вопрос сосредотачивается на качестве вашего выполнения этих инструкций. Если вы не уместно и не последовательно делаете вещи, с которыми вы согласились, то выгоды от хороших процессов, вероятно, будут потеряны. Последовательное использование высококачественных процессов - вопрос уверенности в том, что каждый человек знает, когда и как следовать им и строгое соблюдение этих инструкций - ожидаемый результат для команды. “Это - то, как мы делаем вещи здесь”.

Использование Стандартов и Процессов

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

Модель CMMI (Capability Maturity Model Integration) делает это через проверку процессов. (CMMI классифицирует эти проверки как обеспечение качества, потому что они проверяют процесс больше, чем продукт.) Гибкие технологии программирования (например, Экстремальное Программирование - Extreme Programming или XP) используют для этого метод коучинга (coaching). Независимо от того, как эта проверка сделана или как она называется, она заканчивается выгодами качества.

Если вы обнаруживаете случай, где принятый стандарт или процесс игнорировались, это заслуживает расследования и разрешения, потому что для этого может быть множество причин. Например:

· Человек просто забыл следовать за стандартом или процессом. Напомните ему.

· Человек не понимал стандарт или процесс или не знал, как использовать его. Улучшите ваш процесс передачи информации или обучающие методы.

· Стандарт или процесс не подходил для данной специфичной работы. Пересмотрите приспосабливающие для определенной цели руководства или альтернативы.

· Стандарт или процесс был неэффективным или слишком громоздким для ситуации. Упростите его так, чтобы он соответствовал требованию.

Каждое "нарушение" стандарта или процесса – это возможность изучить и улучшать его так, чтобы он лучше соответствовал потребностям команды.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...