Выбор способа тестирования как решение многокритериальной задачи - Статья

бесплатно 0
4.5 122
Способы тестирования и виды экспертных оценок программного модуля. Разработка алгоритма решения многокритериальной задачи оптимизации методом групповой линейной свертки, преимущества и недостатки. Межпрофессиональное взаимодействие IT-специалистов.


Аннотация к работе
На этапе планирования тестирования встает вопрос выбора способа тестирования между ручным, автоматизированным и смешанным. Входным материалом в задачу являются два вида экспертных оценок, что порождает двухстадийный процесс формирования оценок h1, h2, … , hk Поскольку экспертные оценки по определению дискретны, то формально решаемая задача относится к классу дискретных задач оптимизации. В группе HI выбор делается по принципу - удобно ли будет с точки зрения данного критерия использовать автоматизированное тестирование (оценка 1 ); достаточно удобно (оценка ?); есть сомнения, что удобно (оценка ?); есть сильные сомнения, что удобно (оценка ?); совершенно неудобно (оценка 0). В группе HII принцип обратный - удобно ли будет с точки зрения данного критерия использовать ручное тестирование (оценка 0 ); достаточно удобно (оценка ?); есть сомнения, что удобно (оценка ?); есть сильные сомнения, что удобно (оценка ?); совершенно неудобно (оценка 1). Оценки ?1, ?2, … , ? k напрямую неудобны для дальнейшей обработки, поскольку оценка ?j = 0 при ее умножении на вес всегда дает нуль, и, тем самым, вес как бы не учитывается.Использование различных вариантов методов свертки - наиболее распространенные прием решения многокритериальных задач [8].

Введение
Тестирование является трудоемким и дорогостоящим этапом разработки программного продукта (ПП), но необходимым для обеспечения качества.

Под качеством понимается степень соответствия присущих ПП характеристик заявленным требованиям [1]. Правильное планирование позволяет сократить затраты. На этапе планирования тестирования встает вопрос выбора способа тестирования между ручным, автоматизированным и смешанным.

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

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

Постановка задачи о формальной оценке ПП для целей тестирования

Пусть объект G описывается критериями H1, H2 , …, Hk , которым можно приписать числовые значения h1, h2, … , hk. Пусть по совокупности значений {h1, h2, … , hk} определяется некоторая характеристика RG , позволяющая формально ответить на некоторый вопрос, касающийся объекта G . Пусть эта характеристика RG дискретна, и набор ее возможных значений конечен.

В данной работе объект G -это модуль ПП. Возможно, что это ПС целиком, если оно оценивается как достаточно простое для тестирования.

В данной работе критерии H1, H2 ,…, Hk - это помещенные в подразделе 2.2 вопросы о модуле тестируемого ПС. Обозначим этот набор (множество) через М .

Характеристика RG связывается (должна указывать) на выбор автоматизированного или ручного способа тестирования ПП или на перенесение решения этого вопроса на более сложные алгоритмы, в том числе, на экспертное решение.

Таким образом, в рассматриваемой задаче может быть три решения (три альтернативы): R1G - использование для данного модуля ПП автоматизированного тестирования;

R2G - использование для данного модуля ПП ручного тестирования;

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

В данной работе предлагается алгоритм, позволяющий формальным образом определять некоторую величину Р , однозначно указывающую на выбор между R1G, R2G, R3G.

Такая задача, строго говоря, является задачей многокритериальной оптимизации с критериями H1, H2 ,…, Hk , но представляет собой вырожденный случай, поскольку допускает прямое вычисление всех возможных значений величины Р . Тем не менее, она решается на основе идей, используемых для исследования многокритериальных задач.

Входным материалом в задачу являются два вида экспертных оценок, что порождает двухстадийный процесс формирования оценок h1, h2, … , hk Поскольку экспертные оценки по определению дискретны, то формально решаемая задача относится к классу дискретных задач оптимизации.

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

Исходная информация в задаче состоит: а) из ответов (экспертных оценок) ? = (?1, ? 2, … , ? k), даваемых в группе программистов - создателей данного ПП. Вопросы из множества М сформулированы именно под ответ «да» или «нет». В соответствии с этим величина ?i , i=1, 2, … , k представляет собой 1 или 0. Такая информация не является обременительной для создателя ПП. Вся сложность уходит в дальнейшую обработку. б) из экспертных оценок ? = (?1, ?2, … , ?k) (называемых в работе весами), которые даются в группе тестирования.

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

За основу решения задачи многокритериальной оптимизации берется метод свертки [5].

Разновидность метода свертки - групповая свертка - используется в связи с тем, что критерии (вопросы) H1, H2 ,…, Hk делятся на группы, как это и сделано в подразделе 2.2. А именно, HI = (H1, H2 ,…, Hk1) - это первая группа вопросов.

