У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





Національна академія наук України

Національна академія наук України

Інститут кібернетики імені В.М. Глушкова НАН України

КОРОТУН Тетяна Михайлівна

УДК 681.3.06

МОДЕЛІ І МЕТОДИ ІНЖЕНЕРІЇ ТЕСТУВАННЯ

ПРОГРАМНИХ СИСТЕМ

В УМОВАХ ОБМЕЖЕНИХ РЕСУРСІВ

01.05.03 – математичне та програмне забезпечення обчислювальних машин та систем

Автореферат

дисертації на здобуття наукового ступеня

кандидата фізико-математичних наук

Київ – 2005

Дисертацією є рукопис.

Робота виконана в Інституті програмних систем НАН України

Науковий керівник: доктор фізико-математичних наук, професор

ЛАВРІЩЕВА Катерина Михайлівна,

Інститут програмних систем НАН України,

завідувач відділом.

Офіційні опоненти: член-кореспондент. НАН України,

доктор фізико-математичних наук, професор

ПЕРЕВОЗЧИКОВА Ольга Леонідівна

Інститут кібернетики ім. В.М. Глушкова НАН України,

завідувач відділом

кандидат фізико-математичних наук, доцент

ГЛИБОВЕЦЬ Микола Миколайович

Національний університет “Києво-Могилянська Академія”,

завідувач кафедри інформатики, декан факультету інформатики

Провідна установа: Київський національний університет ім. Тараса Шевченка,

кафедра математичної інформатики (м. Київ).

Захист відбудеться “___” ___________ 2005 р. о (об) ______ годині на засіданні спеціалізованої вченої ради Д 26.194.03 при Інституті кібернетики імені В.М. Глушкова НАН України за адресою:

03680, МСП, Київ-187, проспект Академіка Глушкова, 40.

 

З дисертацією можна ознайомитися в науково-технічному архіві Інституту кібернетики

ім. В.М. Глушкова.

Автореферат розісланий “___” _________ 2005 р.

 

Учений секретар

спеціалізованої вченої ради СИНЯВСЬКИЙ В.Ф.

ЗАГАЛЬНА ХАРАКТЕРИСТИКА РОБОТИ

Протягом останніх років програмна індустрія досягла такого рівня розвитку, при якому вимоги забезпечення якості стали обов'язковим пунктом при укладанні угод на створення програмних систем.

У становлення та розвиток програмної індустрії великий внесок зробили українські вчені, зокрема, Глушков В.М., Ющенко К.Л., Сергієнко І.В, Перевозчикова О.Л., Парасюк І.М., Капітонова Ю.В., Летічевський А.А. та інші вчені. Одним з основних напрямків їх досліджень є розроблення нових теоретичних і практичних методів створення високоякісних програмних систем (ПС).

Інженерний аспект індустрії ПС отримав розвиток у програмної інженерії, значний внесок в яку зробили Андон П.І., Анісімов А.В., Вельбицький І.В., Кулаков А.Ф., Лавріщева К.М., Ліпаєв В.В. та інші вчені.

До головних напрямків програмної інженерії відносяться задачі удосконалення процесів життєвого циклу ПС, зокрема процесу тестування.

Як зазначає Ліпаєв В.В., застосування традиційних підходів до тестування, орієнтованих на завершальні стадії розроблення, призводить до тривалого ітераційного процесу масових доробок і повторного тестування, що спричинює зростання ризиків, стосовних якості та надійності ПС, а також зрив проекту.

Це стосується в першу чергу некритичних систем, на розроблення та тестування яких (на відміну від критичних систем з підвищеними вимогами до надійності) виділяються обмежені ресурси часу. До некритичних систем відносяться, зокрема, системи оброблення даних, тестування яких і є предметом дисертаційного дослідження.

Актуальність проблеми. Тестування – важливий етап розроблення ПС, оскільки, з одного боку, вимагає значних витрат на проведення, а з іншого – робить великий внесок у їхню якість. Через теоретично доведену неможливість вичерпного тестування та велику потенційну вартість втрат через відмови у ПС, потрібен чітко визначений та ефективний процес тестування, який базується на ухваленні збалансованих рішень щодо тривалості та вартості тестування для досягнення необхідного рівня довіри до якості ПС.

У базовому стандарті ДСТУ 3918-99 “Інформаційні технології. Процеси життєвого циклу програмного забезпечення” уся діяльність зі створення програмних засобів (ПЗ) подана у вигляді сукупності процесів (основних, процесів підтримки, керування). В ньому зафіксовано інженерний, процесо-орієнтований підхід до розроблення ПЗ, який потребує застосування науково-обґрунтованих кількісних вимірів процесу тестування та результатів його виконання. У зв’язку з цим створення моделей та методів кількісного оцінювання стану тестування та побудова на їх основі ефективного базового процесу тестування є важливою та актуальною задачею програмної інженерії.

Сучасний стан розвитку програмної інженерії, впровадження процесо-орієнтованого підходу до розроблення ПС дозволяють сформулювати ряд вимог до тестування ПС, головними з яких є:

