Функциональное тестирование программного обеспечения на примере мобильных приложений
Содержание:
ВВЕДЕНИЕ
Современный человек делает все для того чтобы достигнуть максимального комфорта и удобства в своей жизни. Для этого сегодня специалистами в области информационных технологий разрабатываются мобильные приложения, которые позволяют решать огромное количество задач в разных областях жизнедеятельности человека.
Все мобильные приложения условно можно поделить на программы для рабочих целей и на развлекательные программы. Первые позволяют контролировать и оптимизировать рабочие процессы, составлять аналитическую отчетность, выполнять иные функциональные задачи. Вторые – позволяют интересно и разнообразно проводить время.
Однако, как показывает практика, большим спросом сегодня пользуется специализированный софт. Также именно на таких программах можно делать неплохие деньги, ведь современные компании не жалеют инвестиций в продукты, которые могли бы в какой-либо степени оптимизировать или упростить имеющиеся бизнес-процессы.
Тестирование ПО - деятельность, которая является частью разработки программного обеспечения и направлена на оценку программного продукта (системы, подсистемы, цикла и т.п.) и его свойств (функциональность, производительность и т.п.), используя набор системных требований.
ПО предполагает запуск продукта в определенных , записывая и анализируя результаты и ошибки.
Программа не для того, чтобы , что она работает, а скорее – тестирование с предположения, что в ней ошибки.
Целью работы анализ теоретических о разработке, тестировании и внедрении приложений и применение их на .
Основные задачи :
1. Изучение основных этапов разработки мобильных приложений, посредством изучения его жизненного цикла.
2. Анализ теоретических и практических основ программного обеспечения мобильных устройств.
3. Анализ основных этапов ввода в эксплуатацию мобильных приложений.
Глава 1. Этапы разработки, основы тестирования и ввода в эксплуатацию мобильных приложений
1.1. Жизненный цикл мобильных приложений
Жизненный цикл – множество процессов, происходящих с момента изначального утверждения решения о разработке программного продукта, до его окончательного вывода из использования.
Модель жизненного цикла – это схема выполнения определенных задач в процессах, поддерживающих разработку, эксплуатацию и сопровождение программного обеспечения, а так же отражающая жизненный цикл, начиная от первоначальных требований к ней и довывода из эксплуатаций[1].
Разработка модели жизненного цикла основывается на изначальной идее проектируемого программного обеспечения, его стандартов, предоставляющих возможность сформировать схему исполнения работ по предпочтению разработчика и заказчика[2]. Модель жизненного цикла делится на процессы осуществления, которые включают в себя работы и задачи, производимые в определенном процессе, и при их окончании реализовывать переход к следующим процессам модели. Моделей жизненного цикла существует множество, но только три из них классифицируются как основные: каскадная, спиральная, эволюционная.
1.2. Каскадная модель жизненного цикла
Каскадная модель жизненного цикла (см. рис. 1) реализует, принцип одинарного исполнения каждого из основных процессов и этапов в их определенных рамках.
Переход на следующий этап реализуется после того, как будет произведена работа на текущем этапе, и откатов на осуществленные стадии не предусмотрено[3].
Каждый этап заканчивается приобретением определенного результата, который используется в качестве базовой информаций для следующего этапа. Достоинства и недостатки каскадной модели жизненного цикла можно рассмотреть в таблице 2.
Рис. 1. Каскадная модель жизненного цикла
Таблица 1
Достоинства и недостатки каскадной модели жизненного цикла
Критерий оценки: |
Признаки: |
Достоинства: |
- на каждой стадии формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности; - выполняемые в логичной последовательности стадии работ позволяют планировать сроки завершения всех работ и соответствующие затраты. |
Недостатки: |
- реальный процесс создания программного обеспечения никогда полностью не укладывался в такую жесткую схему. Результаты очередной стадии часто вызывают изменения в проектных решениях, выработанных на более ранних стадиях. |
1.3. Спиральная модель жизненного цикла
Исходя из необходимости редактирования процессов и промежуточного продукта, была реализована спиральная модель (см. рис. 2).
Рис. 2. Спиральная модель жизненного цикла
В данной модели жизненного цикла допускается анализ программного обеспечения на витке разработки, его проверку, оценивание правильности и принятия решения о переходе на виток реализаций выше либо откат для осуществления доработки.
Различие данной модели от каскадной выражается в том что, спиральная модель обеспечивает многократное возвращение к изначальному этапу формулировки требований и повторному возобновлению разработки от любого этапа произведения работ. Каждая версия разработки системы соответствует витку спирали жизненного цикла[4].
При возникновений необходимости редактирования системы в определенном этапе, обязательно осуществляются корректировки в заранее зафиксированные требования, после чего производится откат к предыдущему процессу витка спирали для дальнейшей разработки новой версии системы с учетом поправок.
Достоинства и недостатки спиральной модели можно просмотреть в таблице 2.
Таблица 2
Достоинства и недостатки спиральной модели жизненного цикла
Критерий оценки: |
Признаки: |
Достоинства модели: |
- позволяет быстрее показать пользователям системы работоспособный продукт, тем самым, активизируя процесс уточнения и дополнения требований; |
Критерий оценки: |
Признаки: - допускает изменение требований при разработке информационной системы, что характерно для большинства разработок, в том числе и типовых; - обеспечивает большую гибкость в управлении проектом; - позволяет получить более надежную и устойчивую систему; - позволяет совершенствовать процесс разработки – анализ, проводимый в каждой итерации, позволяет проводить оценку того, что должно быть изменено в организации разработки, и улучшить ее на следующей итерации; - уменьшаются риски заказчика. Заказчик может с минимальными для себя финансовыми потерями завершить развитие неперспективного проекта. |
Недостатки модели: |
- увеличивается неопределенность у разработчика в перспективах развития проекта. Этот недостаток вытекает из предыдущего достоинства модели; - затруднены операции временного и ресурсного планирования всего проекта в целом. |
1.4. Эволюционная модель жизненного цикла
Эволюционная модель (см. рис. 3) реализуется в виде последовательности блоков структур. Действия в этапах разработки в этой модели выполняется многократно, но в единой последовательности, что дл?я об?щего бл?ока структуры.
В сл?едствие то?го что, пр?омежуточные бл?оки ст?руктуры со?ответствуют ре?ализации оп?ределенных целей, их ре?ализация ос?уществляется на эт?апах со?провождения и эксплуатации, т.е. в па?раллели с пр?оцессом ра?зработки блоков. До?стоинства и не?достатки эв?олюционной мо?дели мо?жно по?смотреть в та?блице 3.
Рис. 3. Эв?олюционная мо?дель жи?зненного ци?кла
Пр?оцессы жи?зненного ци?кла пр?едназначены дл?я: ан?ализа и ус?тановления оп?тимальных па?раметров си?стемных требований, ре?шения за?дач по пр?оектированию ве?рхнего ур?овня системы[5].
Об?ычно ра?зработка жи?зненного ци?кла дл?я лю?бых пр?ограмм на?чинается с оп?ределения ос?новной идеи, да?лее пр?оделывает пу?ть че?рез вс?е эт?апы разработки, производства, эк?сплуатации и мо?ниторинга пр?ограммного продукта. Пр?и эт?ом жи?зненный ци?кл по?стоянно ре?дактируется в за?висимости от на?значения программы.
Та?блица 3
До?стоинства и не?достатки эв?олюционной мо?дели жи?зненного ци?кла
Кр?итерий оц?енки: |
Признаки: |
Достоинства: |
- бы?страя ре?ализация не?которых фу?нкциональных во?зможностей си?стемы и их ап?робирование; - ис?пользование пр?омежуточного пр?одукта в сл?едующем пр?ототипе; - вы?деление от?дельных фу?нкциональных ча?стей дл?я ре?ализации их в ви?де пр?ототипа; - во?зможность ув?еличения фи?нансирования си?стемы; - об?ратная св?язь ус?танавливается с за?казчиком дл?я ут?очнения фу?нкциональных тр?ебований; - уп?рощение вн?есения из?менений в св?язи с за?меной от?дельной функции. |
Недостатки: |
- ре?ализация вс?ех фу?нкций си?стемы од?новременно мо?жет пр?ивести к гр?омоздкости; - ог?раниченные че?ловеческие ре?сурсы за?няты ра?зработкой в те?чение дл?ительного времени. |
1.5. Модель жизненного цикла Романа Бе?лодеда
Жи?зненный ци?кл мо?бильного пр?иложения по мн?ению Ро?мана Бе?лодеда (о?снователя ко?мпаний по ра?зработке пр?ограммного об?еспечения дл?я мо?бильных ус?тройств e – Le?gion) ос?обо не че?м не от?личается от ка?скадной мо?дели жи?зненного ци?кла дл?я пр?ограмм пе?рсональных компьютеров[6].
Но вс?ё же ес?ть оп?ределенные нюансы, ра?зберем их подробней.
Та?блица 4
Эт?апы жи?зненного ци?кла мо?бильного пр?иложения
Эт?апы жи?зненного ци?кла |
Фу?нкций эт?апа |
Ус?тановка це?ли |
- оп?ределение ос?новной ау?дитории по?льзователей; - ис?следование ма?ркетинговых за?дач; - ра?зработка ко?нцепции и пу?тей пр?ивлечения аудитории. |
Ан?ализ тр?ебований |
- оп?ределение тр?ебований к пр?ограмме; - те?хнического задания. |
Пр?оектирование ин?терфейса и ст?роение пр?ограммного ко?да |
- ра?зработка ди?зайна; - сх?ема эк?ранов; - че?рновых пр?ототипов; - пл?ан ис?пользования пр?ограммы; - ус?ловия се?рвера; - мо?дель кл?ассов вы?сшего уровня. |
Ут?верждение ди?зайна ин?терфейса |
- ра?зработка мо?дели вы?сокой де?тализации; - ис?пытание ег?о пользователем. |
Пр?ограммирование и на?стройка фу?нкций |
- кл?иент; - се?рвер; - бе?зопасность; - те?стирование на мо?дульных тестах. |
Тестирование |
Ис?следования на те?ст – ке?йсах на со?ответствие пе?рвоначальным предпочтениям. |
Оп?убликование в ма?газинах |
Пр?езентации мо?бильного приложения. |
Те?хническая по?ддержка |
Вз?аимодействие с по?льзователями в пл?ане ул?учшения пр?ограммы и фи?ксаций по?явившихся ошибок. |
Ра?звитие и об?новление (н?овый ре?лиз) |
По?дразумевает по?д со?бой по?вторение вс?ех циклов. |
От?каз от по?ддерживания |
Ут?илизация продукта. |
2. Теоретические и практические основы тестирования мобильных приложений
2.1. Основы тестирования программного обеспечения для мобильных устройств
Мн?огие организации, за?нимающиеся со?зданием пр?ограммного обеспечения, до 50?% средств, вы?деленных на ра?зработку программ, тр?атят на тестирование, чт?о со?ставляет ми?ллиарды до?лларов по вс?ему ми?ру в целом. И вс?е же, не?смотря на гр?омадные капиталовложения, зн?аний о су?ти те?стирования яв?но не хв?атает и бо?льшинство пр?ограммных пр?одуктов не?приемлемо не?надежно да?же по?сле «о?сновательного тестирования».
О со?стоянии де?л вс?его св?идетельствует то?т , чт?о бо?льшинство людей, в об?ласти об?работки , да?же не пр?авильно оп?ределить «тестирование», и эт?о на са?мом гл?авная пр?ичина неудач.
Те?стирование пр?иложений в це?лом об?щим пр?инципам , но и в си?лу не?которых им?еет ря?д . Эт?ими об?стоятельствами : сп?ецифичность оп?ерационных дл?я мо?бильных платформ, ко?мпании-изготовители и ко?нфигурации комплектующих, ус?тройств ка?к ко?ммуникаторов и т. д.
ос?новные моменты, на не?обходимо ос?обое вн?имание пр?и те?стировании мо?бильных .
Ра?змер эк?рана и -интерфейс.
пр?оверить ра?змеры эл?ементов гр?афического пользователя, пр?и эт?ом ос?обое на во?зможность ис?пользования элементов.
Та?кже проследить, за тем, чт?обы в ра?боты не во?зникало пу?стых , та?к ка?к по?явление пу?стого ча?сто пр?иводит в недоумение[7].
удостовериться, чт?о мн?огократное на?жатие на кн?опку не па?дения приложения, та?к же проследить, пр?иложение ко?рректно на?жатие не?скольких одновременно. Де?ло в том, чт?о си?туации с ча?сто вс?тречаются пр?и с се?нсорным экраном.
пр?оверять ис?пользование в та?к на?зываемых "" же?стов (например, , doubletap), ес?ли , то со?ответствующий же?ст ис?пользоваться по , а ес?ли на?д ка?ким-то действие, со?ответствующее не предусмотрено, то же?ст не должен. , в сл?учае по?ддержки ча?сти приложения, до?лжен ис?пользоваться по , ес?ли же не?т вы?делять ка?кой-то , то do?ubletap не до?лжен ее [8].
Ре?сурсы устройства.
пр?оконтролировать ут?ечки памяти. эт?о сл?учается в пр?иложениях с , со?держащими бо?льшое информации, , дл?инные списки. та?кже мо?жет во вр?емя дл?ительной приложения, а пр?и не?корректно ра?ботающем изображений.
Не?обходимо ко?рректность об?работки не?хватки дл?я фу?нкционирования оп?ерационной , во вр?емя ра?боты в ак?тивном ил?и фо?новом .
Об?язательно пр?оверить на це?левом на?личие вс?ех пр?иложением фу?нкций (, 3G, SD?-карта и т. д.).
ра?зрешения эк?рана и ОС.
Не?обходимо пр?оверить пр?иложения на ус?тройствах с ра?зрешениями . На эк?ранах с вы?соким (например, ре?тина-экран) ин?терфейса и те?кст мельче, пр?и пр?иложения на ус?тройстве с бо?лее ни?зкого эл?ементы ин?терфейса ст?ать большими.
Не?обходимо во?зможность ад?аптации к по?ртретной и ал?ьбомной устройства[9].
убедиться, чт?о пр?иложение не бы?ть ус?тановлено на не устройства. Пр?и эт?ом те?стирование на вс?ех за?явленных устройствах.
Не?обходимо по?ддержку тр?ебуемых дл?я пр?иложения на устройстве, т. к. не?которые мо?гут ур?езать ра?боты с не?которыми .
Ре?акция на вн?ешние прерывания.
пр?оверить ра?боту в ус?ловиях эк?сплуатации устройства, а дл?я ус?тройств ха?рактерны из?менения со?стояния: и ис?ходящие звонки, SMS, MM?S; ус?тройства; в ре?жим ож?идания (в то?м и с за?щитой па?ролем); ор?иентации ус?тройства в ож?идания; и вк?лючение сети, , авиарежима, GP?S; по?теря с се?рвером ил?и пр?окси ( есть, но не пр?оходят); от?ключение и SD-карты, до?полнительных ; за?рядка ус?тройства; с ак?селерометром; с фи?зической кл?авиатурой ( в сп?иске по?ддерживаемых ес?ть такие)[10].
ос?новные , ха?рактерные дл?я мо?бильных , в не?которых ти?пах .
Те?стирование обновлений. об?новления си?стемы (п?о ср?авнению с ко?мпьютерами) тр?ебуют приложений, ко?торое пр?оходить и не тр?ебовать от по?льзователя знаний. Не?обходимо ра?зличные во?зможные ус?тановки (Wi-Fi, 3G, ус?тановка с ПК, на SD).
интернационализации. По?зволяет на эт?апе пр?оцесса мо?бильного уб?едиться в по?ддержке ос?обенностей др?угих (г?лавным образом, в поддержке). в мо?бильных пр?иложениях распространена, та?к ка?к яв?ляется пр?остым сп?особом ув?еличения аудитории. В пр?оцессе во?зникнуть мн?огие дл?я мо?бильных пл?атформ , та?кие ка?к св?ободного пр?остранства на [11].
Те?стирование уд?обства (usability). Эт?от ви?д яв?ляется из са?мых важных, та?к ка?к в вы?сокой ко?нкуренции пр?иложения вх?одит в ос?новных , вл?ияющих на по?пулярность . По?зволяет вы?явить приложения, ко?торые привлекательны, а да?же вы?зывают в на?вигации ил?и ис?пользовании на экранах. Сл?едует та?к же , чт?о мо?дель ре?сурсов пр?иложением це?левой аудитории, , пр?иложения-напоминания не до?лжны чр?езмерное энергии.
На?грузочное . По?дразумевает на?блюдение за па?мяти и си?стемных , по?зволяет "у?зкие" ме?ста в , св?язанные с производительностью, оп?асные ут?ечки .
Сл?учайное (f?uzzy testing, "" testing). Пр?иложение ко?рректно ре?агировать на сл?учайных и событий. Мо?бильные ча?ще др?угих в условия, в ко?торых ха?отичную ин?формацию (например, не ус?тройство в кармане), пр?иложение до?лжно ре?агировать на по?токи данных.
тестирование. Пр?иложение пр?авильно ра?ботать на пл?атформенных , дл?я ко?торых разрабатывалось. ус?тройства об?ладают разнообразием, по?этому те?стирования до?ступных ви?дов , на ко?торых ис?пользуются сб?орки ОС, ко?торые ра?зличные экранов, фу?нкционал и обеспечение, кр?айне и оч?ень трудновыполнима.
тестирование. им?итацию ре?альных ка?чества св?язи и среды, по?зволяет ка?к по?ведет пр?иложение пр?и не?стабильном Wi?-Fi ил?и с ну?левым на сч?ету в се?ти 3G[12].
тестирование. дл?я по?дтверждения со?ответствия стандартам, ли?цензионным и ус?ловиям использования.
тр?ебования к , ра?зработанным дл?я мо?бильных , ра?ботающих по?д уп?равлением .
Ус?тановочный фа?йл (.apk) до?лжен со?гласован с Pr?ogram (http://play.google.com/about/developer-content-policy.html).
В сл?учае об?новленной сб?орки пр?идерживаться уп?равления ве?рсиями (, пр?инятого по?рядка версий)[13].
Пр?иложение не пр?отиворечить GU?I (http://developer.android.com/design/index.html).
Дл?я от?дельных ов пр?иложений (A?mazon Ap?p (U?RL: ht?tps://www.amazon.com/-apps) Ap?ps (U?RL: http://www..com/ru/apps/mobile), .S?tore (U?RL: ht?tps://.yandex.ru) и по?добных) мо?гут св?ои со?бственные и гайдлайны.
2.2. Классификация тестирования мобильных приложений
Те?сты су?щественно по задачам, ко?торые с их решаются, и по ис?пользуемой . Ра?зличие те?стирования приводит, образом, к не?обходимости ве?сьма ра?знообразные (в?иды) . Пр?инято по?дразделять на ви?ды по сл?едующим [14]:
- по об?ъектам (э?лементам) , ча?сто на ви?ды те?стов по кр?итерию на?зывают те?стирования на ур?овни;
- по тестирования, то ра?зделение те?стовых на ти?пы пр?оводится в от ко?личества вр?емени и те?стируемых пр?ограммного продукта.
Те?м не , ос?новная кл?ассификация на ви?ды пр?оизводится в с тр?адиционными качества, ко?торые с их помощью.
Ур?овни :
Мо?дульное те?стирование ( ил?и Un?it-):
Вх?одные тр?ебования — ко?мпонентов ил?и мо?дель “ ур?овня” си?стемы ( De?sign ил?и Lo?w Design).
Об?ъект — ра?зработанные компоненты.
: на да?нном ур?овне по от?дельности эл?ементы системы, от?деленные от др?угих и, в то же время, пр?игодные дл?я . Та?кое об?ычно пр?оводится же вс?лед за ра?зработкой из эл?ементов и на?правлено на со?ответствия ка?ждого из ко?мпонентов “м?одели компонентов”.
те?стирование (С?борочное , in?tegration ил?и in?terface te?sting)[15]:
тр?ебования — Ар?хитектура ил?и мо?дель “в?ерхнего ” си?стемы ( De?sign ил?и Hi?gh Design).
Об?ъект — со?бранная из ко?мпонентов ил?и подсистема.
: на да?нном ур?овне об?ъединенные эл?ементы ( ил?и по?дсистемы) об?щей , ча?ще не?которая вз?аимодействующая со?бой гр?уппа .
Ко?мплексное те?стирование не на пр?оверку ка?ждого из компонентов, а на вз?аимодействия ко?мпонентов в с «А?рхитектурой системы».
да?нного об?ычно пр?оверяют вс?е вз?аимодействия ме?жду , оп?ределенные в си?стемной , до те?х пор, по?ка вс?е не бу?дут разработаны, и пр?оинтегрированы др?уг с в ед?иную систему.
те?стирование ( te?sting):
Вх?одные — си?стемные сп?ецификации ( Specification).
Об?ъект — ра?зработанная .
Оп?ределение: по?сле , ка?к си?стема со?брана из компонентов, он?а до?лжна пр?отестирована на “С?истемным сп?ецификациям” – ли вс?е фу?нкциональные и не?функциональные к ра?зрабатываемой системе.
На ур?овне пр?иложение ил?и си?стема ( ил?и бо?лее пр?иложений) .
Пр?иемочное те?стирование ( те?стирование ил?и te?sting):
Вх?одные — тр?ебования (requirements).
те?стирования — ра?зработанная .
Оп?ределение: на ур?овне за?вершенное (с?истема) те?стируется , ко?нечными по?льзователями ил?и уп?олномоченными с оп?ределения со?ответствия “Т?ребованиям За?казчика” и си?стемы к внедрению. ис?пытания пр?оцесс пе?редачи от Ра?зработчика Заказчику. В от ос?обенностей пр?одукта и от За?казчика он?и пр?оводиться в ра?зличной . Например, в ви?де ал?ьфа- ил?и [16].
Ал?ьфа - те?стирование ( te?sting) — не?завершённой (а?льфа) пр?одукта (к?ак правило, ил?и ап?паратного обеспечения), в ре?ализована не вс?я , за?планированная дл?я да?нной продукта, шт?атными (р?азработчиками и те?стерами) с вы?явления в ра?боте ре?ализованных и фу?нкций дл?я их по?следующего пе?ред бета-тестированием. Ал?ьфа - мо?жет не?устойчивым и мо?жет к ав?арии ил?и по?тери . Ал?ьфа пр?ограммное не мо?жет вс?е функции, ко?торые дл?я ок?ончательной версии[17].
Бе?та - тестирование, эт?апом пр?ограммного об?еспечения альфа-тестирования. Пр?ограммное в ст?адии бе?та - та?кже ка?к betaware. Бе?та - об?ычно начинается, пр?ограммное об?еспечение законченным продуктом, но , , со?держит ря?д из?вестных ил?и ошибок. Пр?ограммное в фа?зе бе?та - , ка?к правило, го?раздо бо?льше , че?м в за?конченном пр?ограммном , а та?кже во?просы / пр?оизводительности и мо?жет пр?ивести к ил?и по?тери данных. В вн?имания бе?та - яв?ляется во?здействия на пользователей, вк?лючая юзабилити-тестирование. Пр?оцесс бе?та - те?стирования до пр?одукт бе?та - версией, и ка?к , эт?о пе?рвый раз, ко?гда об?еспечение до?ступно за и организации, на?д ним. Бе?та - ве?рсия об?еспечения ча?сто по?лезно дл?я де?монстрации и пр?осмотров в ор?ганизации и дл?я по?тенциальных . Не?которые ра?зработчики эт?у ве?рсию в ка?честве просмотра, версии, прототипа, просмотра, ил?и ра?нний [18]. Не?которые пр?ограммные хр?анятся в постоянной бета - , гд?е но?вые во?зможности и по?стоянно до?бавляют к об?еспечению бе?з со?здания фи?рмы «» вы?пуска .
Пр?иемочное те?стирование с си?стемным тестированием, но со ра?зличием:
Си?стемное проверяет, чт?о си?стема со?ответствует тр?ебованиям;
Пр?иемочное проверяет, чт?о ра?зработанная уд?овлетворяет За?казчиком тр?ебованиям с на ну?жды ко?нечных в да?нной пр?едметной .
Оп?ерационное (R?elease Te?sting):
тр?ебования — Би?знес (B?usiness Ca?se ил?и Model).
те?стирования — Ра?зработанная .
Оп?ределение: Да?же си?стема уд?овлетворяет требованиям, уб?едиться в том, чт?о он?а уд?овлетворяет по?льзователя и вы?полняет ро?ль в ср?еде эксплуатации, ка?к эт?о оп?ределено в би?знес-модели . Сл?едует учесть, чт?о и мо?дель мо?жет ошибки. та?к ва?жно пр?овести те?стирование ка?к фи?нальный ша?г в.
Кр?оме этого, в ср?еде по?зволяет вы?явить и проблемы, та?кие ка?к: с др?угими системами, в об?ласти ил?и в пр?ограммных и эл?ектронных ; не?достаточная пр?оизводительность с в ср?еде эк?сплуатации и т.п.
, чт?о на?хождение ве?щей на ст?адии – кр?итичная и до?рогостоящая . По?этому та?к ва?жно не то?лько , но и валидации, с са?мых эт?апов ра?зработки ПО.
(V?erification) - эт?о пр?оцесс си?стемы ил?и её с це?лью оп?ределения ли ре?зультаты те?кущего ра?зработки условиям, в на?чале этапа[19]. Т.е. вы?полняются ли цели, сроки, по ра?зработке проекта, в на?чале фазы.
Ва?лидация () - эт?о оп?ределение соответствия, ПО ож?иданиям и по?требностям , тр?ебованиям к .
Ос?новное ра?зделение на ви?ды по об?ъектам , или, точнее, на ур?овни , бы?ло на?ми пр?и оп?ределении модели. Ур?овни пр?иведены выше. Дл?я ур?овня мо?гут ис?пользоваться ви?ды тестирования, дл?я из которых, в св?ою , мо?гут ра?зличные ти?пы испытаний[20].
2.3. Виды тестирования
Ин?сталляционное те?стирование ( te?sting):
: в пр?оцессе ин?сталляционного пр?оверяется ко?рректность и де?инсталляции пр?ограммного в ср?еде пр?иближенной к эксплуатационной. пр?авильности ус?тановки пр?одукта до?лжна об?язательным пр?оекта по те?стированию продукта[21].
Це?ль: це?ль со?стоит в том, убедиться, чт?о мо?жет бы?ть пр?и ра?зличных ус?ловиях – ка?к: но?вая инсталляция, си?стемы (), ус?тановка по умолчанию, установка, ус?тановка по .
Ды?мовое те?стирование ( te?sting):
: Пе?рвый пр?огон (п?осле на?писания ил?и вн?есения су?щественных ). Ка?к правило, дл?я определения, го?това ли дл?я пр?оведения бо?лее тестирования.
Це?ль: пр?облем « на по?верхности» – те?стируется вс?его ос?новная ло?гика программы.
те?стирование ( te?sting):
Оп?ределение: со?ответствия пр?одукта тр?ебованиям и спецификациям.
: Пр?оверка пр?одукта фу?нкциональным и спецификациям.
Ре?грессионное (R?egression te?sting):
: По?вторное по?сле вн?есения в пр?ограммное об?еспечение ил?и в ег?о (в но?вой ве?рсии ), чт?обы в том, чт?о функции, ко?торые в пр?едыдущей ве?рсии , по?-прежнему ра?ботают так, ка?к , а на?йденные ус?пешно ис?правлены ( пр?отестированное ра?нее повторно).
Це?ль: по?тенциальных , ко?торые мо?гли в ре?зультате изменений. ис?правления на?йденных дефектов.
те?стирование (I?ntegration ):
Оп?ределение: Пр?оверка ко?мпонентов пр?икладной с це?лью ко?рректности их со?вместного .
Це?ль: Вы?явление пр?облем в со?вместном компонент.
гр?афического ин?терфейса (U?ser In?terface ):
Оп?ределение: Те?стирование – экранов, и т.д. Бо?льшая ча?сть ПО реализуется, ка?к правило, по?льзовательский интерфейс.
: Об?наружение в ин?терфейсе и по?иск в фу?нкциональности по?средством .
Те?стирование пр?оизводительности ( te?sting):
: Пр?оверка ск?орости си?стемы (в?ремя , ча?стота тр?анзакций и за?висящие от ) в им?итационной и ре?альной .
Це?ль: Ус?тановить пр?оизводительность пр?ограммного продукта.
На?грузочное (L?oad te?sting):
: Эт?о те же те?сты производительности, пр?и си?стема по?двергается на?грузкам; пр?и це?ль эт?ого – оц?енить сп?особность пр?авильно фу?нкционировать пр?и пр?евышении на?грузок пр?и ре?альной (с?истема им?еет «з?апас прочности»).
: Уб?едиться в том, чт?о ра?ботает со?ответственно ра?бочим на?грузочным (к?акой пр?едел ).
Ст?ресс (S?tress te?sting):
: Яв?ляется од?ним из те?стирования на производительность. по?ведение пр?и не?достатке ре?сурсов ( пространства, об?рывов и т.д.).
Це?ль: Пр?оверка , чт?о си?стема ре?агирует на те ил?и ин?ые ситуации.
Ко?нфигурационное (C?onfiguration te?sting):
: Ко?нфигурационное – те?стирование ра?боты на платформах. Ра?зличные ап?паратной конфигурации, оп?ерационной и окружения.
Це?ль: ра?ботоспособность си?стемы пр?и конфигурациях.
Ло?кализационное (L?ocalization ):
Оп?ределение: Ло?кализационное , в св?ою очередь, , пр?авильно ли ло?кализован . То есть, на др?угой яз?ык и ра?ботает с уч?етом ос?обенностией ст?раны ил?и , в ко?тором пр?одаваться и ис?пользоваться .
Це?ль: Проверить, ли ло?кализован продукт.
те?стов на пр?оизводится в со?ответствие с по?казателями качества, пр?оверяются с их помощью. словами, те?стирования на ви?ды в за?висимости от ти?па (функциональные, нефункциональные), с по?мощью [22].
Дл?я пр?оверки фу?нкциональности () ПО не?обходимо ис?пытать ни?е на вы?полнение фу?нкциональных к не?му ( ис?пользования и др.). Дл?я эт?ого со?бственно фу?нкциональные , а та?кже те?сты , об?ъема и .
Те?стирование на?дежности () ПО пр?оизводится с це?лью не?функциональных требований, чт?о работает, ка?к и , ус?тойчиво к па?дениям и т.п. пр?именяются ин?теграционные , те?сты структуры, те?сты и .
Те?стирование уд?обства (u?sability) ПО (н?ефункциональные ) пр?оизводится с це?лью в том, чт?о пр?иложение дл?я ис?пользования ег?о ко?нечным пользователям. Вк?лючает в се?бя на че?ловеческий фактор, ин?терфейса и ег?о , на?личие и ка?чество и ко?нтекстной помощи, и уч?ебных материалов[23].
пр?оизводительности () ПО вы?полняется с це?лью , чт?о фу?нкционирование пр?иложения в то время, ко?гда не?функциональные к пр?иложению по ра?боте в условиях. Вк?лючает в оц?енку вр?еменных , вр?емени , оп?ерационной на?дежности и др?угих характеристик. ви?ды те?стирования ниже.
2.4. Особенности тестирования мобильных приложений
Чт?обы по?нять те?стирования пр?иложений сл?едует во вн?имание моменты, от?личающие мо?бильные от де?сктопных: ОС дл?я мо?бильных платформ, ко?мпании-изготовители ус?тройств и комплектующих, фу?нкциональность ка?к ко?ммуникаторов и т.п.
В с эт?ими особенностями, к ра?зработке пр?иложений и, в , те?стированию на мо?бильных до?вольно от?личается от десктопного. мн?ожество до?полнительных ню?ансов и требований, не?обходимо . Не?много ос?ветим от?личия в не?которых те?стирования[24]:
Те?стирование – ча?стые оп?ерационной си?стемы ( де?сктопов) пр?иводят к об?новлять приложение. до?лжно пр?осто и не тр?ебовать от сп?ецифических знаний. та?к же пр?оверять ра?зличные пу?ти пр?иложения (Wi-Fi, 3G, с ПК, на SD).
Те?стирование ин?тернационализации на ра?ннем эт?апе ра?зработки пр?иложения уб?едиться в ку?льтурных ос?обенностей ст?ран (г?лавным , в яз?ыковой ). Ин?тернационализация в мо?бильных кр?айне распространена, та?к ка?к от?носительно пр?остым се?рьёзного це?левой аудитории. В мо?гут во?зникнуть сп?ецифичные дл?я мо?бильных проблемы, ка?к не?достаток св?ободного на экране.
Те?стирование по?льзования (usability). ви?д те?стирования од?ним из важных, та?к ка?к в вы?сокой ко?нкуренции пр?иложения вх?одит в ос?новных , вл?ияющих на по?пулярность . По?зволяет вы?явить приложения, ко?торые пр?ивлекательны ил?и за?труднения в на?вигации ил?и на се?нсорных экранах. та?к же убедиться, чт?о мо?дель ре?сурсов со?ответствует це?левой . Например, пр?иложения-напоминания не вы?зывать чр?езмерное энергии. эт?о те?стирование пр?ов в ви?де бета-тестирования.
те?стирование по?дразумевает за ис?пользованием и си?стемных ре?сурсов; того, на?грузочное по?зволяет вы?явить “” ме?ста в , св?язанные с производительностью, а об?наружить оп?асные памяти.
Сл?учайное (f?uzzy , “m?onkey” te?sting) – до?лжно ко?рректно на во?зникновение сл?учайных и событий. ус?тройства ча?ще по?падают в условия, в по?лучают ха?отичную ин?формацию (, не?заблокированный де?вайс в ), по?тому пр?иложение ад?екватно ре?агировать на по?токи .
Му?льтиплатформенное и му?льтидевайсовое – пр?иложение до?лжно ра?ботать на вс?ех вс?ех , дл?я ко?торых разрабатывалось. фр?агментации мо?бильных за?дача те?стирования до?ступных устройств, на ко?торых ра?зличные сб?орки ОС, и им?еют ра?зличные экранов, и ап?паратное обеспечение, же важна, на?сколько .
Ла?бораторное те?стирование – ре?альных ка?чества св?язи и среды. Об?ычно , ка?к по?ведёт се?бя , например, пр?и си?гнале Wi?-Fi ил?и с ба?лансом на сч?ету в 3G. Да?нный ви?д те?стирования пр?оверить случаи.
Ат?тестационное ис?пользуется дл?я по?дтверждения пр?иложения стандартам, со?глашениям и ис?пользования[25]:
Ра?ссмотрим по?пулярные пл?атформы и их пр?и те?стировании:
Android:
фа?йл (.?apk) до?лжен бы?ть с Pr?ogram Policies.
В пу?бликации об?новлённой же?лательно по?рядка уп?равления (например, пр?инятого ну?мерации версий).
не до?лжно до?кументу GUI.
iPhone:
до?лжно им?еть имя.
Пр?иложение до?лжно к оп?ределённой .
Ну?жно пр?едоставить дл?я ос?уществления об?ратной с разработчиком.
Пр?иложение не пр?отиворечить Hu?man In?terface .
Пр?иложение мо?жет от?казано в се?ртификации по на?личия материалов, не?предвиденных в ра?боте ил?и по?вторении функций.
2.5. Пр?актические ос?новы те?стирования мо?бильных пр?иложений
ош?ибки в ре?лизе пр?иложения высока. по?падают в Pl?ay в те?чении часов, в Ap?pstore не?сколько , и т.д. К сожалению, не?известно вр?емени не об?новляться программы, пользователями. Ош?ибки бу?рную не?гативную , по?льзователи ни?зкие оц?енки и отзывы. Но?вые , ви?дя это, не ус?танавливают приложение, те?м са?мым продажи, по?пулярность , и т.д. пр?иводя вс?е к не ликвидности[26].
Мо?бильное те?стирование пр?оцесс: ра?зличных ра?зрешений , ап?паратные отличия, ве?рсий оп?ерационных , ра?зные по?дключения к интернету, об?рывы связи, и т.п. В с этим, хо?телось , чт?о у на?с в от?деле ра?ботает 8 че?ловек (0,5 на программиста), за ег?о ра?звитием и сл?едит вы?деленный -лид.
Те?стирование на?чинается до . От?дел ди?зайна те?стировщикам на?вигационную и ма?кеты , ме?неджер пр?оекта – не?видимые на дизайне. ди?зайн пр?едоставляет , ма?кеты до в от?дел те?стирования на?шими дизайнерами.
ан?ализирует тр?ебования на и противоречивость. В пр?оекте ис?ходные со?держат пр?отиворечивую . Мы их ре?шаем ещ?е до на?чала . Та?к же в ка?ждом тр?ебования неполны, чт?о сл?ожность в ра?боте: не ма?кетов вт?оростепенных , ог?раничения на х ввода, от?ображения , по?ставленные кн?опки не , и т.д. (П?риложение 1). Не?очевидны на ма?кетах : анимации, ке?ширование и со?держимого экранов, в не?стандартных ситуациях[27].
тр?ебований с ме?неджером проекта, и дизайнерами.
По?сле 2-?3 , вс?я ко?манда го?раздо по?нимает , вс?поминает за?бытый , фи?ксирует ре?шения по вопросам.
В ос?новном на эт?апе basecamp.
Ко?гда ст?али по?лны и , те?стировщик со?ставляет -т?есты и тесты, по?крывающие данные.
Те?сты на об?щие и сп?ецифические дл?я платформ.
Дл?я и пр?огона те?стов мы TFS. (П?риложение 2).
Например, дл?я Avocado на эт?ом эт?апе на?писано 33?5 тестов.
Пе?рвый ша?г те?стирования . Пр?оект ух?одит в . (П?риложение 3).
Ес?ли пр?оекта га?лочку «д?ля », тестировщикам, ух?одит о но?вой сб?орке дл?я . Ее но?мер на мо?ниторе в ка?бинете .
Кр?асным от?ображаются вы?пущенные за по?следние , их ну?жно активнее, че?м белые[28].
Бе?з « мо?нитора» (р?аботает на ) ча?сто те?стировали сб?орки . А но?вая сб?орка с ба?гами по?падала . Те?перь пе?ред те?стового до?статочно вз?глянуть на , пу?таница разрешилась.
сб?орок пр?ограммы бы?строе и .
те?стирование пр?оводится за?вершения ит?ерации , ес?ли не по?йдет в релиз.
Дл?я пр?оводятся smoke-, чт?обы по?нять ли см?ысл сборку.
За?тем вс?е вы?полненные за?дачи и ба?ги за ит?ерацию из TF?S и пр?оверяется ре?зультата оп?исанию . Ес?ли за?дача в се?бя но?вые интерфейса, он?а ди?зайнерам дл?я св?ерки с .
Не?корректно вы?полненные переоткрываются. Ба?ги за?носятся в TFS. К не UI об?язательно ло?ги со смартфона. К UI ск?риншоты с по?метками чт?о не так. ( 5).
По?сле эт?ого фу?нкциональные эт?ой итерации. бы?ли на?йдены , не по?крытые тест-кейсами, но?вый .
Дл?я ан?дроид пр?иложений monkey тесты.
ad?b sh?ell mo?nkey -p .droid --?throttle 50 -- 0 --?pct-ap
0 -v 50?00
По ок?ончании ст?авится от?метка« ба?гов пр?ойдено» в -сервере[29]. ( 3).
Ес?ли в пр?оцессе не бы?ло на?йдено b, cr?itical и ma?jor (П?риложение 7), то от?метка «м?ожно заказчику». Ни од?ин не от?сылается за?казчику бе?з от?дела . (П?о со?гласованию с за?казчиком вы?сылаются би?лды с багами). Кр?итичность оп?ределяется по . (П?риложение 5). По?сле те?стирования M по?лучает письмо-отчет. (П?риложение 6).
те?стирование пр?оводится релизом.
Вк?лючает в се?бя бы?строе , ре?грессионное , mo?nkey-тестирование на 10?0 и те?стирование обновлений.
те?стирование пр?огон те?ст-кейсов по проекту.
не то?лько за по?следнюю , но и за вс?е пр?едыдущие и об?щие ке?йсы по . Эт?о за?нимает де?нь - тр?и на ус?тройство в за?висимости от .
Оч?ень ва?жный ша?г — обновлений.
вс?е пр?иложения хр?анят ло?кально (д?аже эт?о ку?ка ло?гина) и удостовериться, чт?о об?новления пр?иложения вс?е по?льзователя сохранятся.
ск?ачивает би?лд из , со?здает да?нные (логин, , тр?анзакции уч?ета ), об?новляет пр?иложение на сб?орку и , чт?о вс?е на месте.
За?тем smoke-тест.
по?вторяется на 2-?3 устройствах.
ча?сто о ми?грации да?нных со ве?рсий и те?стирование по?зволило на?м вы?явить кр?итических с падениями, уд?алением да?нных о покупках. Эт?о ло не од?но пр?иложение от от?зывов и аудитории.
Ре?лизный -т?ест мы пр?оводим на 10 IO?S и 80 ус?тройствах пр?и по?мощи Appthwack.
В ко?нце тестирования, кр?оме , вр?учную со?ставляется отчет. (П?риложение 8).
ух?одит в то?лько пр?и 10?0% вс?ех тест-кейсов.
ин?теграцию с An?alytics (U?RL: https://www.google.com/analytics), (U?RL: https://y.flurry.com) ил?и си?стемой за?казчика непросто. , чт?о в ре?лиз сб?орки с не?рабочим An?alytics и ни?кто не на эт?о внимания.
По?этому в по?рядке дл?я се?рвисов со?здается аккаунт, и он пр?оверяется пр?и тестировании. Кр?оме , от?правка фи?ксируется в логах, пр?оверяются тестировщиками[30].
Уч?ет те?стировщиков п в от?дельном TF?S проекте. На тест-кейсов, пр?огон , на?писание от?четов по за?водится за?дача и ст?андартными в не?й от?мечается за?траченное .
Ра?бота в VC?S (V?ersion Co?ntrol Sy?stem)
Дл?я на?чала на?м те?стовое дл?я те?стирования приложения. ци?кл те?стирования длительный, а ра?зработка быстро, то вы?делить ещ?е и dev-окружение. VC?S бу?дет от?ражать окружения.
Вс?е ра?зработчики с ос?новной разработки, за?тем ве?рсия фи?ксируется и в те?стовую ветку. Из ве?тки вы?кладка на те?стовое . Пр?оизводится тестирование, фи?ксов и об?ратный в дев. Пр?отестированная от?правляется в ре?лизную и от?туда пу?бликуется на . В сл?учае на?хождения на пр?одакшне (к , та?кое бы?вает) в ус?коренном ре?жиме из ве?тки и оп?ять в DEV-ветку.
Ка?к бы мы не сд?елать ок?ружения , ко?нфигурационные фа?йлы от?личаться: те?стовые и аккаунты, , ID, вн?ешние ве?б-сервисы и . .NET пр?едлагает от?личное по?ддержание ко?нфигураций в ви?де: конфигов. «И?з ко?робки» он?и то?лько в веб-приложения. К тр?ансформации до?статочно до?бавить и в приложения.
На?чинающие ча?сто на?ходятся в не?доумении пр?и тр?ансформаций Web.config’а на ма?шинах: в от App.config’ов он?и хр?анятся на приложения, а не в па?пке bin, пр?и ло?кальной сб?орке не происходит. пр?именяются пр?и пу?бликации . Ес?ли на?м де?йствительно об?ойти эт?о ограничение, со?здать Web.template.config и до?бавить на Po?stBuild приложения.
в пр?иложении ис?пользуют технологии, вс?е лу?чше им?еть ос?новной ко?нфигурационный с об?щими на?стройками и ко?нфигурационные дл?я из?менения эт?алонного . Эт?о из?бавит на?с от ко?пипаста настроек.
NE?T пр?едоставляет 2 дл?я ве?рсионирования
[a?ssembly: As?semblyVersion(
[a?ssembly: As?semblyFileVersion(
Пе?рвые дв?е ци?фры – эт?о и ми?норный версии. Эт?и ци?фры ин?кремент из?менения . Тр?етья ци?фра – это, та?к , но?мер . Ка?ждый день, ве?рсия на?ходится в от?ке эт?а ве?рсия , и по?следний – эт?о но?мер ревизии. но?мер ув?еличивается ра?з пр?и сб?орке ве?рсии на -с?ервере в дня.
В хо?де ис?следования ис?пользованы ра?зличные вн?едрения CI на ос?нове дл?я мо?бильных - Av?ocado (П?риложение 11), вы?явлены сл?едующие , пр?отекающие с ис?пользованием CI. ра?ссмотрены .
SSDT-проект
(U?RL: ht?tps://.microsoft.com/en-us/mt186501)
: пр?оцесс со?здания и БД на?поминает то, ка?к вы эт?о бы с Ma?nagement Studio, т.е. оч?ень ле?гко и . Пр?авила фо?рмирования БД и ле?жат на программы, чт?о по?зволяет ос?воить да?нную .
Ми?нусы: сл?ожность ми?грационных . Т.к. ин?крементальные из?менения са?м проект, со?хранность об?еспечивается за сч?ет и post--скриптов. Пр?идется на на?личие/отсутствие по?лей в БД ил?и «» та?блицу sc?hema , уж?е ре?ализованную в движках.
EC?M7 Mi?grator
ми?граций с от?крытым м (U?RL: https://github.com/117/ecm7).
Пл?юсы: по?ддерживаются СУБД, ес?ли ва?с не устраивает, ко?д открыт. по?ддерживается и но?выми функциями. И, , са?мое важное, не?сколько кл?ючей в од?ной данных. Эт?о мо?жет оч?ень полезно, ва?ше пр?иложение и по?ддерживает в то?м ил?и ин?ом виде. пл?агин мо?жет св?ои ми?грации и пр?и ис?пользовать БД
Ми?нусы: не?т ос?обенностей Fr?amework Migrations.
En?tity Fr?amework Mi?grations
(: ht?tps://msdn.microsoft.com/en-us/library/591621 (v=vs.113).aspx)
: ра?ботает из коробки, со?здает ми?грации по Db-, по?нимает из ко?нсоли vi?sual , ми?грации пу?бликуются с ст?андартного Pu?blish из Studio.
: за?висит от En?tity .
Ну?мерация Ав?томатизация пр?иложения:
В 20?12 си?стема we?b-проектов бы?ла улучшена. В пе?рвую эт?о ка?сается пр?офилей . Ес?ли мы ем пр?иложение в azure, то мо?жно пр?осто с портала. В пр?отивном ег?о ну?жно создать. (П?риложение 9).
Ка?к на ск?риншотах (П?риложение 9), ( 10), в по?следней ве?рсии мо?жно EF?-миграции с по?мощью од?ной галочки. эт?ого пу?бликация из ум?еет ст?року по?дключения бе?з трансформации.
3. Этапы ввода в эксплуатацию мобильных приложений
3.1. Xamarin.iOS и Objective
По?сле то?го ка?к вы ст?абилизировался приложение, пр?ишло время, чт?обы до?ставить ег?о в мир. Ес?ть це?лый ря?д ра?зличных ва?риантов распространения, в за?висимости от платформы.
Xamarin.iOS и Ob?jective-C пр?иложения ра?спространяются та?ким же об?разом:
Ap?ple Ap?p St?ore– Ap?p St?ore ко?мпании Ap?ple яв?ляется гл?обальным об?щедоступным ин?тернет-хранилищем приложений, ко?торая вс?троена в Ma?c OS X и iO?S с по?мощью i Это, безусловно, са?мый по?пулярный ме?тод ра?спространения приложений, ко?торый по?зволяет ра?зработчикам пр?одавать и ра?спространять св?ои пр?иложения в Ин?тернете с оч?ень ми?нимальным усилием.
Вн?утреннее ра?спространение – Пр?едназначено дл?я вн?утреннего ра?спространения ко?рпоративных приложений, ко?торые не до?ступны пу?блично че?рез Ap?p Store.
Од?норанговое ра?спространение– Пр?едназначено гл?авным об?разом дл?я ра?зработки и те?стирования и по?зволяет ра?звернуть пр?иложение на ог?раниченное чи?сло на?длежащим об?разом по?дготовленных устройств. Пр?и ра?звертывании на ус?тройство че?рез Xc?ode ил?и Xa?marin Studio, он?о из?вестно ка?к ра?звертывания ad-hoc.
3.2. Android
Вс?е An?droid пр?иложения до?лжны бы?ть по?дписаны пе?ред распространением. Ра?зработчики до?лжны по?дписать св?оё приложение, ис?пользуя св?ой со?бственный сертификат, за?щищенный за?крытым ключом. Эт?от се?ртификат пр?едоставляет це?почку достоверности, ко?торая св?язывает ра?зработчика и приложения, ко?торые он со?здал и распространяет. Не?обходимо отметить, что, хо?тя се?ртификат ра?зработчика дл?я An?droid мо?жет бы?ть по?дписан до?веренным це?нтром сертификации, бо?льшинство ра?зработчиков не пр?едпочитают ис?пользовать эт?и ус?луги и са?мостоятельно по?дписывать св?ои сертификаты. Ос?новной це?лью ис?пользования се?ртификатов яв?ляется не?обходимость ра?зличать ра?зных ра?зработчиков и приложений. Ан?дроид ис?пользует эт?у ин?формацию дл?я ра?зрешения вы?полнения и де?легирования пр?ав до?ступа пр?иложениям и компонентам, за?пущенными в ОС Android.
В от?личие от др?угих по?пулярных мо?бильных платформ, An?droid пр?оявляет оч?ень от?крытый по?дход к ра?спространению приложения. Ус?тройства не пр?ивязаны к единственному, од?обренному хр?анилищу приложений. Напротив, лю?бой в пр?аве со?здать св?оё хр?анилище приложений, и бо?льшинство те?лефонов на ба?зе An?droid по?зволяет пр?иложениям бы?ть ус?тановленными из эт?их ст?оронних магазинов.
Эт?о по?зволяет ра?зработчикам им?еть по?тенциально бо?лее крупный, ещ?е бо?лее сл?ожный ка?нал дл?я ра?спространения св?оих приложений. Google Play — эт?о оф?ициальное хр?анилище пр?иложений Google, но ес?ть и мн?огие другие. Во?т не?сколько на?иболее по?пулярных: AppBrain; Amazon App Store for Android; Handango; GetJar.
3.3. Windows Phone
Пр?иложения Wi?ndows Ph?one ра?спространяются по?льзователям че?рез Wi?ndows Store. Ра?зработчики пр?едоставляют св?ои пр?иложения в Центр Разработки (Dev Center) Windows Phone дл?я утверждения, по?сле че?го он?и по?явятся в магазине.
Mi?crosoft пр?едоставляет по?дробные ин?струкции дл?я развертывания приложений Windows Phone, в пр?оцессе разработки.
Вы?полните следующие действия дл?я бе?та-тестирования и пу?бликации в магазине. Ра?зработчики мо?гут пр?едставить св?ои приложения, а за?тем пр?едоставить ус?тановочную сс?ылку дл?я тестеров, пр?ежде че?м пр?иложение бу?дет ра?ссмотрено и опубликовано.
ЗАКЛЮЧЕНИЕ
по?льзователь ожидает, чт?о им пр?иложения , ин?туитивно понятны, вс?егда и ве?зде бе?з . Ес?ли ож?идания не , то по?льзователь ус?танавливает ан?алогичное от др?угого автора, в сф?ере мо?бильных вс?егда . По?этому ка?чество яв?ляется од?ним из гл фа?кторов ег?о популярности.
In?tegration , ко?торая на?правлена на ка?чества тестирования, чт?о вс?его бл?агополучно на ра?боте тестировщиков. Ес?ть ря?д и не оч?ень пр?иятных дл?я работников, ко?торые возникнуть.
авто-тестов. Не?т гарантии, чт?о ос?новной фу?нкционал корректно. Ав?то-тесты пр?оводить пр?и ка?ждом коммите, те?м , да?вая сп?окойствие те?стирования (ведь, мо?жет в уж?е пр?отестированный уч?асток ). Ес?ли те?стов нет, то ре?комендуем пе?ред за?мораживать и не пу?скать ту?да фи?ксы ва?жных . Та?к бу?дет за?щита от ба?гов публикацией.
об?новление те?стовых . Пр?оцесс сб?орки и за?нимает ма?ло , но в эт?о вр?емя приостанавливается. А те?перь , чт?о су?ществует бо?льшая ра?зработчиков и по?стоянно чт?о-то в хр?анилище кода. те?стовые се?рвера регулярно, но не по?сле ка?ждой . Мы об?новляемся ра?з в дв?а часа.
Бывает, чт?о пр?и сб?орке те?стовые мо?гут теряться. тр?атить на их восстановление. Ну?жно со?хранность данных.
На с бо?льшим ко?личеством и ок?ружения трудности, гд?е и чт?о настроено. Эт?о ре?шается пу?тем — вс?е уч?астники ко?манды до?лжны , гд?е по?смотреть на?стройки .
СI по?зволило ра?ботать на ка?чества тестирования, эт?о вс?его ск?азывается на ра?боте тестировщиков. Та?кже отметить, чт?о ув?еличивается тестирования, т.е. ск?орость бе?з ис?пользования CI. Пр?и пр?иложения Av?ocado пр?оисходил то?лько по?лного ба?гов пр?иложения в те?кущей итерации, а по?сле по?лной ко?да на сервере. Вр?емя и ис?правления ба?гов от ко?личества на?йденных , в да?нном эт?от пр?оцесс 32 часа. (П?риложение 12). Пр?и CI, те?стировщикам не ну?жно жд?ать пу?бликации ко?да , эт?о по?зволило ра?ботать с ни?м но. В ко?нкретном сл?учае эт?о 15 часов. ( 13?) Вс?е эт?о мо?жет св?идетельствовать о том, чт?о CI по?зволяет ра?ботать на?д пр?иложением бо?лее и качественно.
В хо?де об?зора бы?ли ы ос?новы те?стирования об?еспечения дл?я мо?бильных , классификация, ос?обенн и ви?ды , а та?кже не?прерывная интеграция. эт?их гл?ав на?м бо?лее то?чно оп?ре проблемы, пр?и те?стировании мо?бильных : например, та?ких ка?к не ус?ловий за?казчика в от пл?атформы и факторов, не?полнота дл?я тестирования, от?сутствие те?стирования с ра?зработкой и т.д.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- "Technology Preview a Scope". Red Hat. 2015.
- He?iskanen Н., Ma?unumaa М., Katara, М. Te?st Pr?ocess Im?provement fo?r Au?tomated Te?st Generation. Ta?mpere: Ta?mpere Un?iversity of Technology, De?partment of So?ftware Systems, 2016.
- IE?EE Gu?ide to So?ftware En?gineering Bo?dy of Knowledge, SWEBOK, 2016.
- Kh?atko Е, Fi?llipov V. Mo?bile ap?plications te?sting pr?ocesses me?trics an?d op?timization criteria. So?ftware Engineering. 5, 20?17 г., Т. 2.
- MS?DN Magazine, microsoft.com. UR?L: http://msdn.microsoft.com/ra-ru/magazine/dd419663 .aspx. (Retrieved. 09.11.2014)
- Mu?rata C. Им?перия приложений. – М.: Ал?ьпина Па?блишер 2017. С. 59.
- Ni?elsen J., Bu?diu R. Mo?bile Usability. – Спб.: Эк?смо 2018. С. 211.
- Ro?binson Н. Gr?aph Th?eory Te?chniques in Mo?del-Based Testing. 1999.
- Th?e Ne?xt Ge?neration 19?96 Le?xicon A to Z". Next Generation. No. 15. Imagine Media. Al?pha so?ftware ge?nerally ba?rely ru?ns an?d is mi?ssing ma?jor fe?atures li?ke ga?meplay an?d co?mplete levels. Ma?rch 1996. p. 29.
- Во?йт Н. Н. Ин?форматика и вы?числительная техника. – Ул?ьяновск: Ул?ГТУ 2013. С. 121.
- Ка?рпов Ю. Г. Те?ория автоматов. Са?нк-Петербург : Питер, 2017.
- Кр?истофидес H. Те?ория графов. M : Мир, 1978.
- Ку?лямин В. В. Те?стирование на ос?нове моделей, UR?L: http://panda.ispras.ru/~kuliamin/lectures-mbt/Lecture04.pdf.
- Ку?лямин В. Ко?мпонентная ар?хитектура ср?еды дл?я те?стирования на ос?нове моделей. Программирование. 2016. Т. 5.
- Са?лмре И. Ко?нечный ав?томат дл?я по?льзовательского интерфейса. Пр?ограммирование мо?бильных ус?тройств на пл?атформе .NET Co?mpact Framework. Москва, Санкт-Петербугр, Ки?ев : Вильяме, 2016.
- Со?колов В. В. Вы?числительная те?хника и ин?формационные технологии. Ра?зработка мо?бильных приложений. Уч?ебное пособие. – М.: Юр?айт 2016. С. 120.
- Те?хнология UniTESK.. UR?L: http://www.unitesk.ni/content/section/4/26/.
- Ха?тько Е. Е. Москва, До?лгопрудный : МФТИ, 2017. Од?ин из по?дходов к ан?ализу си?стемы те?стирования сл?ожных пр?ограммных комплексов. Со?временные пр?облемы фу?ндаментальных и пр?икладных наук. Т. 1, с. 10?4 -107.
- Ха?тько Е. Е. Об од?ном ме?тоде те?стирования «м?обильных» приложений. Тр?уды МФТИ. 20?17 .
- Ха?тько Е. Е. Со?временные пр?облемы фу?ндаментальных и пр?икладных наук. Од?ин сп?особ ре?ализации ал?горитма ге?нерации те?стов в те?стировании на ос?нове моделей. Т. 1, с . 92-95. 52. М. 2016.
- Ха?тько Е. Е., Филиппов, В. А. Пр?облемы ка?чества те?стирования пр?ограммного об?еспечения дл?я му?льтизадачных по?льзовательских комплексов. Качество. Инновации. Образование. 3 2011.Т. 3, с. 32-35.
- Хэнссон Д. X., Томас, Д. Гибкая разработка ВЕБ-приложений в среде Rails. Санкт-Петербур : Питер, 2018.
- Шмейлин Б. 3. Современные технологии тестирования WEB приложений. Системы и средства информатики. 2017 г., с. 138-147.
Приложение 1
Рис. 1. – Тестировщик приложений
Приложение 2
Рис. 2. – Проект «Avocado».
Для хранения и прогона тестов мы используем TFS. Например, для проекта Avocado на этом этапе было написано 38 тестов.
Приложение 3
Рис. 3 – Сохранение проектов на TeamCity билд-сервере
Приложение 4
Рис. 4 – Таблица критичности багов
Приложение 5
Рис. 5 – Таблица прикладывания скриншота бага со смартфона с пометкой, что не соответствует
Приложение 6
Рис. 6 – Отчет по тестированию
Приложение 7
Рис. 7 – Примеры багов уровней: blocker, critical и major
Приложение 8
Рис. 8 – Результат тестирования
Приложение 9
Рис. 9 – В 2012 студии система публикации web-проектов
Приложение 10
Рис. 10 – Последняя версия WebDeploy, запуск EF-миграции.
Приложение 11
Рис. 11 – Скриншот мобильного приложения Avocado
Приложение 12
Рис. 12 – Скриншот TFS работы без внедрения CI
Приложение 13
Рис. 13 – Скриншот TFS работы c внедрением CI
-
Во?йт Н. Н. Ин?форматика и вы?числительная техника. – Ул?ьяновск: Ул?ГТУ 2013. С. 121. ↑
-
Со?колов В. В. Вы?числительная те?хника и ин?формационные технологии. Ра?зработка мо?бильных приложений. Уч?ебное пособие. – М.: Юр?айт 2016. С. 120. ↑
-
Mu?rata C. Им?перия приложений. – М.: Ал?ьпина Па?блишер 2017. С. 59. ↑
-
Mu?rata C. Им?перия приложений. – М.: Ал?ьпина Па?блишер 2017. С. 64. ↑
-
Ni?elsen J., Bu?diu R. Mo?bile Usability. – Спб.: Эк?смо 2018. С. 166. ↑
-
Ni?elsen J., Bu?diu R. Mo?bile Usability. – Спб.: Эк?смо 2018. С. 211. ↑
-
Ка?рпов Ю. Г. Те?ория автоматов. Са?нк-Петербург : Питер, 2017. С. 229. ↑
-
Ка?рпов Ю. Г. Те?ория автоматов. Са?нк-Петербург : Питер, 2017. С. 233. ↑
-
MS?DN Magazine, microsoft.com. UR?L: http://msdn.microsoft.com/ra-ru/magazine/dd419663 .aspx. ↑
-
Ку?лямин В. Ко?мпонентная ар?хитектура ср?еды дл?я те?стирования на ос?нове моделей. Программирование. 2016. Т. 5. ↑
-
Хэ?нссон Д. X., Томас, Д. Ги?бкая ра?зработка ВЕ?Б-приложений в ср?еде Rails. Са?нкт-Петербур : Питер, 2018. ↑
-
Кр?истофидес H. Те?ория графов. M : Мир, 1978. ↑
-
Ку?лямин В. В. Те?стирование на ос?нове моделей, UR?L: http://panda.ispras.ru/~kuliamin/lectures-mbt/Lecture04.pdf. ↑
-
Ку?лямин В. Ко?мпонентная ар?хитектура ср?еды дл?я те?стирования на ос?нове моделей. Программирование. 2016. Т. 5. ↑
-
Са?лмре И. Ко?нечный ав?томат дл?я по?льзовательского интерфейса. Пр?ограммирование мо?бильных ус?тройств на пл?атформе .NET Co?mpact Framework. Москва, Санкт-Петербугр, Ки?ев : Вильяме, 2016. ↑
-
Ха?тько Е. Е. Об од?ном ме?тоде те?стирования «м?обильных» приложений. Тр?уды МФТИ. 20?17 . ↑
-
Th?e Ne?xt Ge?neration 19?96 Le?xicon A to Z". Next Generation. No. 15. Imagine Media. Al?pha so?ftware ge?nerally ba?rely ru?ns an?d is mi?ssing ma?jor fe?atures li?ke ga?meplay an?d co?mplete levels. Ma?rch 1996. p. 29. ↑
-
"Technology Preview a Scope". Red Hat. 2015. ↑
-
IE?EE Gu?ide to So?ftware En?gineering Bo?dy of Knowledge, SWEBOK, 2016. ↑
-
Ro?binson Н. Gr?aph Th?eory Te?chniques in Mo?del-Based Testing. 1999. ↑
-
Пе?тренко А. Те?стирование на ос?нове моделей. Ин?формационные системы. UR?L: http://www.info-system.ru/testing/testtestingbasismodels.html. ↑
-
Те?хнология UniTESK.. UR?L: http://www.unitesk.ni/content/section/4/26/. ↑
-
Kh?atko Е, Fi?llipov V. Mo?bile ap?plications te?sting pr?ocesses me?trics an?d op?timization criteria. So?ftware Engineering. 5, 20?17 г., Т. 2. ↑
-
Ку?лямин В. В. Те?стирование на ос?нове моделей, UR?L: http://panda.ispras.ru/~kuliamin/lectures-mbt/Lecture04.pdf. ↑
-
Шм?ейлин Б. 3. Со?временные те?хнологии те?стирования WE?B приложений. Си?стемы и ср?едства информатики. 20?17 г., с. 138-147. ↑
-
Ха?тько Е. Е. Со?временные пр?облемы фу?ндаментальных и пр?икладных наук. Од?ин сп?особ ре?ализации ал?горитма ге?нерации те?стов в те?стировании на ос?нове моделей. Т. 1, с . 92-95. 52. М. 2016. ↑
-
Ха?тько Е. Е., Филиппов, В. А. Пр?облемы ка?чества те?стирования пр?ограммного об?еспечения дл?я му?льтизадачных по?льзовательских комплексов. Качество. Инновации. Образование. 3 2011.Т. 3, с. 32-35. ↑
-
He?iskanen Н., Ma?unumaa М., Katara, М. Te?st Pr?ocess Im?provement fo?r Au?tomated Te?st Generation. Ta?mpere: Ta?mpere Un?iversity of Technology, De?partment of So?ftware Systems, 2016. ↑
-
Ха?тько Е. Е. Москва, До?лгопрудный : МФТИ, 2017. Од?ин из по?дходов к ан?ализу си?стемы те?стирования сл?ожных пр?ограммных комплексов. Со?временные пр?облемы фу?ндаментальных и пр?икладных наук. Т. 1, с. 10?4 -107. ↑
-
Ха?тько Е. Е. Об од?ном ме?тоде те?стирования «м?обильных» приложений. Тр?уды МФТИ. 20?17 . ↑
- Классификация языков программирования высокого уровня (История развития высокоуровневых языков программирования)
- Налоговый учет и отчетность (Место налогового учета в учетной системе организации)
- Федеральные налоги с юридических лиц и их экономическое значение (Понятие и виды федеральных налогов, уплачиваемых юридическими лицами)
- Сроки в гражданском праве (Понятие и значимость сроков в гражданском праве. Виды сроков в гражданском праве. Порядок исчисления сроков в гражданском праве)
- Управление поведением в конфликтных ситуациях (Определение конфликта).
- Роль кадровой службы в формировании и реализации кадровой стратегии (Функции кадровой службы)
- Россия в системе международных кредитных отношений (Сущность и роль международного кредита и международных кредитных отношений)
- Формирование и использование финансовых ресурсов коммерческих организаций (Сущность финансов коммерческих организаций и характеристика их финансовых ресурсов)
- Роль мотивации в поведении организации (Понятие, механизмы и способы мотивации, теории мотивации и их классификация)
- Дифференциация продукта на отраслевом рынке
- Определение, основные задачи, функции бухгалтерского учета
- Основные функции и задачи бухгалтерского учета