Вопросы на собеседовании Тестировщику: 34 примера с ответами

Вопросы на собеседовании Тестировщику: 34 примера с ответами
3 Сентября, 2023
4336

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

По сути, тестирование программного обеспечения направлено на ответ на вопрос: как можно гарантировать, что программное обеспечение делает то, что оно должно делать, и не делает того, что оно не должно делать? Основная цель тестирования программного обеспечения — получить достаточную уверенность в том, что тестируемое программное обеспечение выдает правильные выходные данные для заданных входных данных.

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

Содержание [скрыть] [показать]

Вопросы на собеседование для тестировщиков (QA)

В этой статье представлены часто задаваемые вопросы на собеседованиях на должность тестировщика программного обеспечения или специалиста по обеспечению качества (QA).  

1. Что такое тестирование программного обеспечения?

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

2. Какие бывают виды тестирования?

Вы можете протестировать программное обеспечение разными способами. Некоторые виды тестирования проводятся разработчиками программного обеспечения, а некоторые — тестировщиками ПО. Вот несколько различных видов тестирования программного обеспечения, а также краткое описание каждого из них.

Тип Описание
Модульное тестирование Программный тест, проверяющий внутреннюю работу единицы кода, например метода или функции.
Интеграционное тестирование Гарантирует, что несколько компонентов системы работают должным образом, когда они объединяются для получения результата.
Регрессионное тестирование Гарантирует, что существующие функции/методы, которые раньше работали, не будут нарушены из-за новых изменений кода.
Тестирование системы Полное сквозное тестирование выполняется для всего программного обеспечения, чтобы убедиться, что вся система работает должным образом.
Unit тестирование Быстрый тест, выполненный для того, чтобы убедиться, что программное обеспечение работает на самом базовом уровне и не дает сбоев при запуске. Его название происходит от тестирования оборудования, когда вы просто подключаете устройство и смотрите, выходит ли дым.
Тестирование производительности Гарантирует, что программное обеспечение работает в соответствии с ожиданиями пользователя, проверяя время отклика и пропускную способность при определенной нагрузке. 
Пользовательское тестирование Обеспечивает соответствие программного обеспечения требованиям клиентов или пользователей. Обычно это последний шаг перед запуском программного обеспечения, т. е. его выходом на рынок.
Стресс-тестирование Гарантирует, что производительность программного обеспечения не снижается при увеличении нагрузки. При стресс-тестировании тестировщик подвергает программное обеспечение большим нагрузкам, таким как большое количество запросов или строгие требования к памяти, чтобы проверить, хорошо ли оно работает.
Юзабилити-тестирование Измеряет, насколько удобно использовать программное обеспечение. Обычно это выполняется с выборкой конечных пользователей, которые используют ПО и предоставляют отзывы о том, насколько легко или сложно его использовать. 
Тестирование безопасности Сейчас важнее, чем когда-либо. Тестирование безопасности пытается взломать проверки безопасности программного обеспечения, чтобы получить доступ к конфиденциальным данным. Тестирование безопасности имеет решающее значение для веб-приложений или любых приложений, связанных с деньгами. 

3. Каковы принципы тестирования программного обеспечения?

Тестирование программного обеспечения регулируется семью принципами:  

  • Заблуждение об отсутствии ошибок: даже если программное обеспечение на 99% не содержит ошибок, его нельзя использовать, если оно не соответствует требованиям пользователя. Программное обеспечение должно быть безошибочным в течение 99 % времени, а также должно отвечать всем требованиям клиентов.
  • Тестирование показывает наличие ошибок: Тестирование может подтвердить наличие дефектов в программном обеспечении, но оно не может гарантировать, что программное обеспечение не содержит дефектов. Тестирование может минимизировать количество дефектов, но не может устранить их все. 
  • Исчерпывающее тестирование невозможно: программное обеспечение не может быть протестировано исчерпывающе, а это означает, что все возможные тестовые случаи не могут быть охвачены. Тестирование может быть выполнено только с несколькими избранными тестовыми примерами, и предполагается, что программное обеспечение будет давать правильный результат во всех случаях. Проведение программного обеспечения через каждый тестовый пример будет стоить дороже, потребует больше усилий и т. д., что делает его непрактичным.
  • Кластеризация дефектов: большинство дефектов обычно обнаруживается в небольшом количестве модулей проекта. Согласно принципу Парето, 80% дефектов программного обеспечения возникают из-за 20% модулей.
  • Парадокс пестицидов: невозможно найти новые ошибки, повторно запуская одни и те же тесты снова и снова. Таким образом, обновление или добавление новых тестовых случаев необходимо для того, чтобы найти новые ошибки.
  • Раннее тестирование: раннее тестирование имеет решающее значение для обнаружения дефекта в программном обеспечении. На ранних стадиях SDLC дефекты будут обнаруживаться легче и с меньшими затратами. Тестирование программного обеспечения должно начинаться на начальном этапе разработки программного обеспечения, то есть на этапе анализа требований.
  • Тестирование зависит от контекста: подход к тестированию зависит от контекста разработки программного обеспечения. Программное обеспечение необходимо тестировать по-разному в зависимости от его типа. Например, сайт образовательных технологий тестируется не так, как приложение для Android.

4. Что такое регрессионное тестирование в тестировании программного обеспечения?

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

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

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

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

5. Что такое исследовательское тестирование?

Представьте себе туриста в чужом городе. Есть два способа исследовать город:

  • Следуйте карте, маршруту или списку мест, которые должны посетить.
  • Исследуйте случайным образом, следуя по улицам, которые ведут к новым местам.

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

Оба подхода имеют свои плюсы и минусы.

Тестировщик похож на туриста, когда тестирует программное обеспечение. Он может следовать строгому набору тестовых случаев и тестировать программное обеспечение в соответствии с ними с предоставленными входными и выходными данными, или может исследовать программное обеспечение.

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

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

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

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

6. Что такое сквозное тестирование?

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

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

7. Что такое модульное тестирование?

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

Модульный тест вызывает код и сверяет результат с ожидаемым результатом. Если ожидаемый и фактический результаты совпадают, модульный тест проходит. В противном случае это не удается.

Хороший модульный тест имеет следующие характеристики:

  1. Он должен тестировать одну часть функциональности.
  2. Это полностью автоматизировано и повторяемо. 
  3. Он должен работать быстро и обеспечивать немедленную обратную связь.
  4. Он должен быть изолирован и не должен взаимодействовать с внешними зависимостями, такими как сеть, база данных или файловая система, без необходимости. Вы можете использовать технику имитации для имитации внешних зависимостей и изоляции тестируемого кода.

8. Что такое API?

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

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

Другое использование API — предоставление данных, необходимых приложению. Допустим, вы создаете погодное приложение, которое отображает температуру. Вместо того, чтобы самостоятельно создавать технологию для сбора данных о температуре, вы должны получить доступ к API, предоставленному метеорологическим институтом.

9. Что такое тестовая среда?

Тестовая среда состоит из сервера/компьютера, на котором тестер выполняет свои тесты. Он отличается от машины для разработки и пытается представить фактическое оборудование, на котором будет работать программное обеспечение; как только он будет в производстве.

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

10. Объясните, как работает инструмент тестового покрытия?

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

11. Можете ли вы описать различные типы методов покрытия тестами?

Среди различных типов методов покрытия тестами можно выделить:

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

12. Расскажите о тестировании черного ящика, тестировании белого ящика и тестировании серого ящика.

  • Тестирование «черного ящика» при тестировании программного обеспечения : при тестировании «черного ящика» система тестируется только с точки зрения ее внешнего поведения; он не учитывает, как программное обеспечение функционирует внутри. Это единственное ограничение теста черного ящика. Он используется в приемочном тестировании и системном тестировании.
  • Тестирование белого ящика в тестировании программного обеспечения. Тест белого ящика — это метод тестирования программы, который учитывает ее внутреннюю работу в рамках ее проверки. Он используется в интеграционном тестировании и модульном тестировании.
  • Тестирование серого ящика в тестировании программного обеспечения: метод тестирования серого ящика можно охарактеризовать как комбинацию черного ящика, а также метода тестирования белого ящика, используемого в процессе тестирования программного обеспечения. Используя эту технику, вы можете протестировать программный продукт или приложение с частичным пониманием его внутренней структуры.

