Можно сказать, что сегодняшняя работа совершенно неотделима от ИИ, и его мощь затронула различные области. Многие люди, особенно в сфере Интернета, ропщут: если большая модель ИИ настолько мощна, то неужели почти нет рабочих мест для разработки тестов и должностей по автоматизированному тестированию, и будут ли они устранены?
На самом деле здесь много дверных проемов, позвольте мне объяснить подробно.
Большая модель ИИ действительно впечатляет вначале, когда дело доходит до функционального тестирования. Это своего рода умный маленький помощник, который может сгенерировать кучу тест-кейсов на основе описания функций программы и документации. Например, в нашем обычно используемом офисном программном обеспечении, таком как программное обеспечение для обработки текстов, которое имеет такие функции, как установка шрифтов, набор абзацев и сохранение документов, тестовые примеры, созданные большой моделью ИИ, являются весьма полными, включая нормальную работу, и те что может пойти не так, он может принять во внимание все ситуации, такие как неправильный формат данных и несовместимые операции.
Но это не так уж и удивительно. Когда вы столкнетесь с таким высокопрофессиональным программным обеспечением, большая модель ИИ будет немного запутанной. Возьмем, к примеру, программное обеспечение для анализа медицинских изображений. Оно насыщено профессиональной медицинской терминологией, а также чрезвычайно сложными алгоритмами анализа изображений в сочетании со строгими медицинскими нормативными требованиями. Что касается большой модели ИИ, то она лишь частично понимает эти профессиональные знания, поэтому созданные тестовые примеры часто упускают некоторые ключевые детали, что делает невозможным полное и точное понимание функций программного обеспечения в реальных медицинских сценариях после их обнаружения. , они даже это придумали, возможно, игнорируя некоторые скрытые детали и функциональные проблемы, что немного хлопотно.
С точки зрения тестирования производительности большие модели ИИ также имеют свои возможности. Он может моделировать ситуацию, когда множество пользователей одновременно получают доступ к программному обеспечению. Например, давайте протестируем программное обеспечение онлайн-видеоплатформы. Оно может имитировать просмотр видео множеством людей, переключение видео, публикацию комментариев и т. д., а затем посмотреть, как работают показатели производительности системы, такие как время отклика и пропускная способность.
Но мы должны знать, что в реальном мире пользователи не так дисциплинированы при использовании программного обеспечения. Возьмем, к примеру, просмотр видео. Некоторые люди внезапно делают паузу во время просмотра, затем продолжают перематывать вперед и назад и постоянно переключают разрешение видео по мере изменения сетевой среды. Большим моделям искусственного интеллекта слишком сложно точно имитировать такое сложное и изменчивое поведение пользователей. Поэтому, если вы полагаетесь исключительно на большие модели ИИ для тестирования производительности, вы, скорее всего, упустите некоторые узкие места в производительности, которые возникают только в реальных сценариях использования. Тогда трудно сказать, какой будет производительность программного обеспечения.
Когда дело доходит до тестирования безопасности, крупные модели ИИ также могут стать отправной точкой. Он может выполнять предварительное сканирование уязвимостей программного обеспечения на основе изученных им шаблонов уязвимостей безопасности, а также большого объема данных. Он может обнаружить некоторые распространенные уязвимости безопасности, такие как внедрение SQL и атаки с использованием межсайтовых сценариев (XSS).
Однако текущая ситуация с безопасностью сети очень серьезна, и новые уязвимости безопасности появляются, как грибы после дождя. Некоторые злоумышленники хитры и придумывают скрытые и хитрые методы атаки, такие как вредоносный код, созданный с использованием новых технических средств, или уязвимости нулевого дня, разработанные для конкретных программных архитектур. Что касается большой модели ИИ, поскольку ее механизм обновления и обучения данных несколько ограничен, она еще не обучена, поэтому часто бывает трудно своевременно обнаружить эти новые угрозы безопасности. Более того, сложные механизмы безопасности в программном обеспечении, такие как совместная безопасность различных методов аутентификации в системе многофакторной аутентификации, не могут быть полностью проанализированы с помощью большой модели искусственного интеллекта. В противном случае некоторые потенциальные риски безопасности будут упущены, а это значит. связанные с программным обеспечением. Основа безопасности.
Большие модели искусственного интеллекта также могут способствовать тестированию совместимости. Он может моделировать различные операционные системы, браузеры, устройства и другие среды для проведения тестирования совместимости программного обеспечения. Возьмем, к примеру, мобильные приложения. Он может проверить, нормально ли отображение интерфейса и функциональное взаимодействие программного обеспечения на мобильных телефонах разных марок, в разных версиях Android или iOS и в различных основных браузерах.
Но на самом деле существует множество нишевых, специфичных для отрасли комбинаций оборудования и программного обеспечения, и требования к их совместимости весьма специфичны. Например, для правильной работы программное обеспечение промышленного управления должно хорошо работать с определенными типами датчиков, контроллеров и протоколов промышленных сетей. Большая модель ИИ мало что знает об этих особых ситуациях и может быть не в состоянии точно обнаружить проблемы совместимости программного обеспечения в этих конкретных средах. Если что-то пойдет не так в реальных приложениях, последствия будут огромными.
Позиции разработчиков тестов очень важны. Разработчикам тестов приходится разрабатывать различные инструменты тестирования, фреймворки и сценарии, чтобы сделать работу тестирования более эффективной и результативной. Они обладают глубоким пониманием архитектуры программного обеспечения и стека технологий и могут настраивать и разрабатывать соответствующие инструменты тестирования с учетом конкретных потребностей проекта.
Например, если вы столкнулись с такой сложной распределенной системой, разработчики тестов могут разработать инструменты тестирования, специально используемые для моделирования различных сценариев ошибок в распределенных средах. Это то, чего нельзя сделать с большими моделями ИИ. Более того, разработчики тестов также могут тесно интегрировать среду автоматического тестирования с непрерывной интеграцией/непрерывной доставкой (CI/CD) и процессами, чтобы гарантировать автоматический запуск серии тестов после каждой отправки кода, чтобы избежать возможных проблем, вызванных изменениями кода. своевременно обнаружить вопрос.
Если вы позволите большой модели ИИ выполнять всю работу, вы можете не знать, как она будет сформирована, и вам все равно придется полагаться на вмешательство человека, чтобы исправить ее.
Таким образом, разработчики тестов играют незаменимую роль в оптимизации производительности тестовых сценариев, улучшении покрытия тестами и решении сложных технических проблем при создании тестовых сред. Они являются надежной опорой тестирования программного обеспечения.
Позиция автоматизированного тестирования также играет свою уникальную роль. Тестировщики автоматизации в основном преобразуют ручные тестовые сценарии в автоматизированные сценарии, а затем выполняют их. Они хорошо знакомы с различными инструментами и технологиями автоматизированного тестирования и могут разрабатывать эффективные решения для автоматизированного тестирования на основе функциональных характеристик и бизнес-процессов программного обеспечения.
Возьмем в качестве примера платформу электронной коммерции. После каждого обновления функции автоматическое тестирование может быстро всесторонне протестировать основные функции, такие как просмотр продуктов, заказ, оплата и запросы по логистике, чтобы гарантировать, что внедрение новых функций не нарушит нормальное функционирование. оригинальные функции работают. Более того, автоматизированные тестировщики также могут проводить углубленный анализ результатов автоматизированного тестирования, оперативно обнаруживать проблемы в тестовых сценариях и оптимизировать их для обеспечения стабильности и надежности автоматизированного тестирования. Постоянно оптимизируя процессы и сценарии автоматизированного тестирования, автоматизированные тестировщики продолжают повышать эффективность и качество тестирования программного обеспечения, обеспечивая надежную гарантию быстрой итерации программных продуктов.
Вы позволяете большой модели ИИ полностью понять бизнес, создать сценарии использования, а затем превратить их в сценарий. Это хорошая идея!
На самом деле, отношения между большими моделями ИИ, разработкой тестов и автоматизированным тестированием заключаются не в том, чтобы одно заменяло другое, а в хороших партнерах, которые могут работать вместе и дополнять сильные стороны друг друга.
Большие модели ИИ могут использовать преимущества своих мощных возможностей обработки данных и быстрого создания тестовых ресурсов, чтобы предоставить разработчикам тестов большое количество базовых тестовых материалов, таких как предварительные тестовые примеры, данные моделирования производительности и т. д., что может значительно повысить эффективность. тестовой работы. В то же время большая модель ИИ также может предоставлять автоматизированным тестировщикам шаблоны или примеры сценариев автоматизированного тестирования, ускоряя разработку сценариев автоматизированного тестирования.
Что касается разработчиков тестов, они могут лучше интегрировать большие модели ИИ в существующие инструменты и среды тестирования, разрабатывая программы-адаптеры и интерфейсы. Например, можно разработать интерфейс для автоматического импорта тестовых примеров, созданных большими моделями ИИ, в среду автоматизированного тестирования для обеспечения плавного соединения. Автоматизированные тестировщики могут использовать большие модели искусственного интеллекта для проведения предварительного анализа и проверки результатов испытаний, быстрого определения областей тестирования, в которых могут возникнуть проблемы, а затем полагаться на свои собственные профессиональные навыки для проведения углубленного анализа и определения местоположения дефектов.
Кроме того, большой объем фактических тестовых данных и опыта, накопленного разработчиками тестов и тестировщиками автоматизации в их повседневной работе, может быть передан обратно в большую модель ИИ, чтобы помочь ей постоянно оптимизировать алгоритмы и модели, а также повышать ее точность и эффективность в работе. тестирующая работа. Подобно передаче новых случаев уязвимостей безопасности, обнаруженных в ходе реальных испытаний, в большую модель ИИ, он может изучать и обновлять модель обнаружения уязвимостей безопасности, а также расширять возможности выявления новых угроз безопасности.
Он может помочь вам в любой физической работе.
Хотя крупные модели искусственного интеллекта доминируют в повседневной работе. У него также есть много недостатков.
Мы, кто занимается технологиями, хорошо понимаем архитектуру программного обеспечения и бизнес-процессы, и наши профессиональные технологии тестирования и возможности разработки инструментов также очень важны, что также имеет решающее значение в нашей работе.
Я бы сказал, что нам все еще необходимо поддерживать независимое мышление и хорошее разделение труда с большой моделью ИИ, чтобы они дополняли друг друга. Таким образом, тестирование программного обеспечения может быть быстрым и точным, гарантировать качество программного обеспечения и удовлетворить различные требования индустрии программного обеспечения. Что вы думаете?