Можно отметить следующие критерии качества программ

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

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

  • * критерий должен численно характеризовать степень выполнения основной целевой функции системы, наиболее важной для данного этапа анализа или синтеза;
  • * критерий должен обеспечивать возможность определения затрат, необходимых для достижения его различных значений, а также степени влияния на показатель качества различных внешних факторов и параметров;
  • * критерий должен быть по возможности простым по содержанию, хорошо измеряемым и иметь малую дисперсию, т. е. слабо зависеть от множества неконтролируемых факторов.

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

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

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

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

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

Критерии качества этапа проектирования включают, прежде всего, сложность создания комплекса программ и проверки его адекватности поставленным целям. На этапе проектирования основные затраты составляет трудоемкость создания программ заданной сложности и корректности.

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

Читайте также:
Какие бывают программы верстки

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

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

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

Источник: studwood.net

Критерии оценки качества программного продукта при тестировании

К качеству программного обеспечения (ПО) предъявляются высокие требования. Критерии качества, касающиеся надежности и эффективности, можно выполнить лишь при «серьезном» тестировании продукта (качественной верификации).

ЭТИ НАСТРОЙКИ YOUTUBE ДОЛЖЕН ЗНАТЬ КАЖДЫЙ

Качество ПО – продукт эффективного тестирования

Даже у самого лучшего программиста, по статистике, в тысяче строк программы может встречаться хоть одна ошибка, поиск и устранение которой потребует много временных, интеллектуальных и вычислительных ресурсов. Здесь есть над чем думать тестировщику (на программистском жаргоне – «тестеру»), специалисту по разработке тестов и тестированию ПО.

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

Тестируемые характеристики ПО

Стандартом и опытом разработчиков определены следующие тестируемые характеристики ПО:

  1. функциональность;
  2. производительность (обычно пиковая);
  3. системность (совместимость в системе);
  4. надежность (отказостойкость, самовосстанавливаемость);
  5. защищенность (управление вероятными уязвимостями, отказами);
  6. дружественность (простота, легкость, комфортность при работе);
  7. модифицируемость (тестируемость, документированность);
  8. адаптивность (переносимость, кросс-платформенность).

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

Читайте также:
Ошибка произошел сбой в программе инициализации библиотеки динамической компоновки dll

Задачи тестировщика

Специалист, ответственный за тестирование, в процессе тестовых испытаний ПО выявляет ошибки проектировщиков и программистов. Он выполняет ревизию логических связей всего комплекса. Но не кода – напрямую к коду у этого специалиста часто (и справедливо) нет доступа.

Но у него есть расширенные, больше чем у рядового пользователя, полномочия доступа. «Тестер» как пользователь проверяет программу, например, пошаговым исполнением, анализом контрольных узлов и др., применяя свой опыт и искусство составления тестов. От него все ждут тщательности, точности, скрупулезности.

Тестирование проводят автоматизированно или вручную, но всегда на основе оптимизированного («минимально-достаточного») набора тест-кейсов.

Обязанности тестировщика

  1. владеть тест-инструментарием;
  2. учитывать функциональность приложения;
  3. систематизировать и документировать процесс тестирования;
  4. убедительно (как для заказчика, так и для разработчика) объяснять причину сбоя, превентивные меры и др.

Компетенции тестировщика

Обязанностями продиктованы профессиональные качества «тестера»:

  1. знание (понимание) на уровне прикладного (хотя бы) программирования ряда языков (ряда языков C++, Java, Python и др.);
  2. применение баг-трекинга (систем отслеживания ошибок);
  3. владение инструментарием (программами) тестирования;
  4. опыт описания проведенного тестирования.

Важно знать английский язык (на уровне Intermediate+ и выше). Высоко востребованы умения взаимодействовать с другими участниками процесса создания ПО, видеть всё и сразу в программе, работать в команде, абстрагироваться от мелочей.

Тестирование – задача не менее сложная и важная, чем написание кода, и требующая внимания на всем жизненном цикле ПО.

Источник: ipap.ru

Критерии качества программы

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

Основное требование, предъявляемое в настоящее время к программе, — надежность. Под надежностью подразумевается способность программы работать в полном соответствии со спецификацией и адекватно реагировать на любые действия пользователя.

Читайте также:
Рассчитать кухню на распил программа

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

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

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

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

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

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

Источник: studopedia.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru