Интервью дает вам сценарий для разработки тестовых примеров, а идеи универсальных ответов научат вас, как отвечать! !
Интервью дает вам сценарий для разработки тестовых примеров, а идеи универсальных ответов научат вас, как отвечать! !

Привет, я Маверикс.

В прошлый четверг у меня было видеоинтервью с ByteDance, и мне задали вопрос о разработке тестового сценария. Меня попросили разработать вариант использования для сценария, в котором два человека общаются конфиденциально в WeChat.

Честно говоря, когда мне задали этот вопрос, я все же немного обрадовался, и это было совсем не удобно. Причина очень проста, потому что перед собеседованием брат Ню прочитал множество интервью Byte по тестированию программного обеспечения и обнаружил, что ByteDance ответит на такой вопрос:

Как проверить лайки в Моментах?

Как проверить комментарии в Moments?

Как проверить комментарии в TikTok?

Как проверить отправку красных конвертов в WeChat?

Как проверить отправку в Moments на WeChat?

Как разработать тестовые примеры для функции входа в систему?

......

Как вы думаете, брат Ню изучил каждую сцену и запомнил все ответы? Это было бы слишком мало, а программных сценариев так много. Только в WeChat их бесчисленное множество. Как можно запомнить их все?

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

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

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

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

А в остальном, поскольку это программное обеспечение, то это универсальный шаблон. Сказать больше десятка пунктов не составит труда, и для ответа на этот вопрос потребуется две-три минуты.

Давайте посмотрим на них один за другим:

1. тест пользовательского интерфейса:

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

И текст, отправленный в приватном чате WeChat, также имеет текстовые поля и цвета. В случае отправки красных конвертов красные конверты также имеют размеры и цвета. Я буду отвечать в основном с этой точки зрения.

2. Тестирование совместимости

Это просто. Если это веб-программа, просто используйте разные браузеры для ее проверки. Если это мобильный телефон, используйте разные марки и типы для ее проверки. Посмотрите, есть ли какие-либо проблемы с отображением пользовательского интерфейса, и есть ли такие функции, как. отправка красных конвертов, приватные чаты и комментарии корректны. Совместимо со всеми мобильными телефонами.

3. Тест сети

Это программное обеспечение должно быть подключено к Интернету. Вы можете сказать, что в тесте при слабой сети нет сети, сети 4G, 5G, работает ли эта функция, есть ли соответствующая обработка, например, нет сети и т. д. подсказывает.

Тогда вы также можете нанести ущерб в последнюю минуту, и я использовал некоторые инструменты, такие как Fiddler, для моделирования таких сценариев, как слабая сеть.

4. Тестирование безопасности

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

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

5. Тест на прерывание

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

6. Тестирование интерфейса

Когда вы только что сказали, что точки функционального тестирования должны основываться на странице, разве за страницей не стоят интерфейсные вызовы?

Затем нам нужно провести тестирование интерфейса.О тестировании интерфейса можно многое сказать, включая проверку на месте, совместную отладку исходящего и нисходящего потоков и т. д. Вопрос заключается в том, как проводить тестирование интерфейса. Слишком много можно сказать.

7. Тест производительности

Это означает, что, например, когда крупные пользователи работают одновременно, будут ли ваши функции входа в систему, комментариев, частного чата и красного конверта работать нормально, и не станет ли время ответа очень долгим? Обычно это делается для стресс-тестирования интерфейса.

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

Во всяком случае, когда я отвечал на этот вопрос в интервью, я повторял это долгое время. Интервьюер неоднократно кивал, и было видно, что он очень доволен.

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

boy illustration
Одна статья для понимания артефакта развязки внутренних компонентов Spring Event (событие Spring)
boy illustration
Java перехватывает строку после определенного символа_java, как перехватить строку
boy illustration
Давайте кратко поговорим о технологии копирования на записи.
boy illustration
Выполнение собственных условий SQL-запроса в MyBatis Plus
boy illustration
Напоминание о выпуске общедоступной учетной записи WeChat (интерфейс сообщения шаблона общедоступной учетной записи WeChat)
boy illustration
5 шагов для установки среды протокола
boy illustration
Наиболее полные коды состояния HTTP
boy illustration
На основе языка Go мы шаг за шагом научим вас внедрять структуру системы управления серверной частью.
boy illustration
Эффективное управление журналами с помощью Spring Boot и Log4j2: подробное объяснение конфигурации
boy illustration
Что делать, если telnet не является внутренней или внешней командой [легко понять]
boy illustration
php-объект для анализа json_php json
boy illustration
Введение в принцип запуска Springboot, процесс запуска и механизм запуска.
boy illustration
Высокоуровневые операции Mongo, если данные не существуют, вставка и обновление, если они существуют (pymongo)
boy illustration
Проектирование и внедрение системы управления электронной коммерцией на базе Vue и SpringBoot.
boy illustration
Статья длиной в 9000 слов знакомит вас с процессом запуска SpringBoot — самым подробным процессом запуска SpringBoot в истории — с изображениями и текстом.
boy illustration
Как настроить размер экрана в PR. Учебное пособие по настройке размера видео в PR [подробное объяснение]
boy illustration
Элегантный и мощный: упростите операции ElasticSearch с помощью easy-es
boy illustration
Проект аутентификации по микросервисному токену: концепция и практика
boy illustration
【Java】Решено: org.springframework.http.converter.HttpMessageNotWritableException.
boy illustration
Изучите Kimi Smart Assistant: как использовать сверхдлинный текст, чтобы открыть новую сферу эффективной обработки информации
boy illustration
Начало работы с Docker: использование томов данных и монтирования файлов для хранения и совместного использования данных
boy illustration
Использование Python для реализации автоматической публикации статей в публичном аккаунте WeChat
boy illustration
Разберитесь в механизме и принципах взаимодействия потребителя и брокера Kafka в одной статье.
boy illustration
Spring Boot — использование Resilience4j-Circuitbreaker для реализации режима автоматического выключателя_предотвращения каскадных сбоев
boy illustration
13. Springboot интегрирует Protobuf
boy illustration
Примечание. Инструмент управления батареями Dell Dell Power Manager
boy illustration
Общая интерпретация класса LocalDate [java]
boy illustration
[Базовые знания ASP.NET Core] -- Веб-API -- Создание и настройка веб-API (1)
boy illustration
Настоящий бой! Подключите Passkey к своему веб-сайту для безопасного входа в систему без пароля.
boy illustration
Руководство по настройке Nginx: как найти, интерпретировать и оптимизировать настройки Nginx в Linux