Файл: Функциональное тестирование программного обеспечения на примере мобильных приложений.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 439

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

те?стирование ( 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 приложения.