Какво е тестване на конфигурацията? Примерни тестови случаи

⚡ Умно обобщение

Тестването на конфигурацията изпълнява приложение в множество комбинации от софтуер и хардуер, така че екипът може да потвърди, че функционалните изисквания са все още валидни навсякъде и да определи оптималната конфигурация за пускане на пазара.

  • 🧩 Обхват: OperaСистемите за управление, браузърите, версиите на базите данни, драйверите, паметта и периферните устройства се считат за конфигурации.
  • 📐 Два вида: Тестването на софтуерната конфигурация обхваща платформи и актуализации; тестването на хардуерната конфигурация обхваща свързани устройства.
  • 🗂️ Първа матрица: Изградете комбинирана матрица, след което я приоритизирайте, защото изчерпателното покритие е недостъпно.
  • Виртуални машини: Снимките на системата заместват повтарящите се цикли на инсталиране и деинсталиране на физически тестови машини.
  • 🏦 Разработен пример: Банково приложение и неговите модели на машини за броене на банкноти илюстрират хардуерни тестови случаи.
  • 🚨 Умишлен провал: Премахването на предпоставка нарочно разкрива дефекти, които напълно осигурена лаборатория крие.

Тестване на конфигурация в софтуерни и хардуерни комбинации

Тестване на конфигурацията

Тестване на конфигурацията е техника за тестване на софтуер, при която приложението се тества с множество комбинации от софтуер и хардуер, за да се оценят функционалните изисквания и да се намерят оптималните конфигурации, при които приложението работи без дефекти или недостатъци.

Конфигурацията е всяка комбинация, която продуктът трябва да поддържа: версия на операционната система, браузър, версия на базата данни, драйвер, размер на паметта или свързано периферно устройство. Струва си да се отдели това от тестване за съвместимост, който пита дали продуктът съществува едновременно с друг софтуер и платформи. Тестването на конфигурацията задава по-тесен въпрос: дали същата компилация продължава да се държи правилно, след като собствената ѝ поддържана настройка се промени?

Пример за тестване на конфигурация

Да разгледаме десктоп приложение като работещ пример.

Настолните приложения обикновено са изградени в двуслойна или трислойна форма. Вземете едно трислойно настолно приложение, разработено в 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, когато са инсталирани необходимите условия.
  • Проверете дали системата брои банкнотите правилно
  • Проверете как системата докладва за грешно отчитане
  • Проверете обработката на подправени бележки
  • Проверете времената за реакция
  • Проверете дали са открити фалшиви банкноти

Тези случаи обхващат един-единствен модел и всеки останал модел на пазара трябва да бъде настроен в тестова лаборатория и тестван по същия начин, което рядко е практично на място. Възлагането на тестване на хардуерната конфигурация на организация, специализирана в това, често е по-реалистичният вариант.

Въпроси и Отговори

Тестването на конфигурацията променя поддържаната от продукта настройка – операционна система, версия на базата данни, свързано устройство – и изпълнява отново пакета. Тестването за съвместимост проверява дали продуктът съществува едновременно с външен софтуер, платформи и браузъри, с които трябва да работи.

Толкова, колкото оправдава рискът. Анализите на употребата определят реда: първо се обхващат комбинациите от платформа, браузър и устройство, като повечето потребителски бази се използват, следвани от минималните поддържани спецификации.

Обикновено екипът по QA, подкрепен от системни администратори, осигурява средата. При продукти с голямо количество хардуер, специален лабораторен екип или външен специалист отговаря за покритието на физическото устройство.

Платформи за виртуални машини и контейнери за софтуерни настройки, лаборатории за устройства или облачни ферми за хардуер и браузъри, както и автоматизация на тестове рамка за възпроизвеждане на един и същ пакет във всяка конфигурация.

Комбинаторна експлозия, цената на лицензите и физическите устройства, бавното осигуряване на средата и дефекти, които се възпроизвеждат само в една конфигурация. Приоритизирането и виртуализацията решават повечето от тях.

След преминаване на модулно и интеграционно тестване и обикновено успоредно със системно тестване. То се повтаря преди всяко основно издание, защото нова операционна система или версия на драйвера може да обезсили по-ранните резултати.

Моделите класират конфигурационните комбинации по реална употреба и исторически данни за дефекти, така че матрицата се подрязва до редовете с най-висок риск. Те също така групират отказите, за да покажат кои от тях споделят една и съща причина за конфигурацията.

Да. Той изготвя параметризирано тестово скеле, скриптове за осигуряване на среда и дефиниции на CI задачи, които изпълняват един пакет в много конфигурации. Самата матрица все още трябва да идва от списъка с поддържани платформи.

Обобщете тази публикация с: