Тестування графічних інтерфейсів за допомогою SilkTest Bitmap Tool, Різне, Програмування, статті

У попередній статті Автоматизація тестування за допомогою Borland SilkTest ми розглянули принцип автоматизованого регресійного тестування за допомогою програмного продукту Borland SilkTest. До речі, тепер Borland перейшов під крило Micro Focus, так що правильніше називати цей продукт – Microfocus SilkTest. Є і ще дуже цікаві зміни – наприклад, покупка Micro Focus “ом всієї лінійки продуктів тестування від компанії Compuware, але про це буде окрема стаття!

Давайте повернемося до попередньої статті і згадаємо основний принцип організації автоматизованого тестування за допомогою SilkTest – емуляція дій користувача з інтерфейсом тестованої програми. SilkTest замість користувача виконує дії з інтерфейсом програми – натискає на кнопки, вводить значення в поля введення, вибирає пункти меню та інше. І у випадку, якщо тестоване додаток при виконанні цих дій реагує не так, як від нього очікують – скрипт завершується з помилкою (або вона обробляється особливим чином).


З таким підходом ми можемо тестувати переважна більшість додатків, однак є певні категорії програм, для яких даний метод не підходить. Це – графічні редактори, програми для роботи з фотографіями, візуальні побудовники та інші програми для роботи з графікою і зображеннями. Припустимо, ми тестуємо функцію обробки зображення. Послідовність дій тестувальника при перевірці функціоналу приблизно наступна: запустити додаток, завантажити графічний файл, вибрати область для перетворення, натиснути на панелі інструментів кнопку для виконання перетворення і після цього переглянути результуюче зображення. Яким же чином автоматизувати виконання даного тесту? Сам собою напрошується відповідь, що потрібно порівняти отримане зображення із заздалегідь підготовленим правильним (еталонним) зображенням. Відповідно, програмне забезпечення для тестування повинно вміти виконувати порівняння двох або більше зображень і виводити деяку статистику по порівнянню. У постачанні SilkTest для цього призначена утиліта SilkTest Bitmap Tool, можливості якої ми зараз розглянемо.


Отже, утиліта Bitmap Tool – це додаток, що поставляється в складі SilkTest. Утиліта Bitmap Tool дозволяє тестувати програми за допомогою порівняння зображень і виявлення відмінностей між ними. Основне призначення – це тестування графічних додатків, однак з не меншим успіхом її можна використовувати для графічних елементів звичайних додатків. Для прикладу, можна перевірити, чи коректно відображаються шрифти, або перевірити, чи не змінилася піктограма на кнопці на панелі інструментів. Утиліту Bitmap Tool можна використовувати як самостійно, так і скориставшись вбудованими в SilkTest функціями для її використання. Наприклад, з коду можна викликати функцію, яка зафіксує зображення поточного вікна, елемента керування або всього екрану і порівняє з наперед визначеним зображенням (еталонним).


До цікавих можливостей Bitmap Tool можна віднести наступні:



Робота з утилітою з тестового скрипта дуже проста, тому що мова 4Test містить весь необхідний набір для роботи із зображеннями. Наприклад, наступний приклад порівнює зовнішній вигляд програми TestApp з еталонним зображенням:


TestApp.VerifyBitmap (“c:sample estbase.bmp”)


Наступний приклад – це порівняння еталонної картинки і зображення компонента Foo:


Verify (SYS_GetBitmapCRC (“base.bmp”), Foo.GetBitmapCRC ())


Збереження зображень можна робити вручну, а можна робити і під час запису тесту – для цього в потрібний момент запису необхідно зупинити запис і вибрати область для захоплення зображення, після чого продовжити запис тесту. Зображення буде збережено в файл.


Таким чином, можна підвести підсумок: SilkTest Bitmap Tool є прекрасним доповненням до стандартного інструментарію SilkTest “а і дозволяє автоматизувати тестування в самих нестандартних випадках – Наприклад, при обробці зображень чи за використання екзотичних користувальницьких інтерфейсів.

 

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*