Почему тестирование это куча времени?

Почему тестирование это куча времени?

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

Почему тестирование это куча времени?

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

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

Однако все же стоит знать ряд моментов.

Добавил мелочь, проверяй всю программу!

Конечно, в реальности так действуют не всегда. Многое зависит от контекста. Утрируя, если вы сделали цвет фона "слегка чуть более темным", то, естественно, как-то не очень разумно из-за этого тестировать программу с нуля.

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

Если приводить аналог из жизни. Представьте, что вы заменили в лейке душа какую-нибудь мелкую деталь. Вы потратили на это 5-10 минут. А что дальше? Скорее всего, вам будет необходимо убедиться в том, что лейка не развалится при разных уровнях напора и разных температурах. Это займет те же 5-10 минут, но никак не секунды. Иначе вполне возможно, что придется снова чинить лейку, так как, допустим, мелкая деталь не была надежно закреплена.

И чем больше программа и количество ее функций, тем больше времени может занимать тестирование.

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

Каждая версия системы, в которой предполагается запуск программы, подразумевает полноценное тестирование!

Скажем, была Windows 7, вышла Windows 10. Это означает, что по хорошему, программу нужно полностью протестировать. Т.е. человек написал программу, она отлично функционировала в Windows 7. Никто из пользователей не жаловался. А затем вышла Windows 10 и этот сам факт говорит о том, что человеку придется протестировать с нуля полноценно функционирующую безпроблемную программу. Неплохо так?

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

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

Поддержка разных версий, она же мультиверсионная поддержка, это каждый раз с нуля!

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

Тем не менее, это означает, что какая-нибудь мелочь для вашей конкретной версии системы (той же CMS, таких как WordPress, Opencart, Joomla и т.п.) выливается в многократное тестирование. Утрируя, допустим, существует 5 версий некой системы, в которой должна функционировать программа. Сама доделка мелочи занимает 10-15 минут. При этом, примерно столько же придется потратить на тестирование 1 версии.

Иными словами. Со стороны пользователя, это каких-то 20-30 минут (а то и меньше, так как автор ну стопроцентно просто ленится и вообще редиска). А вот со стороны автора, это 10-15 минут доделки и плюс 50-75 минут тестирования (5 * 10-15). Т.е., утрируя, 10 минут допила и "веселый" час тестирования. Согласитесь, что разница существенна.

Примечание: Кстати, это так же касается и кроссплатформенности. Чем больше поддерживаемых платформ, тем больше тестирования.

Тестирование может повторяться!

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

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

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

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

Вам так же может быть интересен обзор - Как правильно задавать технические вопросы.

Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

Социальные сети

☕ Понравился обзор? Поделитесь с друзьями!

Добавить комментарий / отзыв
Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Социальные сети
Программы (Freeware, OpenSource...)