QA Boost: 3-дневный тренинг

  • Определение тестирования и его роли в разработке ПО
  • Основные виды тестирования: функциональное, нагрузочное, регрессионное и др.
  • Жизненный цикл разработки ПО и позиция тестирования в нём
  • Инструменты и технологии, используемые в тестировании
  • Основи баз даних: Розуміння ролі баз даних у створенні програмного забезпечення, типи баз даних та основні операції.

  • Структуровані запити: Вивчення мови SQL: створення структурованих запитів до баз даних, перевірка цілісності даних.

  • Тестування продуктивності баз даних: Оцінка продуктивності бази даних, оптимізація запитів.

  • Автоматизація тестування баз даних: Розгляд методів автоматизації тестування баз даних для забезпечення стабільності даних та швидкого зворотного зв’язку.

Вступление до основ тестирования ПО

Основи баз даних

Розуміння ролі баз даних у створенні програмного забезпечення, типи баз даних та основні операції.

Роль баз даних у створенні програмного забезпечення

Бази даних є фундаментальною складовою сучасних програмних систем. Вони виконують ключову роль у зберіганні, організації та управлінні великим обсягом даних, які використовуються програмами для виконання різноманітних завдань. Важливість баз даних полягає в їх здатності забезпечувати структурований, надійний та ефективний доступ до інформації, сприяючи розвитку потужних та функціональних програмних продуктів.

 

Типи баз даних

  1. Реляційні бази даних: Цей тип баз даних базується на моделі реляцій, де дані організовані у вигляді таблиць з рядками (кортежами) та стовпцями (атрибутами). Реляційні бази даних використовують мову структурованих запитів SQL для взаємодії з даними.
  2. Графові бази даних: Цей тип баз даних призначений для зберігання даних, де важливі взаємозв’язки між об’єктами. Вони особливо корисні для моделювання соціальних мереж, транспортних систем та інших сценаріїв, де зв’язки між даними є складними.
  3. Документ-орієнтовані бази даних: Цей тип баз даних використовується для зберігання, організації та пошуку документів та їх ієрархічних структур. Вони підходять для систем, де документи мають різну структуру.
  4. Ключ-значення бази даних: Вони спеціалізовані на швидкому зберіганні та отриманні даних за допомогою унікальних ключів. Це корисно для кешування даних та зберігання тимчасової інформації.
  5. Колоночні бази даних: Вони оптимізовані для роботи з великими обсягами даних, зберігаючи інформацію по стовпцях замість рядків. Це дозволяє зменшити використання пам’яті та покращити продуктивність.

Висновок

Знання основ баз даних є необхідним для будь-якого розробника програмного забезпечення. Бази даних є фундаментальною складовою систем, яка допомагає забезпечити ефективний доступ до даних, їх збереження та обробку. Різноманітні типи баз даних та різні операції над ними відкривають безмежні можливості для створення потужних та функціональних програмних рішень.

Давайте ще переглянемо презентацію

або відкрити у новій вкладці  Google Презентація

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

Більше практики, тестів та інформації на нашому практикуму https://iqaengineer.com/ua/sql/

Давайте пройдемо тести

Основи бази даних

Трішки юмору

Якщо ваша база даних займає багато місця, можливо, це вона намагається зберегти всі свої більші та менші образи.

Два рядки зустрічаються в ресторані баз даних. Один запитує: "Ти відкритий на відносини?" Другий відповідає: "Ні, я виключений."

Чому базам даних ніколи не буває холодно? Тому що завжди є багато процесів, які підтримують тепло!

Програміст питає базу даних: "Чому ти завжди така холодна?" База даних відповідає: "Ти не розумієш, я завжди зберігаю спокій."

Чому базі даних ніколи не треба розділових стінок? Тому що вона завжди намагається зберегти відносини в одній таблиці.

Чому база даних вирішила стати археологом? Тому що вона так довго зберігає інформацію, що вже має статус історичної.

Два рядки лежать на пляжі. Один каже іншому: "Ти віриш в життя після дампу?"

Якщо ваша база даних починає вам відповідати великими буквами, можливо, вона просто переключила CAPS LOCK на випадок екстремальних умов.

Якщо SQL-запити - це ваш другий рід мови, то можливо, ви - мовний геній, а ваша база даних - ваш найбільший прихильник.

Два рядки зустрічаються на перехресті. Один говорить іншому: "Чи можеш ти підказати мені, як доїхати до бази даних?" Другий відповідає: "Так, поверніть ліворуч, але обов'язково дотримуйтесь цілісності."

Практичні завдання

Більше інформації та практичних завдань

Структуровані запити

Вивчення мови SQL для створення структурованих запитів до баз даних та перевірка цілісності даних

Structured Query Language (SQL)

є мовою програмування, яка використовується для створення, модифікації та управління базами даних. SQL дозволяє взаємодіяти з базою даних, виконувати запити для отримання певних даних, створювати таблиці, оновлювати дані, видаляти та додавати записи. Мова SQL є стандартом для багатьох типів реляційних баз даних і є незамінною для програмістів, адміністраторів баз даних та аналітиків даних.

