
- •4 Верифікація, валідація та тестування. Стандарти тестування пп
- •Тема 10 Верифікація і атестація програм
- •4.1 Методи верифікації об'єктно-орієнтованих програм
- •4.2 Тестування та налагодження програм
- •4.3 Організаційні аспекти процесу тестування
- •4.4 Класифікація помилок. Міжнародний стандарт ansi/ieee - 729-83 розділяє усі помилки в розробці програм:
- •4.5 Джерело помилок.
- •4.6 Організація підготовки тестів
- •7 Команда тестувальників
- •8 Організація процесу тестування
- •9 Організація тестування по регулюється наступними стандартами:
- •Ieee 829-1998 Standard for Software Test Documentation.
- •Ieee 1008-1987 (r1993, r2002) Standard for Software Unit Testing.
7 Команда тестувальників
За функціональні і старанні тести несуть відповідальність розробники, а замовник більше впливає на складання тестів випробувань і інсталяції системи.
Для цих цілей, як правило, створюється служба перевіряючих ПС у вигляді команди тестувальників, яка не залежить від штату розробників ПС. Ннекоторые члени цієї команди є досвідченими або навіть професіоналами в цій області. До них відносяться аналітики, програмісти, інженери-тестувальники, які присвячують увесь час проблемам тестування систем. Вони мають справу не лише із специфікаціями, але і з методами і засобами тестування, організовують створення і виконання тестів на машині. З самого початку створення проекту тестувальники включають в процес плани складання тестових наборів і сценаріїв, а також графіків виконання тестів.
Професійні тестувальники працюють спільно з групою управління конфігурацією, щоб забезпечити їх документацією і іншими механізмами для зв'язку між собою тестів з вимогами проекту, конфігурацією і кодом. Вони розробляють методи і процедури тестування. У цю команду включаються додаткові люди, які знайомі з вимогами системи або з підходами до їх розробки. Аналітиків включають як членів команди, оскільки вони розуміють проблеми визначення специфікацій замовників.
Багато фахівців порівнюють тестування системи із створенням нової системи, в якої аналітики відбивають потреби і цілі замовника, працюючи спільно з проектувальниками і домагаючись реалізації ідей і принципів роботи системи.
Проектувальники системи повідомляють команді тестувальників проектні цілі, щоб вони знали декомпозицію системи на підсистеми і функції, а також принципи їх роботи. Після проектування тестів і тестових покриттів команда тестувальників підключає проектантів для аналізу можливостей системи.
Оскільки тести і тестові сценарії є прямим віддзеркаленням вимог і проекту в цілому, перспективи управління конфігурацією системи визначаються саме цією командою. Помилки в програмі, що зустрічаються, і зміни в системі відбиваються в документації, вимогах, проекті, а також в описах вхідних і вихідних даних або в інших артефактах, що розробляються. Зміни, що вносяться, в процесі розробки призводять до модифікації тестових сценаріїв або в більшій частині до зміни планів тестування. Фахівці з управління конфігурацією враховують ці зміни і координують складання тестів.
У команду тестувальників входять також користувачі. Вони оцінюють отримувані результати, зручність використання, а також висловлюють свою думку про принципи роботи системи.
Уповноважені замовника планують роботи для тих, хто використовуватиме і супроводжуватиме систему. При цьому вони можуть привнести деякі зміни до проекту із-за неповноти заданих вимог і сформулювати системні вимоги для проведення верифікації системи і ухвалення рішень про її готовність і корисність.
План тестування. Для проведення тестування створюється план (Test Plan), в якому описуються стратегії, ресурси і графік тестування окремих компонент і системи в цілому. У плані відзначаються роботи для різних членів команди, які виконують певні ролі в цьому процесі. План включає також місця тіста в кожному процесі, міра покриття програми тестами і відсоток тестів, які виконуються із спеціальними результатами.
Тестові інженери створюють безліч тестових сценаріїв (Test Cases), кожен з яких перевіряє результат взаємодії між актором і системою на основі визначених пред- і пост-условий використання таких сценаріїв. Сценарії в основному відносяться до тестування за типом білої "скрині" і орієнтовані на перевірку структури і операцій інтеграції компонентів системи.
Для проведення тестування тестові інженери пропонують процедури тестування (Test Procedures), що включають валідацію об'єктів і верифікацію тестових сценаріїв відповідно до плану графікам. Оцінка тестів (Test Evaluation) полягає в оцінці результатів тестування і міри покриття програм сценаріями і статусу отриманих помилок. На мал. 7.5. приведений круг обов'язків тестового інженера.
Тестувальник інтегрованої системи проводить тестування інтерфейсів і оцінку результатів виконання відповідних тестів. І нарешті, тестувальник системи є відповідальним за виконання системних тестів і проведеного тестування попередніми членами команди. При виконанні системних тестів, як правило, знаходяться дефекти, що є результатом глибоко прихованих погрішностей в програмах, що виявляються при тривалому прогоні системи на тестових даних і сценаріях.
Teстировщик
Программы тестов
Тестовые ситуации
Тестовые процедуры
Оценка тестов
План
теста
Мал. 7.5. Відповідальності инженера- тестувальника