Переосмысление контроля качества в эпоху генеративного искусственного интеллекта

Reimagining quality control in the era of generative artificial intelligence

Генеративный искусственный интеллект позволяет разработчикам программного обеспечения создавать код намного быстрее, чем раньше. Для инженеров по тестированию качества программного обеспечения, ответственных за обеспечение своевременного выпуска и безошибочной работы приложений, GenAI представляет собой и вызов, и решение данной проблемы. Более конкретно, это предоставляет возможность подчеркнуть важность тестирования пользовательского опыта.

Слишком долго инженеры по обеспечению качества были вынуждены приоритезировать функциональное, производительностное и безопасность тестирования над другими аспектами. Наступает рассвет новой эры тестирования, которая охватывает больший спектр и приносит широкий набор преимуществ для инженеров и тестировщиков.

Фокус программ тестирования ПО

Качество программного обеспечения эволюционировало в направлении приоритезации следующих семи измерений, перечисленных в порядке их важности для бизнес-ценности:

  1. Функциональность: Гарантирование соответствия приложения требованиям его дизайна.
  2. Удобство использования: Оценка пользовательского интерфейса и рабочего процесса приложения, чтобы убедиться, что оно может быть легко понятным и навигируемым.
  3. Производительность: Тестирование производительности приложения в различных условиях для предотвращения проблем с задержкой и оптимизации времени отклика.
  4. Согласованность: Проверка вывода приложения для обеспечения одинаковых результатов и поведения в течение времени и в различных местоположениях.
  5. Безопасность: Оценка уязвимости приложения для потенциальных атак, чтобы гарантировать защиту данных.
  6. Устойчивость: Гарантирование работы систем в неблагоприятных и непредсказуемых условиях, чтобы восстановиться и продолжать функционировать без критических сбоев.
  7. Адаптация к обратной связи пользователей: Убедиться, что приложение адаптируется и учитывает новую информацию (в рамках функциональной зрелости) на основе обратной связи пользователя.

Этот список уже довольно пугающий. Достижение полного охвата каждого измерения – это как попытка попасть в движущуюся мишень. Ожидания могут быстро изменяться, а также доступность ресурсов, необходимых для их выполнения. GenAI предоставляет возможность сделать это.

Функциональность, производительность и безопасность тестирования остаются на первом месте

GenAI дает разработчикам программного обеспечения возможность создавать высококачественные приложения с использованием творческих подходов (например, тех, что генерируют контент, включая художественные и музыкальные композиции), и тестирование таких приложений требует пересмотра подхода по сравнению с традиционным тестированием. Диапазон возможных результатов от этих приложений более гибкий по сравнению с традиционными приложениями, что приводит к:

  • Случайности (менее предсказуемого вывода)
  • Риску непредвиденных поведений/результатов
  • Узким местам производительности из-за интенсивных алгоритмов, что приводит к большей нагрузке на аппаратные ресурсы

Единственный способ справиться с вызовами, перечисленными выше, – это противостоять им, используя инструменты, поддерживаемые GenAI, для планирования и выполнения тестов. Автоматизированные инструменты тестирования должны быть основой любого плана тестирования. Для инженера по тестированию это означает, что потребуется больше усилий для аудита программного обеспечения, разработки планов тестирования и их выполнения в масштабе. Однако, несмотря на то, что объем и скорость разработки кода продолжат требовать значительного внимания, инженерам по тестированию нужно будет продолжать анализировать взаимодействия пользователей, как симулируя, так и проверяя ответы и поведение приложения, особенно в случаях, когда модели искусственного интеллекта могут испытывать сложности с генерацией точного вывода.

GenAI требует свежего подхода к обеспечению качества, который работает умнее и быстрее. Мы должны быть готовы применять творческие программы тестирования, чтобы адаптироваться к этому новому способу создания программного обеспечения. Переосмысливая некоторые из наших старых методологий, мы можем лучше предвидеть проблемы на ранних этапах и предоставить более производительное, безопасное и удобное для пользователя программное обеспечение.