Тестирование ПО и программная инженерия


Рассмотрение различных аспектов тестирования ПО находится в рамках научно-практической дисциплины software engineering, что переводится на русский язык как «инженерия программного обеспечения» или, как утвердилось в национальных стандартах, «программная инженерия».

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

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

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

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

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

Известно, что системой называют совокупность объектов произвольной природы, образующих некоторую целостность. Определяющая предпосылка выделения некоторой совокупности как системы – это возникновение у нее новых свойств, отсутствующих в составляющих ее элементах [5].

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

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

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

Различают методы, средства и процессы программной инженерии.

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

– планирование и оценка программного проекта;

– анализ требований к компьютерной системе и, в частности, к ее ПО;

– проектирование алгоритмов, структур программ и структур данных;

– конструирование программного текста (синонимы: кодирование, программирование, реализация);

– тестирование;

– сопровождение ПО, уже используемого заказчиком.

Средства (утилиты) программной инженерии обеспечивают автоматизированную или автоматическую поддержку методов. В целях совместного применения утилиты могут объединяться в системы автоматизированной разработки ПО. Такие системы принято называть CASE-системами (Computer Aided Software Engineering – программная инженерия с компьютерной поддержкой).

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

– порядок применения методов и утилит;

– формирование отчетов, форм по соответствующим требованиям;

– контроль, помогающий обеспечивать качество и координировать изменения;

– формирование «вех» (т.е. временных меток), по которым руководители оценивают прогресс.

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

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

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

Качество программного обеспечения – это степень соответствия системы, компонента или процесса определенным требованиям [1].

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

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

 



Дата добавления: 2021-04-21; просмотров: 259;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.