Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Основні поняття та визначення. Статичні методи тестування. Динамічні методи тестування. Види тестування програмного забезпечення. Опис видів тестування





 

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

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

Тести підбираються так, щоб вони охоплювали як найбільше типів ситуацій алгоритму програми.

Історично першим видом тестування було налагодження.

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

Мета тестування – перевірка виконання реалізованих функцій відповідно до їхньої специфікації.

 

Статичні методи тестування

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

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

 

Динамічні методи тестування

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

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

Тестування«білої скриньки»

Відома: внутрішня структура програми.

Досліджуються: внутрішні елементи програми і зв'язки між ними. (оператори, рішення, умови…)

Об'єктом тестування є внутрішня поведінка програми. Перевіряється коректність побудови всіх елементів програми та правильність їхньої взаємодії один з одним.

Особливості тестування «білої скриньки»

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



У цьому випадку формуються тестові варіанти, в яких:

Гарантується перевірка всіх незалежних маршрутів програми.

Знаходяться гілки True, False для всіх логічних рішень.

Виконуються всі цикли (у межах їхніх кордонів та діапазонів).

Аналізується правильність внутрішніх структур даних.

Недоліки тестування «білої скриньки»:

· може бути дуже велика кількість незалежних маршрутів.

· повне тестування маршрутів не гарантує відповідності програми вихідним вимогам до неї.

· У програмі можуть бути пропущені деякі маршрути.

· Не можна виявити помилки, поява яких залежить від даних.

Переваги тестування «білої скриньки» - дозволяє врахувати особливості програмних помилок.

Тестування «чорної скриньки»

Відомі: функції програми.

Досліджується: робота кожної функції на всій області визначення.

Основне місце програми тестів «чорної скриньки» — інтерфейс ПЗ.

 

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

Тестування «чорної скриньки» (функціональне тестування) дозволяє отримати комбінації вхідних даних, які забезпечують повну перевірку всіх функціональних вимог до програми.

Для тестування методом «чорної скриньки» потрібно мати:

Набір даних, які призведуть до аномалій у поведінці програми) та які демонструють дефекти програми (назвемо його OT).

Будь-який спосіб тестування «чорної скриньки» повинен:

Тестування «чорної скриньки» забезпечує пошук наступних категорій помилок:

· Некоректних чи відсутніх функцій;

· Помилок інтерфейсу;

· Помилок у зовнішніх структурах даних або в доступі до зовнішньої бази даних;

· Помилок характеристик (необхідна ємність пам'яті і т. д.);

· Помилок ініціалізації та завершення.

Подібні категорії помилок способами «білої скриньки» не виявляються.

Тестуючи «сірим ящиком» - ми тестуємо чорним ящиком, але тільки при цьому ми знаємо внутрішню структуру і принцип роботи програми. Знання про внутрішній устрій програми, дозволяють нам більш точно підбирати вхідні значення і перевіряти вихідні, тим самим покривати тестами ширшу область можливих дефектів.

«Біла скринька» базується на структурі програми, у випадку ж «чорної скриньки» про структуру програми нічого невідомо. Для виконання тестування за допомогою цих «скриньок» відомими вважаються виконувані функції, входи (вхідні дані) і виходи (вихідні дані), а також логіка обробки програми і опису документації.

 

Види тестування ПЗ

Всі види тестування програмного забезпечення, в залежності від переслідуваних цілей, можна умовно розділити на наступні групи:

1. Функціональні

2. Нефункціональні

3. Пов'язані зі змінами

Функціональні види тестування

Функціональні тести базуються на функціях і особливостях, а також взаємодії з іншими системами, і можуть бути представлені на всіх рівнях тестування: компонентному або модульному (Component / Unit testing), інтеграційному (Integration testing), системному (System testing) і приймальному (Acceptance testing). Функціональні види тестування розглядають зовнішню поведінку системи. Далі перераховані одні з найпоширеніших видів функціональних тестів:

• Функціональне тестування (Functional testing)

• Тестування безпеки (Security and Access Control Testing)

• Тестування взаємодії (Interoperability Testing)

Нефункціональні види тестування

Нефункціональне тестування описує тести, необхідні для визначення характеристик програмного забезпечення, які можуть бути виміряні різними величинами. В цілому, це тестування того, "Як" система працює. Далі перераховані основні види не функціональних тестів:

• Всі види тестування продуктивності:

o тестування навантаження (Performance and Load Testing)

o стресове тестування (Stress Testing)

o тестування стабільності або надійності (Stability / Reliability Testing)

o об'ємне тестування (Volume Testing)

• Тестування установки (Installation testing)

• Тестування зручності користування (Usability Testing)

• Тестування на відмову і відновлення (Failover and Recovery Testing)

• Конфігураційне тестування (Configuration Testing)









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.