Розробка пакету автоматизованого тестування програмних застосувань на платформі 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 з нормативною величиною Wн (яка для засобів обчислювальної техніки та ПП дорівнює 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