- проведення підготовки до тестування, починаючи з ранніх стадій життєвого циклу проекту ПС;

- вибір і використання стратегій тестування, адекватних не лише об’єктам та рівням тестування, але і ресурсним обмеженням проектів;

- стандартизація процесу тестування з урахуванням вимог процесо-орієнтованого підходу;

- визначення кількісних критеріїв завершення тестування.

У дисертаційній роботі узагальнені результати досліджень автора у 1992-2005 роках з проблем тестування та забезпечення надійності ПС оброблення даних, вдосконалення існуючих, а також розроблення нових моделей та методів інженерії тестування.

Мета та задачі дослідження. Метою дисертаційної роботи було проведення комплексу досліджень з інженерії тестування ПС оброблення даних, формування ефективної стратегії тестування програмних систем, спрямованої на зниження ризику відмов під час експлуатації. Для цього в роботі розв’язуються наступні задачі:

- дослідження сучасних вимог до процесу тестування ПС;

- аналіз існуючих моделей надійності ПС, розроблення алгоритмів та програм їх реалізації;

- побудова моделі визначення оптимального часу тестування модулів ПС з урахуванням ризиків відмов;

- розроблення методу оцінювання ризиків відмов модулів ПС;

- визначення структури базового процесу, що регламентує всі дії з підготовки, проведення та оцінювання результатів тестування, та розроблення методики виконання процесу тестування ПС оброблення даних;

- проектування та реалізація програмного комплексу підтримки інженерії тестування;

- аналіз сучасних підходів до визначення рівня зрілості процесу тестування ПС та розроблення методики оцінювання процесу тестування;

- впровадження запропонованих підходів, моделей та методик інженерії тестування в проекти ДКР з розроблення ПС оброблення даних.

Методи дослідження. Модель визначення оптимального часу тестування розроблялася з використанням теорії надійності програмних засобів, теорії ймовірностей та математичної статистики, чисельних методів та методів верифікації ПС. Структура базового процесу тестування розроблялася з використанням стандарту ДСТУ 3918-99. Методика дослідження ґрунтується на теоретичних і прикладних результатах, досягнутих у програмній інженерії.

Наукова новизна одержаних результатів полягає в розробленні:

- нового критерію завершення тестування ПС, пов’язаного з оцінкою надійності її модулів, ризиками їх відмов та ресурсними (часовими) обмеженнями проекту;

- математичної моделі визначення оптимального часу тестування модулів ПС з урахуванням ризику їх відмов;

- методу оцінки ризиків відмов модулів ПС та стратегії тестування, що базується на диференційованому підході до розподілу часу тестування між модулями ПС;

- базового процесу тестування програмних систем оброблення даних, що використовує запропоновані моделі, критерії і методи;

- оригінального програмного комплексу підтримки інженерії тестування, який функціонально відрізняється від відомих інструментів керування тестуванням ПС.

Ці результати спрямовані на розширення та доповнення сучасних підходів у вітчизняній програмній інженерії та сприяють розвитку інженерного процесо-орієнтованого підходу.

Практичне значення одержаних результатів роботи полягає в тому, що впровадження в програмні проекти запропонованих в дисертації нових математичних моделей, методик, а також побудованого базового процесу тестування ПС оброблення даних, забезпечує вдосконалення виконуваних процесів розроблення ПС та покращення їх якості.

Отримані результати досліджень та програмний комплекс впроваджені в два проекти ДКР зі створення ПС, що виконувались на замовлення МО України. Окремі результати досліджень впроваджені в навчальний процес в рамках дисциплін “CASE-технології”, “Управління програмними проектами” та “Автоматизоване проектування складних об’єктів та систем” (Міжнародний науково-технічний університет, м. Київ), “Автоматизоване проектування інформаційних систем в економіці” (Український фінансово-економічний інститут, м. Київ).

Особистий внесок здобувача. Теоретичні результати дисертаційної роботи, а саме – розроблення та обґрунтування математичної моделі, алгоритм її реалізації, методу оцінювання ризику відмов модулів ПС, структури базового процесу тестування, а також методика оцінювання зрілості процесу тестування - автором отримані самостійно. Методичні матеріали, а також проект і реалізація програмного комплексу підтримки інженерії тестування, розроблені автором разом з с.н.с. Коваль Г.І. (ІПС НАНУ).

Науковому керівнику належить ідея та постановка задачі дослідження. У формулюванні наукового значення дисертації, у компонуванні її як цілісної роботи, також брала участь науковий керівник.

Зв’язок роботи з науковою тематикою. Дисертація виконувалася за планами наукових досліджень у рамках бюджетних науково-дослідних проектів Інституту програмних систем НАН України за темами:

- “Розробка методик, програмних засобів тестування та надійності програмного забезпечення” (НДР 6.1.3./1702, 1992-1995);

- “Розробка технології автоматизованого проектування та реалізації високоякісного програмного продукту для систем обробки даних” (НДР 6.1.3./1703, 1992-1995);

