Какво представляват тестовите данни в софтуерното тестване?

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

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

  • Планирай напред: Изграждайте тестови данни заедно с тестови случаи, така че изпълнението никога да не бъде блокирано от липсващи входни данни или настройки на средата.
  • 🎯 Обхванете всеки сценарий: Подгответе набори от данни за положителни, отрицателни, гранични и еквивалентни разпределения, които са отделни и ясно обозначени.
  • Маска преди копиране: Съпоставете наборите от данни за производителността с обема и формата на производството, но анонимизирайте чувствителните полета, преди да се направи каквото и да е копие.
  • Автоматизирайте тежкото повдигане: Използвайте генератори или инструменти с изкуствен интелект, за да мащабирате реалистични набори от данни, да намалите ръчната работа и да избегнете дублиране.
  • 🔄 Обновяване на всяка версия: Revпреглеждайте набори от данни след промени в схемата, нови функции и регулаторни актуализации, така че старите данни да не водят до фалшиви пропуски.

Тестови данни в софтуерното тестване

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

Какво представляват тестовите данни в софтуерното тестване?

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

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

Тестови данни в софтуерното тестване

Какво е генериране на тестови данни и защо тестовите данни трябва да се създават преди изпълнението на теста?

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

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

Тестовите данни могат да бъдат генерирани по четири често срещани начина:

  • Ръчно, от тестер или бизнес анализатор.
  • Масово копиране на данни от производствена среда в тестова среда.
  • Масово копиране на тестови данни от наследени клиентски системи.
  • Инструменти за генериране на автоматизирани тестови данни.

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

Разделите по-долу описват няколко вида тестове, заедно с предложения за техните нужди от тестови данни.

Данни от теста за бяло Box Тестване

In Бял Box Тестване, управлението на тестовите данни се извлича от директно изследване на тествания код. Критериите за подбор обикновено включват:

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

Тестови данни за тестване на производителността

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

Как получавате такива данни? Най-надеждният източник е клиенти себе си. Те могат или да предоставят съществуващ набор от данни, или да опишат как изглеждат данните от реалния свят, за да можете да ги моделирате. В тестване за поддръжка проект, можете да копирате данни от продукцията в тестовата среда. Добра практика е да Анонимизиране (разбъркайте) чувствителни полета — номера на социално осигуряване, номера на кредитни карти, банкови данни — преди да се направи каквото и да е копие.

Тестови данни за тестване на сигурността

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

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

Тестови данни за черно Box Тестване

В черно Box Тестването на кода не е видимо за тестващия. Функционалните тестови случаи трябва да включват данни, които отговарят на следните критерии:

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

Забележка: В зависимост от тестваното приложение, можете да използвате някои или всички от горните категории.

Автоматизирани инструменти за генериране на тестови данни

Автоматизираните инструменти генерират големи и разнообразни набори от данни по-бързо от всеки ръчен процес. Два дългогодишни примера са:

  • Данни от тестовете на DTM Generator — персонализируема помощна програма, която генерира данни, таблици, изгледи и процедури за сценарии за тестване на бази данни, включително производителност, QA, натоварване и използваемост.
  • Datatect - ан SQL генератор на данни от Banner Software, който създава реалистични тестови данни в ASCII плоски файлове или директно в RDBMS системи като например Oracle, Sybase, SQL Server и Informix.

За оценен, актуален кратък списък вижте 10-те най-добри тестови данни Generator Инструменти.

Най-добри практики за управление на тестови данни

Надеждните данни от тестовете зависят от дисциплинираната домакиняpingСледвайте тези практики, за да поддържате наборите от данни в добро състояние във всички издания:

  • Версия на вашите данни: съхранявайте наборите от данни в хранилище, заедно с тестовите случаи, които ги използват, така че промените да са одитираеми.
  • Маска чувствителни полета: анонимизирайте лични, финансови и здравни данни преди копиране от производствената среда.
  • Редовно освежаване: преизграждайте наборите от данни при всяко издание, за да сте в крак с промените в схемата и бизнес правилата.
  • Документирайте очакваните резултати: Свържете всеки набор от данни с очаквания резултат, така че неуспехите да бъдат лесни за сортиране.
  • Автоматизирано засяване: използвайте скриптове или фиксиращи устройства, за да заредите данни в началото на всяко тестово изпълнение, осигурявайки повторяемост.

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

Тестовите данни са всички входни данни, предоставени на софтуера по време на тестване. За формуляр за вход, примерите включват валидно потребителско име и парола (положително), празна парола (отрицателно) и имейл адрес от 300 знака (граница).

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

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

Само след маскиране на чувствителни полета като имена, номера на сметки и здравни данни. Немаскираните производствени данни нарушават разпоредби като GDPR и HIPAA и създават реален риск от нарушение, ако тестовата среда е компрометирана.

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

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

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

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

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