Какво е тестване на конфигурацията? Примерни тестови случаи
⚡ Умно обобщение
Тестването на конфигурацията изпълнява приложение в множество комбинации от софтуер и хардуер, така че екипът може да потвърди, че функционалните изисквания са все още валидни навсякъде и да определи оптималната конфигурация за пускане на пазара.
Тестване на конфигурацията
Тестване на конфигурацията е техника за тестване на софтуер, при която приложението се тества с множество комбинации от софтуер и хардуер, за да се оценят функционалните изисквания и да се намерят оптималните конфигурации, при които приложението работи без дефекти или недостатъци.
Конфигурацията е всяка комбинация, която продуктът трябва да поддържа: версия на операционната система, браузър, версия на базата данни, драйвер, размер на паметта или свързано периферно устройство. Струва си да се отдели това от тестване за съвместимост, който пита дали продуктът съществува едновременно с друг софтуер и платформи. Тестването на конфигурацията задава по-тесен въпрос: дали същата компилация продължава да се държи правилно, след като собствената ѝ поддържана настройка се промени?
Пример за тестване на конфигурация
Да разгледаме десктоп приложение като работещ пример.
Настолните приложения обикновено са изградени в двуслойна или трислойна форма. Вземете едно трислойно настолно приложение, разработено в ASP.NET, състоящ се от клиент, бизнес логически сървър и сървър за бази данни, като всеки компонент поддържа платформите, изброени по-долу.
- Клиентска платформа – Windows XP, Windows 7, Windows 8 и така нататък
- Сървърна платформа – Windows 2008 сървър, Windows Сървър 2008 R2, Windows Сървър 2012 R2
- База данни – SQL Сървър 2008, SQL Server 2008 R2, SQL Server 2012 и т.н.
Тестерът трябва да тества клиента, сървъра и базата данни заедно в тези версии на платформата и базата данни, за да потвърди, че приложението функционира правилно и не се проваля при никоя поддържана комбинация.
Тестването на конфигурацията не се ограничава само до софтуера. То се отнася и за хардуера, поради което хардуерната страна се нарича тестване на хардуерната конфигурация: принтери, скенери, уеб камери и подобни устройства, които тестваното приложение трябва да поддържа. Матрицата по-долу показва как са разположени тези комбинации преди началото на изпълнението на теста.
Предпоставки за тестване на конфигурацията
Преди да започне тестът за конфигурация на който и да е проект, трябва да бъдат изпълнени три предварителни условия.
- Създаване на матрица, изброяваща различните комбинации от софтуерни и хардуерни конфигурации
- Приоритизиране на тези конфигурации, защото тестването на всяка една от тях не е реалистично
- Тестване на всяка конфигурация в реда, зададен от това приоритизиране
Цели на тестването на конфигурацията
Тестването на конфигурацията има за цел да постигне следното.
- Валидирайте приложението спрямо изискванията му за конфигуриране
- Умишлено причиняване на неуспехи, за да се откроят дефекти, които обикновеното тестване пропуска, например чрез промяна на регионални настройки като часова зона, език или формат на датата
- Определете оптималната конфигурация на тестваното приложение
- Анализирайте производителността на системата, докато хардуерните ресурси се променят, като например добавяне на балансьори на натоварването, увеличаване или намаляване на паметта или свързване на различни модели принтери.
- Анализирайте ефективността на системата спрямо приоритизирането, като прецените доколко добре тестовете са използвали наличните ресурси за достигане на оптималната конфигурация.
- Проверете системата в географски разпределена среда, например със сървър на едно място и клиенти на друго, където системата би трябвало да работи независимо от локалните системни настройки.
- Проверете колко лесно се възпроизвеждат дефектите при промяна на конфигурацията
- Потвърдете, че елементите на приложението остават tracвъзможно чрез подходяща документация и ясно разпознаваеми записи на версиите
- Уверете се, че елементите на приложението остават управляеми през целия период жизнен цикъл на разработка на софтуер
Как да направите тестване на конфигурацията
Стратегията зависи от това кой от двата типа тестване на конфигурацията е в обхвата.
- Тестване на софтуерната конфигурация
- Тестване на хардуерната конфигурация
Тестване на софтуерната конфигурация
Тестването на софтуерната конфигурация изпълнява тестваното приложение с множество операционни системи, софтуерни актуализации и версии на зависимости. Това отнема време, защото всеки кръг означава инсталиране и деинсталиране на съответния софтуер.
Често срещан начин за намаляване на тези разходи е да се тества върху виртуални машиниВиртуалната машина е среда, инсталирана в софтуер, която се държи като физически хардуер, така че тестерът работи сякаш е на реална машина, докато самата конфигурация е за еднократна употреба. Виртуалните машини симулират реални конфигурации достатъчно точно за повечето функционални проверки.
Вместо да се инсталира и деинсталира на няколко физически машини, приложението се инсталира на виртуална машина и тестването продължава оттам. Паралелното стартиране на няколко виртуални машини, всяка от които е възстановена от моментна снимка, значително опростява работата.
Тестването на софтуерната конфигурация обикновено може да започне, когато
- Изискванията за конфигурируемост, които ще бъдат тествани, са посочени
- - тестова среда готово е
- Екипът за тестване е обучен за тестване на конфигурации
- Публикуваната компилация е преминала модулно и интеграционно тестване
Типичната тестова стратегия е да се изпълни наборът от функционални тестове за всяка софтуерна конфигурация и да се провери дали приложението се държи по предназначение, без недостатъци или грешки. Втора стратегия е умишлено да се провалят тестовите случаи и да се провери колко ефективно се справя системата.
Пример:
Вземете банково приложение, което трябва да бъде тествано в множество браузъри. Хоствано в среда, където са налице всички предпоставки, то може да премине успешно модулните и... интеграционно тестване в тестовата лаборатория.
Инсталирано на клиентска площадка, същото приложение може да се провали, защото на тези машини липсват софтуерни актуализации или версиите на зависимости, на които приложението разчита пряко или косвено. Умишленото неуспешно преминаване на тестовете чрез премахване на някои изисквания за конфигурируемост и последващо тестване е това, което разкрива този клас дефекти, преди клиентът да ги открие. Екранът по-долу показва как такъв зависим от конфигурацията отказ се възпроизвежда в контролирана среда.
Тестване на хардуерната конфигурация
Тестването на хардуерната конфигурация обикновено се извършва в лаборатория, в която са разположени физически машини с различен хардуер, свързан към тях.
Всеки път, когато се пусне компилация, софтуерът се инсталира на всяка една от тези машини и тестовият пакет се изпълнява на всяка от тях, за да се потвърди, че приложението работи с прикаченото устройство.
Тази задача изисква значителни усилия: инсталиране на софтуера на всяка машина, свързване на хардуера и след това ръчно стартиране на пакета или първоначалното му автоматизиране.
Трябва да се посочи и видът хардуер, който ще се тества. Компютърният хардуер и периферните устройства са толкова разнообразни, че е невъзможно да се обхванат всички, така че тестерът анализира на кои устройства всъщност разчита потребителската база и тества според този приоритет.
Примерни тестови случаи
Да разгледаме банков сценарий, тестван за съвместимост с хардуера. Банково приложение, свързано с машина за броене на банкноти, трябва да работи с няколко модела, като Rolex, Strob, Maxsell и StoK.
Проба тестови случаи за машината за броене на банкноти включват следното.
- Проверете връзката между приложението и модела Rolex, когато предварителните изисквания НЕ са инсталирани
- Проверете връзката между приложението и модела Rolex, когато са инсталирани необходимите условия.
- Проверете дали системата брои банкнотите правилно
- Проверете как системата докладва за грешно отчитане
- Проверете обработката на подправени бележки
- Проверете времената за реакция
- Проверете дали са открити фалшиви банкноти
Тези случаи обхващат един-единствен модел и всеки останал модел на пазара трябва да бъде настроен в тестова лаборатория и тестван по същия начин, което рядко е практично на място. Възлагането на тестване на хардуерната конфигурация на организация, специализирана в това, често е по-реалистичният вариант.


