unit tests
  • Установка Google Test
    • через VS 2022
  • Что тестировать как тестировать
    • Test Suites
  • Google Test примеры
  • Параметризация примеры
  • Функции expect и assert
    • EXPECT_*
  • Пример setUP() TearDown()
  • Тестирование производительности
  • Профилирование
    • ЦП Аналитика
    • Пример
  • пример тестирование записи в файл
  • 📚Tasks
    • Задание на повторение
    • Задание calculate_average
    • Задание
    • Задание 2
    • Задание 3
    • Задание Интеграционное тестирование
    • Задание 4 треугольник интеграция
    • Задание кошелек
    • Кошелек интеграция
    • Задачи профилирование
    • Задание Task
  • Пример
Powered by GitBook
On this page
  1. Tasks

Задачи профилирование

  1. Задача на оптимизацию времени выполнения:

    • Задача: Найти сумму элементов в большом массиве.

    • Пример кода:

      #include <iostream>
      #include <vector>
      #include <numeric>
      
      int main() {
          std::vector<int> nums(1000000, 1); // создаем массив из миллиона единиц
          int sum = std::accumulate(nums.begin(), nums.end(), 0); // считаем сумму элементов
          std::cout << "Сумма элементов массива: " << sum << std::endl;
          return 0;
      }
  2. Задача на поиск утечек памяти:

    • Задача: Создать большое количество объектов без их освобождения и проверить наличие утечек памяти.

    • Пример кода:

      #include <iostream>
      #include <vector>
      
      class MyClass {
      public:
          MyClass() { std::cout << "Создание объекта MyClass" << std::endl; }
          ~MyClass() { std::cout << "Уничтожение объекта MyClass" << std::endl; }
      };
      
      int main() {
          for (int i = 0; i < 1000000; ++i) {
              MyClass* obj = new MyClass(); // создаем миллион объектов MyClass
              // delete obj; // если не закомментировать эту строку, не будет утечки памяти
          }
          return 0;
      }
  3. Задача на оптимизацию производительности алгоритма:

    • Задача: Ускорить алгоритм поиска простых чисел.

    • Пример кода:

      #include <iostream>
      #include <vector>
      
      bool isPrime(int n) {
          if (n <= 1) return false;
          for (int i = 2; i * i <= n; ++i) {
              if (n % i == 0) return false;
          }
          return true;
      }
      
      int main() {
          const int N = 1000000;
          for (int i = 0; i < N; ++i) {
              if (isPrime(i)) {
                  std::cout << i << " ";
              }
          }
          return 0;
      }

PreviousКошелек интеграцияNextЗадание Task

Last updated 1 year ago

📚