Database
 sql >> база данни >  >> RDS >> Database

Какво е тестване на база данни и как да го извършим?

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

По-долу са темите, обхванати в този урок:

  • Какво е тестване на база данни?
  • Защо се изисква тестване на база данни?
  • Видове тестване на бази данни
    • Конструктивно тестване
    • Функционално тестване
    • Нефункционално тестване
  • Етапи на тестване на база данни
  • Инструменти за тестване на бази данни

И така, нека да започнем.

Какво е тестване на база данни?

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

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

Но за да извършите тестване на база данни, е много важно да имате добро познаване на SQL. Не се притеснявайте, ако нямате необходимия опит, можете да се обърнете към тази статия за Основи на SQL за да започнете с него.

Защо тестване на база данни?

Както знаем, базата данни е сметище от данни, където данните се събират в огромно количество и се съхраняват в структуриран формат. Въпреки чеDBMS (Система за управление на базата данни) осигурява организиран начин за управление, извличане и съхраняване на тези данни, има случаи, когато данните могат да станат излишни, дублирани и т.н. В такива случаи се появява тестването на базата данни, което ни помага при валидирането на данните. По-долу изброих различни аспекти, въз основа на които една база данни трябва да бъде валидирана:

  1. Картографиране на данни
    Картографирането на данни е неразделна част от тестването на база данни, която се фокусира върху валидирането на данните, които преминават напред-назад между приложението и задната база данни.
  2. Проверка на свойствата на ACID
    КИСЕЛИНА означава A томичност,C настойчивост,I солация, иD издръжливост. Това е друг важен аспект, който трябва да бъде потвърден срещу всяка транзакция в базата данни.

    • Атомност :Това означава, че всички транзакции в базата данни са атомарни, т.е. транзакциите могат да доведат до успех или неуспех. Известен също като Всичко или нищо .
    • Последователност :Това означава, че състоянието на базата данни ще остане валидно след завършване на транзакцията.
    • Изолация :Това означава, че множество транзакции могат да бъдат изпълнени наведнъж, без да се засягат една друга и да се променя състоянието на базата данни.
    • Издръжливост :Това означава, че след като транзакция бъде ангажирана, тя ще запази промените безпроблемно, независимо от ефекта на външни фактори.
  3. Интегритет на данните
    Тестването на целостта на данните на база данни се отнася до процеса на оценка на всички видове процеси, операции и методи, които се използват за достъп, управление и актуализиране на базата данни, известен също като CRUD операции. Това се фокусира единствено върху тестване на точността и последователността на данните, съхранявани в базата данни, така че да получим очакваните или желаните резултати.
  4. Съответствие с бизнес правилата
    С нарастването на сложността на базите данни различни компоненти като релационни ограничения, тригери, съхранени процедури и т.н. също започват да се усложняват. За да се избегне това, тестерите предоставят някои SQL заявки, които са достатъчно подходящи за валидиране на сложните обекти.

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

Има 3 типа тестване на база данни, които изброих по-долу:

  1. Конструктивно тестване
  2. Функционално тестване
  3. Нефункционално тестване

Нека сега разгледаме всеки един от тези типове и техните подтипове един по един.

Структурно тестване

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

Различните типове структурни тестове са:

  • Тестване на схема

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

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

Някои от важните контролни точки на това тестване са:

    • Съвместимостта на полетата и колоните на базата данни, съпоставящи се в задния и предния край.
    • Проверка на дължината и конвенцията за именуване на полетата и колоните на базата данни според изискванията.
    • Откриване и валидиране на всички неизползвани/несъпоставени таблици/колони на базата данни.
    • Проверка на съвместимостта на типа данни и дължините на полетата в колоните на задната база данни с предния край на приложението.
    • Потвърждава, че потребителите са в състояние да предоставят желаните входни данни, използвайки полетата на базата данни, които са посочени в документите за спецификация на бизнес изискванията.
  • Тестване на ключове и индекси

Някои от важните контролни точки на това тестване са:

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

