Сегодня можно прямо сказать - уровень "засилья" высокими технологиями буквально критически высок. Тотальная компьютеризация и одновременно парадоксально низкая компьютерная грамотность широких масс населения. Не только в России или в Казахстане - это реалии всего мира. И мы видим, что есть тенденция еще более усугубить эту ситуацию.
Большинство пользователей не знают и принципиально не хотят знать нюансов работы ПК или смартфона, некогда сверхпопулярная "тонкая настройка ПО и Системы" забыта даже профессиональными айтишниками. Все полагаются на программное обеспечение, которое уже само принимает за нас решения... и похоже, многих это вполне устраивает.
Да, сегодня программы стали крайне функциональными, но... наверное, все сталкивались, когда программы или игры, для компьютера или мобильного устройства тормозят, глючат, зависают. Порою их взламывают и крадут все данные... Иное приложение легко и понятно, иное - просто каторга или пытка с ним работать!
Причины просты и понятны - сегодня иной раз даже овощной магазин по соседству обзаводится своим мобильным приложением... а почему бы и нет? Ведь это способно в разы поднять продажи!
Но - вопрос - кто же пишет эти многочисленные программы? Да, не программисты из Microsoft, а то и вообще - программисты ли?
Чтобы все работало как часики - надежно и безопасно, удобно и понятно и существуют эти самые -
А по-английски - Test Management Systems или просто TMS. Эти системы играют ключевую роль в процессе обеспечения качества программного обеспечения. Они охватывают как ручное, так и автоматическое тестирование, обеспечивая организацию, выполнение и отслеживание тестов.
Это программные инструменты, предназначенные для управления полным жизненным циклом тестирования: Планирование тестирования и разработка тест-кейсов. Назначение тестов и выполнение тестов (вручную или автоматически). Сбор результатов. Отслеживание дефектов и регрессий. Генерация отчетности и аналитики
Тестировщик вручную выполняет тест-кейсы на интерфейсе пользователя, API или других частях системы. Использует чек-листы или тест-кейсы, записывает результаты, заводит баги (провоцирует ошибки и сбои). Как пример - https://testit.software/product/manual-testing. Данный подход обеспечивает большую индивидуальность и гибкость в обработке нестандартных случаев. Подходит для UI/UX и креативного тестирования. Меньше затраты времени на подготовку в начале проекта.
Но - высокая цена (человеко-часы всегда недешево). Медленно масштабируется, склонно к человеческим ошибкам. Ну и "повторяемость опыта" - сложно воспроизводить те же действия "один в один".
Скрипты или фреймворки автоматически выполняют тест-кейсы, которые ранее делал человек вручную. Быстрое выполнение тестов и возможность интеграции с CI/CD. Повторяемость и надежность. Подходит для регрессионного тестирования.
А из недостатков - высокая стоимость внедрения и поддержки, нужна предварительная тщательная работа профессионалов. Неэффективно для нестабильных или часто меняющихся UI. Человека автоматика заменить не может - особенно его субъективное отношение, такое как оценка визуальной привлекательности, понятности, удобства.
Но на практике почти всегда используют смешанный подход - самый эффективный и удобный. Ручное тестирование для креативных, визуальных и новых тестов. Автоматизация для стабильных, повторяющихся сценариев (регрессия, smoke, API). Использование TMS для централизованного управления, отчетов и трассировки
Усложнение программного обеспечение неизбежно. Сейчас все больше и больше ответственных решений берет на себя ПО, в том числе ИИ. Но полагаться на них категорически нельзя. Так как даже малейший изъян в программном коде может привести к серьезным последствиям, самый наглядный пример - это две авиакатастрофы Boeing 737 MAX 8 в 2018 и 2019 годах, повлекшие многочисленные человеческие жертвы...
Но правильный и ответственный подход минимизирует подобное практически полностью.
***