В них веса ?1, ?2, … , ?k1 , близкие к 1, ведут преимущественно к автоматизированному тестированию.

Во второй группе критериев HII = (Hk1 1, Hk1 2 ,…, Hk2) веса ?k1, ?k1 1, … , ?k2 , близкие к 1, ведут преимущественно к ручному способу тестированию. В третьей, в целом нейтральной группе критериев HIII = (Hk2 1, Hk2 2 ,…, Hk) , ответы близкие к 1, ведут преимущественно к выбору автоматизированного вида тестирования. Естественно, k1 ? k2 ? k. Такие оценки наиболее удобно давать эксперту. Их вид далее учитывается в алгоритме обработки.

Алгоритм решения многокритериальной задачи

Ход решения многокритериальной задачи включает себя ряд действий, которые изобразим в виде следующей схемы: Рис. 1. - Схема решения многокритериальной задачи

Разберем приведенную схему.

Ячейка 1. Оценки ?1, ? 2, … , ? k (ответы на вопросы М) даются в группе создателей ПП, поскольку программисты лучше всех знают особенности созданного ими ПП.

Как уже указывалось, для облегчения работы программистов оценки имеет вид 1 («да») и 0 («нет») [6]. При этом в оценке не учитывается деление критериев на три группы (R1G, R2G, R3G). Дальнейшее усложнение оценок будет идти при обработке исходных массивов на 4-й и 5-й стадиях алгоритма.

Ячейка 2. Эксперт (обычно руководитель тестирования) снабжает оценки ?1, ? 2, … , ? k для всех модулей данного ПП весами. Эти веса ?1, ?2, … , ?k даются из промежутка [0, 1] и отражают сложность организации тестирования по критерию Hi для данного модуля.

Рекомендуется назначать веса в виде небольшого дискретного набора, например, [0, ?, ?, ?, 1] . Причиной этого является сложность в выборе, например, между весами 0.3 или 0.4, в то время как интервал 0.25 достаточно удобен для экспертного назначения.

Выбор весов тестировщиком зависит от деления всех критериев H1, H2 ,…, Hk на группы HI, HII, HIII. В группе HI выбор делается по принципу - удобно ли будет с точки зрения данного критерия использовать автоматизированное тестирование (оценка 1 ); достаточно удобно (оценка ?); есть сомнения, что удобно (оценка ?); есть сильные сомнения, что удобно (оценка ?); совершенно неудобно (оценка 0).

В группе HII принцип обратный - удобно ли будет с точки зрения данного критерия использовать ручное тестирование (оценка 0 ); достаточно удобно (оценка ?); есть сомнения, что удобно (оценка ?); есть сильные сомнения, что удобно (оценка ?); совершенно неудобно (оценка 1). В группе HIII принцип такой же, как и в первой группе.

Ячейка 3. При наличии неясностей с назначением оценки ? i для конкретного вопроса Hi тестировщик обращается в группу программистов, и, после обсуждений, оценка ? i может быть изменена.

Ячейка 4. Оценки ?1, ?2, … , ? k напрямую неудобны для дальнейшей обработки, поскольку оценка ?j = 0 при ее умножении на вес всегда дает нуль, и, тем самым, вес как бы не учитывается. Предлагается отделить оценку от нуля (а, заодно, и от единицы) заменой чисел 0 и 1 на числа ? и на ? . То есть, если величина ?i = 0 , i=1, … , k , то она заменяется на bi = ? . Если же величина ?i =1, то она заменяется на bi = ? . Таким образом, в целом, имеем переход ?1, ? 2, … , ? k > b1, b2, …, bk .

Ячейка 5. Веса ?1, ?2, … , ?k для единообразия дальнейшей обработки по групповым правилам заменяются на веса a1 ,a2, … ak . Эти правила зависят от группы критериев. А именно: Для первой группы критериев HI = (H1, H2 ,…, Hk1) , ориентированной на выбор автоматизированного тестирования, веса ?1, ?2, … , ?k1 необходимо только нормировать по группе - разделить на k1: ai = ?i /k1 для i=1, … , k1 .

Для второй группы критериев HII = (Hk1 1, Hk1 2 ,…, Hk2), ориентированной на выбор ручного тестирования, необходимо веса ?k1 1, ?k1 2, … , ?k2 инвертировать: ?i > (1 - ?i) и поменять в них знак. В итоге имеем ai = (?i - 1)/k2 для i=k1 1, … , k2

Для третьей, нейтральной группы критериев HIII = (Hk2 1, Hk2 2 ,…, Hk), необходимо центрирование оценок ?k2 1, ?k2 2, … , ?k То есть нейтральной (нулевой) должна стать оценка ? . С учетом количества критериев в этой группе (k-k1-k2) это достигается переходом ai = (?i -?)/(k-k1-k2) для i= k2 1, … , k .

