перевірити внутрішню структуру програми. Виходячи з цієї стратегії тестувальник отримує тестові дані шляхом аналізу логіки роботи програми.
Техніка Білого ящика включає в себе наступні методи тестування:
· покриття операторів;
· покриття рішень;
· покриття умов;
· покриття рішень і умов;
· комбинаторное покриття умов.
Автоматизоване тестування.
Автоматизоване тестування програмного забезпечення - частина процесу тестування на етапі контролю якості в процесі розробки програмного забезпечення. Воно використовує програмні засоби для виконання тестів і перевірки результатів виконання, що допомагає скоротити час тестування і спростити його процес.
Історія.
Перші спроби автоматизації з'явилися в епоху операційних систем DOS і CP/M. Тоді вона полягала у видачі додатком команд через командний рядок та аналізі результатів. Трохи пізніше додалися віддалені виклики через API для роботи по мережі. Вперше про автоматизований тестуванні згадується в книзі Фредеріка Брукса Міфічний людино-місяць raquo ;, де говориться про перспективи використання модульного тестування. Але по-справжньому автоматизація тестування стала розвиватися тільки в 1980-х роках.
Підходи.
Існує два основні підходи до автоматизації тестування: тестування на рівні коду і тестування користувальницького інтерфейсу (зокрема, GUI-тестування). До першого типу належить, зокрема, модульне тестування. До другого - імітація дій користувача за допомогою спеціальних тестових фреймворков.автоматізація.
Найбільш поширеною формою автоматизації є тестування додатків через графічний користувальницький інтерфейс (англ. GUI ). Популярність такого виду тестування пояснюється двома факторами: по-перше, додаток тестується тим же способом, яким його буде використовувати людина, по-друге, можна тестувати додаток, не маючи при цьому доступу до вихідного коду.автоматізація розвивалася протягом 4 поколінь інструментів і технік:
· утиліти запису і відтворення (англ. capture/playback tools ) записують дії тестувальника під час ручного тестування. Вони дозволяють виконувати тести без прямої участі людини протягом тривалого часу, значно збільшуючи продуктивність і усуваючи тупе повторення одноманітних дій під час ручного тестування. У той же час, будь-яке мале зміна тестованого ПО вимагає перезапису ручних тестів. Тому це перше покоління інструментів не ефективно і не масштабоване;
· написання сценарію (англ. scripting ) - форма програмування на мовах, спеціально розроблених для автоматизації тестування ПО - пом'якшує багато проблем інструментів запису і відтворення. Але розробкою займаються програмісти високого рівня, які працюють окремо від тестувальників, безпосередньо запускають тести. До того ж скрипти найбільше підходять для тестування GUI і не можуть бути впровадженими, пакетними або взагалі будь-яким чином об'єднані в систему. Нарешті, зміни в тестованому ПО вимагають складних змін у відповідних скриптах, і підтримка все зростаючою бібліотеки тестуючих скриптів стає врешті-решт непереборної завданням;
· кероване даними тестування (англ. Data-driven testing ) - методологія, яка використовується в автоматизації тестування. Особливістю є те, що тестові скрипти виконуються і верифицируются на основі даних, які зберігаються в центральному сховищі даних або базі даних. Роль бази даних можуть виконувати ODBC-ресурси, csv або xls файли і т. Д. Кероване даними тестування - це об'єднання декількох взаємодіючих тестових скриптів і їх джерел даних в фреймворк, використовуваний в методології. У цьому фреймворку змінні використовуються як для вхідних значень, так і для вихідних перевірочних значень: в тестовому скрипті зазвичай закодовані навігація по додатком, читання джерел даних, ведення логів тестування. Таким чином, логіка, яка буде виконана в скрипті, також залежить від даних;
· тестування за ключовими словами (англ. Keyword-based ) автоматизація передбачає поділ процесу створення кейсів на 2 етапи: етап планування і етап реалізації. У цьому випадку кінцевий тест являє собою не програмний код, а опис послідовності дій з їх параметрами (наприклад, завести в базі даних користувача з логіном XXX і паролем YYY ). При цьому фреймворк відповідає за безпосередню реалізацію ключових слів (дій), а дизайнерові тестів достатньо мати уявлення про усьому наборі дій, реалізованих під фреймворку. Це дає можливість створювати тести людям, які не мають навичок програмування.
Проблем...