13. Полезно ли автоматическое тестирование в гибкой методологии?

Крайне выгодно использовать автоматизированное тестирование при использовании гибкой модели в тестировании программного обеспечения. Это помогает достичь максимального покрытия тестами за меньшее время спринта.

14. Объясните тестовые сценарии, тестовые случаи и тестовые примеры в процессе тестирования ПО.

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

Что такое функциональное тестирование?

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

Он проверяет программное обеспечение на соответствие функциональным требованиям или спецификации, игнорируя нефункциональные атрибуты, такие как производительность, удобство использования и надежность.

Функциональное тестирование направлено, в частности, на ответы на следующие вопросы:

  • Соответствует ли программное обеспечение своим функциональным требованиям?
  • Решает ли это проблемы предполагаемых пользователей?

42. Что такое нефункциональное тестирование?

Нефункциональное тестирование проверяет нефункциональные требования к системе, которые относятся к атрибуту или качеству системы, явно запрошенному клиентом. К ним относятся производительность, безопасность, масштабируемость и удобство использования.

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

15. Что такое ошибка в тестировании ПО?

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

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

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

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

16. Укажите разницу между багами и ошибками

Ошибки и ошибки различаются по следующим признакам:

Баги Ошибки
Баги — это дефекты, возникающие, когда программное обеспечение или приложение не работают должным образом. Баг возникает, когда возникает ошибка кодирования, которая приводит к сбою в работе программы.  Ошибки в коде вызваны проблемами с кодом, что означает, что разработчик мог неправильно понять требование или требование было определено неправильно, что привело к ошибке. 
Баг отправляется ​​тестировщиками. Ошибки выдаются инженерами-испытателями и разработчиками.
Логические баги, баги ресурсов и алгоритмические баги являются типами багов. Типами ошибок являются синтаксическая ошибка, ошибка обработки ошибок, ошибка обработки ошибок, ошибка пользовательского интерфейса, ошибка управления потоком, ошибка вычислений и ошибка тестирования.
Программное обеспечение обнаруживается до того, как оно будет развернуто в рабочей среде. Ошибка возникает, когда код не может быть скомпилирован.

17. Что такое план тестирования? Что оно включает?

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

План тестирования должен включать следующие детали: 

  • Стратегия тестирования 
  • Цель теста 
  • Объем теста 
  • Причина тестирования 
  • Критерии выхода/приостановки 
  • Планирование ресурсов 
  • Тестовые результаты. 

18. Что такое отчет о тестировании? Что оно включает?

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

  • Цель теста 
  • Информационный проект 
  • Дефект 
  • Сводка теста

19. Что подразумевается под результатами тестирования?

Результаты тестирования, также известные как артефакты тестирования, в основном представляют собой список всех документов, инструментов и других компонентов, которые предоставляются заинтересованным сторонам программного проекта во время SDLC. Результаты тестирования поддерживаются и разрабатываются в поддержку теста. На каждом этапе SDLC есть разные результаты, как указано ниже:

Перед этапом тестирования 

  • Документ планов тестирования. 
  • Документы по тест-кейсам 
  • Спецификации проекта тестирования.

На этапе тестирования 

  • Тестовые сценарии 
  • Симуляторы. 
  • Тестовые данные 
  • Матрица прослеживаемости тестов 
  • Журналы ошибок и журналы выполнения

После этапа тестирования 

  • Результаты испытаний/отчеты 
  • Отчет о дефектах 
  • Инструкции по установке/тестированию 
  • Примечания к выпуску 

20. Какие существуют категории отладки (дебага)?

Различные категории отладки включают в себя: 

  • Отладка грубой силы 
  • Возвращение 
  • Устранение причины 
  • Нарезка программы 
  • Анализ дерева отказов 

21. Напишите несколько распространенных ошибок, которые приводят к серьезным проблемам.

Некоторые распространенные ошибки включают в себя: 

  • Плохое планирование 
  • Недооценка 
  • Игнорирование мелких проблем 
  • Несоблюдение точного процесса 
  • Неправильное распределение ресурсов 

22. Что такое пользовательская история?

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

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

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

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

  1. Selenium: инструмент автоматизации веб-браузера, который автоматизирует наборы тестов, необходимые для запуска в веб-браузере.
  2. Protractor: комплексная тестовая среда для приложений Angular и AngularJS. Protractor запускает тесты для вашего приложения, работающего в реальном браузере, взаимодействуя с ним так, как это делал бы пользователь.
  3. Cypress: современный интерфейсный инструмент тестирования, созданный для современной сети. Хотя он похож на Selenium и Protractor, он архитектурно отличается от них.
  4. Jasmine: это среда тестирования JavaScript с открытым исходным кодом, которая позволяет вам писать тесты, основанные на поведении.
  5. JUnit и NUnit: это платформы модульного тестирования для языков программирования Java и C# соответственно.

24. Что такое A/B-тестирование?

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

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

Как правило, A/B-тестирование используется для проверки пользовательского опыта различных интерфейсов. Это позволяет команде быстро собрать отзывы и проверить свою первоначальную гипотезу.

25. Что такое дефекты в тестировании программного обеспечения?

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

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

26. Что такое специя в тестировании программного обеспечения?

SPICE расшифровывается как «Улучшение программного процесса и определение возможностей». В области процессов разработки программного обеспечения SPICE является стандартной структурой для оценки эффективности и результативности процесса разработки. IEC (Международная электротехническая комиссия) и ISO (Международная организация по стандартизации) совместно разработали SPICE.

27. Что вы подразумеваете под скрытым дефектом и замаскированным дефектом?

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

28. Можете ли вы объяснить тестирование работоспособности при тестировании программного обеспечения?

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

Функции

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

29. Какова цель TestNG?

Платформа TestNG для Java — это расширенная среда автоматизации тестирования с открытым исходным кодом, предназначенная для использования как тестировщиками, так и разработчиками. Цель TestNG — предоставить простую в использовании, удобочитаемую, структурированную, поддерживаемую и удобную среду для автоматизированных тестов. NG означает «Следующее поколение» в TestNG. Высококачественные аннотации, такие как поставщики данных, упрощают кросс-браузерное тестирование, поскольку вы можете тестировать на нескольких устройствах и в разных браузерах. Кроме того, фреймворк имеет встроенный механизм обработки исключений, который предотвращает неожиданное завершение программы.

30. Можно ли пропустить метод или блок кода в TestNG?

Да, вы можете пропустить определенный метод тестирования или код, установив для параметра «включено» значение «ложь» в аннотациях к тесту.

@Test (priority=2).

31. Как лучше всего установить приоритет тестовых случаев в TestNG?

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

Синтаксис: @Test(priority=2)

Пример: Следующий код демонстрирует, как установить приоритет тестового примера в TestNG.

package TestNG;
import org.testng.annotations.*;
public class SettingPriority {
@Test(priority=0)
public void scalermethod1() {
}
@Test(priority=1)
public void scalermethod2() {
}
@Test(priority=2)
public void scalermethod3() {
}
}

Последовательность выполнения теста:

ScalerMethod1
ScalerMethod2
ScalerMethod3

32. Что такое репозиторий объектов?

Репозиторий объектов — это набор веб-элементов и их локаторов, принадлежащих тестируемому приложению (AUT). QA хранят все локаторы элементов в отдельном файле, известном как файл свойств (. properties) в Selenium. Во время выполнения он служит средством идентификации объектов между тестовым сценарием и приложением.

33. Каковы важные шаги для решения проблем во время тестирования?

Следующие шаги могут помочь в решении проблем во время тестирования:

  • Запись: Отслеживайте любые возникающие проблемы и решайте их.
  • Отчет: Информируйте руководителей более высокого уровня о проблемах.
  • Контроль: Установите процесс для управления проблемами.

34. Какими качествами должен обладать тестировщик ПО?

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

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

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

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