Какво е тестване на конфигурацията? Примерни тестови случаи
Тестване на конфигурацията
Тестване на конфигурацията е техника за тестване на софтуер, при която софтуерното приложение се тества с множество комбинации от софтуер и хардуер, за да се оценят функционалните изисквания и да се намерят оптимални конфигурации, при които софтуерното приложение работи без никакви дефекти или пропуски.
Както беше обсъдено по-горе, тестването на конфигурацията е софтуерно тестване, при което тестваното приложение трябва да бъде тествано с помощта на множество комбинации от софтуер и хардуер.
Пример за тестване на конфигурация
Нека разберем това с пример за настолно приложение:
Като цяло настолните приложения ще бъдат от 2 нива или 3 нива, тук ще разгледаме 3 нива на настолни приложения, които са разработени с помощта на Asp.Net и се състои от клиент, сървър на бизнес логика и сървър на база данни, където всеки компонент поддържа посочените по-долу платформи.
- Клиентска платформа – Windows XP, Windows 7 OS, windows 8 OS и др
- Сървърна платформа – Windows Сървър 2008 R2,Windows Сървър 2008 R2, Windows Сървър 2012R2
- База данни – SQL Sever 2008, SQL Сървър 2008R2, SQL Server 2012 и др.
Тестерът трябва да тества комбинацията от клиент, сървър и база данни с комбинации от гореспоменатите платформи и версии на база данни, за да гарантира, че приложението функционира правилно и няма да се провали.
Тестването на конфигурацията не е ограничено само до софтуера, но е приложимо и за хардуера, поради което се нарича още тестване на хардуерна конфигурация, където тестваме различни хардуерни устройства като принтери, скенери, уеб камери и т.н., които поддържат тестваното приложение.
Предпоставки за тестване на конфигурацията
За всеки проект, преди да започнем с теста на конфигурацията, трябва да следваме някои предварителни изисквания
- Създаване на матрица, която се състои от различни комбинации от софтуерни и хардуерни конфигурации
- Приоритизирането на конфигурациите, тъй като е трудно да се тестват всички конфигурации
- Тестване на всяка конфигурация въз основа на приоритизиране.
Цели на тестването на конфигурацията
Целите на тестването на конфигурацията са да
- Валидиране на приложението, за да се определи дали отговаря на изискванията за конфигуриране
- Ръчно причиняване на грешки, които помагат при идентифицирането на дефекти, които не са намерени ефективно по време на тестването (Напр.: промяна на регионалните настройки на системата като часова зона, език, формати за дата и час и т.н.)
- Определете оптимална конфигурация на тестваното приложение.
- Анализиране на производителността на системата чрез добавяне или модифициране на хардуерни ресурси като Load Balancers, увеличаване или намаляване на размера на паметта, свързване на различни модели принтери и др.
- Анализиране на ефективността на системата въз основа на приоритизирането, колко ефективно са извършени тестовете с наличните ресурси за постигане на оптимална конфигурация на системата.
- Проверка на системата в географски разпределена среда, за да се провери колко ефективно функционира системата. За пример: сървър на различно местоположение и клиенти на различно местоположение, системата трябва да работи добре, независимо от системните настройки.
- Проверка колко лесно се възпроизвеждат грешките, независимо от промените в конфигурацията.
- Осигуряване на възможност за проследяване на елементите на приложението чрез правилно документиране и поддържане на версиите, които са лесно разпознаваеми.
- Проверка на това колко управляеми са елементите на приложението навсякъде жизнен цикъл на разработка на софтуер.
Как да направите тестване на конфигурацията
В този раздел ще обсъдим стратегията, която трябва да се следва за типове тестване на конфигурация и има два вида тестване на конфигурация, както е споменато по-долу
- Тестване на софтуерната конфигурация
- Тестване на хардуерната конфигурация
Тестване на софтуерната конфигурация
Тестването на софтуерната конфигурация е тестване на тестваното приложение с множество ОС, различни софтуерни актуализации и т.н. Тестването на софтуерната конфигурация отнема много време, тъй като отнема време за инсталиране и деинсталиране на различен софтуер, който се използва за тестването.
Един от подходите, който се следва за тестване на софтуерната конфигурация, е да се тества на виртуални машини. Виртуалната машина е среда, която е инсталирана на софтуер и действа като физически хардуер и потребителите ще имат същото усещане като физическа машина. Виртуалните машини симулират конфигурации в реално време.
Вместо да инсталирате и деинсталирате софтуера в множество физически машини, което отнема много време, винаги е по-добре да инсталирате приложението/софтуера във виртуалната машина и да продължите да тествате. Този процес може да се извърши чрез наличие на множество виртуални машини, което улеснява работата на тестер
Тестването на софтуерната конфигурация обикновено може да започне, когато
- Изискванията за конфигуриране, които трябва да бъдат тествани, са посочени
- Тестовата среда е готова
- Екипът за тестване е добре обучен в тестването на конфигурацията
- Пуснатата компилация е преминала теста за модул и интеграция
Типичен Тестова стратегия което се следва, за да се тества тестът за конфигурация на софтуера, е да се изпълни наборът от функционални тестове в множество софтуерни конфигурации, за да се провери дали тестваното приложение работи според желанията без никакви недостатъци или грешки.
Друга стратегия е да се гарантира, че системата работи добре, като ръчно провалите тестовите случаи и проверите ефективността.
Пример:
Да кажем, че има приложение за банкиране, което трябва да бъде тествано за съвместимост в множество браузъри, когато приложението се хоства в среда, в която са налице всички предпоставки, то може да премине модула и Тестване на интеграцията в тестовата лаборатория.
Но ако същото приложение е инсталирано на клиентско място и на машините липсват някои актуализации на софтуера или версиите, от които приложението зависи пряко или косвено, има вероятност приложението да се провали. За да се избегне този вид ситуация, винаги се предлага да се провалят тестовете ръчно чрез премахване на някои от изискванията за конфигуриране и след това да се продължи с тестването.
Тестване на хардуерната конфигурация
Тестването на хардуерната конфигурация обикновено се извършва в лаборатории, където намираме физически машини с различен хардуер, свързан към тях.
Всеки път, когато бъде пусната компилация, софтуерът трябва да бъде инсталиран на всички физически машини, към които е прикрепен хардуерът, и тестовият пакет трябва да се изпълнява на всяка машина, за да се гарантира, че приложението работи добре.
За изпълнение на горната задача са необходими значителни усилия за инсталиране на софтуера на всяка машина, свързване на хардуера и ръчно стартиране или дори автоматизиране на горепосочения процес и стартиране на тестовия пакет.
Също така, докато извършваме тест за хардуерна конфигурация, ние определяме типа хардуер, който да бъде тестван, и има много компютърен хардуер и периферни устройства, които правят невъзможно да се изпълняват всички от тях. Така че става задължение на тестера да анализира какъв хардуер се използва предимно от потребителите и да се опита да направи тестването въз основа на приоритизирането.
Примерни тестови случаи
Помислете за банков сценарий, за да тествате хардуерната съвместимост. Банково приложение, което е свързано с машина за броене на банкноти, трябва да бъде тествано с различни модели като Rolex, Strob, Maxsell, StoK и др.
Нека вземем няколко примерни тестови случая, за да тестваме машината за броене на банкноти
- Проверка на връзката на приложението с модел Rolex, когато предпоставките НЕ са инсталирани
- Проверка на връзката на приложението с модела на Rolex, когато предпоставките са инсталирани
- Проверете дали системата брои банкнотите правилно
- Проверете дали системата брои банкнотите неправилно
- Проверка на подправените бележки
- Проверка на времето за реакция
- Проверка дали фалшивите бележки са открити и така нататък
Горните тестови случаи са за един модел и същият трябва да бъде тестван с всички модели, налични на пазара, като се настроят в тестова лаборатория, което е трудно. Следователно е препоръчително да възложите тестването на хардуерната конфигурация на организации, които ги специализират.
Oбобщение
В софтуерното инженерство тестването на конфигурацията трябва да се отдава със същата важност като другите видове тестване. Без извършване на тестване на конфигурацията е трудно да се анализира оптималната производителност на системата, а освен това софтуерът може да срещне проблеми със съвместимостта, на които се предполага, че работи.