- “Дослідження та розробка моделей, методів та засобів оцінки та забезпечення підвищених характеристик надійності прикладних програм у системах обробки даних ” (НДР N 0-92-66, шифр “Вілена -1992-1994”);

- “Розробка концепції, методів та нормативно-методичного забезпечення інженерії якості прикладних програмних систем” (НДР шифр “Ф1/02К-1998-2001”, ДР 0100U006530);

- “Розробка концепції, методів та методичного апарату вдосконалення та стандартизації процесів життєвого циклу систем програмного забезпечення” (НДР шифр “1/02-2002”, 2002 – 2006, ДР 0102U005991).

Апробація роботи. Результати роботи доповідалися на наукових семінарах Інституту програмних систем НАН України, Інституту кібернетики НАН України, Міжнародних науково-практичних конференціях УкрПрог’1998, 2000, 2002 та 2004.

Публікації. Основні результати дослідження опубліковані у десяти наукових роботах у фахових виданнях, затверджених ВАК України.

Структура и обсяг. Дисертаційна робота складається з вступу, чотирьох розділів, висновків, списку використаних джерел та чотирьох додатків. Обсяг роботи складає 120 сторінок, містить 20 рисунків, 16 таблиць, два акти та дві довідки про впровадження результатів дисертаційної роботи.

ЗМІСТ РОБОТИ

У вступі обґрунтована актуальність теми, сформульована мета і задачі досліджень, їхня наукова новизна та практичне значення.

Перший розділ є оглядовим. В ньому виконано аналіз становлення інженерії тестування як науково-практичної дисципліни та важливого розділу програмної інженерії. Проведений огляд напрямків розвитку проблематики, серед яких оцінка надійності займає одне з найважливіших місць.

Розглянуто основні моделі оцінювання надійності ПС, зокрема моделі, базовані на випадковому процесі Пуассона, що описується таким чином: нехай {M(t), t0} – неоднорідний пуассонівський процес з функцією інтенсивності (t), який представляє собою загальну кількість відмов ПС за час її використання t. Тоді кількість відмов ПС в інтервалі (0,t) має розподіл Пуассона, тобто:

, k=0,1,...,

де - середня кількість відмов ПС за час t.

Так як функція (t) характеризує ступінь підвищення надійності ПС, то її зазвичай називають функцією зростання надійності. Вона описує взаємозв'язок між кількістю виявлених відмов ПС і часом, витраченим на тестування та усунення дефектів.

Введемо наступні позначення:

- кількість дефектів у ПС на початку тестування (дорівнює кількості відмов, які можуть виникнути при t ), - коефіцієнт пропорційності, що дорівнює швидкості виявлення одного дефекту.

До основних моделей надійності цього типу належать:

1) експоненційна, функція зростання надійності якої задається формулою

µ(t) = (1- exp (- t)), , >0,

2) логарифмічна, функція зростання надійності для якої

m(t) = ln(l0q t + 1), l0,q > 0,

де l0- початкова інтенсивність відмов, q - коефіцієнт, який характеризує зниження інтенсивності відмов з кожним усуненим дефектом.

3) сповільненого S-подібного зростання надійності для якої

m(t) = (1 - (1 + t) exp(-t)), , > 0

4) S-подібного зростання надійності з перегинами, яка має вигляд

m(t) = (1 - exp(-t))/(1 + exp(-t))

де - параметр перегину, який визначається як: (r)=(1-r)/r, 0 r 1, де r - частота перегинів, що являє собою відношення виявлених дефектів до загальної їх кількості.

Кожна з цих моделей побудована з урахуванням тих або інших припущень відносно процесів виникнення відмов ПС, виявлення та усунення дефектів. Для оцінки параметрів розглянутих моделей (методом максимальної правдоподібності) наведені відповідні системи рівнянь.

Проаналізовано різні критерії завершення тестування та відзначено їх недоліки з позицій обмеження ресурсів. Зокрема, зазначено, що в критеріях, які базуються на оцінках надійності, не враховується серйозність наслідків відмов, а лише їх ймовірність, а в критеріях, базованих на покритті – не враховується обмеження у часі, а лише ступінь повноти покриття. Це підтверджує актуальність проблеми розроблення критеріїв, які б враховували ресурсні обмеження, насамперед, за вартістю та часом, а також ризики відмов.

Проаналізовано дії з тестування, розподілені, згідно ДСТУ 3918-99, по процесах життєвого циклу. Зазначено, що таке розподілення дій по різних процесах не дозволяє чітко визначити задачі групи тестування на всіх стадіях розроблення ПС. Тому для ефективного виконання тестування пропонується об’єднати вирішення всіх задач тестування, починаючи з його планування та закінчуючи оцінюванням результатів, в єдиний базовий процес.

Розділ 2 містить опис розробленої математичної моделі визначення оптимального часу тестування модулів ПС, методу оцінювання ризику відмов та стратегії тестування, базованої на диференційованому підході до розподілу часу тестування між модулями ПС, з урахуванням ризику їх відмов під час експлуатації. Крім того, в розділі подано опис структури базового процесу тестування ПС.

