ALMELN.ru

Хранилище текстов, отзывов и закладок о тестировании, обеспечении качества и литературе

View the Project on GitHub

Санитарное тестирование

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

«Lessons Learned in Software Testing: A Context-Driven Approach», Сэм Канер, Джеймс Маркус Бах, Брет Петтичорд

Wiley, 2001. Неофициальный переод Максима Захарова:

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

«Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование»

Рекс Блэк, Москва, Лори, 2006, 532/545 страницы:

Тестирование на исправность (Sanity Test). См. Приемочное тестирование (Smoke Test, Sanity Test).

Приемочное тестирование, тестирование на исправность (Smoke Test, Sanity Test). Тестирование, проверяющее, насколько стабильна предлагаемая на тестирование версия, чтобы можно было начинать штатное тестирование. Обычно это подмножество всего комплекта тестов, как правило, автоматизированное, затрагивающее все части системы, по крайней мере, поверхностно. Качественные приемочные тесты обычно довольно долго проверяют работу системы, чтобы проявились серьезные проблемы надежности и работоспособности. Термин “smoke test” (тест на задымленность) взят из электротехники: когда инженер включает цепь, первичный тест проверяет, не дымятся ли компоненты.

«Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах» Роман Савин

Москва, Дело, 2007. 104 страница, 257:

Исполнение тестирования и ремонт багов. Так как о тестировании мы будем говорить все остальные томные вечера, то сейчас будем лаконичны, как спартанцы. После того как проинтегрирован код, тестировщики проводят тест приемки (smoke test, sanity test или confidence test), в процессе которого проверяются основные функциональности.

Пример. Если мы не можем логнуться (log into) в наш эккаунт (account) на www.main.testshop.rs, то о каком дальнейшем тестировании можно говорить.

Если тест приемки не пройден, то программисты и релиз-инженеры совместно работают над поиском причины. Если проблема была в коде, то код ремонтируется, интегрируется и над ним снова производится тест приемки. И так по кругу, пока тест приемки не будет пройден.

Если же тест приемки пройден, то код замораживается и тестировщики начинают тестирование новых компонентов (new feature testing), т.е. исполнение своих тест-кейсов, написанных по спекам данного релиза (более подробно о значении термина feature поговорим в беседе о системе трэкинга багов)…

Классификация тестов по времени проведения тестирования. До передачи пользователю — альфа-тестирование (alpha-testing):

  1. тест приемки (smoke test, sanity test или confidence test);
  2. тестирование новых функциональностей (new feature testing);
  3. регрессивное тестирование (regression testing);
  4. тест сдачи (acceptance or certification test);
  5. После передачи пользователю — бета-тестирование (beta testing).

Кстати, тест приемки — это, как правило, эд хок-тестирование, при котором мы проверяем, работают ли самые базовые вещи, как, например, создание нового эккаунта. Я рекомендую составить список с такими базовыми вещами, например:

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

«Краткие основы тестирования программного обеспечения» Артур Коробейник

Киев: Директ-лайн, 2012. 40 страница:

Дымное тестирование – это поверхностный осмотр программы на то что она вообще способна работать и выполнять основные функции. Это тестирование проводится для того, чтобы пропустить какой-то модуль или всю программу на более точные этапы проверки. Например, вам говорят протестировать новую спутниковую навигационную систему (GPS) в вашем мобильном коммуникаторе. Прежде, чем согласиться с тем что система готова к тестированию, вы устанавливаете и запускаете её. Если GPS программа запустилась, определила ваше текущее местоположение и смогла просчитать какой-то простенький маршрут, то она прошла дымное тестирование и вы её принимаете у разработчиков на остальные более направленные и специфицированные фазы тестов. Если же система дала сбой во время дымного тестирования, не запустилась, не определила местоположение, то вы говорите что программа не работоспособна, требует доработки программистами и до исправления критических ошибок её дальнейшее тестирование выполняться не будет.

“Стандартный глоссарий терминов, используемых в тестировании программного обеспечения”, International Software Testing Qualifications Board

Версия 2.3 (от 9 июля 2014 года), International Software Testing Qualifications Board, ред. пер. Александр Александров. 54 страница:

Входной тест (intake test): Специальный тип теста “на дым” для принятия решения, готов ли компонент или система готова для дальнейшего детального тестирования. Обычно начинается в начале фазы тестирования. См. также тест “на дым”.

Тест верификации сборки (build verification test): Набор автоматических тестов, валидирующих целостность каждой новой сборки и верифицирующих ее ключевую/базовую функциональность, стабильность и тестируемость. Данный вид тестирования используется там, где присутствует высокая частота сборок (например, проекты с использованием гибких методологий разработки) и выполняется для каждой новой сборки перед передачей ее в тестирования. См. также регрессионное тестирование, тест “на дым”.

Тест “на дым” (smoke test): Выборка из общего числа запланированных тестовых сценариев, покрывающая основную функциональность компонента или системы. Проводится с целью удостовериться, что базовые функции программы в целом работают корректно, без углубления в детали. Ежедневная сборка и тест “на дым” являются передовыми практическими методами. См. входной тест, тест верификации сборки.

Тест работоспособности (sanity test): См. тест “на дым”.

«Standard Glossary of Terms used in Software Testing», International Software Testing Qualifications Board

Версия 3.1 (18 марта 2016 года), International Software Testing Qualifications Board:

Build verification test (BVT). See Also: regression testing, smoke test. A set of automated tests which validates the integrity of each new build and verifies its key/core functionality, stability and testability. It is an industry practice when a high frequency of build releases occurs (e.g., Agile projects) and it is run on every new build before the build is released for further testing.

Intake test. See Also: smoke test. Synonyms: pretest. A special instance of a smoke test to decide if the component or system is ready for detailed and further testing. An intake test is typically carried out at the start of the test execution phase.

Smoke test. See Also: build verification test, intake test. Synonyms: confidence test, sanity test. A subset of all defined/planned test cases that cover the main functionality of a component or system, to ascertaining that the most crucial functions of a program work, but not bothering with finer details.

“Тестирование программного обеспечения. Базовый курс”, Святослав Куликов

Святослав Куликов, EPAM

Версия книги 1.2.1 от 02.08.2017, EPAM Systems. 74-75/295 страницы:

Дымовое тестирование (smoke test139, intake test140, build verification test141) направлено на проверку самой главной, самой важной, самой ключевой функциональности, неработоспособность которой делает бессмысленной саму идею использования приложения (или иного объекта, подвергаемого дымовому тестированию).

Внимание! Очень распространённая проблема! Из-за особенности перевода на русский язык под термином «приёмочное тестирование» часто может пониматься как «smoke test», так и «acceptance test», которые изначально не имеют между собою ничего общего. Возможно, в том числе поэтому многие тестировщики почти не используют русский перевод «дымовое тестирование», а так и говорят — «смоук-тест».

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

Очень часто можно услышать вопрос о том, чем «smoke test» отличается от «sanity test». В глоссарии ISTQB сказано просто: «sanity test: See smoke test». Но некоторые авторы (Smoke Vs Sanity Testing, Introduction and Differences) утверждают, что разница («Smoke testing and sanity testing — Quick and simple differences») есть и может быть выражена следующей схемой (рисунок 2.3.f):

Разница между санитарным тестированием и смоуком

Не обнаружил упоминания “smoke”, “sanity”, “санит”, “прием”, “дымов”:

  1. IEEE 610.12-1990 IEEE Standard Glossary of Software Engineering Technology
  2. IEEE-829-2008 IEEE Standard for Software and System Test Documentation
  3. IEEE Std 1008-1987 IEEE Standard for Software Unit Testing
  4. «Основы программной инженерии (по SWEBOK). Программная инженерия» на базе IEEE Guide to SWEBOK® 2004, Сергей Орлик
  5. The Software Engineering Body of Knowledge (SWEBOK) is an international standard ISO/IEC TR 19759:2005
  6. The Software Engineering Body of Knowledge (SWEBOK) is an international standard ISO/IEC TR 19759:2015
  7. BS 7925-1
  8. DO-178B 1992. Software Considerations in Airborne Systems and Equipment Certification, Requirements and Technical Concepts for Aviation
  9. ГОСТ Р ИСО/МЭК 9126-93, Информационная технология. Оценка программной продукции. Характеристика качества и руководства по их применению
  10. “Основы инженерии качества программных систем», Филипп Андон, Галина Коваль, Татьяна Коротун, Екатерина Лаврищева, В. Суслов. Академпериодика, 2007
  11. «Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений», Сэм Канер, Джек Фолк и Енг Кек Нгуен, Москва, ДиаСофт, 2001
  12. «Быстрое тестирование», Роберт Калбертсон, Крис Браун, Гэри Кобб. Издательский дом «Вильямс», 2002
  13. «Быстрое тестирование», Роберт Калбертсон, Крис Браун, Гэри Кобб. Издательский дом «Вильямс», 2002.
  14. «Верификация программного обеспечения», С.В. Синицын, Н.Ю. Налютин. МИФИ, Курс лекций, 2006
  15. «Основы тестирования программного обеспечения, разработанного на C#. Учебное пособие», Всеволод Котляров и Татьяна Коликова, 2004

По указателю в конце книги по теме санитарного тестирования не обнаружено информации в:

  1. “Тестирование черного ящика. Технологии функционального тестирования программного обеспечения систем», Бейзер Б. СПб: Питер, 2004

31.08.2017. Перейти на Главную страницу