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

Начнем с самого начала: что такое «тестирование программного обеспечения»? Мы изучим основные концепции тестирования программного обеспечения, которые сформируют ваше мышление по мере приближения к искусству качественного инжиниринга. 

Когда вы Тест Лид на проекте, очень вероятно, что коллеги будут считать вас экспертом во всем, что связано с тестированием. У других членов команды могут быть свои собственные обоснованные или нет взгляды на тестирование; некоторые могут иметь (или, по крайней мере, говорить, что имеют) больше опыта, чем вы. 

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

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

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

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

Определение понятия «Тест» 

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

Если мы хотим поговорить о контекстно-нейтральном тестировании, нам понадобится определение теста, которое является контекстно-нейтральным, поэтому я посмотрел определение теста на dictionary.com. Из множества страниц ссылок на слово «тест» и его применение во многих областях определение из словаря American Heritage Dictionary является наиболее подходящим: 

«Тест: (существительное) процедура критической оценки; средство определения наличия, качества или истинности чего-либо; испытание» 

Существует не только одно определение; скорее, существует три варианта. Что ж, я думаю, это не так уж плохо, поскольку все три вместе взятые дают нам необходимую основу. Давайте подробнее рассмотрим каждый из них. 

Процедура критической оценки 

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

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

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

Тест может достаточно легко определить наличие (или отсутствие) чего-либо, но качество – это другое дело: термин нагружен эмоциональными коннотациями, но нас спасает тот же словарь. Качество может быть «существенной или отличительной характеристикой, свойством или атрибутом». Теперь мы можем видеть, что тест может выявить эти свойства. 

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

Может ли тест определить истинность чего-либо? Что ж, в этом тоже есть смысл. Как правило, нам нужно протестировать утверждение типа «эта система соответствует некоторым требованиям» или «эта система ведет себя таким образом» или «эта система приемлема» и так далее. Здесь присутствует определенная доля субъективного суждения, но мы можем видеть, что тест или тесты могут предоставить доказательства для того, чтобы кто-то воспользовался этим суждением и принял решение. 

Испытание 

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

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

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

Определение тестирования 

Из нашего определения существительного “тест” мы можем достаточно легко вывести глагол. 

«Тест: (глагол) означает критически оценивать; определять наличие, качество или истинность чего-либо; проводить испытание». 

Пока все хорошо. 

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

Распространенные типы тестирования, о которых Вы Услышите 

Руководство по каждому из этих типов тестирования программного обеспечения выходит за рамки этой статьи, но как тестировщик программного обеспечения вы много услышите о них (о некоторых из которых вы, вероятно, читали): 

  • Тестирование черного ящика 

  • Регрессионное тестирование 

  • Модульное тестирование 

  • Бета-тестирование 

  • Ручное тестирование 

  • Автоматизированное тестирование 

  • Сквозное тестирование 

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

  • Тестирование безопасности 

  • Тестирование производительности 

  • Тестирование белого ящика 

  • Приемочное тестирование 

  • Интеграционное тестирование 

  • Нагрузочное тестирование 

  • Тестирование системы 

  • Нефункциональное тестирование 

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

Комментарии (0)