Модель визначення оптимального часу тестування модулів стала логічним наслідком дослідження структурних особливостей ПС оброблення даних, типових областей ризиків та рівнів загроз через відмови ПС, економічного внеску відмов модулів у збитки користувачів через відмови ПС та стратегій тестування.

Під загрозою ми розуміємо потенційно можливу подію при роботі ПС, яка може призвести до нанесення збитків користувачам (фінансових втрат або втрат часу), а під ризиком виникнення загрози – ймовірність відмови ПС та величину пов’язаних з нею збитків. Для класу ПС оброблення даних загрози зазвичай стосуються порушення цілісності, доступності та конфіденційності. Розглядаються лише ті з них, які можуть бути спричинені відмовами ПС через недостатнє її тестування.

Стратегія тестування полягає у визначенні модулів, які потребують більш тривалого тестування. Час тестування кожного модуля повинен виділятися таким чином, щоб вартість (трудомісткість) тестування відповідала величині ризику використання модуля при роботі ПС.

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

В основу здійснення стратегії тестування покладається:

- аналіз ризику відмов ПС;

- визначення внеску кожного модуля у загрози ПС;

- оцінювання очікуваної кількості відмов, які можуть виникнути у модулі при його використанні;

- оцінювання ризиків відмов модулів.

Постановка задачі визначення оптимального часу тестування.

Введемо наступні позначення:

H = {Hi, i=1,2,…,r } – множина всіх потенційних загроз ПС, обумовлених відмовами через дефекти в її програмних модулях;

S = {Si, i=1,2,…,n } - множина всіх можливих сценаріїв функціонування ПС;

te - час тестування;

t0 - час виконання модуля в період експлуатації ПС;

Cм – внесок модуля у ризик відмов ПС (вартість можливих збитків через відмови модуля за час його виконання t0 при експлуатації ПС);

R(t0) =См(t0) - величина ризику відмови модуля за час t0;

(t) – функція зростання надійності;

(t) = d(t)/dt – інтенсивність відмов модуля;

P(Si) – ймовірність того, що при реалізації сценарію Si (i=1,2,…,n) буде виконуватися даний модуль;

P(Нj|Si) – умовна ймовірність того, що при реалізації сценарію Si причиною виникнення загрози Нj буде відмова саме даного модуля;

Сj - вартість наслідків реалізації загрози Нj (j=1,2,…,r);

С(te) – повна вартість тестування протягом часу tе;

c1 - вартість одиниці часу тестування;

c2 – вартість усунення дефекту, що призвів до відмови в процесі тестування.

R(t0|te) – функція зниження ризику відмови модуля за час його виконання t0, за умови, що модуль тестувався час te;

K(t0|te) – прибуток за час експлуатації ПС, за умови, що модуль тестувався час te;

Необхідно знайти такий час тестування te*, щоб прибуток був максимальним, тобто

te* = {te: K(t0|te*) K(t0|te), 0 te tдоп},

де tдоп – максимально допустимий час тестування.

Твердження. Нехай t0 – час виконання модуля при експлуатації ПС. Тоді

R(t0|te) = См ((t0) - ( t0 + te) + ( te))

де - внесок даного модуля в загальний ризик ПС.

В припущені, що С(te) = c1te+c2(te), прибуток від тестування знаходиться за формулою

K(t0 |te) = R (t0 |te) – С(te)= См (( t0) - ( t0 + te) + ( te)) - c1 te - c2(te).

Похідна функції K(t0 |te) по te дорівнює

K(t0 |te) = См ((te) - ( t0 + te) ) - c1 - c2(te)

Значення оптимального часу tе* отримуємо як розв’язок рівняння K(t0|te) = 0 залежно від конкретної функції (t).

Знайдені розв’язки рівняння K(t0|te) = 0 для розглянутих моделей надійності та досліджені умови існування tе*.

Зокрема, при використанні функції (t) експоненційної моделі

K (te*) = - c1 . Оскільки за припущенням експоненційної моделі >0, отже te* - дійсно є максимумом функції K(te).

Оптимальний час te* існує тоді і лише тоді, коли

Cм (1 – exp(-t0)) > с2

(Cм (1 – exp(-t0)) - с2 ) > с1

Метод оцінювання ризику відмов модулів полягає у послідовному вирішенні задач на наступних етапах.

Перший етап. Вирішується задача ідентифікації можливих загроз ПС та оцінки вартості наслідків через здійснення загроз Cj, j=1,2,…r. Аналіз загроз виконується при безпосередній участі користувача ПС. В ході аналізу визначаються:

- сценарії роботи користувачів в ПС;

- можливі сценарії подій, які можуть призвести до відмов ПС;

- типи і серйозність відмов ПС для користувача, які відповідають подіям у цих сценаріях;

- можливі наслідки для користувача від відмов ПС.