В итоге замен во всех трех группах критериев имеем переход ?1, ?2, … , ?k > a1 ,a2, … ak .

Ячейка 6. Подготовительная работа, проведенная в ячейках 4 и 5 , позволяет единообразно вычислять групповую свертку по формуле

Р = a1b1 a2b2 … akbk .

Указанная величина всегда находится в пределах -1 ? Р? 1 . Математическое ожидание такой свертки на множестве всех возможных исходных оценок ?1, ?2, … , ? k и весов ?1, ?2, … , ?k есть 0 .

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

Ячейка 7. Назначаются величины Р1 и Р2 , определяющие вид тестирования. По построенной выше части алгоритма можно было бы обойтись без ограничительных величин Р1 и Р2 и предложить использовать автоматизированное тестирования при Р ? 0 и ручное при Р < 0 .

Но для большей аргументированности решений предлагается отодвинуть границы от 0 и ввести величины Р1 ? 0 и Р2 ? 0 . Это и приводит к третьему случаю, когда формализованное решений признается недостаточно обоснованным.

В качестве конкретных значений Р1 и Р2 предлагается взять симметричные значения Р1 = 0.2 и Р2 = - 0.2 .

Ячейка 8. Выбор вида тестирования R1G, R2G, или R3G для конкретного модуля или всего ПП делается по значению функции Р.

При Р ? Р1 , рекомендуется автоматизированный метод тестирования

При Р ? Р2 , рекомендуется ручной метод тестирования

При Р2 < Р < Р1, формальным способом выбора пользоваться не рекомендуется, решение принимается экспертно или требует использования дополнительных моделей.

Пример решения поставленной задачи

Пусть в решаемой задаче семь критериев H1, H2 ,…, H7 , четыре первых из них традиционно считаются ведущими к автоматизированному тестированию (R1G ), два последующих - к необходимости ручного тестирования (R2G ), и последний нейтрален (R3G).

В группе программистов для данного модуля по критериям были даны оценки

(? 1, ? 2, … , ? 7) = (1, 0, 1, 1, 0, 1, 0 ).

Напомним, это означает, что на вопросы №2, №5 и №7 программисты ответили «нет». Пусть представитель тестировщиков усомнился в оценке №5, и после обсуждения «0» был изменен на «1». В итоге, с учетом действий в ячейках 3 и 4, массив b имеет вид

(b1, b2, … , b7 ) = ( ?, ?, ?, ?, ? ,?, ? ) .

Пусть веса, данные тестировщиками, имеют вид

(?1, ?2, … , ?7) = ( ?, 0, ?, ?, ?, 1, 0 ).

Их обработка в ячейке 5 даст ненормированный массив

(?, 0, ?, ?, - ? , 0, -? ) .

Нормированный массив a будет иметь вид

( a1, a2, … , a7 ) = (1/8, 0, 3/16, 1/8, - 1/4 , 0, -? )

После вычислений имеем

Р = a1b1 a2b2 … a7b7 = 1/64 ? 0.016 .

Для рекомендованных Р 1 = 0.2, Р2 = - 0.2 имеем указание на альтернативу R3G , то есть, рекомендацию, несмотря на то, что величина Р?0.016 положительна, не принимать формальное решение о выборе для данного модуля автоматизированного вида тестирования.

Связи с классической задачей многокритериальной оптимизации

Поставленная задача о формальном нахождении способа тестирования является неклассической задачей дискретной оптимизации [7]. Главным отличием является узость множества альтернатив - их всего три.

Это использование при тестировании данного модуля автоматизированного метода решения задачи (R1G) , ручного метода (R2G) или рассмотрение более сложной ситуации, включающей более сложное рассмотрение, в том числе, комбинирование методов (R3G).

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

Здесь же речь решение задачи оптимизации состоит в вычислении некоторой величины (у нас - групповой свертка Р= РІ РІІ РІІІ ), значение которой указывает на наилучшую альтернативу. Альтернативы R1G , R2G , R3G характеризуются величинами РІ , РІІ , РІІІ , а окончательный выбор достигается их суммированием.

Известное и весьма полезное в классических задачах множество Парето здесь состоит из всех рассматриваемых альтернатив: R1G , R2G , R3G .

В классической задаче многокритериальной оптимизации критерии (у нас элементы множества М ) задаются на множестве альтернатив. Здесь же исходными являются множества оценок ?1, ?2, … , ? k и весов ?1, ?2, … , ?k , которые характеризуют элементы множества М .