Створення структурованих запитів

  1. SELECT: Цей запит використовується для вибірки даних з одної або декількох таблиць. Він дозволяє задавати умови, фільтрувати дані та сортувати їх.
  2. INSERT: Запит для вставки нових записів у таблицю бази даних.
  3. UPDATE: Використовується для оновлення існуючих даних у таблиці.
  4. DELETE: Дозволяє видаляти записи з таблиці.
  5. JOIN: Використовується для з’єднання даних з різних таблиць на основі спільних полів.

Перевірка цілісності даних

Цілісність даних є ключовим аспектом баз даних. Вона гарантує, що дані зберігаються та обробляються в правильному форматі і відповідають заданим правилам. SQL дозволяє встановлювати обмеження на дані, такі як унікальність значень у стовпці, зв’язки між таблицями, відсутність нульових значень, а також запускати тригери – автоматично виконувані операції при певних подіях.

Висновок

Вивчення мови SQL є необхідним кроком для кожного, хто має справу з базами даних. Ця мова дозволяє створювати структуровані запити для отримання потрібної інформації, а також забезпечує цілісність даних у базі. Володіння SQL допомагає ефективно взаємодіяти з даними, а також впливає на рішення, прийняті на основі цих даних.

Структуровані запити

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

Більше практики, тестів та інформації на нашому практикуму https://iqaengineer.com/ua/sql/

або відкрити у новій вкладці  Google Презентація

Давайте пройдемо тести

Структуровані запити: Вивчення мови SQL для створення структурованих запитів до баз даних та перевірка цілісності даних

Трішки юмору

Як виглядає база даних, яка хоче заснути? "Схиляється до таблиці".

Як ви називаєте видалений рядок даних? "Дишний абзац".

Програміст йде в бар, замовляє 1 пиво, 2 пива, 999 пива, NULL пива... Барман: "Не можу розуміти, яке пиво ви хочете, якщо ви не вказали його тип!"

Як база даних здійснює подорож? По бінарній дорозі!

Програміст, який вирішує проблеми даних, - це як санітар на вулиці чистоти.

Чому база даних завжди відповідає "Ні"? Тому що вона є нормалізованою до третьої форми.

Як база даних реагує на весільний запит? "Спершу давайте визначимо батьківські ключі..."

Практичні завдання

Більше інформації та практичних завдань

Тестування продуктивності баз даних

Оцінка продуктивності бази даних, оптимізація запитів

Бази даних

є невід’ємною частиною багатьох програмних рішень, незалежно від їхньої сфери застосування. Ефективна робота з даними є ключовою для забезпечення високої продуктивності, швидкодії та надійності додатків. Однак, для досягнення цих цілей, важливо не лише мати потужну базу даних, але й вміти ефективно тестувати її продуктивність, а також оптимізувати запити.

Оцінка продуктивності бази даних

є складним і багатогранним процесом. Вона включає в себе аналіз різних аспектів, що впливають на продуктивність, та визначення тих метрик, які дозволяють об’єктивно оцінити її роботу. Основні показники, які варто враховувати при оцінці продуктивності:

  1. Час відгуку (Response Time): Це час, який потрібен системі для обробки запиту та повернення результату користувачеві. Вимірюється у мілісекундах або секундах.

  2. Час виконання запитів (Query Execution Time): Це час, який займає виконання конкретного запиту до бази даних. Важливо вимірювати час виконання різних типів запитів.

  3. Пропускна здатність (Throughput): Кількість операцій, які система може обробити протягом однієї секунди. Визначається в одиницях виміру на одиницю часу.

  4. Використання ресурсів (Resource Utilization): Аналіз використання ресурсів, таких як процесор, пам’ять та дисковий простір, під час роботи системи.

  5. Стабільність (Stability): Здатність системи підтримувати стабільну працездатність навіть під високим навантаженням.

 

Оптимізація запитів

є ключовою частиною забезпечення високої продуктивності бази даних. Неоптимальні запити можуть спричинити зниження швидкодії та завантаження бази даних. Основні підходи до оптимізації запитів:

  1. Використання індексів (Indexing): Індекси допомагають прискорити пошук та вибірку даних. Оптимальне використання індексів може покращити продуктивність вибірки даних.

  2. Вибір оптимальних операторів: Вибір правильних операторів для виконання запиту може суттєво вплинути на швидкодію виконання.

  3. Правильне написання запитів: Використовуйте WHERE для фільтрації даних, а ORDER BY для сортування лише там, де це потрібно. Уникайте зайвих або надмірних запитів.

  4. Кешування запитів (Query Caching): Кешування може зменшити кількість повторних виконань однакових запитів та покращити продуктивність.

  5. Використання представлень та збережених процедур: Представлення та процедури можуть знизити кількість мережевого трафіку та покращити швидкість виконання.

  6. Аналіз та профілювання запитів: Використання інструментів для аналізу та профілювання допомагає виявити недооптимізовані запити та здійснити їх вдосконалення.

Висновок

Тестування продуктивності баз даних та оптимізація запитів є ключовими факторами в розробці високопродуктивних програмних продуктів. Визначення відповідних метрик, аналіз продуктивності та оптимізація запитів дозволяють досягнути ефективного використання ресурсів та забезпечити надійність системи. Навички тестування та оптимізації баз даних є важливими для розробників, адміністраторів баз даних та інших фахівців, які працюють з даними.

Більше інформації про тестування продуктивності баз даних

Для отримання додаткового матеріалу потрібно перейти за посиланням 
Google Drive

Більше практики, тестів та інформації на нашому практикуму https://iqaengineer.com/ua/sql/

або відкрити у новій вкладці  Google Презентація

Давайте пройдемо тести

Тестування продуктивності баз даних

Цікаві історії

  1. Корінний промах: В 1983 році, в Американському військовому відділі з’явилась база даних з назвою “CORRUPT”. Але в кінці 1985 року стало відомо, що вона виявилась псевдонімом для системи обміну даними, а база даних “CORRUPT” була заповнена некоректними даними.
  2. Коли база даних вирішила вибори: У 2015 році, кандидат у мери міста Оукленда (США) вирішив вибори, провівши голосування за допомогою бази даних блокчейн. Хоча ця ідея була цікавою, але вона не набула широкого розповсюдження.

  3. Сама популярна база даних: MySQL, реляційна база даних з відкритим кодом, є однією з найпопулярніших у світі. Вона використовується на багатьох веб-сайтах та додатках, включаючи великі платформи, такі як Facebook, Twitter та YouTube.

  4. Індексація у картотеках і в базах даних: Поняття індексації походить від аналогії з картотеками. Якщо у вас є велика картотека, то найчастіше спосіб пошуку інформації – це використання відсортованих карток з вказівками, де шукати. Індекс в базі даних працює аналогічно, створюючи структуру даних для швидкого доступу.

  5. Бази даних на ім’я героїв коміксів: Магнітні та атомні бази даних – це справжні герої в світі IT. Іноді розробники додають їм назви, пов’язані з коміксами та фільмами. Наприклад, в інструменті для створення баз даних MongoDB є команда find({“name”: “Tony Stark”}).

Автоматизація тестування баз даних

Розгляд методів автоматизації тестування баз даних для забезпечення стабільності даних та швидкого зворотного зв’язку.

Швидкість та ефективність

Ручне тестування баз даних може бути часом та ресурсом витратним процесом. Автоматизація дозволяє виконувати тести швидше та ефективніше, зменшуючи витрати часу.

Точність

Автоматичні тести виконуються точно відповідно до налаштувань та скриптів, що зменшує ймовірність людських помилок.

Повторюваність

Один і той самий набір тестів може бути виконаний безліч разів без зміни їх поведінки.

Зворотній зв'язок

Автоматичні тести негайно надають повідомлення про виявлені помилки, що дозволяє розробникам вчасно виправити проблеми.

Методи автоматизації тестування баз даних

1. Одиниці тестування баз даних (Unit Testing): Цей метод передбачає тестування окремих функцій та процедур бази даних, перевіряючи їх відповідність специфікаціям та очікуваним результатам.

2. Інтеграційні тести (Integration Testing): Тести взаємодії використовуються для перевірки взаємодії різних компонентів бази даних, таких як таблиці, перегляди (views), тригери та інші.

3. Тести відновлення (Recovery Testing): Ці тести перевіряють, як система відновлюється після непередбачуваних помилок, таких як відмови апаратури або втрата електроживлення.

4. Тести продуктивності (Performance Testing): Тести на продуктивність допомагають визначити, як швидко та ефективно база даних обробляє завантаження при різних умовах.

5. Тести цілісності даних (Data Integrity Testing): Ці тести перевіряють, чи зберігаються дані вірно та цілісно при різних операціях з базою даних.

6. Тести безпеки (Security Testing): Тести безпеки перевіряють, чи забезпечено базу даних від несанкціонованого доступу та атак.

Практичні завдання

Перехід

MySQL

Практический курс по основам SQL

Features

  • На курсе вы научитесь делать как простые выборки, так и многотабличные запросы с использование JOIN и UNION, а также освоите функции агрегации.
    SQL – это язык для общения программ с базами данных. Каждое серьезное собеседование или тестовое задание содержит вопросы о базах данных и SQL. Знание SQL значительно повышает шанс устройства на работу.
    Изучаем SQL на примере MySQL — одной из самых популярных баз данных.

    Для кого этот курс?
    Начинающие разработчики, тестировщики, маркетологи, аналитики.
    Курс для широкого круга слушателей. Не требует специализированных знаний ни в программировании, ни в базах данных.
  • Срок обучения -> 1 месяц
  • Время обучения -> вечернее
  • Формат обучения -> онлайн
ПЛАН КУРСА

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

Курсы

Публичная оферта. Авторское право © 2024 Школа подготовки тестировщиков