Лекция
Привет, Вы узнаете о том , что такое санитарное тестирование, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое санитарное тестирование, проверка согласованности, проверка исправности, sanity testing , настоятельно рекомендую прочитать все из категории Качество и тестирование программного обеспечения. Quality Assurance..
санитарное тестирование - это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям. Является подмножеством регрессионного тестирования. Используется для определения работоспособности определенной части приложения после изменений произведенных в ней или окружающей среде. Обычно выполняется вручную.
В некоторых источниках ошибочно полагают, что санитарное и дымовое тестирование - это одно и тоже. Мы же полагаем, что эти виды тестирования имеют "вектора движения", направления в разные стороны. В отличии от дымового (Smoke testing), санитарное тестирование (Sanity testing)направлено вглубь проверяемой функции, в то время как дымовое направлено вширь, для покрытия тестами как можно большего функционала в кратчайшие сроки.
Дымовое и санитарное тестирование - самые непонятные темы в тестировании программного обеспечения. По этой теме существует огромное количество литературы, но большинство из них сбивает с толку.
Ключевые различия между Smoke и Sanity Testing можно понять с помощью следующей диаграммы:
Чтобы оценить приведенную выше диаграмму, позвольте сначала понять -
Если вы разрабатываете простую компьютерную программу, которая состоит только из одного файла исходного кода, вам просто нужно скомпилировать и связать этот один файл, чтобы создать исполняемый файл. Это очень простой процесс.
Обычно это не так. Типичный программный проект состоит из сотен или даже тысяч файлов исходного кода. Создание исполняемой программы из этих исходных файлов - сложная и трудоемкая задача.
Для создания исполняемой программы необходимо использовать программное обеспечение «сборки», и этот процесс называется « Сборка программного обеспечения ».
Smoke Testing - это метод тестирования программного обеспечения, выполняемый после сборки программного обеспечения, чтобы убедиться, что критически важные функции программного обеспечения работают нормально. Он выполняется до выполнения каких-либо подробных функциональных или регрессионных тестов. Основная цель дымового тестирования - отклонить программное приложение с дефектами, чтобы команда QA не тратила время на тестирование сломанного программного приложения.
В Smoke Testing в тестовых примерах была выбрана наиболее важная функциональность или компонент системы. Цель состоит не в том, чтобы выполнить исчерпывающее тестирование, а в том, чтобы убедиться, что критически важные функции системы работают нормально.
Например, типичный дымовой тест: Убедитесь, что приложение запускается успешно, Убедитесь, что графический интерфейс реагирует ... и т. Д.
Тестирование работоспособности - это своего рода тестирование программного обеспечения, выполняемое после получения сборки программного обеспечения с незначительными изменениями в коде или функциональности, чтобы убедиться, что ошибки были исправлены и из-за этих изменений не возникло никаких дополнительных проблем. Цель состоит в том, чтобы определить, что предлагаемая функциональность работает примерно так, как ожидалось. Если тест на работоспособность не проходит, сборка отклоняется, чтобы сэкономить время и деньги, связанные с более строгим тестированием.
Целью является «не» тщательная проверка новой функциональности, а определение того, что разработчик применил некоторую рациональность (здравомыслие) при создании программного обеспечения. Об этом говорит сайт https://intellect.icu . Например, если ваш научный калькулятор дает результат 2 + 2 = 5! Тогда нет смысла тестировать расширенные функции, такие как sin 30 + cos 50.
Дымовое тестирование | Санитарное тестирование |
---|---|
Дымовое тестирование выполняется, чтобы убедиться, что критически важные функции программы работают нормально. | Тестирование работоспособности проводится для проверки новой функциональности / исправления ошибок. |
Целью этого тестирования является проверка «стабильности» системы, чтобы продолжить более тщательное тестирование. | Цель тестирования - проверить «рациональность» системы, чтобы продолжить более тщательное тестирование. |
Это тестирование проводят разработчики или тестировщики. | Проверка работоспособности обычно выполняется тестировщиками. |
Дымовые тестирование обычно документируются или создаются по сценарию. | Тестирование работоспособности обычно не документируется и не требует написания сценария. |
Дымовое тестирование - это часть приемочного тестирования. | Тестирование работоспособности - это разновидность регрессионного тестирования. |
Дымовое тестирование проверяет всю систему от начала до конца | Проверка работоспособности проверяет только конкретный компонент всей системы |
Дымовое тестирование похоже на общий осмотр здоровья | Проверка работоспособности похожа на специализированную проверку здоровья |
Короче, нет никакого санитарного тестирования.
Само слово Sanity переводится на русский язык проще:
Нет там никаких санитаров. То, что вы называете Sanity, по-сути есть Smoke testing.
Я еще не знаю, когда эти термины появились, но уже давно ясно, что это два разных названия одного и того же феномена. Просто тестировщики называют это Smoke, а программисты называют это Sanity. Так они привыкли, так оно укрепилось в их литературе.
Судя по моему опыту чтения старых книг для программистов, sanity было первым.
Канер в своей книге Testing Computer Software (1988, у меня второе издание, 1999-го) не упоминает ни про smoke, ни про sanity. Самое близкое к ним есть в главе 3 ‘Test types & Software development‘ на стр. 51, и ВНЕЗАПНО оно там называется «Acceptance testing»:
Each time you receive a new version of the program, check whether it’s stable enough to be tested. If it crashes at the slightest provocation, don’t waste your time on it. This first bit of testing is called acceptance or qualification testing.
На стр. 54 та же тема с уточнениями в разделе ‘Final acceptance testing and certification‘:
If your company developed the program on contract, the customer will ran an acceptance test when you deliver it. In small projects, this test may be informal. For most projects, however, test details are agreed to in advance, in writing. Make sure the program passes the test before trying to deliver it to the customer. An acceptance test usually lasts less than a day. It is not a thorough system test. Beizer (1984) describes the preparation and execution of formal customer acceptance tests. Perry (1986) is, in effect, a customer’s guide to creating acceptance tests. Consider using Perry (1986) to structure your negotiations with the customer when you jointly design the acceptance test.
Цитата на books.google.com
Для тех, кто не может прочитать больше одного предложения в абзаце перевожу:
заранее и письменно согласуйте с заказчиком набор приемочных тестов. Убедитесь сами в том, что релиз на них не завалится. Ранее об этом писали Бейзер (1984) и Перри (1986).
Это воспринимается странно, бо в наше время «Acceptance testing» объясняется как «Заказчик сам тестирует, как хочет». И да, вероятно, он будет основываться на наших смоук-тестах. Предполагаю, что в наше время этот термин просто истолковывается неверно, но это уже не существенно.
А вот в 2001-ом Канер уже упоминает Smoke testing в «Lessons Learned in Software Testing: A Context-Driven Approach» на страницах xxvi (это предисловие, там сходу заявлены определения ключевых терминов), 41, 121, 162, 163, 169, 141 и 144. И ни разу не упоминается sanity testing.
Рекс Блэк в «Ключевые процессы тестирования» (2004) упоминает эти два термина одновременно. В русскоязычном издании «Лори» 2006-го года они на стр. 532:
Приемочное тестирование, тестирование на исправность (Smoke Test, Sanity Test). Тестирование, проверяющее, насколько стабильная предлагаемая на тестирование версия, чтобы можно было начинать штатное тестирование. Обычно это подмножество всего комплекта тестов, как правило, автоматизированное, затрагивающее все части системы, по крайней мере, поверхностно. Качественные приемочные тесты обычно довольно долго проверяют работу системы, чтобы проявились серьезные проблемы надежности и работоспособности. Термин “smoke test” (тест на задымленность) взят из электротехники: когда инженер включает цепь, первичный тест проверяет, не дымятся ли компоненты.
Википедия
ВНЕЗАПНО сообщает о том, что сэнити — даже не из мира тестирования, термин существует сам по себе, и применим ко всем аспектам человекодеятельности, от сервировки обеденного стола до запуска ядренной атомной бомбы на головы мирных жапонцев.
In computer science, a sanity test is a very brief run-through of the functionality of a computer program, system, calculation, or other analysis, to assure that part of the system or methodology works roughly as expected. This is often prior to a more exhaustive round of testing.
Огромное, гигантское отличие от smoke test, да?!
ISTQB (скачать файл Glossary all terms 3.1.pdf).
Sanity test объявлен синонимом smoke test (стр. 61).
В канонах ISTQB вы не сомневаетесь, не так ли?!
Толковалка ISTQB
It is a kind of software testing which is done by the testers to ensure that the functionality is working as expected.
Огромная разница со smoke test, да?!
Кто-то сделал почти тот же обзор книг в поисках тех же терминов, что и я: almeln.github.io, и пришел к тем же выводам.
О переводах: «Да, но ведь гугл переводит это слово именно так!»
Гугл переводит так, как считает правильным большинство. Там можно предлагать другие переводы слов, можно даже устроить флешмоб и добиться перевода какого-то слова совершенно по-дурацки, и гуглу будет норм.
И напоследок. Я предполагал, что ебалайтунг с терминологией присущ нашему, русскоязычному сектору. Например, вон чего на protesting.ru пишут:
В некоторых источниках ошибочно полагают, что санитарное и дымовое тестирование — это одно и тоже. Мы же полагаем, что эти виды тестирования имеют «вектора движения», направления в разные стороны.
Но он процветает и на английской стороне. Быстро нагуглилась статья на эту тему с сайта h2kinfosys.com — оба термина представлены как нечто обособленное. Понятия не имею, что это за контора из штата Джорджия (США), но о себе они говорят «H2k Infosys provides world class IT Training, Real-time Live Project to gain hands on experience, and IT Staffing services».
тестирование сборки , build verification test ,
дымовое тестирование , smoke testing ,
Выводы из данной статьи про санитарное тестирование указывают на необходимость использования современных методов для оптимизации любых систем. Надеюсь, что теперь ты понял что такое санитарное тестирование, проверка согласованности, проверка исправности, sanity testing и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Качество и тестирование программного обеспечения. Quality Assurance.
Комментарии
Оставить комментарий
Качество и тестирование программного обеспечения. Quality Assurance.
Термины: Качество и тестирование программного обеспечения. Quality Assurance.