То есть в задачу вводится дополнительный нижний уровень информации. Зато здесь не требуются стандартные для классической задачи методы сокращения количества альтернатив (до одной или нескольких), поскольку их всего три: R1G , R2G , R3G . Требуется лишь процедура их оценки, которая и предложена выше. Это и позволяет назвать данную задачу вырожденной.

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

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

Список литературы
1. Галимова Е. Ю. Процесс тестирования программного обеспечения как неотъемлемая часть его жизненного цикла, 61-я Международная молодежная научно-техническая конференция «Молодежь. Наука. Инновации», сборник статей, ноябрь 2013, Владивосток, с. 70-72.

2. TKINDT Vincent, Multicriteria Scheduling Problems // Multiple Criteria Optimization, Springer Science & Business Media, 2002, pp 445-491.

3. Орловский Н. М. Решение задачи однокритериальной оптимизации процесса планирования действий экипажа российского сегмента международной космической станции на основе генетического алгоритма // Инженерный вестник Дона, 2013, №3 URL: ivdon.ru/ru/magazine/archive/n3y2013/1776

4. Галимова Е. Ю. Преимущества ручного подхода к тестированию программного обеспечения, III Международный научный форум "Наука в исследованиях молодых", сборник статей, май 2013, Новосибирск, с. 39 - 42.

5. Мухлисуллина Д. Т., Моор Д. А. Анализ эффективности различных сверток критериев оптимальности в задаче многокритериальной оптимизации // «Наука и образование», 2010, №4, с. 46 URL: technomag.edu.ru/doc/141623.html

6. Галимова Е. Ю., Коваленко А. Н. «Применение алгоритма многокритериальной оптимизации при выборе между ручным и автоматизированным тестированием». Сборник докладов 63-й Международной молодежной научно-технической конференции “Молодежь. Наука. Инновации”, Владивосток, 17-20 ноября 2015, том 1. Изд-во Мор. Гос. Ун-т., 2015. - 356 с.

7. Ковалев М. М. Дискретная оптимизация (целочисленное программирование) - М., Едиториал УРСС, 2003, с. 7-8.

8. Ногин В. Д. Линейная свертка критериев в многокритериальной оптимизации, «Искусственный интеллект и принятие решений», № 4, 2014, с. 73-82.

9. Gerald M. Weinberg, Perfect software: And other Illusions about testing, Dorset House Publishing Company, 2008, 200 p.

10. Лежнева М. С. Технология формирования готовности будущих IT-специалистов к межпрофессиональному взаимодействию // Инженерный вестник Дона, 2013, №1URL: ivdon.ru/ru/magazine/archive/n1y2013/1563

References

1. Galimova E. Ju. 61-ja Mezhdunarodnaja molodezhnaja nauchno-tehnicheskaja konferencija «Molodezh". Nauka. Innovacii», sbornik statej, nojabr" 2013, Vladivostok, pp. 70-72.

2. TKINDT Vincent, Multicriteria Scheduling Problems. Multiple Criteria Optimization, Springer Science & Business Media, 2002, pp. 445-491.

3. Orlovskij N. M. Inzenernyj vestnik Dona (Rus), 2013, №3 URL: ivdon.ru/ru/magazine/archive/n3y2013/1776

4. Galimova E. Ju. III Mezhdunarodnyj nauchnyj forum "Nauka v issledovanijah molodyh", sbornik statej, maj 2013, Novosibirsk, pp. 39 - 42.

5. Muhlisullina D. T., Moor D. A. «Nauka i obrazovanie», 2010, №4, p. 46 URL: technomag.edu.ru/doc/141623.html

6. Galimova E. Ju., Kovalenko A. N. «Primenenie algoritma mnogokriterial"noj optimizacii pri vybore mezhdu ruchnym i avtomatizirovannym testirovaniem» [Application of multicriteria optimization in selecting between manual and automated testing]. Sbornik dokladov 63-j Mezhdunarodnoj molodezhnoj nauchno-tehnicheskoj konferencii “Molodezh". Nauka. Innovacii”, Vladivostok, 17-20 nojabrja 2015, tom 1. Izd-vo Mor. Gos. Un-t., 2015. 356 p.

7. Kovalev M. M. Diskretnaja optimizacija (celochislennoe programmirovanie) [Discrete optimization (integer programming)] - M., Editorial URSS, 2003, pp. 7-8.

8. Nogin V. D. «Iskusstvennyj intellekt i prinjatie reshenij», № 4, 2014, pp. 73-82.

9. Gerald M. Weinberg, Perfect software: And other Illusions about testing, Dorset House Publishing Company, 2008, 200 p.

10. Lezhneva M. S. Inzenernyj vestnik Dona (Rus), 2013, №1 URL: ivdon.ru/ru/magazine/archive/n1y2013/1563
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?