Главная страница

Тестирование-книга. Ю. Н. Артеменко Научный редактор


Скачать 6.27 Mb.
НазваниеЮ. Н. Артеменко Научный редактор
Дата09.10.2019
Размер6.27 Mb.
Формат файлаpdf
Имя файлаТестирование-книга.pdf
ТипКнига
#89291
страница38 из 49
1   ...   34   35   36   37   38   39   40   41   ...   49
Учтите время, которое потребуется для найма дополнительных
сотрудников. Если, не вкладываясь в график, вы решите нанять новых сотрудников, с ними необходимо будет побеседовать, выпол­
нить стандартные формальности, обучить и ввести их в курс дела.
(Подробнее все эти временные издержки описывает в своей книге
Брукс (Brooks, 1975).)
Если приходится сокращать объем работ, делайте это крайне ос­
мотрительно. Проведите еще одно планировочное совещание, вер­
нитесь к спискам задач и совместно их пересмотрите, исходя из уже сформировавшегося понимания проекта. Отберите задания, которые не будут выполнены, области программы, которые не будут тести-
Глава 14: Управление группой тестирования 4 4 7
роваться со всей обстоятельностью, документы, которые можно не писать. Главным вашим ориентиром должно быть качество продук­
та: разумеется, оно пострадает, но ущерб должен быть минималь­
ным. Для каждого участника совещания должно быть очевидно, что оставшееся время будет использовано самым наилучшим образом.
Совещания. Совещания — вещь полезная, но не следует проводить их без необходимости или дольше, чем положено. Для тестировщи- ка, напряженно работающего, чтобы уложиться в жесткое расписа­
ние, и бесплатно остающегося для этого после работы, каждый час, потраченный на непродуктивном совещании, — это час его сна или времени, которое он мог бы провести с семьей.
Избегайте отчетных собраний. Нет ничего скучнее, чем целый час сидеть и слушать, кто что сделал за истекшую неделю. Если же в компании такие собрания считаются обязательными, разрешайте сотрудникам брать на них с собой какую-нибудь работу.
Персонал
Управление персоналом — работа не из легких, и вам наверняка при­
годятся советы по следующим вопросам:
• Кого нанимать
• Моральная поддержка
• Карьерный рост
Кого нанимать
Программисты отнюдь не обязательно являются хорошими тестировщи- ками.
Плохие программисты обычно являются и плохими
тестировщиками. Не принимайте на работу людей,
увольняемых из других подразделений.
Вот несколько характеристик хорошего тестировщика.
Последовательность и нацеленность на качество.
Психология экспериментатора, а не теоретика. Каждый тест пред­
ставляет собой мини-эксперимент. Тестировщик ничего не должен принимать на веру. Все утверждения о возможностях программы и способах ее эксплуатации он должен превращать в тестируемые допущения и проверять на деле. Программисты склонны игнориро­
вать замечания о дизайне продукта до тех пор, пока не получат от тестировщика неопровержимые и убедительные данные, например,

