понедельник, 4 апреля 2011 г.

Личные качества тестировщика: Top 5

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


Итак, мои Top 5 по степени возрастания важности.

5-е место

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

4-е место: недоверчивость

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

3-е место: любопытство

То, что тестировщику необходимо любопытство, можно уже считать банальной классикой. Плох тот тестировщик, у которого при тестировании, изучении или наблюдении чего-то не возникает вопрос "А что если?.." Именно любопытство будет толкать тестировщика идти по ещё не хоженым путям, открывая всё новые и новые проблемы и узкие места. И именно врождённое любопытство будет делать тестирование естественным и превращать его в удовольствие.

2-е место: небезразличие

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

1-е место: внимательность

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

А ещё бонусом вне рейтинга хочу назвать ещё одно качество - занудство :) Вне рейтинга - потому что оно, пожалуй, появляется как приобретённое профессиональное заболевание - когда постоянно приходится приставать, обращать внимание, копаться и даже порой действовать на нервы - словом, занудствовать разными способами ради того, чтобы сделать мир ПО лучше :)

13 комментариев:

  1. для тестировщика, который сам разрабатывает тесты, также важен аналитический ум и системное видение.

    ОтветитьУдалить
  2. Спасибо за комментарий, Pollyanna, у меня по нему сразу несколько вопросов и соображений возникло :)

    (1)
    "для тестировщика, который сам разрабатывает тесты"
    - ой, даже страшно спросить, а что - есть тестировщики, которые этого не делают?? И если да, то это тестировщики???

    (2)
    "аналитический ум"
    - пожалуй, соглашусь, что аналитический склад ума можно назвать личным качеством; правда я как-то не встречала особо людей без способностей к анализу... хотя, может я себя обманываю, ну или в IT такие люди не слишком идут... :)

    (3)
    "системное видение"
    - а вот это у меня с личными качествами как-то не очень вяжется :) да и вообще как-то не совсем понимаю - это вроде способности видеть картину в целом?

    ОтветитьУдалить
  3. (1)
    "а что - есть тестировщики, которые этого не делают?? И если да, то это тестировщики???"
    - Публикации в сети настойчиво убеждают в существовании загадочного подвида тестировщиков, которых называют то обезьянками, то monkey-кликерами, то просто кликерами. Слухи и легенды утверждают, что эти мистические тестировщики действительно существуют, обладают пониженным интеллектом, и, дабы облегчить им их и так нелегкое существование, всякий уважающий себя тест-дизайнер должен считать будущих исполнителей своих тестов такими вот персонажами и тесты писать ориентируясь на этот специфический уровень. :)) Честно признаюсь: я никогда их не видела и в нашем отделе тестирования таких нет.

    (2)
    "я как-то не встречала особо людей без способностей к анализу"
    - совсем без способностей к анализу наверное людей нет, ведь без этого в повседневной жизни не обойтись. Пожалуй, я имела в виду "аналитический ум применительно к ПО" , то есть способность анализировать программный продукт или его часть. Различают же гуманитарный и технический склады ума. Для анализа художественного произведения (образы героев, выразительные средства, идейное содержание и пр.) нужен один режим мышления, а для анализа программных функций, интерфейсов и пр. - другой режим. Для IT-шников первый режим опционален, а второй обязателен. Это конечно, имхо.

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

    ОтветитьУдалить
  4. :) спасибо за развёрнутый ответ

    (1) в общем я тоже не встречала таких загадочных созданий, и отказываюсь верить, что где-то на самом деле существуют такие убогие, не способные на дизайн собственных тестов. Подозреваю, что их породило чьё-то не слишком здоровое воображение с комплексом собственного превосходства. Не будем их рассматривать :)

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

    (3) мысль тоже ясна, но это всё-таки никак не личное качество. Это важное хм... умение? навык? в общем не знаю, но по мне - это как раз то, что я назвала в своей заметке наживным.

    ОтветитьУдалить
  5. Тестирование по чужим тестам - это не миф и не манкикликерство, это осознанная необходимость в любой крупной компании. Когда в продукте миллионы строк кода, и над тестированием работают 30-50 тестировщиков, это не просто лучший способ тестирования, но и зачастую единственно верный. И если кто-то думает, что выполнение тест-кейзов - это просто, то этот кто-то ошибается.

    Всё то, что просто и легко в небольших и не очень критичных проектах, абсолютно не работает в более сложных ситуациях.

    ОтветитьУдалить
  6. Наталья, я не считаю тестирование по написанным тесткейсам таким уж простым. Во-первых, потому что сама видела такие тесткейсы, тестировать по которым было очень непросто. А во-вторых - потому, что вообще с трудом себе представляю, как можно постоянно тестировать, оставаясь _строго_ в канве описанного, особенно если при тестировании ты замечаешь проблему, для понимания и выявления которой требуется сделать пару шагов вправо-влево. Я полагаю, что это просто чертовски сложно - заставить себя _не_ сделать эти пару шагов вправо-влево, когда ты ощущаешь в них потребность. Так что нет, я не говорю, что это легко.

    Да, я не работала на столь уж огромных проектах, где работает 30-50 тестировщиков, так что судить мне сложно. Я работала на более мелком проекте, где тестировщиков в общей сложности было около 10 человек. Но даже по опыту такого проекта могу предположить, что когда объёмы проекта становятся такими, что одному человеку в деталях его уже не поднять, то начинается разбиение проекта на какие-то части, в рамках которых отдельно взятые тестировщики могут работать примерно так, как и в рамках не самых больших проектов. И мне вот кажется, что это эффективнее, чем держать несколько мегамозгов, которые пишут тесткейсы на всех - и армию проверяльщиков строго по тесткейсам. Но конечно, я могу ошибаться.

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

    Вот, собственно, каково моё виденье :)

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

    to Lena:
    перечитала еще раз пост и комментарии к нему и поняла, что не понимаю разницу между личными качествами и наживными. Чем личные качества не наживные? Я, например, с тех пор как тестирую, нажила в себе изрядно занудства. :)

    ОтветитьУдалить
  8. Я бы на первое место поставил честность

    ОтветитьУдалить
  9. На второе - отвественность, а на третье - лень.
    (Первый комент улетел чуть раньше времени :)

    ОтветитьУдалить
  10. :D LeshaL, очень интересная тройка.
    Честность - вроде, понятно, это как врач - про болезнь говорить неприятно, а надо.
    Ответственность - это совсем понятно, сама называла, пусть и не на таком месте.
    Но лень... :) Вот никогда не считала свою лень достоинством в своей работе. Она как-то помогает??? :)

    ОтветитьУдалить
  11. Pollyanna, из того, что я уже понаписывала, у меня получилось вообще 3 категории:
    - личные качества просто;
    - отдельно стоящее занудство как личное качество, которое я же сама назвала "как приобретённое профессиональное заболевание";
    - и всевозможные навыки, умения и опыт.

    Про занудство говорить не буду особо - тут я вам и не противоречу ни разу :)

    Личными качествами я для себя обзываю то, что является неотъемлемыми качестами человека, в каком бы контексте мы о нём ни говорили. Ну вот как любопытство - ну оно ведь не в контексте работы только проявляется, оно просто либо есть по жизни, либо его нет. И названный мной набор качеств - говорит о склонностях человека к тестированию. (кстати, не говорю, что их нельзя развивать, но всё-таки хотя бы задатки должны быть)

    Названное вами "системное виденье" - ну вот для меня не является личным качеством. Это умение человека, способность его, ну что-то - чему он научился. Но не изначальная черта характера или что-то подобное. Ну вот не могу я сказать: "ну он такой с ситемным виденьем!" :)

    Да на самом деле это всё какие-то отличия восприятия. Может по вашим ощущениям системное виденье - это врождённая черта человека, которая либо есть, либо нет. Я ж вообще не спорю, просто свои соображения высказываю :)

    ОтветитьУдалить
  12. Лень - двигатель тестерского прогресса!

    Мне лень выполнять рутинную работу - я пытаюсь автоматизировать это.

    Мне лень повторно проверять что-то без надобности - я лучше более внимательно протестирую сразу.

    Мне лень лишний раз писать коменты к багу - я лучше сразу напишу так, чтобы понятно и не переспрашивали.

    Мне лень переделывать работу из-за неправильных настроек - я стараюсь убедиться что тесты выполняются в правильном окружении и условиях.

    Могу еще придумать :)

    ОтветитьУдалить
  13. :) ну, что лень - двигатель прогресса в принципе, это я всегда знала. Но что тестерского - это что-то новенькое :)

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

    Но дальше-то - это слишком какая-то хорошая лень, неленивая :) Если б у всех именно такая лень была, то я бы сказала, что её надо было бы с детства во всех воспитывать и культивировать ;)

    ОтветитьУдалить