Файл: Функциональное тестирование программного обеспечения на примере мобильных приложений.pdf
Добавлен: 25.04.2023
Просмотров: 430
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Этапы разработки, основы тестирования и ввода в эксплуатацию мобильных приложений
1.1. Жизненный цикл мобильных приложений
1.2. Каскадная модель жизненного цикла
1.3. Спиральная модель жизненного цикла
1.4. Эволюционная модель жизненного цикла
1.5. Модель жизненного цикла Романа Бе?лодеда
2. Теоретические и практические основы тестирования мобильных приложений
2.1. Основы тестирования программного обеспечения для мобильных устройств
2.2. Классификация тестирования мобильных приложений
2.4. Особенности тестирования мобильных приложений
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):
: Пе?рвый пр?огон (п?осле на?писания ил?и вн?есения су?щественных ). Ка?к правило, дл?я определения, го?това ли дл?я пр?оведения бо?лее тестирования.
Це?ль: пр?облем « на по?верхности» – те?стируется вс?его ос?новная ло?гика программы.