Испитивање конфигурације
Тестирање конфигурације је техника софтверског тестирања у којој се софтверска апликација тестира са више комбинација софтвера и хардвера како би се проценили функционални захтеви и сазнале оптималне конфигурације у којима софтверска апликација ради без икаквих недостатака или недостатака.
Као што је горе речено, тестирање конфигурације је софтверско тестирање где се апликација која се тестира мора тестирати користећи више комбинација софтвера и хардвера.
У овом упутству ћете научити-
- Шта је тестирање конфигурације?
- Пример испитивања конфигурације
- Предуслови за тестирање конфигурације
- Циљеви испитивања конфигурације
- Како се врши тестирање конфигурације
- Примери тест случајева
Пример испитивања конфигурације
Да разумемо ово на примеру радне апликације:
Генерално, радне површине ће бити двослојне или трослојне, овде ћемо размотрити трослојну радну апликацију која је развијена помоћу Асп.Нет-а, а састоји се од клијента, пословног логичког сервера и сервера базе података где свака компонента подржава доленаведене платформе.
- Клијентска платформа - Виндовс КСП, Виндовс 7 ОС, Виндовс 8 ОС итд
- Сервер платформа - Виндовс Сервер 2008 Р2, Виндовс Сервер 2008 Р2, Виндовс Сервер 2012Р2
- База података -СКЛ Север 2008, СКЛ Сервер 2008Р2, СКЛ Сервер 2012 итд.
Тестер мора да тестира комбинацију клијента, сервера и базе података са комбинацијама горе поменутих платформи и верзија базе података како би осигурао да апликација исправно функционише и не пропада.
Тестирање конфигурације није ограничено само на софтвер, већ је применљиво и на хардвер, због чега се назива и тестирање хардверске конфигурације, где тестирамо различите хардверске уређаје попут штампача, скенера, веб камера итд. Који подржавају тестирану апликацију.
Предуслови за тестирање конфигурације
За било који пројекат пре него што започнемо са тестом конфигурације, морамо следити неке предуслове
- Стварање матрице која се састоји од различитих комбинација софтверске и хардверске конфигурације
- Давање приоритета конфигурацијама је тешко тестирати све конфигурације
- Тестирање сваке конфигурације на основу одређивања приоритета.
Циљеви испитивања конфигурације
Циљеви испитивања конфигурације су да
- Потврђивање ваљаности апликације како би се утврдило да ли испуњава захтеве за конфигурабилност
- Ручно изазивање кварова који помажу у идентификовању кварова који нису ефикасно пронађени током тестирања (Пример: промена регионалних поставки система као што су временска зона, језик, формати датума, итд.)
- Одредите оптималну конфигурацију апликације која се тестира.
- Анализирање перформанси система додавањем или модификовањем хардверских ресурса као што су Лоад Баланцерс, повећање или смањење величине меморије, повезивање различитих модела штампача итд.
- Анализирајући ефикасност система на основу одређивања приоритета, колико су ефикасно изведени тестови са расположивим ресурсима за постизање оптималне конфигурације система.
- Верификација система у географски дистрибуираном окружењу како би се верификовало колико ефикасно систем функционише.
За Ек: Сервер на другој локацији и клијенти на другој локацији, систем би требало да функционише без обзира на системске поставке.
- Провера колико се лако могу поновити грешке, без обзира на промене конфигурације.
- Обезбеђивање следљивости ставки апликације правилним документовањем и одржавањем верзија које су лако препознатљиве.
- Провера колико су ставке апликације управљиве током животног циклуса развоја софтвера.
Како се врши тестирање конфигурације
У овом одељку ћемо размотрити стратегију коју треба следити за типове испитивања конфигурације, а постоје две врсте испитивања конфигурације као што је поменуто у наставку
- Тестирање конфигурације софтвера
- Тестирање конфигурације хардвера
Тестирање конфигурације софтвера
Тестирање софтверске конфигурације тестира Апликацију која се тестира са више оперативних система, различитим ажурирањима софтвера итд. Тестирање конфигурације софтвера је дуготрајно, јер је потребно време за инсталирање и деинсталацију различитих софтвера који се користе за тестирање.
Један од приступа који се следи за тестирање софтверске конфигурације је тестирање на виртуелним машинама. Виртуелна машина је окружење које се инсталира на софтвер и понаша се као физички хардвер и корисници ће имати исти осећај као и физичка машина. Виртуелне машине симулирају конфигурације у реалном времену.
Уместо да инсталирате и деинсталирате софтвер на више физичких машина што одузима време, увек је боље инсталирати апликацију / софтвер у виртуелну машину и наставити са тестирањем. Овај процес се може извести постојањем више виртуелних машина, што поједностављује посао тестера
Тестирање конфигурације софтвера обично може започети када
- Наведени су захтеви за конфигурабилност који ће се тестирати
- Тест Енвиронмент је спреман
- Тим за тестирање је добро обучен за тестирање конфигурације
- Објављена верзија је јединица и положен је тест интеграције
Типична стратегија тестирања која се следи за тестирање теста софтверске конфигурације је покретање функционалног пакета за тестирање у више софтверских конфигурација како би се верификовало да ли апликација која се тестира ради по жељи, без недостатака или грешака.
Друга стратегија је осигурати да систем добро функционише ручним неуспехом на тестовима и провером ефикасности.
Пример:
Рецимо да постоји апликација за банкарство, која мора бити тестирана на своју компатибилност у више прегледача када је апликација хостована у окружењу у којем су присутни сви предуслови да би могла проћи тестирање јединице и интеграције у тест лабораторији.
Али ако је иста апликација инсталирана на месту клијента, а машинама недостају неке исправке софтвера или верзије о којима апликација директно или индиректно зависи, постоји шанса да апликација може да пропадне. Да бисте избегли овакву ситуацију, увек се препоручује да ручно не обавите тестове уклањањем неких захтева за конфигурисање, а затим наставите са тестирањем.
Тестирање конфигурације хардвера
Тестирање конфигурације хардвера обично се изводи у лабораторијама, где налазимо физичке машине са различитим хардвером повезаним са њима.
Кад год се објави нека верзија, софтвер мора бити инсталиран на свим физичким машинама на које је прикључен хардвер, а тест пакет мора бити покренут на свакој машини како би се осигурало да апликација ради у реду.
Да би се извршио горе наведени задатак потребан је значајан напор да се софтвер инсталира на сваку машину, прикључи хардвер и покрене ручно, или чак да се аутоматизује горе поменути поступак и покретање пакета за тестирање.
Такође, током извођења теста хардверске конфигурације, ми одређујемо врсту хардвера који се тестира, а постоји и мноштво рачунарског хардвера и периферних уређаја који чине потпуно немогућим њихово покретање. Дакле, дужност тестера постаје да анализира који хардвер корисници углавном користе и покуша да изврши тестирање на основу одређивања приоритета.
Примери тест случајева
Размотрите банкарски сценарио да бисте тестирали компатибилност хардвера. Апликација за банкарство која је повезана са Машином за бројање белешки мора се тестирати на различитим моделима попут Ролек-а, Строб-а, Макселл-а, СтоК-а итд.
Узмимо неколико примера тестова да бисмо тестирали машину за бројање белешки
- Провера повезаности апликације са Ролек моделом када предуслови НИСУ инсталирани
- Провера повезаности апликације са Ролек моделом када су инсталирани предуслови
- Проверите да ли систем правилно броји белешке
- Проверите да ли систем броји белешке погрешно
- Провера неовлашћених бележака
- Провера времена одзива
- Провера да ли су откривене лажне белешке и тако даље
Горњи тест случајеви су за један модел, а исти се морају тестирати са свим моделима доступним на тржишту постављањем у тест лабораторији што је тешко. Стога је упутно тестирање хардверске конфигурације препустити организацијама које су их специјализовале.
Резиме:
У софтверском инжењерству, испитивању конфигурације треба дати једнаку важност као и осталим врстама испитивања. Без тестирања конфигурације тешко је анализирати оптималне перформансе система, а такође би софтвер могао наићи на проблеме компатибилности на којима би требало да ради.