- •I. Вступ.
- •Загальні поняття.
- •Основні визначення.
- •II. Основна частина.
- •Філософія тестування
- •Інтеграція модулів.
- •Висхідне тестування.
- •Низхідне тестування.
- •Модифікований низхідний метод
- •Метод великого стрибка.
- •Метод сандвіча
- •Модифікований метод сандвіча.
- •Порівняльна характеристика методів тестування.
- •III. Випробування програмних продуктів (аналіз).
- •Мета і особливості випробуванні.
- •Технологічна схема випробування.
- •Планерування і оцінка завершеності випробувань.
- •Стенди відладки і випробування програм.
- •IV. Сертифікація програмних продуктів.
- •Стандартизація систем якості.
- •Класифікація показників якості
- •Вибір номенклатури показників якості
- •Групи показників якості
- •Список використаної літератури:
- •Майерс. Мистецтво тестування програмного забезпечення.
- •Майерс. Надійність програмного забезпечення.
- •Кулаків. Управління якістю програмного забезпечення.
Планерування і оцінка завершеності випробувань.
План проведення випробувань має бути орієнтований на забезпечення всесторонньої перевірки ПС і максимальній (заданной) достовірності отриманих результатів при використанні обмежених ресурсів, виділених на випробуваннях. Прінципіально можливі наступні підходи до рішення цієї задачі:
1) аналізують весь діапазон вхідних даних. На основі аналізу заздалегідь готують таку безліч комбінацій даних (тестових наборів даних), яке охоплює найбільш характерные підмножини вхідних даних. Програму рассматривают як чорний ящик. Випробування зводяться до последовательному введення тестових наборів даних і аналізу отримуваних результатів;
2) аналізують безліч ситуацій, які можуть возникнуть при функціонуванні ПС. Вибирають найбільш характерные ситуації. Кожну з них виражають через тестовий набір вхідних даних. Далі єство випробування і аналізу результатів зводиться до підходу 1);
3) за допомогою графської моделі аналізують мікроструктуру ПС. Вибирають безліч доріг, яка повністю покриває граф-схему ПС, і таку послідовність тестових наборів вихідних даних, виконання якої проходить по виділених дорогах. Організація випробувань аналогічна підходам 1) и2);
4) ПС випробовують в реальному середовищі функціонування;
5) ПС випробовують в статистично модельованому середовищі функціонування, адекватному реальному середовищу.
Жоден з цих підходів не є універсальним. Кожен з них має свої переваги і недоліки, які різною мірою виявляються залежно від специфіки випробовуваного ПС. Наприклад, підхід 1) може виявитися переважним, якщо діапазон вхідних даних оглянемо, сравнительно легко аналізується і систематизувався, і неприйнятним — інакше. Найбільш достовірні результати виходять при випробуваннях в реальному середовищі функціонування. Але такі випробування рідко удається здійснити. Тому на практиці використовують комбінації всіх видів. Типовим примером такої комбінації може служити змішаний метод, коли середовище функціонування ПС моделюється, а достовірність результатов перевіряється шляхом порівняння з результатами, полученными при функціонуванні ПС в реальному середовищі.
Аналіз показує, що абсолютна перевірка ПС ні при одному з розглянутих підходів не осуществима. Тому при планеруванні випробувань необхідно заздалегідь анализировать структури випробовуваних програм і вхідних даних. Зокрема, слід встановлювати ті дороги граф-схеми программы, використання яких при перетворенні даних найймовірніше. Це завдання аналогічне підходам 1) і 2). Для складних програмних комплексов вона не має строго математичного рішення. В той же час на практиці незрідка удається заздалегідь встановити найбільш вірогідні ситуації, які можуть виникнути в автоматизируемой системі, а отже, і набори вхідних даних, описывающие ці ситуації.
Методика рішення задачі планерування випробування включає наступні етапи: знаходження всіх доріг реалізації;
виділення мінімальної підмножини доріг, що забезпечують перевірку всіх ділянок програми; розробка тестів для проверки виділених доріг. Необхідно відзначити, що в результаті рішення отримують не одну підмножину доріг, а деяку сукупність таких підмножин. Аналізуючи ці сукупності по критеріях минимального часу реалізації їх на ЕОМ, вибору найбільш вероятных доріг, відсутності в цих совокупностях несумісних доріг (розглянутим методам властивий цей недолік), выбирают найбільш прийнятну сукупність. Для формування вхідних даних тестування для кожної виділеної дороги реалізації складають спеціальні таблиці. У таблицях представляют лише умовні оператори, що належать даній дорозі, і оператори, в яких обчислюються змінні управления. В результаті аналізу розпоряджень, що задовольняють условным операторам, виробляють вхідні дані тестування.
Для встановлення потреби в машинному часі на проведение випробувань необхідно знати середнє значення абсолютной реактивності ПС. Ця характеристика має бути задана в ТЗ. Якщо ж вона не задана, то можна прийняти де — мінімальне значення абсолютної реактивності; — максимальне значення абсолютної реактивності.
Не дивлячись на те що перевірка всіх доріг граф-схеми великої програми неосуществима, при планеруванні випробувань необходимо при заданих ресурсах забезпечити максимальну полноту перевірки, особливо перевірки модулів вирішення найбільш відповідальних завдань. Прагнення уникнути при цьому неэффективного простого перебору наводить до завдання вибору мінімальної кількості доріг, покриваючих граф ПС. Під покриттям понимают включення всіх дуг графа. Мінімальне покриття, з одной боку, забезпечує мінімум тестів і контрольних просчетов, а, з іншого боку, гарантує проходження кожної дуги графа хоч би по одному разу.
Розглянутий метод планерування на етапі автономних статистических випробувань модулів ПІ дозволяє значно зменшити матеріальні і тимчасові витрати на випробування програм. Орієнтация на той або інший підхід до випробувань залежить від типа испытываемого ПС.
У загальному випадку при планеруванні і організації випробувань слід шукати компромісне рішення, що враховує два противоречивых вимоги: забезпечення максимальної достоверности узагальненої оцінки якості ПІ і виконання випробування в обмежений час з використанням обмежених ресурсів. Слід виділити три стадії випробування: підготовчу; безпосередні испытания; завершальну (підготовка звітних матеріалів). Завдання цих стадій очевидні. Детальніше зупинимося на завданнях підготовчої стадії.
Ця стадія найбільш тривала і найбільш трудомістка. Основними її завданнями є: планерування випробувань;
розробка технологічної схеми випробувань і випробувальних засобів; розробка програм і методик випробування; накопичення попередніх статистичних даних, характеризуючих ПС.
Цілеспрямованість і чіткість організації робіт по накоплению статистичних даних може істотно підвищити достоверность оцінки якості ПС, виключити дубльовані (повторні) перевірки і зменшити терміни випробувань і затрачиваемые матеріальні ресурси. Проте в деяких випадках із-за поганої організації роботи результати тестування на етапах відладки програм і попередніх випробуваннях не регистрируются, тому не можуть використовуватися для остаточної. оцінки якості програми.
Між виділеними стадіями випробування ПС є прямые і зворотні зв'язки, аналогічні зв'язкам між етапами жизненного циклу ПС. Це означає, що при виконанні робіт завершальної стадії може бути виявлена необхідність повернення до стадії безпосередніх випробувань (або навіть до підготовчої стадії) для уточнення окремих характеристик.
Складанню плану проведення випробувань повинен передувати аналіз Т3 на розробку ПС, структурних і функціональних схем, режимів функціонування, залежностей між модулями программы, планів-графіків розробки і відладки компонентів ПС, результатів контролю їх якості на ранніх стадіях розробки. В результаті цього аналізу необхідно розробити і обосновать загальну стратегію випробування, а на її основе—комплекс документів по організації випробувань, який повинен содержать відповіді на наступні питання: 1) завдання випробувань на кожній фазі, послідовність розвитку фаз; 2) використовувані спеціальні випробувальні засоби; 3) кількість необходимого машинного часу на кожній фазі випробувань; 4) конфигурация загального технічного і програмного забезпечення; 5) оцінювані властивості, критерії оцінки, способи їх получения; 6) процедури контролю ходу випробування; 7) процедури регистрации, збору, обробки і узагальнення результатів випробування; 8) умови (критерії) початку і завершення кожної фази испытаний. По кожному з цих питань необхідно визначити відповідальних виконавців, терміни виконання робіт, вигляд конечного результату.
У стандарті IEEE 829—1983 (США) велика увага уделено документуванню процесу випробування Пп. Перелік документов, які розробляються і ведуться відповідно до плану випробування, приведений в розділі «Документування»
Проаналізувавши вміст виділених розділів плану испытания/тестирования, можна зробити вивід об целесообразности включення відомостей, що містяться в цих розділах, в программы і методиках випробування ПС. Таке включення буде способствовать підвищенню інформативності цих документів і упорядочению самого процесу випробувань.
На проведення випробувань ПП доводиться витрачати значительные трудові і матеріальні ресурси. Терміни проведення випробувань завжди обмежені. Тому перед випробувачами всегда коштує завдання пошуку доріг мінімізації витрат материальных, трудових і тимчасових ресурсів для досягнення мети испытания. Для реалізації цього завдання необхідно встановити критерії завершеності Випробувань, які можуть служити основой для ухвалення рішення про завершення випробувань.
При оцінці рівня завершеності випробувань ПС і достовірності отриманих результатів часто виникає серйозна скрута. Відзначимо наступні з них:
1) більшість ПС є унікальними і або не мають аналогів для порівняння характеристик, або мають аналоги, характеристики яких невідомі;
2) відсутність загальноприйнятих показників, а також методів розрахунку необхідних і фактичних значень наводить до того, що в ТЗ на розробку ПС вимоги до характеристик ПС або фактично відсутні (у кількісному вираженні), або не претендують на повноту.
Розглянемо дороги вирішення проблеми оцінки завершеності випробувань ПС. Але перш за все звернемо увагу на необходимость ретельного документування процесу випробування. Таке документування слід почати з моменту придбання ПС властивості працездатності і вести його безперервно до момента передачі ПС в промислову експлуатацію.
Досвід створення вітчизняних систем реального часу подтверждает необхідність ведення одного або двох журналів. У одному з них слід реєструвати всі експерименти з ПС, а в другом—обнаруженные помилки (проблеми) і хід їх усунення. Періодично складають отчеты про випробування за певний період часу. Для ведення журналів необхідно ретельно розробити инструкции, в яких встановити загальні правила заповнення журналов, у тому числі єдині правила привласнення реєстраційних номерів помилкам, індексації типів помилок, класифікації помилок і тому подібне В журналах слід передбачити окремі розділи, в яких при необхідності даватимуться подробные коментарі до помилок і способи їх усунення.
Не всяку помилку можна швидко ідентифікувати, тому в стандарті IEEE 829—1983 рекомендовано документувати у вигляді звітів тест-інцидент всі нестандартні події, происходящие під час випробування і що вимагають додаткового аналізу. Рекомендується наступна структура цього звіту: идентификатор звіту тест-інцидент, анотація, опис інциденту, вплив інциденту на подальший хід випробування. Останні два розділи є основними. Опис інциденту повинен включати наступні елементи: вхідні дані, очікувані і фактичні результати, відхилення від норми, дата і час випробування, крок процедури випробування, середовище функціонування, результати спроб повторення умов експерименту, испытатели, спостерігачі-реєстратори.
Реєстрація експериментів і помилок (інцидентів), периодическая обробка даних і аналіз результатів дозволяють контролировать випробування і управляти цим процесом. Сама процедура реєстрації може бути різною, поважно лише предотвратить втрату коштовної інформації при мінімальних трудозатратах на збір і обробку даних. Дана умова можна обеспечить лише шляхом максимальної автоматизації всіх процесів.
Критерій інтенсивності виявлення помилок. Якщо вважати, що під час одного експерименту виявляється не більш за одной помилку і кожна помилка до початку наступного эксперимента усувається, то можна передбачити, що при благоприятном ході відладки і випробування крива залежності: N = 1 — п/К, де п — кількість виявлених і усунених помилок; До. — . кількість експериментів, асимптотика прагнутиме до одиниці (крива 1 на мал. 17). Крива 2 свідчить про неблагополучном хід процесу.
Тоді як критерій припинення випробувань можна прийняти, наприклад, наступна умова: N > 0,95 при обнаружении в останніх двохстах експериментах не більше трьох несущественных помилок.
Ідея вибору такого критерію заснована на тому, що частота виявлення помилок, виражена відношенням п/К, у міру збільшення кількості експериментів повинна зменшуватися і до моменту завершення випробувань набути значення, близького до нуля. Слід мати на увазі, що оцінка рівня завершеності испытаний по цьому показнику буде достовірною лише в тому випадку, якщо кожен експеримент проводиться в нових умовах і испытатели прагнуть виявити помилки, а не довести їх отсутствие. Якщо ж програму перевіряють при одних і тих же або близьких умовах, то досить швидко отримують криву вигляду 1, яка не свідчить ні про облиште, ні про глибину перевірки програм, ні про відсутність в ній помилок.
Критерій заданого значення середнього напрацювання на відмову (критерій Дж. Д. Муса). Зроблено два припущення. 1. Суммарноє кількість виявлених і усунених дефектів в про
грамі (під дефектом розуміється будь-яка причина неудовлетворенности властивостями програми) описується показовою функцією часу функціонування
- вихідна кількість дефектів в програмі;
- загальна кількість дефектів, яка може
виявитися за час эксплуатации ПС;
— середнє напрацювання на відмову на
початку випробувань;
С—коеффіциент стискування тестів. Коефіцієнт З 1 тоді, коли абсолютна реактивність програми при прогоні тестів або статистичних випробуваннях відрізняється від абсолютної реактивности при роботі програми в реальних умовах. Якщо, например, за одну годину випробувань моделюється керований процесс, що відбувається в реальних умовах протягом десяти годинників, то коефіцієнт стискування З приймається рівним 10.
Швидкість виявлення і усунення дефектів, вимірювана відносно часу функціонування програми, пропорциональна інтенсивності відмов. Коефіцієнт пропорциональности B=n/m називається коефіцієнтом зменшення дефектів.
Кількість зареєстрованих відмов т залежить від сумарного часу функціонування програми таким чином:
Значення середнього напрацювання на відмову також залежить від сумарного часу функціонування:
Якщо в ході випробування виявлені помилки усуваються, то поточне значение середнього напрацювання на відмову збільшуватиметься. Таким чином, як критерій завершеності випробування можна прийняти досягнення необхідного (заданого) значення середнього напрацювання на відмову Tо. Тоді, визначаючи періодично поточне значення середнього напрацювання на відмову по цій формулі, можна при планеруванні подальшого ходу випробування розрахувати требуемое час для подальшого прогона програми по формулі
При планеруванні відладки і испытания ПО слід враховувати влияние наступних чинників: 1) скорости виявлення дефектів; 2) швидкості усунення дефектів; 3) удовлетворенности машинним часом. Первий чинник залежить від укомплектованности і кваліфікацій испытателей, второй—от укомплектованности і кваліфікації групи програмістів відладчиків, третій — від фондовооруженности (технічній оснащеності) розробляючої (що випробовує) організації.
На початковій стадії відладки програми інтенсивність выявления дефектів висока. Програмісти-відладчики переобтяжені роботою, доводиться навіть переривати тестові прогони, робити перерви у випробуваннях. На завершальній стадії интенсивность виявлення дефектів низька, але гостро відчувається необходимость в машинному часі. Випробувачі переобтяжені в подготовке все нових і нових тестових вихідних даних, тоді як в програмістів-відладчиків роботи може бути мало.
