- •Пояснювальна записка
- •Розділ 1 структурне тестування програмного забезпечення
- •Тема 1.1 Класифікація принципів тестування програмного забезпечення
- •1. Структурні критерії (клас і)
- •2. Функціональні критерії (клас II)
- •3. Стохастичні критерії (клас III)
- •4. Мутаційний критерій (клас IV)
- •Тема 1.2 Переваги та недоліки принципів тестування
- •Тема 1.3 Кроки способу тестування базового шляху
- •Тема 1.4 Спосіб тестування потоків даних
- •Тема 1.5 Тестування вкладених циклів
- •Розділ 2 функціональне тестування програмного забезпечення
- •Тема 2.1 Спосіб тестування діаграм причин-наслідків
- •Тема 2.2 Тестування елементів
- •Тема 2.3 Переваги та недоліки низхідного та висхідного тестування
- •Тема 2.4 Стресове тестування та тестування виробності
- •Тема 2.5 Переваги та недоліки різних методів відлагодження
- •Тема 3.1 Особливості інтеграційного тестування для об’єктно-орієнтованого програмування
- •Тема 3.2 Переваги та недоліки системного та регресійного тестування
- •Тема 3.3 Тестування поверхневої та поглибленої структури системи
- •Тема 3.4 Тестування взаємодії класів
- •Тема 3.5 Переваги та недоліки ручного та автоматизованого тестування
- •Розділ 4 особливості індустріального тестування
- •Тема 4.1 Оцінка якості тестування
- •Тема 4.2 Використання специфікацій вимог до розробки тестів
- •Тема 4.3 Автоматизація тестування з допомогою скриптів
- •Тема 4.4 Документування та життєвий цикл дефекту
- •Розділ 5 принципи розробки програм для тестування
- •Тема 5.1 Особливості моделей апаратного забезпечення
- •Тема 5.2 Тестування Verilog-моделей
- •Тема 5.3 Тестування на етапі супроводу
- •Тема 5.4 Встановлення, наладка та використання пакету Everest
- •Тема 5.5 Документування результатів роботи тестового пакету
Тема 5.3 Тестування на етапі супроводу
Завдання: законспектувати тему до зошита у вигляді відповідей на контрольні запитання, що містяться в кінці теми.
По-справжньому ефектний тест повинен бути дуже простим і приводити до негайного збою. Як підбирати такі тести, сказати складніше. Тут доводиться ґрунтуватися на своєму власному професійному досвіді, знанні слабких місць програміста, операційної системи й результатах тестування аналогічних продуктів.
Супровід
Значна частина засобів, які компанія затрачає на програмний продукт, іде вже після завершення його розробки. От які дані приводять у своєму підручнику Мартін і Мак-Клер (Martin & mcClure, 1984).
На супровід програмного забезпечення затрачається 67% його загальної вартості. Розподіляється ця сума так.
• 20% бюджету супроводу витрачається на виправлення помилок
• 25% іде на адаптацію продукту до нового апаратного забезпечення й нового програмного середовища
• 6% витрачається на виправлення документації
• 4% витрачається на підвищення продуктивності
• 42% витрачається на внесення змін і вдосконалень
• 3% на інші потреби
На етапі супроводу програмного продукту у роботі тестувальника немає нічого особливого – він робить те ж саме, що вже робив наприкінці розробки під час функціонального й системного тестування. Якщо тестувальник має серію регресійних тестів, які до того ж ще й частково автоматизовані, йому залишається тільки повторювати їх після кожної зміни програми. І не забувати, що зроблені на цьому етапі зміни, як і всякі інші, можуть створити побічні ефекти. Тому необхідно виявляти передбачливість і обов'язково перевіряти не тільки змінений фрагмент, але й всю програму в цілому.
Адаптаційне тестування
Цей вид тестування виконується тільки на етапі супроводу, коли програма переноситься з однієї апаратної або програмної платформи на іншу. Якщо програма повинна працювати на декількох типах комп'ютерів, потрібно перевірити її сумісність із кожним з них. От короткий опис стратегії такого тестування.
• Загальне функціонування. Необхідно виконати серію регресійних тестів. Якщо її немає, необхідно розробити набір тестів, що виконують кожну з основних функцій програми. При цьому необхідно постаратися хоча б частково перевірити програму як на граничних, так і на основних даних. Якщо якась із функцій погано сумісна з новою платформою, то, швидше за все, вона не буде працювати взагалі, так що не варто побоюватися, що виниклі проблеми залишаться непоміченими. Як правило, при переносі програми на іншу платформу тести на загальне функціонування вона проходить цілком успішно. Тому не варто витрачати на них занадто багато часу.
• Клавіатура. Якщо в комп'ютера специфічна клавіатура, у роботі з нею можуть бути невеликі відхилення від стандарту. Тому потрібно обов'язково натиснути кожну клавішу, і до того ж у різних ситуаціях. Особливу увагу зазвичай звертають на керуючі клавіші - <Shift>, <Alt> і т.п.
• Термінал. Перевірте, як програма працює з новим терміналом. Як відображається графіка? Якщо програма працює в текстовому режимі, то чи всі символи відображаються правильно, немає чи проблем із кольором, підкресленням або підсвічуванням?
• Номер версії й ідентифікація системи. Якщо номер версії програми змінився, переконайтеся, що він ніде не залишився старим. Якщо при запуску програма ідентифікує апаратуру або операційну систему, переконайтеся, що вона робить це правильно.
• Диски. Ємність і формат дисків можуть сильно відрізнятися. Переконайтеся, що програма правильно працює з файлами, розмір яких кратний 2. Якщо нова система підтримує розмір дисків, якого не підтримувала стара, спробуйте попрацювати з таким більшим диском.
• Обробка помилок операційною системою. Як діє операційна система в таких ситуаціях, як помилка доступу до диска? Чи дозволить вона прикладній програмі самої обробити цю ситуацію й видати коректне повідомлення або просто зупинить програму й повідомить про системну помилку? А як сам програмний продукт захищає користувача від помилок і примх операційної системи?
• Установка. При установці програмного продукту інсталяційній програмі може знадобитися визначити апаратну й програмну конфігурацію системи. Переконайтеся, що вона робить це правильно. Протестуйте програму установки як можна ретельніше. Виконайте установку продукту на системах з різною конфігурацією, у мережі й на окремому комп'ютері, спробуйте встановити його поверх попередньої версії.
• Сумісність. Припустимо, що на вихідному комп'ютері ваша програма була сумісна із програмою Ікс. Якщо програма Ікс також була перенесена на новий комп'ютер, чи залишилися вони сумісні?
• Інтерфейс. У різних графічних середовищах (Windows, Mac, AmigaDOS, Motif і т.п.) діють різні угоди про користувальницький інтерфейс. Перейшовши в нове середовище, програма повинна виглядати в ній досить природно.
• Інші зміни. Поцікавтеся в програміста, які ще зміни він вносив у програму для її адаптації, і як треба їх протестуйте.
Якщо програмний продукт вперше адаптується до нової платформи, не розраховуйте на швидкий успіх. Тестування може зайняти у вас чверть того часу, що ви витратили на розробку. Перенос на наступну платформу може пройти й швидше, особливо якщо ці платформи досить сумісні.
Контрольні питання:
Які роботи виконує тестувальник на етапі супроводу програмного продукту?
Дайте визначення адаптаційному тестуванню.
На які параметри програмного середовища необхідно звернути увагу при виконанні адаптаційного тестування?
