6 апреля 2012 г.

Тест на профпригодность, или Начало карьеры тестировщика с абсолютного нуля


Признаюсь честно: представить не могла, что буду работать тестировщиком программного обеспечения. Более того, при поиске работы даже не задумывалась о том, что есть такая должность и может быть применима ко мне. Или я к ней? Впрочем, не важно. Важно то, что на сегодняшний день я – младший специалист по тестированию. Спросите, как так получилось? Обо всем по порядку…
Вообще-то, все годы моей учебы в большей степени были связаны с математикой. Достаточно перечислить профильный математический класс школы и факультет "Прикладной математики" ИжГТУ. Я хорошо помню лето того года, когда нам вручили диплом. Уверенные в том, что выпускники "примата" – одни из самых "многогранных" и всесторонне развитых людей, мы все оказались перед выбором: в какую область податься. С полученной квалификацией математика-экономиста, конечно, более вероятной представлялась работа, связанная с бизнес-планированием и прогнозированием, математическим моделированием экономических процессов, методами оптимизации производства и т.д. и т.п. Не углубляясь в детали, скажу коротко: не сложилось. Зато неожиданно представилась возможность попробовать себя на должности тестировщика программных продуктов. Помню, в школе с большим энтузиазмом по просьбе учителя принималась за проверку тетрадей учеников младших классов, поэтому подумала: а почему бы и нет (здесь многие упрекнут меня в легкомысленности и неуместности аналогий и будут правы).

Все, что я знала о тестировании, ограничивалось слабыми воспоминаниями, оставшимися от лекции, на которой рассказывали про жизненный цикл программного обеспечения. Вспомнились обрывки фраз: "Тестирование – это фаза разработки ПО…", "Существует 7 заповедей тестировщика…", из которых в моей голове осталась только одна (возможно, самая главная?): "Хороший тест – это не тот, который демонстрирует работоспособность системы, а тот, который находит максимальное количество ошибок в процессе ее работы". Помню, говорили, что есть какие-то белые и черные ящики, стадии альфа- и бета-тестирования. Вот с таким "огромным багажом" знаний в этой области, возложив большие надежды на свои способности, я пришла в отдел тестирования. Как мне казалось, у меня были основания надеяться, что справлюсь. На нашем факультете достаточно большое внимание уделялось программированию. Как правило, почти каждая задача сводилась к разработке небольшого программного комплекса, предназначенного для решения конкретной проблемы прикладной области (обычно экономики или статистики). В качестве инструмента разработки использовали Delphi. Безусловно, результаты не представляли особого интереса с точки зрения программистов: задачи имели другую направленность. Структура и оптимальность программного кода в принципе никого не интересовала. Но, тем не менее, навыки программирования мы получили. За годы учебы были также получены базовые знания по проектированию баз данных и построению SQL-запросов к ним. Я не была лучшим студентом, но мои работы отмечали и приглашали продолжить обучение в аспирантуре (хвастаться не хорошо – я знаю). В общем, без малейшего представления о том, с чем в действительности придется столкнуться, вооружившись энтузиазмом и уверенностью в своих силах, шагнула на встречу с неизвестностью…
Мысли начинающего тестировщика (стажера) в первые дни работы: "На каком языке тут разговаривают?", "Конвертер" какой-то. А что значит сконвертировать базу? А развернуть – это как?". Чаще других слышались слова "сервер сеансов" и "служба ВОРКФЛОУ". Ах, где же мои до боли знакомые "нейронные сети", "нечеткая логика", "ARMA-модели" и "производственные функции"?!
"Какие-то письма все время по почте приходят о выходе IS-Builder… Что с ними делать-то?".
Мое первое задание… Тема: "Создание тестовых образов ОС". Паника… Как это делать?! Что такое образ? Куча всяких названий операционных систем. А я вообще никогда не устанавливала ОС. Чем отличаются чистые и рабочие образы? Не представляла, что придется с этим столкнуться!".
"Подключиться удаленно. Удаленно – это как? Никогда и ни к кому не подключалась удаленно".
Написание планов тестирования – мой следующий шаг. Пишу, отправляют на доработку, исправляю, снова на доработку, снова исправляю, снова на доработку… Казалось, я не доживу до момента согласования плана. У меня ничего не получается… Может пора подыскивать другое место работы? Почему же не получается? Оказалось, что есть разные виды тестирования: есть по требованиям, есть по вариантам использования… и планы для них тоже разные должны быть! Вот когда я усвоила разницу между требованиями и вариантами использования, мой план согласовали!
Чего же мне не хватает, чтобы обрести уверенность в своих силах? Очень не хватает знаний о компьютерных сетях. Это большой пробел в моем образовании. До сих пор я с дрожью приступаю к выполнению заданий, которые как-то связаны с администрированием сетевых операционных систем. Не так давно натворила что-то ужасное: включила в домен виртуальную машину, а одна машина с таким же именем уже там была. Причем я точно помню, что имя меняла. Оказалось, что вместо имени поменяла описание . Зная о том, что придется проводить нагрузочное тестирование, с сожалением осознаю, что надо было серьезнее относиться к "Архитектуре ЭВМ". Было бы совсем не лишним понимать, как работает "железо".
Какие знания мне помогают? Прежде всего, это навыки по разработке на Delphi. Представление о том, как из пустого окна формы получается красивое окошко с кучей Button’ов, Label’ов, Combobox’ов, Edit’ов и прочих компонент очень полезно. В процессе написания планов тестирования, хоть и довольно смутно, но уже можно представить, где разработчик мог что-то забыть или не предусмотреть. При знакомстве с модулем "Канцелярия" очень помогли знания по делопроизводству. Все понятия предметной области были знакомы. С написанием SQL-запросов еще не пришлось столкнуться, но они не испугают меня, и это уже хорошо. Поднапрячься, вспомнить, и напишу.
И в заключении мое напутствие (я уже имею право напутствия произносить?) тем, кто как и я, начинает деятельность тестировщика с абсолютного нуля. Тестирование – процесс творческий! Мне кажется, что в этом процессе большую роль играют не только профессиональные навыки и умения, но также воображение и интуиция. Важно научиться мыслить в нужном направлении. Я уже не боюсь сообщений об ошибке, ведь это – еще один возможный дефект в мою коллекцию!
Ну что же, раз меня приняли на постоянную работу, смею думать, что я небезнадежна, и обязательно добьюсь успехов в этой области. Вот увидите .
Светлана Дресвянникова

Комментариев нет: