Розробка пакету автоматизованого тестування програмних застосувань на платформі IOS

Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 24.07.2013
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Можна виділити два підходу до системного тестування:

· на базі вимог (requirements based)

Для кожної вимоги пишуться тестові випадки (test cases), перевіряючі виконання даної вимоги.

· на базі випадків використання (use case based)

Альфа-тестування і бета-тестування є підкатегоріями системного тестування.

Альфа-тестування

Альфа-тестування - імітація реальної роботи з системою штатними розробниками, або реальна Робота з системою потенційними користувачами / замовником. Частіше всього альфа-тестування проводиться на ранній стадії розробки продукту, але в деяких випадках Може застосовуватися для закінченого продукту в якості внутрішнього приймального тестування. Іноді альфа-тестування виконується під відладчиком або з використаних оточення, яке допомагає швидко виявляти знайдені помилки. Виявлені помилки можуть буті передані тестувальникам для додаткового дослідження в оточенні, подобному до того, в якому буде використовуватися програма.

Тестування при прийомі

Smoke Test (англ. Smoke testing, димове тестування) в тестуванні програмного забезпечення означає мінімальний набір тестів на явні помилки. Димової тест зазвичай виконується самим програмістом, не проходження цього тесту означає що програму не має сенсу віддавати на більш глибоке тестування.

Приклади

· Помилки інсталяції: Якщо програмний продукт не встановлюється, його тестування, швидше всього, виявиться неможливим.

· Помилки при з'єднанні з базою даних, актуально для архітектури клієнт-сервер.

Smoke Tests легше автоматизувати, ніж більш глибоке і інтелектуальне тестування. Автоматизація знижує кількість ручної праці і тому дозволяє проводити ці тести частіше. Чим частіше виконуються тести, тим раніше стає відомо про проблеми, що виявляються цими тестами. Чим раніше стає відомо про проблему, тим легше її усунути. Автоматизація тестування часто виконується з допомогою засобів безперервної інтеграції [12].

Регресійне тестування

Регресійне тестування (англ. regression testing, від лат. Regressio - рух назад) - збірна назва для всіх видив тестування програмного забезпечення, спрямованих на виявлення помилок у вже протестованих ділянках вихідного коду. Такі помилки - коли після внесення змін в програму перестає працювати те, що повинно було продовжувати працювати, - називають регресійними помилками (англ. regression bugs).

Регресійне тестування (за деякими джерелами) включає new bug-fix - перевірка виправлення знову знайденого дефекту, old bug-fix - перевірка, що виправлений раніше і верифікований дефект не відтворюється в системі знову, а також side-effect - перевірка того, що не порушилася працездатність функціональності що раніше працювала, якщо її код міг буті змінений при виправленні деяких дефектів в інший функціональності. Звичайно використовувані методи регресійного тестування включають повторні прогони попередніх тестів, а також перевірки, чи не потрапили регресійні помилки в чергову версію в результаті злиття коду.

З досвіду розробки ПЗ відомо, що повторні появи одних і тих же помилок - випадок досить частий. Іноді це відбувається через слабку техніку керування версіями або з причини людської помилки при роботі з системою керування версіями. Але настільки ж часто рішення проблеми буває "недовго живучим": Після наступної зміни в програмі рішення перестає працювати. І з рештою, при переписуванні деякої частини коду часто спливають ті ж помилки, що були в попередніх реалізаціях.

Тому вважається хорошою практикою при виправленні помилки створити тест на неї і регулярно проганяти його при наступних змінах програми. Хоча регресійне тестування може буті виконано і вручну, але частіше всього це робиться з допомогою спеціалізованих програм, що дозволяють виконувати всі регресійні тести автоматично. У деяких проектах навіть використовуються інструменти для автоматичного прогону регресійних тестів через заданий інтервал часу. Зазвичай це виконується після кожної вдалої компіляції (у невеликих проектах) або щоночі або щотижня.

Регресійне тестування є невід'ємною частиною екстремального програмування. У цій методології проектна документація замінюється на розширюване, повторюване і автоматизоване тестування всього програмного пакету на кожній стадії процесу розробки програмного забезпечення.

Регресійне тестування може буті використано не тільки для перевірки коректності програми, часто воно також використовується для оцінки якості отриманого результату. Так, при розробці компілятора, при прогоні регресійних тестів розглядається розмір одержуваного коду, швидкість його виконання і час компіляції кожного з тестових прикладів [12].

Бета-тестування

Бета-тестування (англ. beta testing) - інтенсивне використання майже готової версії продукту (як правило, програмного або апаратного забезпечення) з метою виявлення максимального числа помилок в його роботі для їх наступного усунення перед остаточним виходом (релізом) продукту на ринок, до масового споживача.

На відміну від альфа-тестування, проведеного силами штатних розробників або тестувальників, бета-тестування припускає залучення добровольців з числа звичайних майбутніх користувачів продукту, яким доступна згадана попередня версія продукту (так звана бета-версія).

Такими добровольцями (їх називають бета-тестерами) часто рухає цікавість до нового продукту - цікавість, заради задоволення якої вони цілком згодні миритися з можливістю випробувати наслідки ще не знайдених (а тому і не виправлених) помилок. Крім цікавості, мотивація може буті обумовлена ??бажанням вплинути на процес розробки.

Крім того, відкриття бета-тестування може використовуватися як частина стратегії просування продукту на ринок (наприклад, безкоштовна роздача бета-версій дозволяє привернути широку увагу споживачів до остаточної дорогої версії продукту), а також для одержання попередніх відгуків про нього від широкого кола майбутніх користувачів.

Бета-версія не є фінальною версією продукту, тому розробник не гарантує повної відсутності помилок, які можуть порушити роботу комп'ютера та / або привести до втрати даних. Хоча і в фінальних версіях таких гарантій розробники, як правило, не дають.

Крім програмного і апаратного забезпечення поняття бета-версія в останній час часто застосовується до сайтів, або до їх певних розділів або функцій. При цьому в більшості випадків бета-тестування є відкритим, а доопрацювання виробляються в процесі функціонування сайту [11].

2.5 Вибір апаратної платформи

Для розробки пакета автоматизованого тестування додатку Join It - Jigsaw Puzzle ТОВ D-Studio надала персональний комп'ютер iMac 2009 з наступними параметрами:

· Процесор - Intel Core 2 Duo 2.7 ГГц

· ОЗУ - 4 ГБ

· ПЗУ - 250 ГБ

Також для тестування були надані пристрої iPad, iPad 2, The New iPad, iPhone 4, iPhone 4S, iPod Touch 4G, iPod Touch 5G

2.5 Вибір програмної платформи

Для всіх поширених мобільних ОС пропонуються безкоштовні (для розробників) і досить функціональні емулятори. Для платформи iOS є офіційний iOS Instruments, який включає в себе емулятор мобільного пристрою, який реалізує всі апаратні і програмні особливості типового пристрою. Він запускається виключно, на MacOS X, як частина середовища розробки XCode.

Також, існують інші рішення:

TestiPhone - заснований на веб-браузері симулятор для швидкого тестування веб-додатків для iPhone. Працює з використаних Internet Explorer 7, Firefox 2 і Safari 3. Безкоштовно, але симуляція дуже обмежена.

Хмарні платформи пристроїв дозволяють віддалено протестувати свій продукт на безлічі різних пристроїв, передаючи данні про тестування розробнику. Найзнаменитіші - Perfecto Mobile і Device Everywhere. Ці дві контори використовують стенди з реальними мобільними пристроями на iOS і Android. Всередину фотографії телефону вставлено зображення з веб-камери. Управляється повністю мишкою. Також Perfecto Mobile і Device Anywhere віддалено надають пристрої "напрокат". У них стоїть безліч різних телефонів, і годину роботи з одним телефоном коштує близько $ 15.

Переваги:

· чорний ящик - майже немає втручання в тестований додаток;

· один інструмент і тестовий скрипт використовується для тестування на всіх мобільних платформах;

· різноманіття пристроїв.

Недоліки:

· Затримки при взаємодії з телефоном в Україні.

· Автоматизоване відтворення скрипкових тестів

JamoSolution - одна з самих багатообіцяючих платформ, на якій зараз розробляється кілька інструментів (наприклад, Meux test і SeeTest). Вона дозволяє тестувати iPhone, Android, Windows Phone та інші платформи. Підтримується запис тестів (record & play) і можна тестувати iPhone додатки на Windows. Працює через установку на пристрої додатка-агента, що звільняє розробника від модифікування свого додатка.

EggPlant від студії TestPlant дозволяє запускати свій тестовий скрипт на безлічі пристроїв одночасно, визначаючи вихідні данні методом розпізнавання зображення на екрані. Підтримує тестування на пристроях Android і iOS, емуляторах Android, iOS і Windows Phone.

В результаті аналізу ринку надаваних додатків Туво прийнято рішення зупинитися на офіційному пакеті iOS Instruments - безкоштовної частини середовища розробки XCode.

2.6 Обґрунтування вибору програмних методик та засобу тестування програмних застосувань для мобільних пристроїв

Пакет автоматизованого тестування додатку повністю розроблений в утиліті iOS Instruments, частині середи розробки XCode.

Утиліта Instruments використовується для автоматизації тестування користувацького інтерфейсу з допомогою написаних тестувальником скриптів. Ці скрипти симулюють дії користувача використовуючи UI Automation, що використовує програмний інтерфейс JavaScript, який і вказує дії, які будуть виконуватися в процесі роботи додатка. В процесі роботи система повертає звіт про дії та їх результати.

Важливим достоїнством є можливість використовувати Automation разом з іншими інструментами для виявлення витоків пам'яті та ізолювання причини поганої продуктивності.

Інструмент Automation дозволяється використовувати тільки для додатків, підписаних відповідними сертифікатами Apple. Також можливе використання для додатків, які були завантажені з iTunes Store.

Оскільки всі додатка різні, часто скрипт для одного додатка не може бути використаний для іншого додатка. У цьому випадку для нього необхідно створювати окремий скрипт. Початковий екран роботи з утилітою Instruments від компанії Apple зображено на рис 2.11

Рисунок 2.11 - Початковий екран утиліти Instruments

Створення або імпорт скрипта.

Для створення нового скрипта необхідно натиснути Create - > New і ввести ім'я нового скрипта. Для імпорту вже готового скрипта необхідно натиснути Create - > Import і вказати шлях до файлу зі скриптом. Вікно вибору готового скрипта зображено на рис 2.12.

Прив'язка скрипта до додатка.

У випадаючому меню Choose Target. необхідно вибрати додаток, що цікавить. Необхідно переконатися, що в цей момент пристрій підключено, додаток на нього встановлено і підписано відповідним сертифікатом розробника Apple.

Тестувальник має можливість написати необмежену кількість тестів.

API передбачає повторне Використання функцій. Для цього передбачена директива # import. Наприклад, якщо часто використовувані функції знаходяться в файлі Join_It_Functions. js необхідно включити в скрипт рядок

# include "<шлях-до-файлу> / Join_It_Functions. js"

для імпорту файлу з функціями.

Збережені результати тесту зберігаються у файлі з розширенням Trace і можу буті завантажені в Instruments. Якщо додаток припиняє роботу або згортається, скрипт заблокується до тих пір, поки додаток знову не запуститься.

Рисунок 2.12 - Вікно вибору готового скрипта утиліти Instruments

Доступ і використання елементів користувацького інтерфейсу

Accessibility-based mechanism, що використовується у UI Automation представляє Кожній елемент Керування як унікальний визначуваний елемент. Для здійснення дій над елементом його необхідно визначити як елемент ієрархії додатка.

Нагорі ієрархії знаходиться клас UIATarget, який представляє елементи користувацького інтерфейсу високого рівня на пристрої або симуляторі. Для зручності, тестований додаток позначається як target app і визначений як

UIATarget. localTarget (). FrontMostApp ();

Щоб звернутися до головного вікна додатка необхідно вказати

UIATarget. localTarget (). FrontMostApp (). MainWindow ();

Для доступу до елемента таблиці необхідно вказати

UIATarget. localTarget (). FrontMostApp (). MainWindow (). TableViews () [N];

, де N - номер таблиці в головному вікні додатка.

Усередині таблиці кожен елемент представлений як осередок (cell). До кожної таблиці можна звернутися відповідним чином.

UIATarget. localTarget (). FrontMostApp (). MainWindow (). TableViews () [N]. Cells () [K];

, де N - номер таблиці в головному вікні додатка, K - номер комірки у таблиці.

Кожна з комірок призначена для зберігання інформації, до якої можна отримати доступ з допомогою звернення по імені.

UIATarget. localTarget (). frontMostApp (). mainWindow (). tableViews () [N]. cells () [K]. elements () ["Info_Name"];

, де N - номер таблиці в Головному вікні додатка, K - номер комірки у таблиці, Info_Name - Ім'я елемента в комірці.

Відображення елементів ієрархії.

Для відображення Всіх дочірніх елементів використовується метод logElementTree. Використання цього методу допомагає освоїтися в ієрархії додатка і побачити Всі його доступні елементи.

Методи навігації в додатку.

Метод tap () використовується для симуляції натискання на елемент керування додатка. Також можливе використання для натискання по координатах. Фактично - натискання користувача на кнопку.

Використання:

UIATarget. localTarget (). frontMostApp (). navigationBar (). buttons () ["Add"]. tap ();

Метод doubleTap () використовується для симуляції подвійного натискання на елемент Керування додатка. Також можливе використання для натискання по координатах. Фактично - подвійне натискання користувача на кнопку.

Використання:

UIATarget. localTarget (). frontMostApp (). navigationBar (). buttons () ["Add"]. doubleTap ();

Метод twoFingerTap () використовується для симуляції натискання на елемент керування додатка двома пальцями. Також можливе використання для натискання по координатах. Фактично, натискання користувача на кнопку двома пальцями.

Метод pinchOpenFromToForDuration () використовується для симуляції жесту Pinch-to-Zoom, що використовується для масштабування (збільшення) об'єктів. Використовується тільки з зазначенням координат і часу дії.

Використання:

UIATarget. localTarget () pinchOpenFromToForDuration (: 20, Y: 200}, : 300, Y: 200},

2);

Метод pinchCloseFromToForDuration () використовується для симуляції жесту Pinch-to-Zoom, що використовується для масштабування (зменшення) об'єктів. Використовується тільки з зазначенням координат і часу дії.

Використання:

UIATarget. localTarget () pinchCloseFromToForDuration (: 20, Y: 200}, : 300, Y: 200},

2);

Метод dragFromToForDuration () використовується для перетягування об'єктів. Використовується тільки з координатами і зазначенням часу дії.

Використання:

UIATarget. localTarget () dragFromToForDuration (: 160, Y: 200}, : 160, Y: 400}, 1);

Метод flickFromTo () - аналог методу dragFromToForDuration (). Використовується без вказівки часу дії так як передбачається що це швидкий жест.

Метод scrollDown () використовується для прокручування інформації вниз.

Використання:

UIATarget. localTarget (). frontMostApp (). MainWindow (). tableViews () [N]. scrollDown ();

Метод scrollUp () використовується для прокручування інформації вгору.

Використання:

UIATarget. localTarget (). frontMostApp (). MainWindow (). TableViews () [N] scrollUp ();

Запис результатів тесту

Скрипт генерує інформацію-звіт і передає в інструмент автоматизації який збирає її та надає для аналізу.

Під час написання тесту, необхідно зібрати як можна більше інформації щоб допомогти розібратися в причинах відмови додатка. Для цього використовуються вбудовані методи UIALogger. logStart (), UIALogger. logPass () і UIALogger. logFail ().

Використання:

UIALogger. logStart (Ім'я_Теста);

/ / Код тесту

UIALogger. logPass (Ім'я_Теста);

Також існує метод UIALogger. logMessage () для виводу повідомлень в процесі виконання тесту.

Використання:

UIALogger. logStart (Ім'я_Теста);

/ / Код тесту

UIALogger. logMessage ("Повідомлення")

/ / Код тесту

UIALogger. logPass (Ім'я_Теста);

Для зняття зображення екрані додатка існує метод captureScreenWithName (), який зберігає зображення з поточним станом додатка в форматі JPEG. Не підтримується в симуляторі. Приклад логування результатів зображено на рис 2.13.

Рисунок 2.13 - Вікно відображення логу утиліти Instruments

Визначення і змінення положення пристрою

При запуску додатка автоматично перевіряється стан, в якому знаходиться пристрій. Варіанти визначення:

UIA_DEVICE_ORIENTATION_UNKNOWN

Неможливо визначити положення.

UIA_DEVICE_ORIENTATION_PORTRAIT

Пристрій в портретному режимі з кнопкою Home внизу.

UIA_DEVICE_ORIENTATION_PORTRAIT_UPSIDEDOWN

Пристрій в портретному режимі з кнопкою Home вверху.

UIA_DEVICE_ORIENTATION_LANDSCAPELEFT

Пристрій в горизонтальному положенні, Кнопка Home справа.

UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT

Пристрій в горизонтальному положенні, Кнопка Home зліва.

UIA_DEVICE_ORIENTATION_FACEUP

Пристрій паралельно землі, екраном догори.

UIA_DEVICE_ORIENTATION_FACEDOWN

Пристрій паралельно земле, екраном вниз.

Для змінення положення пристрою існує метод setDeviceOrientation () для надання пристрою бажаного положення.

Тестування мультизадачності

Для симуляції виходу користувача з додатку з допомогою кнопки Home передбачено метод deactivateAppForDuration (), який згортає додаток і викликає його знову через певний період часу.

Використання:

UIATarget. localTarget (). deactivateAppForDuration (10);

Дана команда зверне додаток на 10 секунд, а потім викличе його знову. Процес створення скрипта в утиліті Instruments зображено на рис 2.14.

Рисунок 2.14 - Вікно написання скрипта в утиліті Instruments

3. Розробка пакету автоматизованого тестування

3.1 Розробка методики тестування додатку

Функціонал, обраний для автоматизації, представлено у розділі 2.2.

Опишемо процес тестування обраного функціонала.

Таблиця 3.1 - Тестування функціоналу додатку Join It - Jigsaw Puzzle

Функціонал

Очікуємий результат

Запуск додатку

Додаток запускається

Демонструється вступний ролик

Вступний ролик можна пропустить

При першому запуску додатку демонструється екран What's New

При наступних запусках користувач потрапляє на Головний Екран

Перегляд вікна Допомога

При натисненні кнопки Допомога користувач переходить до екрану Допомоги

Користувачеві надається інформація про керування в додатку, інформація про команду розробників

При натисненні на кнопку iPad Керування користувачеві надається інформація про схему керування "iPad"

При натисненні на кнопку iPhone Керування Користувачеві надається інформація о схему керування "iPhone"

При натисненні на посилання support@joinitpuzzle.com відкривається додаток для роботи с поштою, в якому відкрито новий лист з адресатом support@joinitpuzzle.com

При натисненні на посилання Веб-сайт гри Join It відкривається браузер с адресом joinitpuzzle.com

При натисненні кнопки Назад, користувач повертається на Головний Екран

Збереження зображень

Натискання на кнопку Зберегти призводить до збереження Зображення на пристрій.

У разі, якщо Зображення не було зібрано демонструється сповіщення "Водяний Знак. Незібране Зображення буде збережене с водяним знаком" с Кнопками Зберегти и Відміна.

У разі, якщо Зображення було збережене раніше, демонструється сповіщення "Зберегти Зображення. Це Зображення уже раніше зберігалося в Бібліотеку. Хочете Зберегти його ще раз?" с Кнопками Зберегти и Відміна

Збільшення зображень

Натискання на кнопку Збільшити призводить до демонстрації Зображення на весь екран.

У разі, якщо Зображення не було зібрано, по діагоналі Зображення відображується напис " Це Зображення ще не було зібрано. Зберіть пазл, щоб прибрати цей текст. "

Повторне Натискання на зображення повертає користувача на Головний Екран

Екран Рекордів

Натискання на кнопку Рекорди переводить користувача к Екрану Рекордів

Натискання на кнопки Легко, Середнє, Важко, Нереально призводить до відображення Рекордів по Важкості

Натискання на Зображення призводить до відображення Рекордів, які відносяться к вибраної Зображенні

Натискання на кнопку Меню повертає користувача на Головний Екран

Натискання кнопки Допомога переводить користувача к Екрану Допомоги

Меню Опцій

Натискання на кнопку Меню призводить до відображення спливаючого меню налаштувань додатку

Включення режиму Sticking включає відповідний функціонал у грі. Дана функція дозволяє закріпити частини пазла на відповідаючому їм місці на Основному Зображенні. Не має видимого результату на Головному Екрані

Включення режиму Обертання Пазлів включає відповідний функціонал у грі. При виключені цієї функції шматочки пазла не можуть обертатися навколо своєї оси. Включення цієї функції призведе к можливості обертання шматочків пазла и, відповідно к збільшення Важкості гри. Не має видимого результату на Головному Екрані

Включення перемикача Таймер призводить до появлення лічильника часу (таймера) у грі. Не має видимого результату на Головному Екрані

Вимикання перемикача Звуки призводить до відключення звука в Додатку. Не має видимого результату на Головному Екрані

Включення перемикача Ділитися результатуми призводить до автоматичної передачі результатів в Facebook и Twitter по закінченню Гри. Не має видимого результату на Головному Екрані

Перемикач Керування призначений для переключення схеми керування iPad/iPhone. Натискання на кнопку iPad перемикає схему керування в режим iPad. Натискання на кнопку iPhone перемикає схему керування в режим iPhone. Не має видимого результату на Головному Екрані

Перемикач Стиль Шматочків призначений для вибору стиля шматочків на які буде розбите Зображення перед початком Гри. Натискання на відповідний вид кусочка викличе відповідні зміни. Не має видимого результату на Головному Екрані

Користувачеві на Вибір надається 8 видів фона робочого столу, які будуть використані у грі. Натискання на Фон Ігрового Столу викличе підменю вибору Фона Ігрового столу. Натискання на відповідний фон, змінить фон Ігрового столу. Не має видимого результату на Головному Екрані

Вибір зображення (Натискання кнопок Наступна и Попередня)

Натискання на кнопку Наступна/Попередня призводить до переходу на наступне/попереднє Зображення колекції

Використання жесту Flick призводить до переходу на наступне/попереднє Зображення колекції

Меню Колекції

Натискання на кнопку Колекції переводить користувача к Екрану Колекцій

Натискання на кнопку Назад призводить до повернення на Головний Екран

Натискання на кнопку Додати Зображення призводить до появлення спливаючого меню вибору джерела зображення

Вибір пункту Меню Мої Фотографії призводить до Вибору Зображення, котре знаходиться на пристрої

Користувач має можливість вибрати зображення з Групи Інтернет ресурсу Flickr, що його цікавить

Натискання на зображення з Групи Інтернет ресурсу Flickr призводить до її завантаження в додаток

Натискання на групу призводить до демонстрації її вмісту

Натискання на Зображення с позначкою "скачати" призводить до завантаження Зображення с сервера компанії.

Під час завантаження Зображення на ній з'являється лічильник прогресу.

Після завантаження позначка "скачати" зникає.

При відсутності з'єднання з мережею Інтернет демонструється сповіщення "Загрузка Неможлива. Мабуть, з'єднання з Інтернетом відсутнє"

Натискання на кнопку Правка переводить користувача в режим редагування

Користувач може вибрати будь яке завантажене Зображення.

Вибрана Зображення відмічається спеціальним символом в правому верхньому кутку

Жест Flick під Зображенням (в районі трьох крапок) призводить до виставлення рейтингу Зображенні. Система рейтингу - Одна Зірка, Дві Зірки, Три Зірки відображують Один, Два и Три Бали відповідно. Помічені таким чином Зображення потрапляють в Колекцію Улюблені Зображення

По натиску на кнопку Видалити з'являється спливаюче Вікно с попередженням "При видаленні зображень, інформація о Рекордах для цих зображень також видаляється" і Кнопка Видалити Зображення.

Натискання на кнопку Видалити Зображення призводить до видалення Зображень з колекції.

Видалення Зображень призводит до виходу з режиму редагування

Повторне Натискання на кнопку Правка призводить до виходу з режиму редагування

Жест Flick в області відображення зображень в групі призводить до "прокручування" колекції и демонстрації Зображень, що не вміщаються на екран

Натискання на будь яке з закачаних зображень призводить до переходу на Головний Екран и зміненню попереднього Зображення для Гри на вибране

Продовження або початок гри з початку

При натисненні кнопки Старт починається загрузка Гри

Якщо Зборка Зображення було раніше перервана користувачем, Зборка Зображення починається зі збереженої позиції

Якщо Зображення збирається на Важкості, що відрізняється від останньої збереженої Важкості, з'являється сповіщення "Нова Гра. Незакінчена Гра на N частин буде втрачена" з Кнопками Почати и Відміна, де N - остання збережена важкість збираного Зображення

Внутрішньоігрові Опції

Натискання на кнопку Меню призводить до відображення спливаючого меню налаштувань додатку

Пересування бігунка Прозорість Зразка Зображення призводить до зміненню прозорості Зображення-Зразка.

Пересування бігунка Масштаб Ігрового Столу призводить до збільшення або зменшення масштабу Ігрового Столу

Перемикач Рамка для Пазла включає і вимикає рамку навколо Зразка збираного Зображення

Включення режиму Sticking включає відповідний функціонал у грі. Дана функція дозволяє закріпити частини пазла на відповідаючому їм місці на Основному Зображенні

Включення режиму Обертання Пазлів включає відповідний функціонал у грі. При виключені цієї функції шматочки пазла не можуть обертатися навколо своєї оси. Включення цієї функції призведе к можливості обертання шматочків пазла и, відповідно к збільшення Важкості гри

Включення перемикача Таймер призводить до появлення лічильника часу (таймера) у грі.

Вимикання перемикача Звуки призводить до відключення звука в Додатку

Включення перемикача Ділитися Результатами призводить до автоматичної передачі результатів в Facebook и Twitter по закінченню Гри

Користувачеві на Вибір надається 8 видів фона робочого столу, які будуть використані у грі.

Натискання на Фон Ігрового Столу викличе підменю вибору Фона Ігрового столу. Натискання на відповідний фон, змінить фон Ігрового столу

Меню Паузи

Натискання на кнопку Продовжити повертає користувача до Гри

Натискання на кнопку Меню повертає користувача до Головному Екрану

Натискання на кнопку Рестарт призводить до початку гри заново

Натискання на кнопку Інформація переводить користувача до Екрану Допомоги

В якості методики тестування було визначено тестувати додаток методом чорного ящика на стадії Альфа і Бета тестування. Також буде розроблений окремий модуль для тестування при прийманні.

3.2 Розробка структури пакету автоматизованого тестування програмних застосувань для мобільних пристроїв на платформі iOS

Розроблюваний пакет має складатися з декількох модулів, що містять по кілька функціональних тестів. У підсумку пакет буде покривати весь базовий функціонал додатка.

Структура пакета автоматизованого тестування додатка зображена на рис 3.1

Рисунок 3.1 - Структура пакета автоматизованого тестування

Як видно з рисунку, пакет автоматизованого тестування має просту структуру. Усі модулі пакета є незалежними. Результат тестування, як і самі модулі знаходяться в єдиному файлі з розширенням Trace.

Тести, що відповідають модулям пакета представлені у таблиці 3.2.

Таблиця 3.2 - Відповідність тестів модулям пакета

Join_It_Functions

Набор функцій, що використовуються в модулях пакета

Smoke_Test

Запуск додатку, Меню Опцій, Меню Колекції, Головний Екран

Collections_Test

Повний тест функціоналу меню Колекції

Difficulty_Test

Тест розбиття зображення по Важкості (Використання кнопок)

Help_Test

Повний тест функціоналу Екрану Допомоги

Main_Screen_Test

Повний тест функціоналу Головного Екрану

Picture_Change_Test

Тестування переключення зображень по Кнопкам Наступна, Попередня, по жесту Flick

Piece_Style_Test

Тест переключення типів Пазлів

High_Score_Test

Повний тест Функціонала Екрану Рекордів

Suspend_Test

Додатковий тест для визначення поведінки додатку в момент згортання

Orientation_Test

Додатковий тест для визначення поведінки додатку в момент зміни положення пристрою

3.3 Розробка модулів пакету автоматизованого тестування програмних застосувань для мобільних пристроїв на платформі iOS

За допомогою утиліти Instruments були розроблені наступні модулі пакета: Smoke_Test, Collections_Test, Difficulty_Test, Help_Test, Main_Screen_Test, Picture_Change_Test, Piece_Style_Test, High_Score_Test, Suspend_Test, Orientation_Test. Модуль Join_It_Functions був розроблений для зберігання найбільш часто використовуваних функцій.

Розглянемо дії що виконуються кожним модулем пакету:

Smoke_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Вхід в меню Колекції

4. Вибір випадкового зображення

5. Натискання на важкість Легко

6. Натискання на важкість Середнє

7. Натискання на важкість Важко

8. Натискання на важкість Нереально

9. Перетаскування бігунка на випадкову позицію

10. Натискання на важкість Легко

11. Натискання на кнопку Опції

12. Натискання на елемент керування Sticking

13. Натискання на елемент керування Обертання

14. Натискання на елемент керування Таймер

15. Натискання на елемент керування Звук

16. Натискання на елемент керування Схема Керування iPhone

17. Натискання на елемент керування Схема Керування iPad

18. Вибір першого типу Пазлів

19. Вибір другого типу Пазлів

20. Вибір третього типу Пазлів

21. Вибір четвертого типу Пазлів

22. Вибір випадкового Фона Ігрового Столу

23. Зачинення Опцій

24. Натискання на кнопку Старт

25. Натискання на випадкову точку Екрану для початку гри

26. Натискання на паузу

27. Натискання кнопки Назад

Даний модуль діє по найбільш розповсюдженій схемі роботи користувача з додатком.

Collections_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Вхід в меню Колекції

4. Натискання на кнопку Додати зображення

5. Вибір випадкової Групи

6. Закачка чотирьох перших зображень

7. Натискання кнопки Назад

8. Вибір Групи Мої Фотографії

9. Вибір Фото с Камери

10. Вибір випадкової Фотографії

11. Натискання на кожну з Колекцій

12. Натискання на Колекцію Join It - Original Collection

13. Закачка випадкового зображення

14. Натискання на Колекцію Всі Зображення

15. Натискання на кнопку Правка

16. Вибір чотирьох випадкових зображень

17. Натискання на кнопку Видалити

18. Натискання на кнопку Видалити Обрані Зображення

19. Натискання на кнопку Назад

Даний модуль тестує меню Колекції.

Difficulty_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Натискання на кнопку Легко

4. Натискання на кнопку Старт

5. Натискання на випадкову точку Екрану для початку гри

6. Збереження знімку Екрану

7. Натискання на кнопку Пауза

8. Натискання на кнопку Меню

9. Натискання на кнопку Середнє

10. Натискання на кнопку Старт

11. Натискання на випадкову точку Екрану для початку гри

12. Збереження знімку Екрану

13. Натискання на кнопку Пауза

14. Натискання на кнопку Меню

15. Натискання на кнопку Важко

16. Натискання на кнопку Старт

17. Натискання на випадкову точку Екрану для початку гри

18. Збереження знімку Екрану

19. Натискання на кнопку Пауза

20. Натискання на кнопку Меню

21. Натискання на кнопку Нереально

22. Натискання на кнопку Старт

23. Натискання на випадкову точку Екрану для початку гри

24. Збереження знімку Екрану

25. Натискання на кнопку Пауза

26. Натискання на кнопку Меню

Даний модуль призначений для тестування розбиття пазла на шматочки в залежності від Важкості.

Help_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Натискання на кнопку Допомога

4. Збереження зображення Екрану

5. Прокручування вниз

6. Збереження зображення Екрану

7. Пункти 5 и 6 послідовно повторюються по 3 рази

8. Натискання на кнопку Схема Керування iPhone

9. Збереження зображення Екрану

10. Прокручування вниз

11. Збереження зображення Екрану

12. Пункти 10 и 11 послідовно повторюються 3 рази

13. Натискання на посилання на сайт Join It - Jigsaw Puzzle

14. Відмова від переходу у браузер

15. Натискання на кнопку Назад

Даний модуль тестує функціонал Екрану Допомоги

Main_Screen_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Натискання на кнопку Допомога

4. Натискання на кнопку Назад

5. Натискання на важкість Легко

6. Натискання на важкість Середнє

7. Натискання на важкість Важко

8. Натискання на важкість Нереально

9. Натискання на кнопку Рекорди

10. Натискання на кнопку Головне Меню

11. Перетаскування бігунка на випадкову позицію

12. Натискання на кнопку Опції

13. Зачинення Опцій

14. Натискання на кнопку Про Фотографію

15. Натискання на кнопку Зберегти

16. Натискання на кнопку Збільшити

17. Натискання на зображення для виходу з режиму збільшення

18. Натискання на кнопку Наступна

19. Натискання на кнопку Попередня

20. Жест Flick для переходу до наступного зображення

21. Жест Flick для переходу до попереднього зображення

22. Натискання на кнопку Колекції

23. Натискання на кнопку Назад

Даний модуль тестує Функціонал Головного Екрану

Picture_Change_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Натискання на кнопку Колекції

4. Натискання на первое зображення колекції Всі Зображення

5. 15 нажатий на кнопку Наступна

6. 15 нажатий на кнопку Попередня

7. 15 жестів Flick для переходу до наступного зображення

8. 15 жестів Flick для переходу до попереднього зображення

Даний модуль призначений для перевірки переходу між зображеннями

Piece_Style_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Натискання на кнопку Опції

4. Вибір першого типу пазла

5. Зачинення Опцій

6. Натискання на кнопку Старт

7. Натискання на випадкову точку Екрану для початку гри

8. Збереження зображення Екрану

9. Натискання на паузу

10. Натискання на кнопку Меню

11. Натискання на кнопку Опції

12. Вибір другого типу пазла

13. Зачинення Опцій

14. Натискання на кнопку Старт

15. Натискання на випадкову точку Екрану для початку гри

16. Збереження зображення Екрану

17. Натискання на паузу

18. Натискання на кнопку Меню

19. Натискання на кнопку Опції

20. Вибір третього типу пазла

21. Зачинення Опцій

22. Натискання на кнопку Старт

23. Натискання на випадкову точку Екрану для початку гри

24. Збереження зображення Екрану

25. Натискання на паузу

26. Натискання на кнопку Меню

27. Натискання на кнопку Опції

28. Вибір четвертого типу пазла

29. Зачинення Опцій

30. Натискання на кнопку Старт

31. Натискання на випадкову точку Екрану для початку гри

32. Збереження зображення Екрану

33. Натискання на паузу

34. Натискання на кнопку Меню

Даний модуль призначений для тестування розбиття зображення на відповідні типу шматочки.

High_Score_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Натискання на кнопку Рекорди

4. Натискання на кнопку Легко

5. Збереження зображення Екрану

6. Натискання на кнопку Середнє

7. Збереження зображення Екрану

8. Натискання на кнопку Важко

9. Збереження зображення Екрану

10. Натискання на кнопку Нереально

11. Збереження зображення Екрану

12. Натискання на кнопку Меню

Даний модуль призначений для перевірки функціонала меню Рекордів.

Suspend_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Згортання на 3 секунди

4. Натискання на кнопку Колекції

5. Згортання на 3 секунди

6. Натискання на первую зображення в групі Всі Зображення

7. Згортання на 3 секунди

8. Натискання на кнопку Опції

9. Згортання на 3 секунди

10. Зачинення Опцій

11. Згортання на 3 секунди

12. Натискання на кнопку Старт

13. Згортання на 3 секунди

14. Натискання на кнопку Продовжити

15. Натискання на кнопку Пауза

16. Натискання на кнопку Головне Меню

17. Згортання на 3 секунди

Даний модуль призначений для дослідження поведінки пристрою при згортанні.

Orientation_Test:

1. Запуск додатку

2. Пропуск відео ролика

3. Установка положення LANDSCAPE_RIGHT

4. Установка положення LANDSCAPE_LEFT

5. Натискання на кнопку Опції

6. Установка положення LANDSCAPE_RIGHT

7. Установка положення LANDSCAPE_LEFT

8. Зачинення Опцій

9. Установка положення LANDSCAPE_RIGHT

10. Установка положення LANDSCAPE_LEFT

11. Натискання на кнопку Колекції

12. Установка положення LANDSCAPE_RIGHT

13. Установка положення LANDSCAPE_LEFT

14. Натискання на кнопку Старт

15. Натискання на випадкову точку Екрану для початку гри

16. Установка положення LANDSCAPE_RIGHT

17. Установка положення LANDSCAPE_LEFT

18. Натискання на кнопку Пауза

19. Натискання на кнопку Меню

20. Установка положення LANDSCAPE_RIGHT

21. Установка положення LANDSCAPE_LEFT

22. Натискання на кнопку Рекорди

23. Установка положення LANDSCAPE_RIGHT

24. Установка положення LANDSCAPE_LEFT

25. Натискання на кнопку Меню

Даний модуль призначений для дослідження поведінки додатку в умовах зміни положення пристрою

Модуль Join_It_Functions зберігає в собі наступні функції:

Deactivate (t) - згортає додаток на час t, сек.

Start_Game (t) - Натискання на кнопку Старт, очікування завантаження зображення t, сек.

Exit_Game () - Натискання на кнопку Пауза, натискання на кнопку Меню.

First_Launch_Check () - перевірка першого запуску. Якщо видно заголовок "Що Нового" - задержка на загрузку, Натискання на кнопку Продовжити, Натискання на кнопку Схема Керування iPad, Натискання на кнопку ОК.

Open_Options () - відкриває Опції гри в залежності от положення користувача в Додатку.

Tap_Piece_Style (Piece_Num) - в залежності от цифри, що передається (от 1 до 4) обирає відповідний тип шматочків пазла.

Choose_Background (r) - обирає випадковий фон робочого столу.

Change_Difficulty (Difficulty) - в залежності від значення, що передається у функцію, встановлює важкість. По замовчанню встановлює важкість Середнє.

4. Тестування пакету та рекомендації щодо використання пакету

4.1 Тестування модулів та пакету в цілому

Пакет автоматизованого тестування був використаний у розробці додатку Join It - Jigsaw Puzzle.

Для тестування пакета було виділено пристрій iPad 2. Тестувалася версія додатку 2.0.4b1. Був проведений тест ефективності відносно ручного тестування. Для тестування було представлено спеціальну версію додатку с вже відомою кількістю критичних, важливих, середніх та незначних дефектів. Час, відведений на тестування версії - 2 години. Приведемо результати ручного и автоматизованого тестування в табл.4.1.

Таблиця 4.1 - Результати тестування пакета

Тип дефектів

Кількість дефектів, знайдених при ручному тестуванні

Кількість дефектів, знайдених при автоматизованому тестуванні

Критичні

2

3

Важливі

7

10

Середні

3

3

Незначні

10

6

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

Також, перевагою пакета автоматизованого тестування являється відсутність необхідності слідкувати за тим, що відбувається, з чого слідує, що тестувальник може займатися тестуванням другого додатку або версії на іншому пристрої.

Також можливий запуск пакета автоматизованого тестування на декількох пристроях одночасно, що дозволяє економити час, що пришвидшує процес розробки

В процесі тестування у пакет були внесені модифікації, що дозволили використовувати пакет автоматизованого тестування додатку для тестування модифікацій додатку Join It - Jigsaw Puzzle - uJigsawArt и Join The Hearts. Планується подальша розробка пакетів автоматизованого тестування для більшості проектів ТОВ D-Studio.

В даний момент пакет автоматизованого тестування активно використовується для пошуку дефектів у додатках ТОВ D-Studio, про що свідчить акт впровадження.

4.2 Рекомендації, щодо використання пакету

Пакет слід використовувати для тестування програмного застосування Join It - Jigsaw Puzzle та його похідних - Join The Hearts та uJigsawArt.

Пакет може використовуватися інженером - тестувальником компанії D-Studio для тестування вище зазначених додатків.

Пакет бажано використовувати на оригінальному програмному і апаратному забезпеченні від компанії Apple.

5. Організаційно-економічний розділ

5.1 Функціонально-вартісний аналіз (ФВА)

На створення програмного продукту (ПП) витрачаються значні трудові та фінансові ресурси, отже необхідний ретельний аналіз усіх можливих варіантів створення ПП, який дозволить вибрати найбільш раціональний варіант. Одним із сучасних методів економічного аналізу ПП є функціонально-вартісний аналіз (ФВА) [21].

ФВА - це метод комплексного техніко-економічного дослідження функцій об'єкта, що спрямований на оптимізацію співвідношення між якістю виконання вкладених функцій у продукт, та витратами, які забезпечать його реалізацію. ФВА проводиться у два етапи: функціональний аналіз та вартісний аналіз.

Темою організаційно-економічної частини дипломного проекту є техніко-економічне обґрунтування (ТЕО) етапів розробки програмного продукту "пакет автоматизованого тестування застосування на платформі iOS". Даний розділ містить економічне обґрунтування вибору оптимального плану розробки програмної функціональності.

5.2 Обґрунтування функцій програмного продукту

5.2.1 Виділення основних функцій

Виділимо основні функції, які повинна виконувати дана програма:

F1 - встановлення параметрів тестування;

F2 - тестування;

F3 - виведення одержаних результатів;

F4 - аналіз результатів і їх повторне використання.

5.2.2 Опис основних функцій ПП

Розглянемо варіанти реалізації цих функцій:

F1:

a) введення параметрів з клавіатури;

F2:

a) проведення повністю автоматизованого тестування;

б) проведення автоматизованого тестування з наглядом оператора;

в) збереження результатів тестування для повторного використання.

F3:

а) виведення результатів на екран;

б) збереження результатів у файл.

По розглянутим варіантам будуємо морфологічну карту (рис.5.1).

Рисунок 5.1 - Морфологічна карта

Побудуємо позитивно-негативну матрицю варіантів реалізації основних функцій (таблиця 5.1).

Таблиця 5.1 - Позитивно-негативна матриця

Основні функції

Варіанти реалізації

Переваги

Недоліки

F1

а)

Можливість моделювання процесу без прив'язки до файлу

Низька продуктивність роботи мережі

F2

а)

Немає необхідності в роботі оператора

Можливі псування результатів через неправильний підбір параметрів тестування

б)

Мала доля помилки, миттєве реагування на неправильний результат роботи тесту та його модифікація

Витрачається час оператора

в)

Можливість збереження найкращих параметрів

Збереження невдалої конфігурації у файл вдалої

F3

а)

Велика наочність отриманої інформації

Повторення процесу моделювання кожен раз при необхідності

б)

Мінімальний час отримання вхідних даних

Необхідність додаткових ресурсів для зв'язку програми з файлом

F4

а)

Можливість автоматичного сповіщення про дефект

Можуть бути пропущені важливі деталі

5.3 Обґрунтування системи параметрів

Для характеристики розроблюваного ПП можна використати наступне систему параметрів:

· X1 - розмір вихідного файлу, Мб;

· X2 - час для завантаження даних з файлу, сек;

· X3 - наочність інформації, що відображається, %;

· X4 - коефіцієнт використання ПП, %.

По даним технічної літератури і досвіду попередніх розробок визначаємо гірші, середні та кращі значення параметрів (таблиця 5.2) [21]:

Таблиця 5.2 - Основні параметри ПП

Назва параметра

Позначення параметра

Одиниця виміру

Значення

гірше

середнє

Краще

Розмір модуля, що загружається

X1

Мб

500

100

20

Час для завантаження даних із файлу

X2

Сек

0.1

0.01

0.001

Наочність інформації, що відображається

X3

Доля одиниці

1

80

100

Коефіцієнт використання ПП

X4

Доля одиниці

10

40

100

По даним цієї таблиці будуємо бальні оцінки основних параметрів програмного продукту. Гіршому значенню відповідає бальна оцінка 1, середньому - 5, кращому - 10 (рис.5.2 - 5.6).

Рисунок 5.2 - Бальна оцінка розміру модуля, що загружається

Рисунок 5.3 - Бальна оцінка час для завантаження даних із файлу

Рисунок 5.4 - Бальна оцінка коефіцієнту наочність інформації, що відображається

Рисунок 5.5 - Бальна оцінка коефіцієнт використання ПП

На основі рішення експертної комісії, в склад якої входять 4 спеціалістів, кожному одиничному показнику якості продукту ставиться у відповідність ранг. Найбільш важливому (на думку експерта) ставиться ранг 1, менш важливому 2 - і т.д.

Розрахуємо коефіцієнт конкордації (узгодженості) експертних оцінок (таблиця 5.3).

Таблиця 5.3 - Результати ранжування параметрів

Позначення параметра

Назва параметра

Одиниця виміру

Ранг параметра по оцінкам експертів

Сума рангів

Ri

Відхилення

Di

D2i

1

2

3

4

X1

Розмір модуля, що загружається

КБ

1

2

1

1

5

-5

25

X2

Час для завантаження даних із БД

Сек

4

3

3

4

14

4

16

X3

Наочність інформації, що відображається

Доля одиниці

3

4

4

3

14

4

16

X4

Коефіцієнт використання ПП

Доля одиниці

2

1

2

2

7

-3

9

10

10

10

10

40

0

66

Обчислюємо суму рангів кожного параметра:

, для (5.1)

де rij - ранг і-го параметра, визначений j-м експертом, N - кількість експертів, n - кількість параметрів.

Перевіримо значення суми рангів, яке повинно дорівнювати

(5.2)

Дійсно:

Середня сума рангів:

(5.3)

Відхилення суми рангів кожного параметра від середньої суми рангів:

(5.4)

Сума відхилень по всім параметрам має дорівнювати 0, що виконується:

Знаходимо квадрат відхилень по кожному з параметрів та суму квадратів відхилень всіх параметрів.

Тепер знайдемо коефіцієнт узгодженості (конкордації):

(5.5)

(5.6)

(5.7)

Порівнюючи отриманий коефіцієнт W=0,825 з нормативною величиною (яка для засобів обчислювальної техніки та ПП дорівнює 0.67) отримаємо, що (0,825>0,67), тобто дані заслуговують на довіру. Можемо користуватися результатами експертного опитування для подальших розрахунків.

Вагу параметрів будемо визначати методом розстановки пріоритетів на основі рішення експертної комісії (таблиця 5.4).

Значення коефіцієнтів:

(5.8)

де параметри, що порівнюються

Використовуючи значення (див. табл.4) будуємо квадратну матрицю А= ||.

Таблиця 5.4 - Експертне порівняння параметрів

Параметри

Підсумкова

Чисельне

1

2

3

4

оцінка

Значення

X1, X2

>

>

>

>

>

1.5

X1, X3

>

>

>

>

>

1.5

X1, X4

>

>

<

>

<

0.5

X2, X3

<

<

<

<

<

0.5

X2, X4

<

<

<

<

<

0.5

X3, X4

>

<

<

>

<

0.5

Вагомість кожного параметра будемо обчислювати за формулами:

(5.9)

(5.10)

(5.11)

(5.12)

де - відносна оцінка i-го параметра;

- вагомість i-го параметра за результатами оцінок всіх експертів, - числове значення оцінки;

- відносна оцінка і-го параметра на другому кроці;

- вагомість i-го параметра за результатами оцінок всіх експертів на другому кроці.

,

,

,

,

,

Результати розрахунків (таблиця 5.5):

Таблиця 5.5 - Розрахунок пріоритету параметрів

Параметри

Параметри Xj

2-й крок

Xi

X1

X2

X3

X4

Bi

ji

Bi|

ji |

X1

1.0

1.5

1.5

0.5

5.5

0.343

21.25

0.3512

X2

0.5

1.0

0.5

0.5

2.5

0.153

9.25

0.1528

X3

0.5

1.5

1.0

0.5

3.5

0.212

12.25

0.2024

X4

1.5

1.5

1.5

1.0

4.5

0.282

17.75

0.2933

Сума

16

1

60.5

1

Перевіримо, чи варто нам виконувати подальші ітерації:

(5.13)

, що складає 5% відхилення від попереднього .

Відносна оцінка , отримана на останній ітерації розрахунків, вважається коефіцієнтом вагомості () i-того параметра. Згідно з нею судять про пріоритетність параметра.

5.4 Аналіз варіантів реалізації функцій

На основі порівняльного аналізу реалізації функцій, їх переваг та недоліків, коефіцієнтів вагомості параметрів, залишимо наступні 3 варіанти реалізації функцій:

1) F1a + F2a + F3б + F4а;

2) F1a + F2б + F3б + F4а;

3) F1а + F2в + F3б + F4а;

Визначимо рівень якості обраних розв'язків за формулою:

(5.14)


Подобные документы

  • Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.

    дипломная работа [1,2 M], добавлен 26.02.2014

  • Дослідження алгоритму роботи та коду програми. Оцінка методом "чорного ящика". Тестування і налагодження розробленої програми на алгоритмічній мові високого рівня. Оцінювання якості програмного забезпечення за об’єктно-орієнтованими метриками зв’язності.

    курсовая работа [143,1 K], добавлен 11.03.2021

  • Аналіз програмного забезпечення для проведення тестування в комп’ютерному класі. УТК (Універсальний тестовий комплекс). Асистент 2. OPEN TEST. Порівняння програм для тестування. Організація інтерактивного тестування за допомогою програми OPEN TEST.

    реферат [30,3 K], добавлен 19.09.2008

  • Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.

    практическая работа [1,8 M], добавлен 05.06.2014

  • Технічні характеристики обчислювальної техніки Монастирищенської центральної районної лікарні. Прикладне і основне програмне забезпечення закладу. Обґрунтування доцільності розробки програмного продукту для тестування молодшого медичного персоналу.

    отчет по практике [2,1 M], добавлен 02.04.2014

  • Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.

    дипломная работа [3,5 M], добавлен 22.07.2015

  • Характеристика програмного забезпечення, його мета та призначення, функціональні особливості. Вимоги до розробки та її джерела. Огляд алгоритмів генерації псевдовипадкових послідовностей. Дослідження методів тестування та оцінки стійкості паролів.

    дипломная работа [2,0 M], добавлен 22.10.2012

  • Програма автотестування (POST). Призначення діагностичного програмного забезпечення, категорії програм діагностики. Використання утилітів пошуку несправностей, неполадок і оптимізації. Проведення тестування комп’ютера за допомогою програми CHECKІT.

    лабораторная работа [13,6 K], добавлен 03.10.2010

  • Дослідження вбудованого акселерометра, розробка алгоритму автоматичного підрахунку фізичнх вправ і його практична реалізація у вигляді програмного продукту для смартфонів iPhone. Налаштування сервера. Поширення програмного продукту, його тестування.

    дипломная работа [2,6 M], добавлен 14.12.2012

  • Огляд засобів створення програмного забезпечення сучасних мікроконтролерів. Аналіз методів та налаштувань контролерів. Засоби генерації коду налаштувань. Детальний опис розробки програми генератора налаштувань ядра Cortex M4 та методики її тестування.

    курсовая работа [1,3 M], добавлен 20.05.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.