воскресенье, 8 ноября 2015 г.

Вопросы на собеседовании тестировщика

Перевод вопросов с сайта Михаила Портнова https://www.portnov.com/ru


Что такое качество ?

  • Удовлетворение потребностей клиентов? Субъективный термин. Зависит от того, кто является "клиентом". Каждый клиент будет иметь свою собственную точку зрения на "качество"

Что такое качество ПО ?

  • Степень соответствия ожиданиям
  • Удовлетворение потребностей клиентов
  • Качественное ПО: ПО в  разумной степени свободное от багов, изготовленное в срок, уложившееся в рамки бюджета, отвечающее требованиям и ожиданиям, удобное в сопровождении.

Что такое обеспечение качества ?

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

Разница между тестированием и обеспечение качества ПО ?

  • Тестирование это в основном процесс поиска ошибок
  • Обеспечение качества это "средство предотвращения ошибок" ("Обеспечение качества" измеряет качество процессов, используемых для создания качественного продукта)

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

  • Тестирование - это процесс анализа ПО с целью выявить различие между реальным и ожидаемым поведением ПО (программного обеспечения).
  • Цель тестирования
    • Валидация
    • Верификация
    • Error Detection
Верификация (verification) - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа [IEEE]. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.

Валидация (validation) - это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе [BS7925-1].


Возможно ли найти все баги, до того, как продукт уйдет клиентам ?

  • Все баги найти невозможно.


Что такое черное и белое тестирование ?

  • Тестирование черного ящика - тестирование ПО без доступа к исходному коду
  • Тестирование белого ящика - тестирование ПО с доступом к коду. Поиск багов осуществляется на уровне кода, а не логики ПО.  

Что такое баг ?

  • Баг (bug) — это отклонение фактического результата (actual result) от ожидаемого результата (expected result).

Что такое use case ?

  • Use case используется бизнес аналитиками в качестве формы (шаблона) для технических требований. Каждый use case представляет законченную бизнес-операцию совершенную пользователем.  С точки зрения обеспечения качества нам нужно выполнить End-To-End тест, чтобы убедиться, что требование выполняется. (Use case описывает поведение ПО при соприкосновении с внешним миром)
  • Больше инофрмации можно найти поссылке http://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci334062,00.html

Влияние QA на процесс развития продукта ?


  • Разъяснение требований
  • Снижения процента переписывания кода из-за изменения требований



Что такое негативное тестирование ? Позитивное ?

  • Цель позитивного тестирование показать что ПО работает так, как надо, когда пользователь совершает корректные действия. 
  • Или Позитивное” тестирование – это тестирование на данных или сценариях, которые соответствуют нормальному (штатному, ожидаемому) поведению системы.Основной целью “позитивного” тестирования является проверка того, что при помощи системы можно делать то, для чего она создавалась. (Информация взята отсюда
  • Цель негативного тестирование показать что ПО работает так, как надо, когда пользователь совершает некорректные действия.
  • Или Негативное” тестирование – это тестирование на данных или сценариях, которые соответствуют нештатному поведению тестируемой системы – различные сообщения об ошибках, исключительные ситуации, “запредельные” состояния и т.п.
  • Основной целью “негативного” тестирования является проверка устойчивости системы к воздействиям различного рода, валидация неверного набора данных, проверка обработки исключительных ситуаций (как в реализации самих программных алгоритмов, так и в логике бизнес-правил).
Во многих ресурсах по тестированию, при описании последовательности выполнения видов тестирования, негативное тестирование отделяют в отдельную процедуру и ставят на 4-е место.

При этом приводится следующий план тестирования:

  1. Изучение документации (для того, чтобы понять что, собственно тестируем)
  2. Дымовое тестирование или Smoke testing (первый прогон программы, чтобы понять работает ли она вообще)
  3. Позитивное тестирование (для того, чтобы проверить работу программы при получении ею "правильных" входных данных)
  4. Негативное тестирование (Информация взята отсюда)


Что такое жизненный цикл разработки ПО ? (ответ на данный вопрос я взял из книги Романа Савина "Тестирование посопособие по жестокому обращению с багами в интернет-стартапах")


Цикл (процесс) разработки ПО (software development life cycle) — это путь от идеи до поддержки готового продукта. Чем более отлажены каждая из стадий цикла и координация между ними, тем эффективнее работает интернет-компания, тем выше качество и тем счастливее пользователи. 
  • ИДЕЯ
  • РАЗРАБОТКА ДИЗАЙНА ПРОДУКТА И СОЗДАНИЕ СПЕКА
  • КОДИРОВАНИЕ
  • ИСПОЛНЕНИЕ ТЕСТИРОВАНИЯ И РЕМОНТ БАГОВ
  • РЕЛИЗ

Что такое тест-кейс ?

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



Что включает в себя тест-кейс ?

При планировании
  • ID 
  • Название и описание 
  • Шаги 
  • Ожидаемый результат 

При выполнении тест-кейса можно добавить еще две колонки
  • Фактический результат 
  • Поле индикации PASS/FAIL

Что такое тест-план ?

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


Что включает в себя тест-план ?


1) Что надо тестировать?
  • описание объекта тестирования: системы, приложения, оборудования
2) Что будете тестировать?
  • список функций и описание тестируемой системы и её компонент в отдельности
3) Как будете тестировать?
  • стратегия тестирования, а именно: виды тестирования и их применение по отношению к объекту тестирования
4) Когда будете тестировать?
  • последовательность проведения работ: подготовка (Test Preparation), тестирование (Testing), анализ результатов (Test Result Analisys) в разрезе запланированных фаз разработки
5) Критерии начала тестирования:
  • готовность тестовой платформы (тестового стенда)
  • законченность разработки требуемого функционала
  • наличие всей необходимой документации
...
6) Критерии окончания тестирования:
  • результаты тестирования удовлетворяют критериям качества продукта:
  • требования к количеству открытых багов выполнены
  • выдержка определенного периода без изменения исходного кода приложения Code Freeze (CF)
  • выдержка определенного периода без открытия новых багов Zero Bug Bounce (ZBB)

Что включить в баг репорт ?



Комментариев нет:

Отправить комментарий