Загрузка данных
Ниже — готовое заполнение таблицы для объекта «Калькулятор KCalc (ПК)» и решения для пунктов 5 и 6.
---
Таблица 1.1 — Тестовые проверки для различных видов тестирования
Объект тестирования: Калькулятор KCalc (ПК)
Вид тестирования Краткое определение вида тестирования Тестовые проверки
Functional Testing Тестирование на соответствие спецификации и функциональности Сложение, вычитание, умножение, деление; вычисление процентов; смена знака; очистка (C, CE); память (M+, M-, MR, MC); работа с дробями и скобками
Safety Testing Оценка риска причинения вреда здоровью, бизнесу, среде Проверить, что при некорректном вводе или переполнении калькулятор не «зависает» и не приводит к потере данных пользователя; отсутствие опасных операций при делении на ноль (выводится сообщение, а не аварийное завершение)
Security Testing Оценка защищённости от внешних воздействий Проверка, что калькулятор не сохраняет историю вычислений в открытом виде без ведома пользователя; отсутствие сетевых запросов; невозможность выполнения стороннего кода через поле ввода
Compatibility Testing Проверка работоспособности в различных средах Запуск KCalc в разных версиях KDE, дистрибутивах Linux (Ubuntu, Fedora, openSUSE), с разными темами оформления и масштабом шрифта
GUI Testing Тестирование через графический интерфейс Расположение кнопок, читаемость цифр и знаков, корректное отображение длинных чисел, работа горячих клавиш, изменение размера окна
Usability Testing Степень понятности, лёгкости изучения и привлекательности Понятность обозначений кнопок, логичность расположения, наличие подсказок, удобство для нового пользователя
Accessibility Testing Доступность для пользователей с ограниченными возможностями Работа с экранным диктором (Orca), навигация только с клавиатуры, достаточный контраст, масштабирование интерфейса
Internationalization Testing Адаптация к языковым и культурным особенностям ряда регионов Проверка отображения чисел с разными разделителями (запятая/точка), смена языка интерфейса без перезапуска, корректность форматов дат/чисел
Performance Testing Определение производительности продукта Время запуска, скорость вычислений при длинных цепочках операций, отзывчивость при быстром нажатии клавиш
Stress Testing Оценка на граничных значениях и за пределами рабочих нагрузок Ввод очень длинных чисел, многократное повторение операций, работа при минимальной свободной памяти
Negative Testing Тестирование на некорректных данных/сценариях Ввод букв, спецсимволов, пустого значения; деление на ноль; переполнение разрядной сетки; вставка текста из буфера обмена
Black Box Testing Тестирование без знания внутренней структуры и кода Проверка только по входным/выходным данным: ввод «2+2» → «4»; ввод «5/0» → сообщение об ошибке
Automated Testing Выполнение тест-кейсов инструментальными средствами Автотесты для проверки арифметических операций, граничных значений и форматов вывода с помощью скриптов (например, на Python + pytest)
Unit/Component Testing Тестирование отдельных модулей системы Проверка модуля парсера выражений, модуля вычисления, модуля форматирования результата
Integration Testing Тестирование взаимодействия между модулями Проверка связки «ввод → парсер → вычислитель → вывод»; корректная передача данных между GUI и вычислительным ядром
---
5. Композиция тестов для build 3 (поддержка английского языка)
Условие: заказчик расширяет рынки сбыта, нужна поддержка английского языка.
Рекомендуемая композиция:
(Smoke) + DV + NFT_AT + RT_MAT + специализированные тесты (Internationalization Testing, Localization Testing)
Обоснование:
· Smoke — проверить, что сборка вообще пригодна для тестирования (запускается, базовые операции работают).
· DV (Defect Validation) — проверить, что ранее заведённые дефекты исправлены.
· NFT_AT (New Feature Test, Acceptance Test) — протестировать новую функциональность (английский интерфейс) на корректных и некорректных сценариях.
· RT_MAT (Regression Testing, Minimal Acceptance Test) — убедиться, что старая функциональность (русский интерфейс, вычисления) не сломалась после изменений.
· Специализированные тесты:
· Internationalization Testing — проверка корректности отображения чисел с английскими разделителями (точка вместо запятой), форматов дат.
· Localization Testing — проверка перевода всех элементов интерфейса, отсутствия обрезанного текста, корректности горячих клавиш в английской раскладке.
---
6. Композиция тестов для build 4 (нагрузка 2000 пользователей)
Условие: заказчик хочет убедиться, что ПО выдержит нагрузку в 2000 пользователей.
Рекомендуемая композиция:
(Smoke) + DV + RT_MAT + специализированные тесты (Performance Testing, Load Testing, Stress Testing, Stability/Reliability Testing)
Обоснование:
· Smoke — проверить пригодность сборки для дальнейшего тестирования.
· DV (Defect Validation) — проверить исправление дефектов, если они были.
· RT_MAT (Regression Testing, Minimal Acceptance Test) — убедиться, что базовая функциональность не нарушена.
· Специализированные тесты:
· Load Testing (нагрузочное) — эмуляция работы 2000 параллельных пользователей; оценка времени отклика и количества ошибок.
· Performance Testing — замер производительности при возрастающей нагрузке (500 → 1000 → 2000 пользователей).
· Stress Testing — проверка поведения системы при нагрузке выше 2000 пользователей и при ограниченных ресурсах (память, CPU).
· Stability/Reliability Testing — длительное (многочасовое) тестирование со средним уровнем нагрузки для выявления утечек памяти и деградации производительности.
Примечание: для KCalc как настольного калькулятора «2000 пользователей» скорее означает 2000 одновременно открытых экземпляров или сессий в терминальном режиме. Если KCalc не является клиент-серверным приложением, нагрузочное тестирование проводится в условиях терминального сервера (например, X2Go, LTSP) или эмуляции 2000 экземпляров процесса.