Серйозність наслідків відмов розглядається в контексті очікуваних фінансових збитків користувача через відмови ПС при її експлуатації.

Другий етап. Визначається внесок кожного модуля в ідентифіковані загрози для ПС, См. Внесок визначається шляхом зв'язування можливих відмов модулів з зовнішніми загрозами та їх наслідками. Для цього будуються операційні сценарії роботи ПС за участю ділових функцій, які реалізовані програмними модулями, та визначаються, на які зовнішні загрози можуть впливати можливі відмови модуля у кожному операційному сценарії Si.

Потім виконується співвіднесення загроз з модулями з огляду на використання кожного модуля в сценарії Si. Після того, як встановлено, що модуль відноситься до загрози Hj при і-му використанні, робиться розподіл умовних ймовірностей P(Hj|Si) для всіх загроз, які можуть мати місце при заданому сценарії використання Si.

На третьому етапі вирішується задача оцінки очікуваної кількості відмов модуля, які можуть виникнути при його виконанні за час t0, за допомогою функції (t0) моделі надійності.

Четвертий етап полягає в обчисленні ризику відмов для кожного модуля R(t0) =См(t0).

Запропонований метод оцінювання ризику модуля та модель визначення оптимального часу тестування складають теоретичну основу для побудови ефективної за вартістю стратегії тестування ПС, яка враховує: 1) нерівнозначність компонентів ПС з позицій їх важливості для вирішення задач у ділових процесах користувачів; 2) величину ризику відмов компонентів ПС.

Оцінка загроз ПС лежить в основі формування сценаріїв тестування на рівні ПС, визначенні видів і обсягів системного тестування. Впорядкування модулів за величиною ризику відмови використовується для планування функціонального тестування та розподілу часу тестування модулів.

Базовий процес тестування. В програмній інженерії процес розглядається як впорядкована сукупність елементів – дій (задач), входів (вхідних даних для виконання процесу) та виходів (результатів процесу). Основне призначення запропонованого базового процесу тестування – визначити ці елементи, критерії початку і завершення задач, ролі і відповідальності при виконанні задач тестування ПС.

Процес представлений множиною задач з підготовки, проведення та оцінювання результатів тестування, які розподілені по 10 кроках процесу. Встановлено взаємозв'язок кроків і задач тестування з процесами розроблення.

Опис базового процесу включає: розподіл обов’язків між учасниками процесу, вимоги до професійної підготовки виконавців процесу, стандарти для представлення документів, метрики процесу, застосовні методи для вирішення задач тестування, критерії початку та завершення задач і переходу до наступного кроку процесу. Для документування процесу тестування розроблено спеціальні шаблони документів, які пов’язані з кожним кроком процесу тестування. Модель процесу тестування подана на рис. 1.

Рис. 1. Модель базового процесу тестування

Розділ 3 присвячено опису програмного комплексу (ПК) Teст_Інженер, в якому реалізовані отримані результати досліджень по створенню базового процесу. Даний ПК призначений для підтримки наступних задач інженерії тестування: планування та документування тестування, введення даних про характеристики ПС (призначення, функції, загрози, модульний склад тощо), оцінки ризику відмов модулів, введення та аналіз даних про відмови (дефекти), оцінювання параметрів моделей надійності, розрахунок показників надійності та визначення оптимального часу тестування модулів.

Охарактеризовано відмінності ПК від відомих інструментів оцінювання надійності та тест-менеджерів:

- поєднання функцій підтримки процесу тестування з оцінюванням надійності;

- оцінювання часу, вартості тестування та ризику;

- ведення бази історичних даних про відмови, характеристики надійності, розмір та щільність дефектів у модулях тощо.

Сформульовано функціональні вимоги до ПК. Ці вимоги розподілено по двох функціональних модулях: підтримки тестування (ФМ_Tестування), оцінювання надійності та ризику відмов (ФМ_Оцінювання), які працюють в єдиному інформаційно-програмному середовищі (ORACLE та MS EXCEL).

У ФМ_Tестування реалізовано функції з документування характеристик ПС, планування тестування, реєстрації результатів тестування, введення даних про дефекти та контроль їх усунення.

ФМ_Оцінювання виконує функції оцінювання параметрів моделей надійності за результатами тестування, характеристик надійності та ризику відмов модулів. Реалізовано алгоритми розрахунку параметрів чотирьох моделей надійності пуассонівського типу, наведених вище. Оцінка параметрів моделей надійності виконується методом максимальної правдоподібності. Розрахунок параметрів можна виконати для однієї обраної моделі або одразу для чотирьох моделей.

За кожною з моделей надійності розраховується значення оптимального часу тестування модулів ПС. Реєстрація часу виконання кожного модуля te забезпечується шляхом вбудовування в модулі лічильників часу виконання. Архітектурно-функціональна схема ПК подана на рис. 2.

Рис. 2. Архітектурно-функціональна схема ПК Тест_Інженер

У розділі 4 описані результати випробування запропонованих моделі визначення оптимального часу тестування та методу оцінки ризиків відмов модулів.

Випробування розробленої моделі та методу. Випробування виконувалися в конкретній системі інформаційно-аналітичної підтримки прийняття управлінських рішень, яка складалася з семи програмних комплексів, об’єднаних діловим процесом оброблення даних. Аналіз загроз відмов системи показав, що з позицій цілісності інформації найбільший внесок у ризик її відмов робить ПК контролю і введення даних до БД ORACLE, який встановлюється та одночасно функціонує на 10 робочих місцях. До пяти модулів цього ПК були застосовані етапи 2 – 4 методу оцінки ризику відмов та визначені ті з них, які потребують більш тривалого тестування для зниження ризику. У розділі подані результати оцінок параметрів надійності модулів, їх внесків, ризиків відмов, оптимального часу тестування, а також графіки, які відображають поведінку функції корисності тестування.

Впровадження базового процесу тестування. З метою визначення ефективності впровадження базового процесу тестування був розроблений метод оцінювання зрілості (досконалості) виконуваних у проектах дій з тестування ПС. Цей метод ґрунтується на п’ятирівневій моделі зрілості ТММ (де 1-й рівень – найнижчий, 5-й – найвищий) та полягає у анкетуванні провідних фахівців проектів. Анкета містить перелік питань, що стосуються цільових напрямків інженерії тестування, та передбачає чотири варіанти відповідей на питання (“Так”, “Ні”, “Не знаю”, “Незастосовно”). При оцінюванні першим трьом питанням зіставляються кількісні еквіваленти: 1; 0; 0.5 відповідно.

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

Позначимо: n – кількість проектів, m – кількість оцінювачів. Тоді, за умови отримання від j-го оцінювача відповіді на хоча б одне питання щодо цілі k, оцінка ступеню її досягнення для i-го проекту Cijk розраховується за формулою

Cijk = (Dijk + 0.5Zijk)/( Dijk + Nijk + Zijk) (4.1)

де і - оцінюваний проект ПС, і=1,…,n; j – оцінювач, j =1,…,m; k - оцінювана ціль в моделі, k=1,…,K; Dijk, Nijk, Zijk кількості відповідей "Так", "Ні", "Не знаю" відповідно, наданих оцінювачем j.

Якщо надається відповідь “Незастосовно”, покладаємо Cijk = - 1.

Формула (4.1) являє собою результат застосування методу дерев цінностей до трирівневого дерева, коренем якого є рівень зрілості оцінюваного процесу, вузлами першого рівня – цілі зрілості, а листками – питання щодо досягнення цих цілей.

Для кожного і-го проекту оцінки Cijk узагальнюються за анкетами всіх оцінювачів. Оцінка ступеню досягнення цілі в і-му проекті обчислюється як медіана множини індивідуальних оцінок

Cik = Медіана(Cijk, Cijk, 0, j=1,..., m), k =1,…K, i=1,…n .

Якщо Cijk = -1, j=1,...,m, покладаємо Cik = - 1.

Середня оцінка ступеню досягнення (у процентному відношенні) кожної цілі за всіма проектами обчислюється як медіана узагальнених оцінок за окремими проектами

Ск = Медіана (Cik , Cik, 0, i =1,..., n)100% .

Якщо Cik = - 1, i=1,...,n, знову покладаємо Ck = - 1.

Для цілей зрілості на підставі їх оцінок за всіма проектами визначаються рівні досягнутості відповідно до шкали оцінювання

“Досягнута (Ск 90 )”, “Частково досягнута (89 Ск 50)”, “Не досягнута (<50)”,

“Не оцінена”.

Запропонований метод дозволяє узагальнювати результати оцінювання зрілості процесу тестування за всіма проектами в організації.

Результати впровадження базового процесу. Результати досліджень впроваджувалися в проекти ПС організації-розробника НДІ АКС “Екотех”.

Для оцінювання стану інженерії тестування в організації були обрані три проекти ПС оброблення даних, які характеризувалися порівняно однаковою складністю, кваліфікацією виконавців та наявністю групи тестування в оргструктурі проекту.

Оцінювання зрілості процесу тестування за вказаним вище методом виконувалось до та після впровадження базового процесу. У анкетуванні брала участь група у складі трьох оцінювачів. В таблиці 1 подано фрагмент зведених результатів оцінювання для двох цільових напрямків до впровадження базового процесу тестування.

Таблиця 1

Фрагмент зведених результатів оцінювання до впровадження базового процесу

Рівень |

Ціли зрілості процесу тестування | Досяг-нута

( 90 ) | Частково досягнута

(89 - 50) | Не досяг-нута

(< 50) | Не оціне-на

2 | Визначення етапу тестування

2.1. Визначення цілей тестування і відлагодження | 69.33

2.2. Впровадження процесу планування тестування | 50

2.3. Впровадження основних методів і стратегій тестування | 22.2

3 | Інтеграція

3.1. Створення групи, відповідальної за тестування | 68.18

3.2. Організація програми навчання | 42.86

