Научная статья на тему 'АНАЛИЗ ТИПОВ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

АНАЛИЗ ТИПОВ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
43
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SOFTWARE TESTING / DEFECTS / AUTOMATION / MANUAL TESTING / AUTOMATED TESTING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Саушкин А.А.

В статье рассматривается понятие тестирования программного обеспечения. Приводится классификация его разновидностей с краткой характеристикой. Осуществляется анализ ручного и автоматизированного тестирования программного обеспечения. Формулируется вывод на основе проведённого сравнения.Article explains the concept of software testing. It describes the classification of varieties with a brief description. Analysis of manual and automated software testing. The conclusion is formulated on the basis of the conducted comparison.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АНАЛИЗ ТИПОВ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

https://zonakz.net

2. АСТАНА. КАЗИНФОРМ/ Казахстан и Иран намерены упростить групповые турпоездки / http://www.inform.kz/

3. Пресс-службе казахстанского МИД / http://zanmedia.kz/

УДК 004.054

Саушкин А.А. студент 2 курса

факультет «Информационных систем и технологий»

Герасимова В.Г. научный руководитель Поволжский государственный университет телекоммуникаций и информатики

Россия, г. Самара АНАЛИЗ ТИПОВ ТЕСТИРОВАНИЯ ПРОГРАММНОГО

ОБЕСПЕЧЕНИЯ

В статье рассматривается понятие тестирования программного обеспечения. Приводится классификация его разновидностей с краткой характеристикой. Осуществляется анализ ручного и автоматизированного тестирования программного обеспечения. Формулируется вывод на основе проведённого сравнения.

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

ANALYSIS OF TYPES OF SOFTWARE TESTING

Article explains the concept of software testing. It describes the classification of varieties with a brief description. Analysis of manual and automated software testing. The conclusion is formulated on the basis of the conducted comparison.

Keywords: software testing, defects, automation, manual testing, automated testing.

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

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

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

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

1. по объекту тестирования:

1) функциональное тестирование - тестирование, при котором исследуется возможность созданным программным продуктом выполнять обозначенные первоначально требования [1];

2) тестирование безопасности - оценка возможностей программы противостоять внешним незаконным внедрениям в целях мошенничества, мести других;

3) тестирование производительности - такой вид тестирования, при котором исследуется скорость работы системы при некоторой нагрузке. Выделяют следующие его направления:

а) нагрузочное тестирование;

б) конфигурационное тестирование;

в) тестирование стабильности;

г) стресс-тестирование;

4) тестирование удобства пользования - тестирование, при котором выясняется, насколько удобен полученный продукт в предполагаемом использовании;

2. по знанию системы:

1) тестирование чёрного ящика (поведенческое тестирование) -метод проверки разрабатываемого продукта со стороны внешнего мира;

2) тестирование белого ящика - проверка на предмет корректности и логики её функционирования со стороны компилятора;

3) тестирование серого ящика - такая разновидность тестирования, при которой сочетаются основные особенности предыдущих двух типов;

3. по уровню изолированности отдельных компонентов:

1) системное тестирование - тестирование, осуществляемое на интегрированной системе в целях контроля соответствия первоначальным требованиям;

2) интеграционное тестирование - вид тестирования, при котором производится объединение отдельных модулей программы и дальнейшее их тестирование в совокупности;

3) модульное тестирование - механизм проверки программного обеспечения, направленный на тестирование кода отдельных программных модулей;

4. по степени автоматизации:

1) ручное тестирование;

2) автоматизированное тестирование;

3) полуавтоматизированное тестирование [2].

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

Автоматизированное тестирование основано на применении определённых программных средств, позволяющих осуществлять необходимое количество проверок исследуемого продукта с возможностью дальнейшего их повтора в случае введениях каких-либо изменений. Данный тип тестирования задействуют при необходимости проведения большого количества однообразных проверок или в том случае, когда условия проверки не позволяют использовать ручной способ [3].

Автоматизированный вариант обладает рядом существенных преимуществ, среди которых можно выделить:

1. Минимизация времени выполнения тестов, по сравнению с ручным методом;

2. Возможность осуществления проверок, проведение которых нереализуемо в случае ручного тестирования;

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

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

1. Автоматизированный метод нередко требует существенных трудовых затрат;

2. Для его проведения необходим высококвалифицированный персонал;

3. При анализе результатов зачастую возникают значительные сложности;

4. И многие другие.

К основным средствам, позволяющим проводить автоматизированное тестирование относят: Mercury LoadRunner, Rational TestStudio, Segue SilkPerformer, RadView Software, Empirix и прочие.

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

В качестве примера приведём следующую процедуру для

осуществления ручного тестирования:

1. Подать на вход три разных целых числа.

2. Запустить тестовое исполнение.

3. Проверить, соответствует ли полученный результат таблице [ссылка на документ1] с учетом поправок [ссылка на документ2].

4. Убедиться в понятности и корректности выдаваемой сопроводительной информации [4].

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

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

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

Использованные источники:

1. Циганенко, В.Н. Классификация тестирования на уровни, виды и типы [Электронный ресурс] - электрон. текст. дан. - Режим доступа: http://webhamster.ru/mytetrashare/index/mtb0/1410498808fclssvq9e2

2. Тестирование программного обеспечения [Электронный ресурс] -электрон. текст. дан. - Режим доступа: http://www.dpgrup.ru/testing.htm

3. Савин Р. Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах. — М.: Дело, 2007.

4. Основы тестирования программного обеспечения. Лекция 10. Документирование и оценка индустриального тестирования [Электронный ресурс] - электрон. текст. дан. - Режим доступа: http://www.intuit.ru/studies/courses/48/48/lecture/1442

i Надоели баннеры? Вы всегда можете отключить рекламу.