Pull to refresh
0
ALEE Software
ПО стандартизации и управления качеством

5 мифов о тестировании

Reading time 6 min
Views 46K
image Недавно начала вести курсы по основам тестирования, и так получилось, что группа собралась из одних программистов. И каково же было мое удивление, когда люди, задействованные в разработке программного обеспечения, ничего не знают о тестировании. Умные ребята, продвинутые программисты, хорошо разбирающиеся в своей предметной области, ничего не знают о том, как тестировать ими же написанное программное обеспечение.
Несмотря на то, что тестрование существует уже давно, это еще молодое развивающееся направление, про которое зачастую мало что знают, за пределами отдела тестирования. И тогда я задумалась, почему люди идут работать тестировщиками, или наоборот не идут. Движут ли ими какие-то предубеждения и мифы. Как-то на глаза попалась статья Майка Брауна (Mike Brown) про 5 мифов в тестировании, переводом которой хочу с вами поделиться
:

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

Ознакомьтесь и скажите, согласны вы со мной или нет.

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

«В тестировании нами движет стремление к поиску новой информации. Тестирование — это процесс исследования, открытия, изучения нового и обучения. Когда мы настраиваем, запускаем и изучаем программный продукт, чтобы дать ему оценку или чтобы обнаружить какую-то неожиданную проблему, мы тестируем. Мы тестируем, пытаясь очертить границы и возможности продукта и дизайна. Мы тестируем, когда нами движет стремление ответить на вопросы, на которые нет ответа или на те вопросы, которые даже не были еще заданы.»

Миф второй: тестирование — это просто.
Часто говорят также, что тестирование программного обеспечения не может быть ТАК сложно, так как обычные пользователи постоянно находят ошибки в программах. На самом деле тестирование является очень сложным мастерством, овладеть которым среднему человеку не под силу. Вот что говорит Патрик Коупленд из Google о необходимых качествах тестировщика:

«Это особый склад ума и особая страсть. На 100 проведенных мной собеседованиях для тестировщиков я прежде всего обращал внимание на: 1) наличие особой способности к поиску проблем и 2) страсть к тестированию, присутствующую в человеке наряду с этой способностью. Другими словами тестировщики любят свою работу и делают ее хорошо. Они отмечают, что при тестировании приходится решать проблемы, равные, а иногда даже и превосходящие по сложности те, что приходится решать при программировании. Тот, кто является тестировщиком от Бога и правильно относится к работе, никогда не останется без дела. Такие люди — на вес золота. „

Миф третий: тестировщики всего лишь ищут ошибки.
Тестировщики действительно занимаются поиском ошибок, но это далеко не единственная цель их деятельности. Очень хорошо высказывается об этом мифе автор, опубликовавший на сайте freesoftwaretesting.info статью под именем Ankur:

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

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

С помощью автоматизации тестирования пытаются решить слишком много проблем. На автоматизацию пытаются взвалить слишком много — и поэтому она столь ненадежна и уязвима. Что-то можно хорошо сделать с помощью автоматизированной системы, но есть и то, что люди могут сделать лучше. Поэтому смешанный подход мне кажется более оправданным. За счет автоматизации я прежде всего хочу облегчить свой человеческий труд. Автоматизация нужна для анализа данных и выявления моделей. Но с помощью автоматизированных средств нельзя давать оценки и выносить суждения. К счастью, у людей это получается лучше.

Миф пятый: тестировщики не ладят с разработчиками.
Вполне понятно, почему этот миф так распространен. Об этом однажды написал гуру тестирования Джеймс Бах:

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

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

Хочу добавить в список мифов: слышала такой миф от программистов, что тестировщики ищут баги только путем нажимания всех кнопок подряд, даже не задумываясь о входных и выходных параметрах. Еще есть целый ряд мифов об автоматизации программного обеспечения, например:
  • автоматизация позволяет сократить расходы;
  • автоматизация решает проблему с нехваткой ресурсов;
  • чем больше автотестов, тем лучше;
Или самый распространенный миф о том, что тестирование улучшает качество программного продукта. Чтобы улучшать качество, нужно его создавать, а тестирование только проверяет качество. Да, конечно, тестировщики проверили качество программного обеспечения, нашли ошибки, показали отчет о тестировании, программисты исправили, качество повысилось. Но не тестировщики улучшают качество программного обеспечения.

Что касается меня, я шла в тестирование, движимая каким-то предчувствием, что в тестировании есть куда развиваться, в тестировании никогда не будешь стоять на месте. Вот это развитие меня привлекало и привлекает по сей день. Хотя, конечно, я думала, что тестирование — это легко.

А какие мифы о тестировании знаете вы?


UPD. Большое спасибо за проявленный интерес к моей статье. Просуммирую пару мифов/антимифов/фактов от читателей Хабра:
Автор: evans2094
Миф:
1. Разработчики и издатели прислушиваются к тестировщикам.
2. Тестирование продукта начинается на этапе проектирования и продолжается в течении всего его жизненного цикла.
Чем то разаработка и тестирование напоминает Мытье слона. Его нельзя помыть всего целиком и чистенько, пока одно ухо помоем — второе уже чемто заляпалось :) Можно конечно окатить целиком штормовым тестированием, но тогда дотошный клиент найдет какуюто дрянь по всей поверхности слона… а целиком в кислоте не вымочить — умрет ведь :)


Автор: netmike
Факт:
Автоматизация программного обеспечения требует дополнительных инвестиций, хотя позволяет повысить качество продукта. По сути, автоматизация начинает приносить пользу только на продуктах, разработка и сопровождение которых достаточно длительны.


Добавление от NatalyaRukol:
Автоматизация оправдана только в случаях, когда основные затраты приходятся на клики (стабильный, работающий функционал, который уже понятно как тестировать и в котором не находится колоссальное количество ошибок)


Автор: graninas
Миф:
я пишу на haskell и мне не приходится тестировать мой код, всё и так работает.


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

Миф второй: уборка — это просто.
Часто говорят также, что уборка не может быть ТАК сложна, так как обычные
люди постоянно убирают в своих квартирах…

Миф третий: уборщицы всего лишь подбирают мусор.
Уборщицы действительно занимаются подбиранием мусора, но это далеко не единственная цель их деятельности…

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

Миф пятый: уборщицы не ладят с офисными сотрудниками.
Вполне понятно, почему этот миф так распространен… Не все знают, что многие уборщицы являются бывшими офисными сотрудниками…


wicked_sten опроверг один из моих миф о том, что тестировщики не улучшают качество программного обеспечения, написав:

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


PS. Большое спасибо за перевод моему коллеге AndreiYemelianov
Tags:
Hubs:
+16
Comments 41
Comments Comments 41

Articles

Information

Website
www.alee.ru
Registered
Founded
Employees
31–50 employees
Location
Россия