4 4 8 Часть III: Управление проектами и группами
информацию о количестве звонков в отдел технической поддержки, вызванных данной проблемой в предыдущем выпуске продукта. Со­
ответственно тестировщик должен уметь найти такие данные, про­
явить в этом вопросе изобретательность и инициативу.
Образование. Чем его "больше", тем лучше. Особенно ценно уни­
верситетское образование. Безусловно, полезны исследовательские навыки, особенно в области человеческого фактора, а также все знания и навыки, связанные с компьютером.
Некоторый опыт программирования. Он очень полезен, но все же не является определяющим фактором — целый ряд превосходных тестировщиков, с которыми нам приходилось работать, в жизни не написали ни строчки программного кода. Впрочем, хотя бы один компетентный программист в команде должен быть обязательно.
Другие сотрудники смогут время от времени обращаться к нему за советом.
Опыт работы со многими компьютерами и разнообразным про­
граммным обеспечением.
Знание комбинаторики. Тестировщик должен уметь приблизитель­
но оценить или же точно вычислить количество тестов, необходимых для полного тестирования определенного аспекта программы. Это бывает полезно во многих случаях, и в частности, позволяет реаль­
но соотносить проделанную работу и качество результата.
Умение хорошо выражать свои мысли в письменной и устной фор­
ме. Каждому тестировщику постоянно приходится составлять отче­
ты о выявленных проблемах и устно объяснять их суть — это неотъемлемая часть его работы. Кроме того, он должен уметь пред­
сказать проблемы, которые возникнут у пользователя продукта, уви­
деть те места в документации и те элементы интерфейса, которые могут быть неверно поняты.
Талант поиска ошибок. Хороший тестировщик никогда не ограни­
чивается рамками формального тестового плана — он копает глуб­
же, он обладает интуицией и воображением, он способен придумывать нестандартные испытания и чувствовать слабые места программы. Этот талант бесценен.
Развитое абстрактное мышление.
Умение разрешать сложные и запутанные проблемы, находить
выход из тупиковых ситуаций.
Умение эффективно использовать время. Если этой способности поначалу нет, со временем ее можно развить.
Глава 14: Управление группой тестирования 4 4 9
Способность к быстрому переключению. Не всегда тестировщикам приходится часто переключаться между различными заданиями или видами работы, но, как правило, такая необходимость имеется.
Навыки планирования или способность к их развитию.
Наблюдательность, терпение, внимание к деталям.
Воображение и способность представить себя на месте другого
человека. Например, тестировщик может спросить себя: "Какие бы у меня возникли сложности, если бы я никогда раньше не работал с компьютером?"
Умение читать и писать спецификации.
Подводя итог, можно сказать, что идеальный тестировщик образован, сообразителен, умеет четко выражать свои мысли, умеет и вникать в дета­
ли, и видеть картину в целом, настойчив, но воспитан и обладает здравым смыслом. Он — творческая личность с организаторскими и техническими способностями. Как видите, этот набор качеств несколько отличается от того, который необходим хорошему программисту.
Некоторые асы тестирования являются еще и превосходными програм­
мистами, а некоторые талантливые программисты — превосходными тес- тировщиками. Однако в целом эти два умения не связаны между собой: можно преуспевать на одном поприще и быть посредственностью на дру­
гом.
Моральная поддержка
В пятой главе, рассказывая о составлении отчета о проблеме, мы убеж­
дали читателя всячески щадить чувства программистов. Однако программи­
сты, как и все остальные сотрудники компании, ничуть не заботятся о чувствах тестировщиков. Напротив, вполне разумные люди, имея дело с тестировщиками, часто становятся просто несносны.
Вы будете просить своих подчиненных описывать найденные ошибки очень тактично, сохранять невозмутимость, какие бы отговорки ни нахо­
дил программист для того, чтобы не исправлять программу. Все это стоит тестировщикам времени и сил. Не удивительно, что люди будут протесто­
вать, особенно в напряженных ситуациях, когда им придется много рабо­
тать сверхурочно.
Помните, что ваша прямая обязанность — защищать своих подчинен­
ных и оказывать им моральную поддержку.
Поощряйте хорошую работу в личном порядке и публично. Выделяйте наиболее отличившихся сотрудников во время общих совещаний или не­
формальных мероприятий, отмечайте их успехи записями в личном деле.
Если в компании издается газета — прекрасно, пусть об их успехах узна-