Някои от важните контролни точки на това тестване са:

    • Проверете приемането на необходимите стандартни конвенции за кодиране, обработка на изключения и грешки за всички съхранени процедури от екипа за разработка във всички модули на приложението, което се тества.
    • Уверете се, че екипът за разработка е покрил всички условия/цикли, като приложи необходимите входни данни към приложението, което се тества.
    • Проверявайте дали екипът за разработка е приложил правилно операциите TRIM или не всеки път, когато данните са били извличани от посочените таблици на базата данни.
    • Уверете се, че необходимите резултати са генерирани чрез ръчно изпълнение на съхранените процедури.
    • Уверете се, че полетата на таблицата са актуализирани, както е посочено от приложението, което се тества, чрез ръчно изпълнение на Съхранените процедури.
    • Уверете се, че необходимите тригери се извикват имплицитно чрез изпълнение на съхранените процедури.
    • Откриване и валидиране на всички неизползвани съхранени процедури.
    • Проверка на условието Null на ниво база данни.
    • Уверете се, че всички съхранени процедури и функции са изпълнени и тествани в празната база данни, която се тества.
    • Проверете цялостната интеграция на модулите на съхранените процедури, както е посочено в изискванията на приложението, което се тества.
  • Тестване на задействане

Някои от важните контролни точки на това тестване са:

    • Проверка, че необходимите конвенции за кодиране се спазват във фазата на кодиране на тригерите.
    • Уверете се, че изпълнените тригери отговарят на необходимите условия за съответните DML транзакции.
    • Проверете дали данните се актуализират правилно, след като тригерите бъдат изпълнени.
    • Проверете функционалностите като Актуализиране, Вмъкване, Изтриване, задейства функционалността на тестваното приложение.
  • Проверки на сървъра на базата данни

Някои от важните контролни точки на това тестване са:

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

Функционално тестване

Функционалното тестване на база данни е процесът, който гарантира, че транзакциите и операциите, извършвани от крайните потребители, са в съответствие с бизнес спецификациите.

Различните типове функционални тестове са:

  • Тестване на черна кутия

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

  • Тестване на бяла кутия

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

Нефункционално тестване

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

Основните типове нефункционално тестване са:

  • Тестване на натоварване

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

    • Какво е времето за реакция, необходимо за изпълнение на транзакции за множество потребители, разположени отдалечено?
    • Какво е времето, необходимо на базата данни за извличане на конкретните записи?
  • Тестове за стрес

Стрес тестването е процес на тестване, който се извършва за идентифициране на точката на прекъсване на системата. По този начин при това тестване приложение се зарежда до момента, в който системата се повреди. Тази точка е известна като прекъсна точка на системата на базата данни. Често използваните инструменти за стрес тестване са LoadRunner и WinRunner .

Нека сега да видим кои са различните етапи, включени в тестването на база данни.

Етапи на тестване на база данни

Тестването на база данни не е досаден процес и включва различни етапи от жизнения цикъл на тестване на базата данни в съответствие с процесите на тестване.

Ключовите етапи в тестването на база данни са:

  1. Настройте предварителни условия за тестване
  2. Изпълнете тестовете
  3. Проверете състоянието на теста
  4. Проверка на резултатите
  5. Консолидиране и публикуване на отчет

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

Инструменти за тестване на бази данни

На пазара има множество инструменти, които се използват за генериране на тестови данни, управлението им и накрая извършване на тестване на база данни, като тестване на натоварване и регресионно тестване и т.н. По-долу съм изброил няколко от най-предпочитаните инструменти:

Категория Инструменти
Инструменти за сигурност на данните
  • Поверителност на данните на IBM Optim
Инструменти за тестване на натоварване
  • Ефективност в мрежата
  • Rad View
  • Живак
Инструменти за генериране на тестови данни
  • Фабрика за данни
  • DTM генератор на данни
  • Турбо данни
Инструмент за управление на тестови данни
  • Управление на тестовите данни на IBM Optim
Инструменти за тестване на модули
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

Така че това беше всичко за тестване на база данни. С това бих искал да завърша тази статия. Надявам се тази статия да ви е помогнала да добавите стойност към знанията си. За повече информация относно SQL или бази данни, можете да се обърнете към нашия изчерпателен списък за четене тук:Бази данни Edureka .

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

Имате въпрос към нас? Моля, споменете го в секцията за коментари на „Тестване на база данни ” и ще се свържа с вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. StarJoinInfo в планове за изпълнение

  2. Основни SQL заявки

  3. Идентифициране на структурата на спецификацията (BOM) в базите данни

  4. Каква е употребата на SQL GROUP BY изявление?

  5. Използване на стъпката Unpivot, за да направите таблична таблица от таблица с кръстосани таблици