Тестування програм та систем
Підходи до опрацювання програмою послідовності різноманітних контрольних наборів тестів з відомими результатами. Основні види робіт з тестування, його методи: статичні, верифікація та валідізація. Помилки та причини їх появи на етапах життєвого циклу.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лекция |
Язык | украинский |
Дата добавления | 09.07.2017 |
Размер файла | 16,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Тестування програм та систем
програма тестування верифікація валідізація
Тестування програм та систем - це спосіб семантичної перевірки програми, який полягає в опрацюванні програмою послідовності різноманітних контрольних наборів тестів з відомими результатами. Тести підбираються так, щоб вони охопили найрізноманітніші типи можливих ситуацій.
Основні види робіт з тестування:
o верифікація результатів розроблення програмного продукту на кожному етапі життєвого циклу;
o упорядкування плану тестування і підготовки тестів для перевірки окремих елементів розробленої програми та програми в цілому;
o керування виконанням тестів та аналіз результатів тестування;
o повторне тестування.
Тестування - оцінка якості ПЗ методом експериментальної перевірки - шляхом виконання тестів. Мета тестування - виявити наявність помилок / неузгодженостей. Іншими словами, це знаходження помилок (локалізація - задача діагностики), досягнення відсутності помилок (відладка).
Кінцевою метою тестування промислових ІТ-проектів є отримання сертифіката на розроблений програмний продукт.
Тестування становить від ЗО до 50% трудомісткості робіт зі створення коду.
Історично першим різновидом тестування було налагодження - перевірка програмного об'єкта на наявність у ньому помилок для їх усунення. При цьому можуть вноситися нові помилки.
Методи тестування й верифікації цілком залежать від методів проектування та стадій, з яких починається перевірка правильності функціонування результатів проектування.
Статичні методи використовуються під час проведення інспекцій та аналізу специфікацій компонентів без їх виконання, а динамічні застосовуються у процесі виконання програм.
Тести, що ґрунтуються на зовнішніх специфікаціях програмного забезпечення, застосовуються на етапі комплексного тестування для визначення повноти розв'язання функціональних задач та їх відповідності вихідним вимогам.
Функціональному тестуванню передує аналіз функцій, до завдань якого входять:
o ідентифікація множини функціональних вимог;
o ідентифікація зовнішніх функцій у реалізації програмного забезпечення і побудова послідовностей функцій відповідно до використання їх у ПЗ;
o ідентифікація множини вхідних даних кожної функції і визначення напрямків їх зміни;
o побудова тестових наборів і сценаріїв тестування функцій;
o виявлення й подання всіх функціональних вимог за допомогою тестових наборів та проведення тестування помилок у програмі і взаємодії із середовищем.
Основна мета тестування - забезпечення повноти й узгодженості реалізованих у програмних компонентах функцій та інтерфейсів між ними.
Методи доведення правильності програм з'явилися ще у 80-ті роки. Техніка символьного виконання включає моделювання виконання коду, використовуючи символи замість змінних даних.
Верифікація - перевірка відповідності реалізації системи специфікаціям результатів проектування й опису компоненти,
Валідація - перевірка відповідності створеного ПЗ потребам та вимогам замовника. Це дорогий процес, що забезпечує високу якість програмного коду. Валідація дозволяє підтвердити, що програмне забезпечення є коректною реалізацією початкових умов у системі й провадиться після завершення кожного етапу розроблення цього забезпечення.
Помилка - це стан програми, при якому генеруються неправильні результати. Причиною помилок є недоліки в операторах програми або в технологічному процесі її розроблення, що призводить до неправильного перетворення вхідної інформації у вихідну. Дефект у програмі виникає внаслідок помилок розробника. Він може міститися у вхідних або проектних специфікаціях, текстах кодів програм, в експлуатаційній документації тощо. Відмова - це неможливість виконувати функції, визначені вимогами й обмеженнями. Вона виникає внаслідок таких причин:
o помилкової специфікації або пропущеної вимоги (специфікація точно не відображає припущення користувача);
o наявність вимоги, яку неможливо виконати на цій апаратурі і ПЗ;
o помилки у проекті програми (приміром, базу даних спроектовано без захисту від несанкціонованого доступу користувача, а захист потрібен);
o помилки в алгоритмі.
Помилки у ПЗ можна класифікувати відповідно до їхнього розподілу за етапами життєвого циклу і джерел їхнього виникнення:
1) ненавмисне відхилення розробників від робочих стандартів або планів реалізації;
2) специфікації функціональних та інтерфейсних вимог без дотримання стандартів розроблення;
3) недосконала організація процесу розроблення.
Помилки можуть виникати під час розроблення програмного забезпечення на різних етапах життєвого циклу. Розглянемо детальніше ці етапи.
1. Етап аналізу вимог. У визначенні вхідної концепції системи та опису вхідних вимог замовника виникають помилки аналітиків, коли вони формулюють специфікації верхнього рівня і будують концептуальну модель ПрО.
Характерні помилки:
o неадекватність опису специфікаціям вимог кінцевих користувачів;
o некоректність специфікації взаємодії програмного забезпечення із середовищем функціонування або з користувачами;
o невідповідність вимог замовника окремим і загальним властивостям програмного забезпечення;
o некоректність опису функціональних характеристик;
o незабезпеченість інструментальними засобами підтримки всіх аспектів реалізації вимог замовника тощо.
2. Етап проектування компонент. Помилки під час проектування компонент можуть виникати при описі алгоритмів, логіки управління, структур даних, інтерфейсів, логіки моделювання потоків даних, форматів введення-виведення тощо. В основі цих помилок лежать дефекти специфікацій аналітиків та помилок проектувальників.
Помилки можуть виникати під час:
o визначення інтерфейсу користувача із середовищем;
o опису функцій (неадекватності формулювань у проекті мети та завдань окремих компонентів, що виявляються при перевірці проекту);
o визначення процесу опрацювання інформації або зв'язків між процесами (наслідок некоректного визначення взаємозв'язків компонентів та процесів);
o визначення даних і їх структур для окремих компонент та програмного забезпечення, що в цілому некоректно задані;
o опису алгоритмів модулів та їхньої логіки, що некоректно визначені в поданому проекті модуля;
o визначення умов виникнення можливих помилок у програмі;
o порушення прийнятих для проекту стандартів та технологій.
3. Етап кодування і налагодження. На цьому етапі виникають помилки, що є результатом дефектів проектування, помилок програмістів та менеджерів процесу розроблення і налагодження.
Характерні помилки:
o безконтрольність допустимості значень вхідних та вихідних параметрів, ділення на 0 тощо;
o неправильна обробка нетипових ситуацій під час аналізу кодів повернення від підпрограм;
o порушення стандартів кодування (неадекватні коментарі, нераціональне виділення модулів і компонентів тощо);
o використання одного імені для позначення кількох об'єктів або кількох імен на позначення одного об'єкта;
o неузгоджене внесення змін у програму кількома розробниками.
4. Етап тестування. На цьому етапі помилки допускають тестувачі, а також програмісти, здійснюючи збирання, тестування та вибір некоректних тестових наборів і сценаріїв тестування тощо.
5. Етап супроводження. При супроводженні програмного забезпечення причиною помилок є дефекти експлуатаційної документації, слабкі показники модифікованості і зрозумілості програмного забезпечення, а також некомпетентність осіб, відповідальних за супровід та/а бо удосконалення програмного забезпечення. Залежно від сутності внесених змін на цьому етапі можуть виникати практично будь-які помилки, аналогічні раніше переліченим.
Помилки, що виникають у програмах, бувають: логічні і функціональні, обчислень, введення-виведення і маніпулювання даними, інтерфейсів тощо.
Тест - це сукупність вхідних даних і/або дій користувача із вказівкою очікуваних результатів або відповідних реакцій програми, що призначена для перевірки працездатності програми і виявлення в ній помилкових ситуацій.
Тестову перевірку можна провести також шляхом додання до програми, що перевіряється, додаткових операторів, які будуть сигналізувати про перебіг її виконання й отримання результатів.
Тестові дані, призначені для перевірки роботи системи, створюються по-різному: генератором тестових даних, проектною групою на основі документів або файлів, користувачем зі специфікації вимог тощо. Дуже часто розробляються спеціальні форми вхідних документів, у яких відображається процес виконання програми за допомогою тестових даних.
Види тестування програм з метою перевірки:
o повноти функцій;
o узгодженості інтерфейсів;
o структури програми;
o обчислення і коректності виконання функцій;
o правильності функціонування в заданих умовах;
o надійності виконання програм;
o ефективності захисту від збоїв апаратури і невиявлених помилок;
o зручності застосування та супроводження.
Багато типів тестів готує сам замовник для перевірки роботи ІС. Структура й зміст тестів залежать від виду елемента - модуль, компонента, група компонент, підсистема або система. Деякі тести пов'язані з необхідністю перевірити, чи працює ІС відповідно до проекту, чи задоволено вимоги замовника.
Для проведення тестування створюється спеціальна команда тестувачів. За функціональні тести відповідає розробник, а замовник більше впливає на складання випробувальних та інсталяційних тестів.
Як правило, команда тестувачів не залежить від штату розробників ІС. Деякі члени цієї команди є досвідченими тес-тувачами або навіть професіоналами. Це аналітики, програмісти, інженери-тестувачі, котрі присвячують увесь свій час проблемам тестування систем. Вони мають справу не лише зі специфікаціями, а й з методами та засобами тестування, організовують створення і виконання тестів на машині. Тестувачів включають до процесу розроблень з початку створення проекту для складання тестових наборів та сценаріїв, а також графіків виконання тестів.
Тести і тестові сценарії є прямим відображенням вимог та проекту в цілому. Помилки, які ще трапляються у програмі, і зміни в системі відображаються в документації, вимогах, проекті, а також в описах вхідних та вихідних даних. Зміни, внесені у процесі розроблень, призводять до модифікації тестових сценаріїв або зміни планів тестування. Фахівці з управління конфігурацією враховують ці зміни і координують упорядкування тестів.
До складу команди тестувачів входять також користувачі. Вони оцінюють отримані результати та зручність використання, а також висловлюють свою думку щодо принципу роботи системи на початкових етапах проекту.
Представники замовника планують роботи для тих, хто буде використовувати і супроводжувати систему. При цьому вони можуть привнести деякі зміни у проект, викликані неповнотою заданих раніше вимог, та сформулювати системні вимоги для проведення верифікації системи й ухвалення рішення про її готовність та корисність.
Супроводження ІС - це роботи з внесення змін до ІС після того, як її було передано користувачеві для експлуатації. На відміну від обладнання, яке з часом потребує ремонту, ПЗ не «зношується», тому процес супроводження націлений на підтримку передовсім еволюціонування системи, тобто на зміну її функцій та властивостей.
Типові причини, які можуть зумовити потребу змін:
o виявлення дефектів функціонування ІС під час експлуатації, не знайдених на етапі тестування (зміни, за які несе відповідальність розробник);
o з'ясування замовником під час експлуатації ІС, що вимоги до системи були висловлені недостатньо або неповно, і тому вона не відповідає окремим потребам замовника (зміни, за які несе відповідальність постановник задачі);
o зміна умов діяльності замовника, які не відповідають раніше поставленим вимогам (приміром, змінилися податкове законодавство або місцева регуляція правил бізнесу, способи комунікації замовника з бізнес-партнерами або відбувся перерозподіл їхніх ролей у бізнесі тощо).
Як засвідчують експерти, процес внесення змін досить дорогий - оцінки його вартості сягають 60-80% від загальної вартості розроблення.
Види супроводження:
o коригувальне - внесення коректив для усунення помилок, які було знайдено після передачі системи до експлуатації;
o адаптивне - адаптація продукту до змінених обставин використання після передачі системи в експлуатацію;
o попереджувальне - діяльність із забезпечення адаптивного супроводження на старті розроблень.
Размещено на Allbest.ru
...Подобные документы
Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.
лабораторная работа [3,4 M], добавлен 02.06.2011Багатоплановість проблеми тестування, види тестів, схема взаємодії тестуючого з тестувальником. Огляд і можливості деяких сучасних програмних засобів для створення тестів. Технологія створення тестів на прикладі програмного забезпечення MyTestX.
дипломная работа [1,8 M], добавлен 15.06.2014Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.
дипломная работа [1,2 M], добавлен 26.02.2014Дослідження теоретичних аспектів проектування автоматизованих систем тестування знань. Розробка програми, яка призначена для забезпечення автоматизації процесу формування тестів та всього процесу контролю знань у дистанційній навчальній системі.
дипломная работа [2,1 M], добавлен 26.10.2012Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.
дипломная работа [2,4 M], добавлен 24.07.2013Аналіз програмного забезпечення для проведення тестування в комп’ютерному класі. УТК (Універсальний тестовий комплекс). Асистент 2. OPEN TEST. Порівняння програм для тестування. Організація інтерактивного тестування за допомогою програми OPEN TEST.
реферат [30,3 K], добавлен 19.09.2008Поняття методології проектування інформаційних систем та життєвого циклу їх програмного забезпечення. Основні, допоміжні та організаційні процеси структури життєвого циклу. Планування та організації робіт по розробці і супроводу програмного забезпечення.
контрольная работа [19,0 K], добавлен 01.02.2010Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.
дипломная работа [3,5 M], добавлен 22.07.2015Види рівнянь та методи їх розв’язань. Чисельні методи уточнення коренів, постановка задачі. Рішення нелінійного рівняння методом простих та дотичних ітерацій. Використання програмних засобів. Алгоритми розв’язку задач. Програми мовою С++, їх тестування.
курсовая работа [232,2 K], добавлен 12.02.2013Поняття якості програмних засобів, сукупність властивостей та їх критерії: функціональність, надійність, ефективність, супровід та мобільність. Основні поняття і принципи налагодження та тестування програм, об’єктний підхід на етапі конструювання.
контрольная работа [31,5 K], добавлен 15.09.2009Порівняльне тестування відеоадаптерів фірм Nvidia GeForce та AMD Radeon. Призначення та основні типи відеоадаптерів. Використання логічних пробників. Вимірювання номінальної напруги, струму, температури. Основні вимоги безпеки під час експлуатації ЕОМ.
курсовая работа [1,6 M], добавлен 02.11.2014Характеристика прикладних програм керування контентом, які використовуються для технічної підтримки продукції компанії. Огляд збору, адаптації, зберігання, тестування і верифікації контенту. Аналіз налаштування системи під особисті вимоги користувача.
реферат [26,1 K], добавлен 22.02.2012Структура освіти і функції її органів. Сутність, передумови та переваги розвитку дистанційного навчання. Системи комп’ютерного тестування, що використовуються в навчальному процесі: MyTestX, Testing, TestMaker, EasyQuizzy, Айрен. Процес створення тестів.
курсовая работа [2,9 M], добавлен 03.02.2014Аналіз інформаційних систем, етапів обробки інформації, Web-програмування. Огляд засобів ідентифікації користувача в САТДН. Розробка інформаційної і адміністративної підсистем для системи автоматизованого тестування для дистанційного навчання (САТДН).
дипломная работа [10,3 M], добавлен 21.04.2014Особливості та переваги проведення тестувань в мережі інтернет з метою дистанційного навчання чи оцінювання знань. Створення web-сайту з розширеними можливостями та системи дистанційного тестування. Реляційна схема бази даних конструктора тестів.
дипломная работа [2,1 M], добавлен 25.11.2012Програма автотестування (POST). Призначення діагностичного програмного забезпечення, категорії програм діагностики. Використання утилітів пошуку несправностей, неполадок і оптимізації. Проведення тестування комп’ютера за допомогою програми CHECKІT.
лабораторная работа [13,6 K], добавлен 03.10.2010Оцінювання та засоби підвищення надійності інформаційних технологій протягом усього життєвого циклу програмного забезпечення на основі негомогенного пуасонівського процесу та обчислення її параметрів, з урахуванням сучасних тенденцій тестування.
автореферат [52,0 K], добавлен 10.12.2010Аналіз існуючих автоматизованих систем управління тестуванням. Розробка алгоритму автоматизованого управління системою тестування працездатності радіоелектронних приладів. Аналіз стенда для тестування та розробка автоматизованого робочого місця.
дипломная работа [1,9 M], добавлен 08.05.2012Загальна характеристика та принцип дії діагностичних програм. Запуск програми Sysinfo, виписка інформації про систему ПК. Виклик меню Benchmark та порядок проведення тестування процесора на швидкодію, системної плати. Оптимізація жорсткого диску С:\.
лабораторная работа [6,3 K], добавлен 03.10.2010Технічні характеристики обчислювальної техніки Монастирищенської центральної районної лікарні. Прикладне і основне програмне забезпечення закладу. Обґрунтування доцільності розробки програмного продукту для тестування молодшого медичного персоналу.
отчет по практике [2,1 M], добавлен 02.04.2014