4 5 0 Часть III: Управление проектами и группами
ет вся компания. Если руководство поощряет хорошую работу премиями, обязательно включайте лучших из своих подчиненных в списки кандида­
тов.
Недостаточно просто следить, чтобы задания выполнялись вовремя. Не ограничивайтесь административным взглядом на вещи — старайтесь вни­
кать в работу каждого из сотрудников, оценивать то, как она выполняет­
ся и каково качество результата. Покажите подчиненным, что вы видите и цените, когда кто-то из них:
• проявляет особую дипломатичность;
• составляет особенно подробные и понятные списки функций про­
граммы;
• находит особенно интересные ошибки;
• хорошо держится в напряженных ситуациях, сохраняя собранность и высокую работоспособность;
• составляет прекрасные отчеты о проблемах;
• успешно обучает кого-то еще;
• работает сверхурочно;
• берет на себя работу, которой все стараются избежать;
• демонстрирует творческий подход к делу, проявляет инициативу и увлеченность, пытается найти новый способ выполнения определен­
ной задачи, даже если этот способ не срабатывает.
Тестировщикам необходима не только ваша личная поддержка, но и поддержка друг друга. Ваша задача — организовать сплоченный коллектив людей, гордящихся своим профессионализмом, радующихся успехам друг друга и активно поддерживающих своих товарищей. Каждому тестировщи- ку нужен кто-то, с кем можно посоветоваться, обсудить новые идеи, воз­
можно, пожаловаться на свои проблемы или вместе над ними посмеяться.
Тестировщик должен чувствовать, что его открытия важны и желанны. В противовес кислой мине руководителя проекта, узнавшего о новой особен­
но неприятной ошибке, товарищи нашедшего ее тестировщика должны вслух выразить ему свое восхищение.
Для того чтобы в группе можно было создать такую творческую атмос­
феру энтузиазма и взаимной поддержки, эта группа должна быть достаточ­
но велика — хорошо, если в ней будет как минимум четыре человека.
Постарайтесь оградить тестировщиков от несправедливых нападок со стороны других сотрудников компании. Никогда не повторяйте услышан­
ных жалоб или несправедливых претензий к своим подчиненным. Не го­
ворите им о возможных изменениях графика, пока эти изменения не будут утверждены окончательно. Не заставляйте тестировщиков говорить с не­
приятными людьми без крайней необходимости.
Глава 14: Управление группой тестирования 4 5 1
Дайте руководству компании понять, что каждый раз, когда оно захо­
чет решить свои проблемы за счет ваших подчиненных, ему придется иметь дело с вами и вы будете защищать своих людей всеми возможными спосо­
бами. Если руководитель проекта хочет, чтобы кто-то из тестировщиков остался работать допоздна, он должен попросить вас об этом. Вы, в свою очередь, должны попросить об этом тестировщика, причем в такой форме, чтобы он свободно мог отказаться. И если он откажется, вы сами должны сообщить руководителю проекта, что он не получит желаемого. При этом вы не должны говорить, что выбор был сделан тестировщиком. Ваша обя­
занность — принять огонь на себя, защищая и оберегая своих людей, где только возможно.
Такой же политики следует придерживаться в отношении изменений графика работ, стандартов, перераспределения заданий между членами команды. Кто бы ни пытался давить на ваших подчиненных, у них всегда должна быть возможность отказаться от ухудшения условий своей работы.
Вы же должны активно противостоять такому давлению. Дайте руководству четко понять, что оно никогда и никаким образом не имеет права давить на ваших подчиненных и лишь в самых экстренных случаях может просить uх о помощи, выражающейся в более напряженной или сверхурочной ра- боте.
Итак, стойте стеной за своих людей, и пусть они это видят. Тестиров- щики, как и все остальные люди, делают глупости и совершают ошибки, иногда очень досадные, которые становятся видны всем вокруг. Никогда не высказывайте им свое недовольство публично. Напротив, постарайтесь по возможности сгладить ситуацию, согласитесь, что допущена ошибка, но защитите своих подчиненных. Защищайте их работу, зарплату, должность и положение, их репутацию. Не сомневайтесь, что они это увидят и оце­
нят, а значит, будут больше вам доверять. Только так вы по-настоящему заслужите их уважение.
Прежде чем особенно спорные или политически важные записи и от­
четы ваших подчиненных выйдут из стен отдела тестирования, обязатель­
но с ними ознакомьтесь. И если вы согласны с мнением тестировщика, готовьтесь его отстаивать.
Если тестировщик боится идти на какое-то совещание, пойдите вмес- те с ним. Если это невозможно, пошлите с ним ведущего тестировщика или хотя бы просто приятеля.
Итак, в ответ на честный и самоотверженный труд люди должны чув­
ствовать, что их руководитель поддерживает их во всех, в том числе и рискованных, но правильных действиях, что он поддерживает их и тогда, когда они совершают ошибки, и что его помощь всегда с ними.

4 5 2 Часть III: Управление проектами и группами
Карьерный рост
Большинство людей хочет профессионально расти. Они хотят учиться новому, приобретать технические навыки, расширять свои профессиональ­
ные возможности. Помогите им в этом.
Для многих тестирование является первым шагом в индустрии про­
граммного обеспечения. Они планируют стать программистами, техничес­
кими писателями, руководителями, консультантами... Вместо того чтобы пытаться удержать их в своей группе, используйте их стремления. Часто талантливые люди или профессионалы с очень нестандартным и ценным опытом оказываются в вашей комнате, ища возможности проверить себя, обогатить свой опыт и знания, изменить направление своей деятельности, а возможно, повторно войти в работу после долгого перерыва. Вы можете предоставить им такую возможность и на полтора-два года получить цен­
ного сотрудника, полного профессионального энтузиазма. Может быть, это прекрасная возможность и для вас?
Интервьюируя очередного кандидата на должность тестировщика, спро­
сите его, почему он выбрал именно это работу. Если это его профессия, подумайте, принесут ли ему пользу полтора-два года работы в вашей ком­
пании. Сможет ли он научиться за это время чему-то, что его интересует?
Если да, примите этого человека на работу. Не волнуйтесь, если его пла­
ны идут гораздо дальше тестирования. Мало кто планирует навсегда остать­
ся тестировщиком. И мало кто из тех, кто надолго остался в этой профессии и стал в ней настоящим асом, предполагал, что будет именно так.
Распределяя работу между членами группы, имейте в виду их планы и стремления. Старайтесь, чтобы люди могли извлечь из каждого занятия максимальную пользу для себя. Иногда можно организовывать сотрудни­
ку временную командировку в другую группу, чтобы расширить его про­
фессиональный опыт.
Одни люди будут быстро покидать вас, обучившись всему, что их ин­
тересовало. Другие же, напротив, задержатся гораздо дольше, чем плани­
ровали. Но все они будут работать с энтузиазмом — а это важнее всего.
Вы будете приобретать новых и новых друзей — навсегда.
Приложение
Распространенные
программные
ошибки
Назначение
ЭТОГО
приложения
В данном приложении описано более 400 ошибок. Эти описания очень ко­
ротки, в них содержится лишь самая интересная информация.
Список ошибок приведен не только в качестве справочника, но и как осно­
ва для дальнейшей работы. Лучше всего прочесть это приложение полнос­
тью, от начала до конца, даже если это покажется вам скучным занятием.
Если вы всерьез планируете заниматься тестированием программного обес­
печения, не пожалейте времени. Вы получите прекрасную практическую базу
— широкую и очень полную картину всех возможных проблем и ошибок, с которыми вам когда-либо придется сталкиваться.
Набор тестовых материалов это не что иное, как список
проблем и ошибок, которые могут встретиться в конкретной
программе, плюс набор процедур, позволяющих определить,
имеются ли они на самом деле.
Формировать список возможных ошибок по ходу работы — плохая практи­
ка. Гораздо удобнее и надежнее иметь раз и навсегда составленный гото­
вый список, из которого можно будет отбирать то, что подходит для каждой
Конкретной программы. Именно такой пример стандартного списка и пред­
лагается вашему вниманию.

4 5 4 Часть III. Управление проектами и группами
Тестируя новую программу, вы будете не только отбирать подходящие эле­
менты приведенного списка, но и дополнять его новыми описаниями ошибок.
Поэтому лучше всего хранить его в электронном виде, чтобы он всегда был
под рукой и его без труда м о ж н о было редактировать.
Вот несколько примеров использования списка возможных ошибок.
1. Оценка тестовых материалов, разработанных кем-то другим.
Заключив контракт на разработку тестовых материалов, вы получите
несколько объемистых папок с описаниями тестов. Однако, как бы вну­
шительно они ни выглядели, наборы разработанных тестов не будут аб­
солютно полными. Вам придется тщательно проанализировать все
полученные материалы и самостоятельно заполнить пробелы. Наш опыт
показывает, что тестовые агентства нередко пропускают целые группы
ошибок, например, они часто забывают об условиях гонок. К сожалению,
разобраться в готовых тестовых материалах гораздо легче, чем увидеть,
чего в них не хватает.
Вот тут-то вам и придет на помощь готовый список всех возможных
ошибок. Формируя на его основе список ошибок для конкретной про­
граммы, включайте в него все, что только может в ней встретиться, не­
з а в и с и м о о т т о г о , н а с к о л ь к о это в е р о я т н о . З а т е м п р о с м о т р и т е
получившийся список и проверьте, имеются ли в плане тесты для выяв­
ления каждой ошибки из вашего списка. Вы наверняка быстро обнаружите
целые классы пропущенных проблем.
2. Разработка собственных тестов.
Составьте список ошибок, которые могут встретиться в п р о г р а м м е ,
пользуясь для этого данным приложением. Затем разработайте тесты для
1   ...   34   35   36   37   38   39   40   41   ...   49


написать администратору сайта