оїй роботі описом тестових прикладів у вигляді набору сценаріїв. Кожен сценарій включає в себе перерахування послідовності дій, які повинен виконати оператор, і опис важливих для аналізу результатів тестування відповідних реакцій системи, розкритих в інтерфейсі. Типова форма запису сценарію для проведення ручного тестування - таблиця, в якій в одній колонці описані дії (кроки сценарію), в іншій - очікувана реакція системи, а третя призначена для запису того, чи збіглася очікувана реакція системи з реальною та перерахування розбіжностей.
Ручне тестування користувальницького інтерфейсу зручно тим, що контроль коректності інтерфейсу проводиться людиною, тобто основним "Споживачем" цієї частини програмної системи. До того ж при чисто косметичних змінах в інтерфейсах системи, які не відображені у вимогах (Наприклад, при переміщенні кнопок управління на 10 пікселів вліво), аналіз успішності проходження тесту буде виконуватися не за формальними ознаками, а згідно людському сприйняттю.
При цьому ручне тестування має й істотний недолік - для його проведення потрібні значні людські та часові ресурси. Особливо сильно цей недолік проявляється при проведенні регресійного тестування і взагалі будь-якого повторного тестування - на кожній ітерації повторного тестування користувальницького інтерфейсу потрібна участь тестувальника-оператора. У зв'язку з цим в останнє десятиліття отримали поширення засоби автоматизації тестування користувальницького інтерфейсу, знижують навантаження на тестувальника-оператора.
Природний спосіб автоматизації тестування користувальницького інтерфейсу - використання програмних інструментів, емулює поведінку тестувальника-оператора при ручному тестуванні користувача інтерфейсу.
Такі інструменти використовують в якості вхідної інформації сценарії тестових прикладів, записані на деякій формальній мові, оператори якого відповідають діям користувача - введенню команд, переміщенню курсору, активізації пунктів меню та інших інтерфейсних елементів.
При виконанні автоматизованого тесту інструмент тестування імітує дії користувача, описані в сценарії, і аналізує інтерфейсну реакцію системи. Для визначення очікуваного стану користувацького інтерфейсу тут можуть застосовуватися різні методи - або аналіз знімків екрану і порівняння їх з еталонними, або доступ до даних інтерфейсних елементів засобами операційної системи (наприклад, доступ до всіх кнопках вікна за їх дескрипторах та отримання значень тексту).
І при передачі інформації в тестований інтерфейс, і при отриманні інформації для аналізу можуть використовуватися два способи доступу до елементам інтерфейсу:
- позиційний, при якому доступ до елементу здійснюється за допомогою завдання його абсолютних (Щодо екрана) або відносних (щодо вікна) координат і розмірів;
- по ідентифікатором, при якому доступ до елементу здійснюється за допомогою отримання інтерфейсного елемента за допомогою його унікального ідентифікатора в межах вікна.
При внесенні змін в користувальницький інтерфейс при використанні першого методу в результаті проведення регресійного тестування буде виявлено велику кількість не пройшли тестів - досить зміни місця розташування одного ключового інтерфейсного елементу, як всі сценарії почнуть працювати невірно. Відповідно при такому методі автоматизації тестування необхідно міняти значну частину сценаріїв в системі тестів при кожній зміні інтерфейсу системи. Такий метод автоматизації тестування підходить для систем з усталеним і рідко змінним інтерфейсом.
Другий метод автоматизації тестування більш стійкий до зміні розташування інтерфейсних елементів, але зміни тестових прикладів можуть знадобитися і тут у разі зміни логіки роботи інтерфейсних елементів. Наприклад, нехай у першій версії системи при натисканні на кнопку "Передати дані" передача даних починалася відразу і виводилося вікно з індикатором прогресу. Сценарій тестового прикладу в цьому випадку включає в себе імітацію натискання на кнопку і звернення до індикатора прогресу для отримання значення прогресу у відсотках.
Якщо у другій версії системи після натискання на кнопку "Передати дані" спочатку виводиться вікно "Ви впевнені?" З кнопками "Так" і "Ні", то для перевірки роботи індикатора прогресу в тестовий сценарій необхідно додати імітацію натискання кнопки "Так".
Навіть при зверненні за допомогою ідентифікаторів без модифікації тестового прикладу тест не буде коректно виконуватися. Тим не Проте, цей спосіб звернення до інтерфейсним елементам добре підходить для тестування програмних систем, в т.ч. з не усталеним користувальницьким інтерфейсом.
3. Тестування зручності використання користувальницьких інтерфейсів
В
Зручність використання для користувача інтерфейсу (Usability) - показник його якості, який визначає кількість зусиль, необхідних для вивчення принципів роботи з програмною системою за допомогою ...