3.3. Інтеграція тестування до ЖЦ ПО | 9.09

3.4. Впровадження процесу керування ризиком в процес тестування | 0

3.5. Керування і відстеження процесу тестування | 18.18

Аналіз результатів оцінювання процесу тестування виявив суттєві недоліки в організації процесу та дозволив визначити напрямки його вдосконалення.

Впровадження базового процесу тестування дозволило зосередити зусилля групи проекту (зокрема, групи тестування) на досягненні цілей зрілості, які відповідають рівням 2 та 3 за моделлю ТММ.

Вдосконалення процесу здійснювалося поетапно:

- структуризація групи тестування у відповідності до вимог базового процесу;

- розподілення ролей спеціалістів;

- розроблення детальних інструкцій та методик виконання обов’язків у процесі тестування;

- навчання спеціалістів прийомам виконання роботи, зокрема, методам проведення аналізу загроз під час архітектурно-функціональної декомпозиції ПС, аналізу ризику відмов, побудови дерев відмов тощо;

- розгортання інформаційного середовища процесу (у БД ORACLE, MS Office);

- впровадження інструменту Тест_Інженер та навчання всіх категорій його користувачів.

Результати повторного оцінювання зрілості подано у табл. 2.

Таблиця 2

Фрагмент зведених результатів повторного оцінювання процесу тестування

Рівень |

Ціли зрілості процесу тестування | Досяг-нута

( 90 ) | Частково досягнута

(89 - 50) | Не досяг-нута

(< 50) | Не оціне-на

2 | Визначення етапу тестування

2.1. Визначення цілей тестування і відлагодження | 96.15

2.2. Впровадження процесу планування тестування | 100

2.3. Впровадження основних методів і стратегій тестування | 66.67

3 | Інтеграція

3.1. Створення групи, відповідальної за тестування | 90.91

3.2. Організація програми навчання | 71.43

3.3. Інтеграція тестування до ЖЦ ПО | 86.36

3.4. Впровадження процесу керування ризиком в процес тестування | 92.31

3.5. Керування і відстеження процесу тестування | 72.73

ВИСНОВКИ

Головним результатом дисертації є розроблення та обґрунтування математичної моделі, базового процесу тестування ПС оброблення даних в умовах обмежених ресурсів, а також декількох методик, спрямованих на підвищення якості ПС.

Основні результати дисертаційної роботи:

1. Розроблено математичну модель визначення оптимального часу тестування окремих програмних модулів ПС з урахуванням ризику відмов.

2. Розроблено метод оцінювання ризиків відмов модулів та стратегію тестування, спрямовану на зниження ризиків відмов ПС під час експлуатації.

3. Розроблено алгоритми та прикладні програми оцінювання параметрів для чотирьох моделей надійності та оптимального часу тестування.

4. Розроблено базовий процес тестування програмних систем оброблення даних, що враховує запропоновані критерії, моделі та методи оцінки ризиків відмов і оптимального часу тестування модулів ПС. Запропоновано методику виконання цього процесу.

5. Спроектовано та реалізовано програмний комплекс підтримки інженерії тестування, основу якого становить базовий процес тестування ПС.

6. Проведено впровадження базового процесу тестування та ПК Тест_Інженер в два проекти ДКР для виконання тестування ПС, розроблюваних на замовлення МО України.

Впровадження результатів дослідження в організації розробника НДІ АКС “Екотех” дозволило підвищити ефективність виконання процесу тестування, зробити його керованим та відстежуваним, суттєво зменшити кількість дефектів у розроблених ПС.

ОСНОВНІ ПОЛОЖЕННЯ ДИСЕРТАЦІЇ ОПУБЛІКОВАНІ В ТАКИХ ПРАЦЯХ:

1. Коваль Г.И., Коротун Т.М., Остапенко А.П. Превентивное тестирование и оценка надежности программного обеспечения как форма управления риском проекта. // Сб. Программная инженерия. – Киев. – 1993. – С. 19-26.

Автором особисто виконаний аналіз розвитку та становлення інженерії тестування, аналіз моделі розподілу задач тестування (P-моделі), яка стала основою для формування нового підходу до розуміння місця тестування в життєвому циклі ПС та передувала V-моделі.

2. Мороз Г.Б., Коваль Г.И., Коротун Т.М. Определение целей и задач инженерии надежности программного обеспечения // Проблемы программирования. – 1997. - № 1. –С. 98-106.

Автором особисто виконаний аналіз літератури з питань оцінювання надійності та сформульовані задачі інженерії надійності на етапах реалізації, випробувань та експлуатації програмних засобів (ПЗ). Розроблена методика проведення випробувань ПЗ.

3. Коротун Т.М. Верификация и валидация прикладного программного обеспечения автоматизированных систем организационного управления // Труды Международной научно-практической конференции УкрПРОГ-1998. - C. 362-367.

4. Коротун Т.М. Совершенствование процесса тестирования ПО // Проблемы программирования. – 1998. - № 3 – С.59-64.

5. Андон Ф.И. Суслов В.Ю. Коротун Т.М., Коваль Г.И. Слабоспицкая О.А. Управление риском проектов программного обеспечения // Проблемы программирования. – 1999. - № 1. –С. 53-62.

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

6. Коротун Т.М Тестирование информационных систем с учетом риска // Проблемы программирования. 2000. - №.1-2 (спецвыпуск по материалам Международной научно-практической конференции УкрПРОГ’2000).- C. 385-392.

7. Коротун Т.М. Модель определения критерия завершения тестирования на основе анализа риска отказа и ее реализация // Проблемы программирования.-2001. - №1-2.- С.63-68.

8. Лаврищева Е.М., Коротун Т.М. Построение процесса тестирования программных систем // Проблемы программирования.-2002. - №1-2. - С.272-281.

Автором дисертації особисто проведений аналіз стану виконання процесів тестування в реальних проектах, розроблена структура та опис процесу тестування, а також розроблена методика виконання цього процесу.

9. Основы инженерии качества программных систем / Ф.И.Андон, Г.И.Коваль, Т.М. Коротун, В.Ю. Суслов /Под ред. И.В. Сергиенко. -К: “Академпериодика”, 2002. - 504 с.

Автором дисертації особисто написані розділи 6 та 8.

10. Коваль Г.И., Мороз Г.Б., Коротун Т.М. Концепция профилей в инженерии надежности программных систем // Математичні машини і системи. – 2004. - №1. - С. 166-184.

Автором особисто виконаний опис операційного профілю, описані рівні визначення та застосування концепції профілів в програмній інженерії.

АНОТАЦІЯ

Коротун Т. М. Моделі та методи інженерії тестування програмних систем в умовах обмежених ресурсів. – Рукопис.

Дисертація на здобуття наукового ступеня кандидата фізико-математичних наук за спеціальністю 01.05.03 – математичне та програмне забезпечення обчислювальних машин та систем. – Інститут кібернетики ім. В.М. Глушкова НАН України, Київ, 2005.

Дисертація присвячена актуальним проблемам вдосконалення процесу тестування програмних систем оброблення даних. Розроблено математичну модель визначення оптимального часу тестування модулів ПС з урахуванням ризиків відмов під час експлуатації ПС та метод оцінювання ризику відмов модулів ПС.

Стратегія тестування полягає у визначенні модулів, які потребують більш тривалого тестування. Час тестування кожного модуля повинен виділятися таким чином, щоб вартість (трудомісткість) тестування відповідала величині ризику використання модуля при роботі ПС.

Запропонована стратегія тестування покладена в основу побудованого базового процесу тестування ПС оброблення даних, який впорядковує задачі тестування, виконувані на різних стадіях розроблення ПС.

Запропонований процес, модель та метод реалізовані в програмному комплексі підтримки інженерії тестування. Наведено результати оцінювання стану процесу тестування організації-розробника ПС та впровадження базового процесу тестування.

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

Коротун Т. М. Модели и методы инженерии тестирования программных систем в условиях ограниченных ресурсов. – Рукопись.

Диссертация на соискание ученой степени кандидата физико-математических наук по специальности 01.05.03 – математическое и программное обеспечение вычислительных машин и систем. – Институт кибернетики им. В.М. Глушкова НАН Украины, Киев, 2005.

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

- проведение подготовки к тестированию, начиная с ранних стадий жизненного цикла (ЖЦ) проекта ПС;

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

- определение количественных критериев завершения тестирования;

- стандартизация процесса тестирования на основе процессо-ориентированного подхода.

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

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

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

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

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

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

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

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

1. Оценка угроз ПС, рисков их осуществления и возможных потерь;

2. Определение вклада каждого модуля;

3. Оценка функции роста надежности модуля за время его работы (выполнения) при эксплуатации ПС;

4. Оценка риска отказов модуля.

Разработано описание базового процесса тестирования, отвечающего требованиям процессо-ориентированного подхода и основанного на применении предложенной модели и метода.

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

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

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

ПК разработан для функционирования в среде ORACLE. Шаблоны форм входных документов тестирования выполнены в MS EXCEL. Данные из форм загружаются в БД ORACLE.

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

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

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

Korotune T. M. Models and methods testing engineering of software systems in the limited resources. – Manuscript.

Thesis for candidate’s degree of physics and mathematical sciences by speciality 01.05.03– mathematical support and software of computers and systems. – Software systems institute, NAS of Ukraine, Kiev, 2005.

Thesis is devoted to the actual problems of the software testing process improvement in life cycle of management information systems. A model for the determination of the optimum time of the system’s modules testing has been developed. It takes into account risks of module failures during the system operation. The method of modules risks evaluation has been also developed.

The proposed testing strategy consist in determination of the modules, which require more testing time for testing. Duration of testing for each module must be so assigned that a cost of testing would correspond to a level of the module failure risk while system operating.

This software testing strategy has been laid to basis of proposed


Сторінки: 1 2