Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лекція 3.6. Тестування модулів.
3. Динамічне тестування (тестування гілок).
Вимагає обрання таких шляхів, які перекривають усі гілки програми або всі розгалуження в усіх напрямах. Цей метод гарантує однократне тестування всіх гілок і операторів. Усі можливі шляхи в модулі виявляють за допомогою керуючого графа.
Протестувати всі можливі шляхи виконання програми нереально, тому спеціалісти виділяють ті, які необхідно протестувати обов'язково. Для цього користуються спеціальними критеріями охоплення. Їх інколи називають логічними критеріями охоплення або критеріями повноти. Основні з них критерії охоплення рядків, розгалужень і умов.
Критерій охоплення рядків. Вимагає, щоб кожний рядок коду програми був виконаний хоча б один раз. Однак для змістовного тестування програми навіть цього не достатньо. За цим критерієм, якщо рядок містить оператор прийняття рішення, повинні бути перевірені всі значення, що керують рішенням.
Критерій охоплення розгалужень. Застосовують для ґрунтовнішого діагностування модулів ПЗ. Суть його полягає в тому, що програміст-тестувальник перевіряє дію програми за виконаної і невиконаної умови оператора ІF. У такому разі програма проходить не тільки всі рядки коду, але й всі можливі гілки.
Критерій охоплення умов. Він пред'являє найвищі вимоги. За ним необхідно перевірити всі складові кожної логічної умови, що часто означає перевірку всіх варіантів рішень.
4. Функційне тестування.
Найкраще перевіряє програми з точки зору відповідності їх завданню, специфікації або еталону, тобто, чи виконує програма функції та поставлені вимоги. Тести обирають за змістовим принципом або стохастично (за принципом ймовірності).
Якщо вибір здійснюють за змістовим принципом, то виходять з конкретного завдання. За стохастичного вибору тестів вони повинні в стохастичному розумінні відповідати завданням, які вирішують. Можна кількісно оцінити ймовірність того, що в програмі, яку тестують, немає помилок, а також знайти оптимальну кількість необхідних тестів. Основою стохастичного тестування повинна бути адекватність тестових і вхідних наборів за статистичними критеріями.
Якщо входи програми, яку тестують, мають дискретний характер, то необхідно, щоб як безумовні, так і умовні ймовірності виникнення окремих дискретних значень входів одночасно збігалися для тестових і експлуатаційних наборів послідовностей. У більшості програм є дискретні й неперервні входи.
За функційного тестування кожну функцію програми тестують шляхом введення її вхідних даних і аналізу вихідних. Внутрішню структуру програми враховують лише інколи або зовсім не враховують.
5. Структурне тестування.
Має потужнішу теоретичну базу порівняно з функційним. Хоча в структурному краще здійснювати математичне моделювання, проте воно не завжди ефективніше. Найоптимальніше використовувати комбінацію цих методів, оскільки, кожен з них дає змогу виявляти помилки, пропущені при виконанні іншого методу. В такому разі вони однаково ефективні.
6. Символьне тестування.
Інколи його застосовують для діагностування модулів ПЗ. На відміну від числового тестування, яке перевіряє роботу програми на окремих числових значеннях тестових наборів, символьне дає змогу оперувати множинами вихідних даних, визначених обмеженнями. Вирази шляхів програми за символьного тестування одержують шляхом прямої або оберненої підстановки.
Пряма підстановка. Це дії, що виконують при реалізації певного шляху в структурі програм. При цьому символьне виконання здійснюють для кожного оператора, що виконується, із запам'ятовуванням проміжних виразів символьних змінних.
Обернена підстановка. Вона полягає в тому, що обмеження на вхідні змінні починають будувати знизу при проходженні шляху на графі програми в оберненому напрямі. Одержують такі ж обмеження, як і за прямої підстановки, однак за оберненої немає необхідності запам'ятовувати записи символьних змінних. Перевага прямої підстановки перед оберненою полягає в тому, що вона дає змогу виявити шляхи, що не реалізуються, із суперечними обмеженнями на вихідні дані на ранніх етапах тестування.
7. Регресивне тестування.
Здійснення цього методу одне з основних завдань тестувальника. Суттю його є повторне використання розроблених тестів. Цей вид тестування реалізують такими шляхами: