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