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

Като тестер, може би си мислите, че проектирането на тестови случаи е достатъчно предизвикателство - така че защо да се занимаваме с нещо толкова рутинно като тестовите данни? Този урок представя тестовите данни, обяснява защо са важни и споделя практически съвети за бързото им генериране.
Какво представляват тестовите данни в софтуерното тестване?
Тестови данни в софтуерното тестване е входният данни, подаден на софтуерна програма по време на изпълнение на тест. Той представлява данни, които или влияят, или са повлияни от софтуера по време на тестване. Тестовите данни се използват при положително тестване — за да се провери дали функциите дават очаквани резултати за дадени входни данни — и при отрицателно тестване, за да се провери как софтуерът обработва необичайни, изключителни или невалидни входни данни.
Лошо проектираните тестови данни не успяват да обхванат всички възможни сценарии, което пряко възпрепятства качеството на софтуера.
Какво е генериране на тестови данни и защо тестовите данни трябва да се създават преди изпълнението на теста?
Тестването е процес, който произвежда и консумира големи количества данни. Данните, използвани при тестването, описват началните условия за теста и са средата, чрез която тестерът взаимодейства със софтуера. Следователно, то е ключова част от повечето... функционални тестове.
В зависимост от вашата тестова среда, може да се наложи да създаване на тествайте данни от нулата или поне идентифицирайте подходящ съществуващ набор от данни за вас тестови случаиТестовите данни обикновено се създават синхронизирано с тестовия случай, който поддържат.
Тестовите данни могат да бъдат генерирани по четири често срещани начина:
- Ръчно, от тестер или бизнес анализатор.
- Масово копиране на данни от производствена среда в тестова среда.
- Масово копиране на тестови данни от наследени клиентски системи.
- Инструменти за генериране на автоматизирани тестови данни.
Трябва да се генерират примерни данни преди изпълнението на теста започва, защото създаването му по-късно е трудно за управление. Много тестови среди изискват множество предварителни стъпки или отнемаща време конфигурация, преди данните да могат да бъдат заредени. Ако генерирането на данни се случи по време на фазата на изпълнение, рискувате да пропуснете крайния срок за тестване.
Разделите по-долу описват няколко вида тестове, заедно с предложения за техните нужди от тестови данни.
Данни от теста за бяло 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Следвайте тези практики, за да поддържате наборите от данни в добро състояние във всички издания:
- Версия на вашите данни: съхранявайте наборите от данни в хранилище, заедно с тестовите случаи, които ги използват, така че промените да са одитираеми.
- Маска чувствителни полета: анонимизирайте лични, финансови и здравни данни преди копиране от производствената среда.
- Редовно освежаване: преизграждайте наборите от данни при всяко издание, за да сте в крак с промените в схемата и бизнес правилата.
- Документирайте очакваните резултати: Свържете всеки набор от данни с очаквания резултат, така че неуспехите да бъдат лесни за сортиране.
- Автоматизирано засяване: използвайте скриптове или фиксиращи устройства, за да заредите данни в началото на всяко тестово изпълнение, осигурявайки повторяемост.

