Процес повторного тестування під час експертизи програмного забезпечення
The tasks of the software expert examination were described. It was proposed to use retesting in order to check the software conformity according to the set requirements, estimation of quality and faultlessness of the developed software. Neuronet categorical model and neuronet process of the softwar...
Saved in:
| Date: | 2017 |
|---|---|
| Main Author: | |
| Format: | Article |
| Language: | Ukrainian |
| Published: |
The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
2017
|
| Online Access: | https://journal.iasa.kpi.ua/article/view/106495 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | System research and information technologies |
| Download file: | |
Institution
System research and information technologies| _version_ | 1866301882418331648 |
|---|---|
| author | Govorushchenko, T. O. |
| author_facet | Govorushchenko, T. O. |
| author_sort | Govorushchenko, T. O. |
| baseUrl_str | http://journal.iasa.kpi.ua/oai |
| collection | OJS |
| datestamp_date | 2018-03-30T15:02:44Z |
| description | The tasks of the software expert examination were described. It was proposed to use retesting in order to check the software conformity according to the set requirements, estimation of quality and faultlessness of the developed software. Neuronet categorical model and neuronet process of the software retesting were developed. The program realization and researches of artificial neural network simulation model in Matlab package were realized. The increasing reliability of the software retesting process was estimated. The structure and program realization of the system of detection the retesting necessity on the basis of the report about the main test were developed and implemented. |
| first_indexed | 2025-07-17T10:21:32Z |
| format | Article |
| fulltext |
© Т.О. Говорущенко, 2011
Системні дослідження та інформаційні технології, 2011, № 1 71
TIДC
ПРОБЛЕМНО І ФУНКЦІОНАЛЬНО
ОРІЄНТОВАНІ КОМП’ЮТЕРНІ СИСТЕМИ ТА
МЕРЕЖІ
УДК 004.891.3: 004.3
ПРОЦЕС ПОВТОРНОГО ТЕСТУВАННЯ ПІД ЧАС
ЕКСПЕРТИЗИ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Т.О. ГОВОРУЩЕНКО
Описано задачі експертизи програмного забезпечення (ПЗ). Запропоновано
використовувати повторне тестування з метою перевірки ПЗ відповідно до
встановлених вимог та оцінки якості й безпомилковості розробленого ПЗ. Роз-
роблено нейромережну категорійну модель і нейромережний метод процесу
повторного тестування ПЗ. Виконано програмну реалізацію та дослідження
імітаційної моделі штучної нейронної мережі в пакеті Matlab. Зроблено оцінку
підвищення достовірності процесу повторного тестування ПЗ. Розроблено
структуру та виконано програмну реалізацію системи визначення необхідності
повторного тестування на основі звіту про основне тестування ПЗ.
ВСТУП
Процес розробки програмного продукту подібний до інших інженерних
задач. Його найбільш вдала адаптація для програмістів називається уніфі-
кований процес розробки програмного забезпечення (Unified Software
Development Process — USDP). Інститутом IEEE було розроблено стандарти
документації такого процесу розробки програмного забезпечення (ПЗ). Згід-
но із цими стандартами, документація проекту складається з таких складо-
вих, які розроблялися в порядку перерахування [1]:
• План експертизи програмного забезпечення (Software Verification
and Validation Plan — SVVP) описує, яким чином і в якій послідовності ма-
ють перевірятися стадії проекту і сам продукт відповідно до вимог.
• План контролю якості ПЗ (Software Quality Assurance Plan — SQAP)
показує, яким чином проект має досягти відповідності встановленому рівню
якості.
• План управління конфігураціями ПЗ (Software Configuration
Management Plan — SCMP) описує, де і як розробник зберігатиме версії до-
кументації, програмного коду і як визначатиме, яким чином код пов’язано із
документацією.
• План управління програмним проектом (Software Project Management
Plan — SPMP) описує, як розробник керуватиме проектом створення про-
грамного продукту, щоб довести розробку до вдалого фіналу.
• Специфікація вимог до програмного забезпечення (Software
Requirements Specification — SRS) — це найважливіший документ. Він
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 72
складаться із двох частин: перша включає те, що «попросив» замовник, дру-
га — що «зроблять програмісти»;
• Проектна документація ПЗ (Software Design Document — SDD) — це
архітектура і деталі проектування додатку.
• Документація по тестуванню ПЗ (Software Test Documentation —
STD) — опис того, як має проводитись тестування, хто при цьому присут-
ній, результати тестування тощо.
Експертна оцінка програм (peer review) призначена для ефективного та
раннього виявлення дефектів у ПЗ і може бути реалізована за допомогою
перегляду вихідних текстів, наскрізного структурного контролю або інших
методів колективного вивчення.
Основу методології експертизи ПЗ складає оцінка виконання вимог до
ПЗ на різних етапах життєвого циклу. При цьому необхідно оцінювати ви-
конання функційних вимог і вимог до цілісності безпеки [2].
МІСЦЕ ПРОЦЕСУ ПОВТОРНОГО ТЕСТУВАННЯ ПІД ЧАС ЕКСПЕРТИЗИ ПЗ
Розглянемо методи оцінки виконання вимог до ПЗ. Така оцінка може прово-
дитись не лише експертами в процесі ліцензування, але й розробником (під
час тестування та верифікації) та замовником ПЗ (під час прийняття ПЗ в
експлуатацію). Метою проведення оцінки ПЗ є перевірка його відповідно
до встановлених вимог. Не менш важливою метою роботи експерта є здійс-
нення реального впливу на підвищення рівня якості та надійності ПЗ. Для
цього всі зауваження та рекомендації експертів мають передаватись розроб-
никам для оперативного усунення виявлених недоліків. У результаті суміс-
ної діяльності розробників і експертів можуть вноситись корективи в проект
та знижуватись кількість невиявлених дефектів ПЗ. Методи, що застосову-
ються, можуть включати проведення додаткових незалежних випробу-
вань [2–5].
Підвищити достовірність тестування (імовірність проведення вірного
та вичерпного тестування ПЗ, під час якого не припускались помилки) і,
відповідно, якість ПЗ можна не тільки шляхом тестування дефектів на ета-
пах розроблення та налагодження (праці відомих вітчизняних та іноземних
учених: В.С. Харченка [5, 6], В.А. Гуляєва [7], В.М. Локазюка [8],
В.В. Ліпаєва [9–11], Г. Майєрса [12, 13], С. Канера [14], І. Соммервіла [15],
Б. Бейзера [16, 17]), а й шляхом повторного тестування з метою виявлення
прихованих помилок у програмах після основного тестування. Це підтвер-
джується тим, що достовірність тестування й якість ПЗ залежать від кілько-
сті виявлених помилок, а також і прихованих.
Мета роботи — проведення оцінки замовником ПЗ із метою перевірки
його відповідно до встановлених вимог і підвищення рівня якості та надій-
ності ПЗ. Для досягнення цієї мети слід використовувати повторне тесту-
вання — тестування з метою виявлення прихованих помилок, яке здійс-
нюється після розроблення та налагодження ПЗ і є окремим технологічним
процесом [18, 19].
Повторне тестування здійснюється на етапі вхідного контролю, який
виконує замовник, тобто допомагає замовнику оцінити якість тестування
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 73
програмного забезечення, яке приймається, і вказує на наявність у ньому
прихованих помилок [20, 21]. Повторне тестування може застосовуватись на
вимогу замовника, або якщо на його необхідність вказують результати ос-
новного тестування (за перевищенням порогових значень кількостей поми-
лок кожного рівня).
Під час використання паралельної каскадної моделі життєвого циклу
ПЗ можна показати, яке місце відводиться повторному тестуванню в життє-
вому циклі ПЗ (рис. 1).
НЕЙРОМЕРЕЖНА КАТЕГОРІЙНА МОДЕЛЬ ПРОЦЕСУ ПОВТОРНОГО
ТЕСТУВАННЯ ПЗ
Усі приховані помилки розподілимо за їх небезпечністю та ступенем впливу
на ПЗ: незначні (НПП), помірні (ППП), серйозні (СПП) та катастрофічні
(КПП) приховані помилки. НПП програмного забезпечення вважатимемо
такі, що не впливають на дії користувача, програмний продукт із їх наявніс-
Вимоги
Проектування системи Планування тестування
Проектування програм
Тестування програмних
кодів і модулів
Перевірка взаємодії і
функціювання
компонентів системи
Проектування тестів
Реалізація тестів
Налагодження тестів
Системне тестування
Приймальні випробування
Експлуатація і супроводження
ПОВТОРНЕ
ТЕСТУВАННЯ
Контролювати Підтверджувати
Потік розробки Потік тестування
Рис. 1. Місце повторного тестування в паралельній каскадній моделі життєвого
циклу програмного забезпечення
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 74
тю придатний для використання. ППП програмного забезпечення вважати-
мемо такі, що впливають на дії користувача. Програмний продукт за їх
наявністю придатний для використання з частковою втратою функційності.
СПП програмного забезпечення вважатимемо такі, що призводять до по-
милкових результатів, внаслідок чого програмний продукт непридатний для
використання. КПП програмного забезпечення вважатимемо такі, що
призводять до спотворення інформації (даних), внаслідок чого програмний
продукт непридатний для використання і спроби його опрацювати призво-
дить до відмови програмної системи. НПП присвоїмо найнижчий рівень ка-
тегорійності — 1. ППП присвоїмо, відповідно, рівень 2; серйозним — рі-
вень 3. Найвищим рівнем вважатимемо КПП — рівень 4. Таким чином,
рівнів прихованих помилок буде чотири.
Вперше пропонується концептуальна модель підвищення достовірності
тестування ПЗ із виявленням прихованих помилок різних типів шляхом
повторного тестування ПЗ із розподілом прихованих помилок на різні кате-
горії і припущенням, що певна кількість помилок попередньої за серйозніс-
тю категорії призводить до появи окремих типів помилок наступної катего-
рії, що забезпечило б вибір та обґрунтування моделі процесу на базі ШНМ.
Вірність такої концепції можна легко проілюструвати. Наприклад,
потрібно порівняти між собою два аргументи — a i b : якщо ,ba > то знай-
ти різницю ba − , у протилежному випадку — суму ba + . Припустимо, що
було внесено помилку логічної умови або помилку в гілках true, false, які
належать до серйозних помилок. У результаті дії цієї помилки виникає
наступна помилка — програма та її функціювання не відповідає специфіка-
ції вимог, яка вже належить до катастрофічних.
На основі запропонованого підходу до розподілу прихованих помилок
за категорійністю введемо поріг ia допустимої кількості помилок і важли-
вості помилок різних типів одного виду, при перевищенні якого необхідно
здійснювати повторне тестування з метою виявлення прихованих помилок
цього виду. Знаходження більшої кількості прихованих помилок під час
повторного тестування підвищить, у свою чергу, достовірність процесу тес-
тування взагалі і, відповідно, якість програмного продукту.
На основі запропонованої концепції повторного тестування і розподілу
прихованих помилок за категорійністю з урахуванням порогів допустимої
кількості помилок і важливості помилок [18, 20, 21], розроблено математич-
ну модель процесу повторного тестування, в основі якої лежить штучна
нейронна мережа (ШНМ), структура якої представлена на рис. 2.
Вибір апарату ШНМ мотивований тим, що штучні нейронні мережі за-
вдяки можливості апроксимацій нелінійних функцій надають можливість
враховувати важливість (ваги) кожного типу неприхованих та прихованих
помилок, пороги граничної кількості допустимих помилок кожної категорії,
взаємний вплив прихованих помилок одних типів на помилки інших типів.
Визначення вихідного функціоналу кожного із шарів ШНМ, що відповіда-
ють категорійності помилок, дає можливість оцінити сумарний вплив кож-
ної категорії помилок на якість розробленого ПЗ, яке пройшло основне
тестування, і зробити висновки щодо необхідності повторного тестування з
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 75
тування з метою виявлення й усунення помилок тієї чи іншої категорії.
Важкоформалізованою задачею повторного тестування є визначення ваг
впливу помилок різних типів однієї категорії [18, 20] на помилки іншої кате-
горії, причиною яких є помилки попередніх категорій [18, 20].
НЕЙРОМЕРЕЖНИЙ МЕТОД ПРОЦЕСУ ПОВТОРНОГО ТЕСТУВАННЯ ПЗ
Початковими даними для реалізації повторного тестування є інформація про
типи помилок (множина }...1|{ nkpP k == ), виявлених під час основного
тестування, та методи (множина }...1|{ nkmM k == ) і операції, що були за-
стосовані для їх виявлення (множина }...1|{ nkoO k == ). Ця інформація бе-
реться зі звітів про результати основного тестування. Оскільки основне тес-
тування здійснює тестувальник, то на результати тестування можливий
вплив суб’єктивного та людського факторів, що може як позитивно, так і
негативно впливати на ефективність повторного тестування. Саме для зме-
ншення зазначеного суб’єктивного фактора враховуються не тільки типи
виявлених помилок, а й методи та операції тестування. Суть нейромережно-
го методу процесу повторного тестування ПЗ [22] відображена на рис. 3.
Рис. 2. Нейромережна категорійна модель процесу повторного тестування
Рис. 3. Принцип застосування ШНМ для процесу повторного тестування
Звіт про основне
тестування ПЗ
(№ методу тестування,
№ операції тестування,
№ типу виявленої помилки)
Штучна
нейронна
мережа
4 рівні
категорійності
(0 або 1, на основі яких
приймається рішення
про необхідність
повторного тестування)
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 76
Вхідні дані для реалізації повторного тестування подаються у вигляді
матриці
nnn
iii
pom
pom
pom
VD
...
...
111
= , де iii pom ,, — елементи множин ,M O та P
відповідно. Кожен елемент матриці ,VD представлений у вигляді тексту,
піддається перетворенню для подання його у кількісному вигляді. Вико-
ристовуючи матриці
s
i
ms
mi
m
MN
..
..
1 1
= , де im — елемент множини ,M
v
i
ov
oi
o
ON
..
..
1 1
= , де io — елемент множини ,O
z
i
pz
pi
p
PN
..
..
1 1
= , де ip — еле-
мент множини ,P які представляють собою присвоєння номерів методам
тестування, операціям тестування та типам виявлених помилок відповідно,
[ ]1,i -й елемент матриці ,VD представлений у вигляді тексту, піддається пе-
ретворенню для подання його у кількісній формі. Відбувається пошук еле-
мента в другому стовпці матриці ,MN одержується порядковий номер j
рядка елемента. [ ]1,j -й елемент матриці MN заноситься в [ ]1,i -й елемент
матриці
nnn
iii
pnonmn
pnonmn
pnonmn
VDM
...
...
111
= , де iii pnonmn ,, — кількісне представлен-
ня значень елементів множин ,M O та P відповідно.
Далі [ ]2,i -й елемент матриці VD піддається перетворенню в кількісне
представлення. Відбувається пошук елемента в другому стовпці матриці
,ON одержується порядковий номер j рядка елемента. [ ]1,j -й елемент мат-
риці ON заноситься в [ ]2,i -й елемент матриці .VDM Останнім піддається
перетворенню в кількісне представлення [ ]3,i -й елемент матриці .VD Відбу-
вається пошук елемента в другому стовпці матриці ,PN одержується по-
рядковий номер j рядка елемента. [ ]1,j -й елемент матриці PN заноситься в
[ ]3,i -й елемент матриці .VDM
Після одержання кількісного представлення значень кожного елемента
матриці VD формується набір вхідних векторів для ШНМ. На вхід iq по-
дається 1, якщо використовувався відповідний для i -го рівня категорійності
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 77
метод основного тестування (дану відповідність наведено в матриці
44
33
22
11
rknm
rknm
rknm
rknm
NMRK = , де nm — номер методу основного тестування, rk —
рівень категорійності). На вхід ix′ подається номер i -ї операції основного
тестування ion ( [ ]2,i -й елемент матриці VDM ), на вхід ix подається номер
i -го типу виявленої під час основного тестування помилки ipn ( [ ]3,i -й еле-
мент матриці VDM ). На всі інші входи подається «0».
ШНМ опрацьовує набір вхідних векторів згідно із методом вирішення
задачі повторного тестування та видає матрицю вихідних векторів
4321
4321
14131211
....
....
nnnn
iiii
rkrkrkrk
rkrkrkrk
rkrkrkrk
VV = , де i -й рядок містить i -й вихідний вектор;
елемент 1irk містить значення «нуль» або «одиниця» для рівня категорійно-
сті з номером 1 i -го вихідного вектора; елемент 2irk містить значення
«нуль» або «одиниця» для рівня категорійності з номером 2 i -го вихідного
вектора; елемент 3irk містить значення «нуль» або «одиниця» для рівня ка-
тегорійності з номером 3 i -го вихідного вектора; 4irk містить значення
«нуль» або «одиниця» для рівня категорійності з номером 4 i -го вихідного
вектора. Вихідні вектори необхідно піддати перетворенню для одержання
результатів у лінгвістичній формі. Для цього використовується матриця
присвоєння рівнів категорійності типам прихованих помилок
4
3
2
1
4
3
2
1
rk
rk
rk
rk
RK = , де irk — тип прихованих помилок. Перетворенню з кіль-
кісної в лінгвістичну форму піддається окремо кожен вихідний вектор, тоб-
то окремо кожен рядок матриці .VV Для перетворення i -го рядка в ньому
відбувається пошук «одиниці», запам’ятовується номер стовпця h та знахо-
диться [ ]2,h -й елемент матриці .RK Знайдений елемент hrk є лінгвістич-
ним представленням одержаного результату. Цей елемент заноситься в
множину результатів }...1|{ nkrkR k == . На основі аналізу складу множини
R робиться висновок про необхідність та тип повторного тестування.
ПРОГРАМНА РЕАЛІЗАЦІЯ ТА ДОСЛІДЖЕННЯ ШНМ У ПАКЕТІ MATLAB
У пакеті Matlab було виконано програмну реалізацію моделі ШНМ. Струк-
турну схему імітаційної моделі ШНМ у пакеті Matlab зображено на рис. 4.
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 78
На кожен із входів 1q – 4q необхідно подати «одиницю», тому що тес-
тування здійснюється одним із методів тестування, які утворюються внаслі-
док об’єднання двох методів тестування під одним номером, що відображе-
но в матриці присвоєння номерів методам тестування.
За статистикою [24] тестувальник тестує програму не більш як чотирма
операціями одного методу тестування, тому на кожен із входів Input2–Input5
можна подати не більше чотирьох номерів операцій тестування. На входи
Input2 ( 1Zx ), Input3 ( 2Zx ), Input4 ( 3Zx ), Input5 ( 4Zx ) подаються номери
операцій основного тестування ПЗ.
На вхід Input1 ( x ) подаються номери результатів операцій основного
тестування ПЗ, тобто номери типів помилок виявлених під час основного
тестування. Оскільки за статистикою [24] у програмі буває максимум 14–15
помилок, то на даний вхід можна подати не більше 16 типів помилок.
У першому шарі ШНМ (Layer1) значення входів x і 1Zx множимо на
відповідні вагові коефіцієнти і додаємо; від одержаної суми беремо активі-
заційну функцію гіперболічного тангенса, у результаті чого одержимо зна-
чення 1z . Це значення передаємо на другий (Layer2) та третій (Layer3) шари
ШНМ. У другому шарі до значення 1z , помноженого на відповідний ваго-
вий коефіцієнт, додаємо значення добутку значення 1q і його вагового кое-
фіцієнта; від одержаної суми 1S беремо лінійну активізаційну функцію, у
результаті чого одержимо значення функції виходу 1Y . У третьому шарі
значення 1z , помножене на ваговий коефіцієнт, додається зі значенням до-
бутку значення входу 2Zx і його вагового коефіцієнта; від одержаної суми
береться активізаційна функція гіперболічного тангенса, у результаті чого
одержуємо значення 2z . Це значення передаємо на четвертий (Layer4) і
Input 1
Input 2
Input 3
Input 4
Input 5
+
IW 1,1
IW 1,2
q1
+
LW 2,1
LW 3,1
IW 3,3
Layer 1
+
Layer 2
Layer 3
q2
+
LW 4,3
+
LW 5,3
IW 5,4
Layer 4
Layer 5
q3
LW 6,5
+
LW 7,5
IW 7,5
+
Layer 6
Layer 7
LW 8,7
q4
+
Layer 8
16 x 1
Z1x
4 x 1
4 x 1
4 x 1
4 x 1
Z2x
Z3x
Z4x
1z
1S 1Y
2z
2S 2Y
3z
3S 3Y
4z
4S 4Y
Рис. 4. Структурна схема імітаційної моделі ШНМ у пакеті Matlab
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 79
п’ятий (Layer5) шари ШНМ, які функціонують аналогічно другому (Layer2)
і третьому (Layer3) шарам відповідно. Із четвертого (Layer4) шару одержує-
мо значення функції виходу 2Y . Із п’ятого шару (Layer5) одержуємо значен-
ня 3z , що передається на шостий (Layer6) і сьомий (Layer7) шари ШНМ, які
функціонують аналогічно другому (Layer2) і третьому (Layer3) шарам від-
повідно. Із шостого шару (Layer6) одержуємо значення функції виходу 3Y .
Із сьомого шару (Layer7) одержуємо значення 4z , що передається на вось-
мий шар (Layer8), який функціонує аналогічно другому шару (Layer2). Із
восьмого шару одержуємо значення функції виходу 4Y .
Кожен із виходів iY відповідає за один із чотирьох рівнів категорійно-
сті ( 1Y — перший рівень категорійності, 2Y — другий рівень категорійності,
3Y — третій рівень категорійності, 4Y — четвертий рівень категорійності ) і
приймає значення «1», якщо штучною нейронною мережею спрогнозовано
наявність у програмі помилок i -го рівня категорійності, у протилежному
випадку значення виходу iY становить «0».
Для вибору алгоритму навчання ШНМ та критерію оцінки якості
навчання ШНМ досліджувалась під час навчання вибіркою з 2250 векторів
різними алгоритмами із використанням різних критеріїв оцінки якості
навчання [20, 23]. У результаті проведеного аналізу було зроблено висно-
вок, що похибка навчання змодельованої ШНМ залежить від критерію оцін-
ки якості навчання та від форми представлення вхідних даних. Тому надалі
використовується комбінований критерій якості навчання і масштабована
навчальна вибірка. Мінімальна похибка, яку було досягнуто при викорис-
танні комбінованого критерію якості навчання та масштабованої навчальної
вибірки з 2250 векторів, становить 0,448359. Меншої похибки навчання до-
сягати неможливо і не потрібно, оскільки виходи мережі, які знаходяться в
інтервалі [-1; 1] перетворюються для представлення цілими значеннями «1»
або «0» (є чи немає помилки і-го рівня категорійності відповідно):
⎩
⎨
⎧
≤
>
= .0якщо,0
;0якщо,1
i
i
i Y
YY
У результаті аналізу імітаційної моделі ШНМ за часовим показником
та за показником «кількість епох» найкращими є: алгоритм навчання CGB
на основі методу спряженого градієнта з оберненим поширенням і рестар-
тами в модифікації Пауела-Біеле, алгоритм навчання SCG, алгоритм на-
вчання Флетчера-Рівса, алгоритм навчання Полака-Рібейри та пороговий
алгоритм оберненого поширення помилки Rprop. Оскільки алгоритм на-
вчання CGB на основі методу спряженого градієнта з оберненим поширен-
ням і рестартами в модифікації Пауела-Біеле, алгоритм навчання Флетчера-
Рівса та алгоритм навчання Полака-Рібейри є модифікаціями методу спря-
женого градієнта, то для навчання обрано один із них — алгоритм навчання
CGB на основі методу спряженого градієнта з оберненим поширенням і рес-
тартами в модифікації Пауела-Біеле. Для тестування ШНМ було побудовано
тестову вибірку з 200 векторів, яка також підлягала масштабуванню.
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 80
ОЦІНКА ДОСТОВІРНОСТІ ПРОЦЕСУ ПОВТОРНОГО ТЕСТУВАННЯ ПЗ
Із запропонованої моделі випливає, що при 0>hY у програмі є помилки
категорії, якій відповідає hY . Нехай без урахування впливу на початку в
програмі було xp -помилок першого рівня категорійності, 1z
p -помилок дру-
гого рівня категорійності, .... , hz
p -помилок h -го рівня категорійності.
Із урахуванням впливу помилок попереднього рівня категорійності на на-
ступний, помилок стало: xp — першого рівня категорійності, 11 −+ h
izz
pp —
h -го рівня категорійності.
За критерій достовірності процесу повторного тестування ПЗ приймемо
кількість виявлених помилок згідно із запропонованою моделлю [25, 20].
Достовірність D процесу повторного тестування ПЗ дорівнюватиме:
......
1
1
1
21 +
+
++
+
+=
−
h
h
i
h
i
z
zz
h
z
xz
x p
pp
kn
p
pp
knpknD ,
де }{ hknKN = — множина коефіцієнтів нормування категорійності прихо-
ваних помилок.
Підвищення достовірності процесу повторного тестування ПЗ дорівню-
ватиме
D
DD
′
−=∆ 1 , де D′ — достовірність процесу повторного тестування
ПЗ без урахування впливу прихованих помилок кожного попереднього рівня
категорійності на помилки наступного рівня категорійності.
Для згаданих раніше чотирьох рівнів категорійності:
3
2
3
2
1
2
1
1
4321
z
z
xz
z
z
xz
z
xz
x p
pp
kn
p
pp
kn
p
pp
knpknD iii
+
+
+
+
+
+= .
Із j -ї вибірки одержано такі значення величин для визначення досто-
вірності процесу повторного тестування (табл. 1).
Т а б л и ц я 1 . Значення величин для визначення достовірності повторно-
го тестування
№
експерименту xp 1z
p 2z
p 3z
p
ixp 1z
xi
p
2z
xi
p
1 28 16 10 4 6 4 2
2 32 20 10 6 8 6 2
3 46 28 14 8 10 6 4
4 50 30 18 10 12 8 2
Експертним шляхом (за результатами роботи дев’ять експертів Хмель-
ницької філії софтверної організації Sitronics Telecom Solutions) присвоєно
такі значення коефіцієнтам нормування категорійності прихованих поми-
лок: 08,01 =kn ; 22,02 =kn ; 7,13 =kn ; .84 =kn
Підвищення достовірності процесу повторного тестування ПЗ дорівнює:
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 81
.15,0
364,16
92,131.;28,0
923,16
16,121 41 =−=∆=−=∆ DD …
Врахування впливу помилок попередніх рівнів категорійності підви-
щило достовірність процесу повторного тестування ПЗ на 15–28 %.
ПОРОГОВІ ЗНАЧЕННЯ КІЛЬКОСТІ ПОМИЛОК КОЖНОГО РІВНЯ
КАТЕГОРІЙНОСТІ
Оскільки уточнення підходу розподілу помилок за пріоритетами і катего-
ріями [24] щодо опису прихованих помилок із введенням концепції катего-
рійності помилок проведено вперше, то порогові значення кількості поми-
лок кожного рівня категорійності, із перевищення яких приймається
висновок про необхідність повторного тестування, у відомих літературних
джерелах не описано.
Для встановлення цих порогових значень проводились дослідження
кількості помилок програмного забезпечення. Програмне забезпечення
складалось із різної кількості операторів, із урахуванням і без урахування
впливу помилок одного типу (рівня категорійності) на виникнення помилок
наступного типу (рівня категорійності) (табл. 2).
Т а б л и ц я 2 . Кількість помилок програмного забезпечення з урахуван-
ням і без урахування впливу помилок одного типу на виникнення помилок
наступного типу
Кількість виявлених помилок
без урахування взаємовпливу
помилок
Реальна кількість помилок Кількість
операторів
у програмі
100 500 1000 5000 10000 100 500 1000 5000 10000
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11)
Загальна
кількість
помилок
10 18 25 42 68 16 24 36 42 85
НПП 8 14 19 31 51 8 14 19 31 51
ППП 2 4 5 11 16 5 9 14 11 33
СПП 0 0 1 0 1 2 1 2 0 1
КПП 0 0 0 0 0 1 0 1 0 0
Порогові значення вводяться на основі евристичних оцінок (за табл. 2):
1) якщо кількість помилок 4-го рівня категорійності (катастрофічних)
перевищує 1, то повторне тестування необхідне за причини можливості від-
мови програмної системи;
2) якщо кількість помилок 3-го рівня категорійності (серйозних) пере-
вищує 2, то повторне тестування необхідне за причини виникнення помилок
вищого рівня категорійності;
3) якщо кількість помилок 2-го рівня категорійності (помірні) дорівнює
або перевищує 50 % від загальної кількості виявлених під час основного
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 82
тестування помилок, то повторне тестування необхідне за причини виник-
нення помилок вищих рівнів категорійності;
4) якщо кількість помилок 1-го рівня категорійності (незначні) дорів-
нює або перевищує 75 % від загальної кількості виявлених під час основно-
го тестування помилок, то повторне тестування необхідне за причини вини-
кнення помилок вищих рівнів категорійності.
З аналізу табл. 2 видно, що при перевищенні саме таких значень вини-
кають приховані помилки більш високих рівнів категорійності, тому ці зна-
чення використовуються як порогові під час формування висновку про не-
обхідність повторного тестування прикладного програмного забезпечення.
ПРОГРАМНІ ЗАСОБИ ДЛЯ РЕАЛІЗАЦІЇ ПРОЦЕСУ ПОВТОРНОГО
ТЕСТУВАННЯ ПЗ
На основі нейромережного методу процесу повторного тестування розроб-
лено структурну схему системи ідентифікації прихованих помилок ПЗ (рис. 5).
Система ідентифікації прихованих помилок ПЗ складається з таких
компонентів:
1) блок збору – передачі даних — підключає наданий користувачем
файл із результатами основного тестування, представленими у вигляді жур-
налу «Метод тестування – Операція тестування – Тип виявленої помилки»;
2) кодувальник — виконує перетворення вхідних даних із лінгвістичної
форми представлення в кількісну форму за допомогою відповідних таблиць
бази знань та формування вхідних векторів для модуля вирішувача. Здійс-
нює заповнення бази знань вихідними даними, перетворення результуючих
векторів вирішувача з кількісної в лінгвістичну форму за допомогою відпо-
відної таблиці бази знань, а також передачу їх модулю опрацювання резуль-
татів роботи вирішувача;
3) база знань містить:
• таблиці присвоєння номерів методам і операціям основного тесту-
вання, типам виявлених помилок та присвоєння номерів рівням категорій-
ності прихованих помилок;
Блок збору-
передачі даних
Файл
Динамічний
довідник
Діалоговий
компонент
База знань
Кодувальник
Вирішувач
(ШНМ)
Модуль
опрацювання
результатів
роботи
вирішувача
Користувач
Рис. 5. Структурна схема системи ідентифікації прихованих помилок ПЗ
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 83
• таблицю кількісного представлення вхідних даних, в якій містяться
вхідні дані, перетворені кодувальником у кількісну форму;
• таблицю текстового представлення результуючих векторів вирішу-
вача (ШНМ), в якій представлені результуючі вектори, перетворені кодува-
льником в лінгвістичну форму;
• таблиці відповідності методу та операцій основного тестування, ти-
пів виявлених під час основного тестування помилок; відповідності між но-
мером методів тестування ПЗ та рівнем категорійності прихованих помилок
ПЗ; відповідності між операціями тестування ПЗ та рівнем категорійності
прихованих помилок, на основі яких система формує висновок про метод,
яким рекомендується проводити повторне тестування прикладного ПЗ;
• правила для формування висновку про необхідність повторного тес-
тування;
4) вирішувач — штучна нейронна мережа, на входи якої подається ін-
формація про методи й операції основного тестування та типи виявлених під
час основного тестування помилок, а на виході одержується рівень катего-
рійності прихованих помилок;
5) модуль опрацювання результатів роботи вирішувача — на основі
правил та таблиці результатів роботи вирішувача, які взято із бази знань,
генерує висновок про необхідність повторного тестування, що передається
користувачу через кодувальник, динамічний довідник та діалоговий компонент;
6) динамічний довідник — надає користувачу довідку про формат вхід-
ного файлу, про відомі системі методи і операції основного тестування ПЗ,
типи виявлених під час основного тестування помилки ПЗ, а також предста-
вляє в наочній формі всі повідомлення будь-якого із компонентів системи;
7) діалоговий компонент — візуалізує повідомлення динамічного до-
відника та видає їх користувачу в зрозумілій для сприйняття формі.
Запропонована система ідентифікації прихованих помилок програмно-
го забезпечення дозволяє користувачу, на основі звіту про результати ос-
новного тестування, одержати висновок про необхідність повторного тесту-
вання, а також про наявність у програмному забезпеченні прихованих
помилок та їх рівень категорійності.
Систему ідентифікації прихованих помилок ПЗ було реалізовано в Bor-
land C++ Builder 6.0 із застосуванням системи управління базами даних
Paradox7.
Під час проведення експериментів розглядались тільки звіти про ос-
новне тестування прикладного програмного забезпечення. Наприклад, на
вхід системи подавався такий звіт (звіт 1) про результати основного тесту-
вання (табл. 3).
Результат роботи системи визначення необхідності повторного тесту-
вання ПЗ виводиться в лінгвістичній формі, зрозумілій користувачу, про-
грамісту та тестувальнику. Так, після аналізу звіту 1 із застосуванням введе-
них порогових значень система видає висновок, що повторне тестування не
потрібне, оскільки жодне порогове значення не досягнуто.
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 84
Т а б л и ц я 3 . Звіт 1 про результати основного тестування
Метод тестування Операція тестування Тип виявленої
помилки
Тестування елементів
Перевірка коректності кожної
гілки програми
(графу керування)
Помилки незалежних
маршрутів програми
Тестування незалежних
шляхів (гілок), низхідне
тестування
Перевірка пріоритету арифмети-
чних операцій на правильність і
зрозумілість
Помилки обчислень
Тестування незалежних
шляхів (гілок), низхідне
тестування
Перевірка коректності роботи
«заглушок»
Некоректна робота «за-
глушок»
Висхідне тестування,
тестування спрягань між
елементами
Перевірка правильності розробки
та функціювання драйверів
Помилки драйверів
та їх розробки
Висхідне тестування,
тестування спрягань
між елементами
Перевірка даних на втрати при
проходженні
через спрягання
Помилки спрягань
модуля
Висхідне тестування,
тестування спрягань
між елементами
Перевірка, чи немає несприятли-
вого впливу одного модуля на
інший
Помилки спрягань
модуля
Тестування незалежних
шляхів (гілок), низхідне
тестування
Перевірка форми операцій Помилки обчислень
Тестування незалежних
шляхів (гілок), низхідне
тестування
Перевірка логічних
операцій на коректність
Перевірка пріоритету
арифметичних операцій
на правильність і зрозумілість
Помилки порівняння
Помилки обчислень
ВИСНОВКИ
Експертиза програмного забезпечення полягає в тому, що замовник має пе-
реконатись, що розробник виконав поставлені вимоги та розробив якісний
безпомилковий продукт із заданою функційністю. Важливою метою роботи
експерта в процесі проведення оцінки (експертизи) ПЗ є перевірка ПЗ відпо-
відно до встановлених вимог і здійснення впливу на підвищення якості, до-
стовірності та надійності розробленого ПЗ. Для цього експерти можуть ви-
користовувати проведення додаткових незалежних випробувань. Одним із
таких випробувань для проведення оцінки замовником ПЗ із метою вияв-
лення прихованих помилок може бути визначення необіхдності повторного
тестування програмного забезпечення на основі прогнозування наявності
прихованих помилок ПЗ та встановлення їх небезпечності та ступеня впливу
на ПЗ. Повторне тестування допомагає замовнику оцінити якість програм-
ного забезпечення, яке приймається, та якість тестування цього ПЗ.
Для оцінки небезпечності та ступеня впливу прихованих помилок на
ПЗ введено 4 рівні категорійності. На основі запропонованої концепції по-
вторного тестування та розподілу прихованих помилок за рівнями катего-
Процесс повторного тестування під час експертизи програмного забезпечення
Системні дослідження та інформаційні технології, 2011, № 1 85
рійності розроблено нейромережну категорійну модель процесу повторного
тестування ПЗ і нейромережний метод процесу повторного тестування ПЗ,
дослідження яких дало можливість зробити висновок про підвищення до-
стовірності процесу повторного тестування з врахуванням впливу помилок
попередніх рівнів категорійності на 15–28 %. На основі нейромережного
методу процесу повторного тестування розроблено структуру та виконано
програмну реалізацію системи визначення необхідності повторного тесту-
вання, яка на основі звіту про основне тестування ПЗ дає висновок про не-
обхідність повторного тестування ПЗ на основі прогнозу наявності прихова-
них помилок в аналізованому ПЗ, тобто дає можливість замовнику оцінити
якість одержуваного ПЗ.
ЛІТЕРАТУРА
1. Документирование программного обеспечения и эффективный процесс разра-
ботки. — http://creograf.ru/?messPress_ShowR_161=1.
2. Скляр В.В. Оценка качества и экспертиза программного обеспечения: лекцион-
ный материал. — Х.: НАУ «ХАИ», 2008. — 204 с.
3. Ястребенецкий М.А., Васильченко В.Н., Виноградская С.В. и др. Безопасность
атомных станций: Информационные и управляющие системы. — Киев:
Техніка, 2004. — 472 с.
4. Сидельников Ю.В. Экспертология — новая научная дисциплина // Автоматика
и телемеханика. — 2000. — № 2. — С. 107–126.
5. Харченко В.С., Скляр В.В., Гордеев А.А. Верификация программного обеспече-
ния. — Х.: НАУ «ХАИ», 2006. — 132 с.
6. Харченко В.С., Скляр В.В., Тарасюк О.М. Методы моделирования и оценки качест-
ва и надежности программного обеспечения. — Х.: НАУ «ХАИ», 2004. — 159 с.
7. Гуляев В.А., Коростиль Ю.М. Диагностирование программного обеспечения
микропроцессорных систем. — Киев: Техніка, 1991. — 138 с.
8. Локазюк В.М. Надійність, помилки і тестування програмного забезпечення
комп’ютерних пристроїв та систем: навч. посіб. — Хмельницький: ТУП,
2003. — 74 с.
9. Липаев В.В. Качество программного обеспечения. — М.: Финансы и статисти-
ка, 1983. — 263 с.
10. Липаев В.В. Отладка сложных программ: Методы, средства, технология. — М.:
Энергоатомиздат, 1993. — 384 с.
11. Липаев В.В. Тестирование программ. — М.: «Радио и связь», 1986. — 411 с.
12. Майерс Г. Надежность программного обеспечения. — М.: Мир, 1980. — 360 с.
13. Myers G.J. The Art of Software Testing. — NY: John Wiley and Sons, 1979. — 312 с.
14. Канер Сэм и др. Тестирование программного обеспечения: пер. с англ. —
Киев: ДиаСофт, 2001. — 544 с.
15. Соммервил И. Инженерия программного обеспечения. — 6-е изд. — М.: Изд.
дом «Вильямс», 2002. — 624 с.
16. Beizer B. Software Testing Techniques. — NY: International Thomson Publishers,
1990. — 503 p.
17. Beizer B. Black-Box Testing: Techniques for Functional Testing of Software and
Systems. — NY: John Willey & Sons, 1995. — 320 p.
18. Локазюк В.М., Пантелєєва (Говорущенко) Т.О. Категорійна модель процесу
повторного тестування дефектів програмного забезпечення // Вісн. Техно-
логічного ун-ту Поділля. — 2004. — Т. 1, Ч. 1 — С. 53–58.
Т.О. Говорущенко
ISSN 1681–6048 System Research & Information Technologies, 2011, № 1 86
19. Lokazyuk V.M., Govoruschenko T.O. Category Model of Process of Repeated Soft-
ware Testing // Proceedings of the Third IEEE Workshop on Intelligent Data Ac-
quisition and Advanced Computing Systems: Technology and Applications. —
Sofia, Bulgaria, 2005. — Р. 241–245.
20. Говорущенко Т.О. Підвищення достовірності тестування програмного забезпе-
чення // Вісн. Нац. ун-ту «Львівська політехніка» «Комп’ютерні науки та
інформаційні технології». — 2007. — С. 186–196.
21. Lokasyuk V., Pomorova O., Govorushchenko T. Neural Nets Method for Estimation
of the Software Retesting Necessity // Proceedings of the 2008 international
workshop on Software Engineering in east and south Europe. — Germany, Leip-
zig, 2008. — Р. 9–14.
22. Говорущенко Т.О. Система повторного тестування програмного забезпечення //
Радіоелектронні і комп’ютерні системи. — Х.: НАУ «ХАІ», 2005. — № 4. —
С. 120–126.
23. Говорущенко Т.О. Дослідження моделі вирішувача системи повторного тесту-
вання прикладного програмного забезпечення // Вісн. Хмельницького нац.
ун-ту. — 2007 — 1, № 3. — С. 236–244.
24. Калбертсон Р., Браун К., Кобб Г. Быстрое тестирование: пер. с англ. — М.:
Изд. дом «Вильямс», 2002. — 384 с.
25. Говорущенко Т.О. Оцінка ефективності виявлення прихованих помилок у про-
грамному забезпеченні // Вісн. Хмельницького нац. ун-ту. — 2005. — Т. 2,
Ч. 1. — С. 190–195.
Надійшла 21.02.2009
|
| id | journaliasakpiua-article-106495 |
| institution | System research and information technologies |
| keywords_txt_mv | keywords |
| language | Ukrainian |
| last_indexed | 2025-07-17T10:21:32Z |
| publishDate | 2017 |
| publisher | The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" |
| record_format | ojs |
| resource_txt_mv | journaliasakpiua/92/07c2ac79cb3b09f3ddafd9dc8ad33092.pdf |
| spelling | journaliasakpiua-article-1064952018-03-30T15:02:44Z Retesting in process of software expert examination (verification and validation) process Процесс повторного тестирования в процессе экспертизы программного обеспечения Процес повторного тестування під час експертизи програмного забезпечення Govorushchenko, T. O. The tasks of the software expert examination were described. It was proposed to use retesting in order to check the software conformity according to the set requirements, estimation of quality and faultlessness of the developed software. Neuronet categorical model and neuronet process of the software retesting were developed. The program realization and researches of artificial neural network simulation model in Matlab package were realized. The increasing reliability of the software retesting process was estimated. The structure and program realization of the system of detection the retesting necessity on the basis of the report about the main test were developed and implemented. Описаны задачи экспертизы програмного обеспечения (ПО). Предложено использование повторного тестирования с целью проверки соответствия ПО поставленным требованиям, а также оценки качества и безошибочности разработанного ПО. Разработаны нейросетевая категорийная модель и нейросетевой метод процесса повторного тестирования ПО. Выполнена программная реализация и исследование имитационной модели искусственной нейронной сети в пакете Matlab. Сделана оценка повышения достоверности процесса повторного тестирования ПО. Разработана структура и выполнена программная реализация системы определения необходимости повторного тестирования на основании отчета об основном тестировании ПО. Описано задачі експертизи програмного забезпечення (ПЗ). Запропоновано використовувати повторне тестування з метою перевірки ПЗ відповідно до встановлених вимог та оцінки якості й безпомилковості розробленого ПЗ. Розроблено нейромережну категорійну модель і нейромережний метод процесу повторного тестування ПЗ. Виконано програмну реалізацію та дослідження імітаційної моделі штучної нейронної мережі в пакеті Matlab. Зроблено оцінку підвищення достовірності процесу повторного тестування ПЗ. Розроблено структуру та виконано програмну реалізацію системи визначення необхідності повторного тестування на основі звіту про основне тестування ПЗ. The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" 2017-07-07 Article Article application/pdf https://journal.iasa.kpi.ua/article/view/106495 System research and information technologies; No. 1 (2011); 71-86 Системные исследования и информационные технологии; № 1 (2011); 71-86 Системні дослідження та інформаційні технології; № 1 (2011); 71-86 2308-8893 1681-6048 uk https://journal.iasa.kpi.ua/article/view/106495/101589 Copyright (c) 2021 System research and information technologies |
| spellingShingle | Govorushchenko, T. O. Процес повторного тестування під час експертизи програмного забезпечення |
| title | Процес повторного тестування під час експертизи програмного забезпечення |
| title_alt | Retesting in process of software expert examination (verification and validation) process Процесс повторного тестирования в процессе экспертизы программного обеспечения |
| title_full | Процес повторного тестування під час експертизи програмного забезпечення |
| title_fullStr | Процес повторного тестування під час експертизи програмного забезпечення |
| title_full_unstemmed | Процес повторного тестування під час експертизи програмного забезпечення |
| title_short | Процес повторного тестування під час експертизи програмного забезпечення |
| title_sort | процес повторного тестування під час експертизи програмного забезпечення |
| url | https://journal.iasa.kpi.ua/article/view/106495 |
| work_keys_str_mv | AT govorushchenkoto retestinginprocessofsoftwareexpertexaminationverificationandvalidationprocess AT govorushchenkoto processpovtornogotestirovaniâvprocesseékspertizyprogrammnogoobespečeniâ AT govorushchenkoto procespovtornogotestuvannâpídčasekspertiziprogramnogozabezpečennâ |