Что входит в обязанности тестировщика ПО?
Любой продукт, будь то сайт или мобильное приложение, проходит проверку на качество. В ИТ-сфере за этим следит тестировщик (Test Engineer).
В переводе с английского глагол «test» означает «проверять». Поэтому тестировать, проверять программное обеспечение с целью обнаружения ошибок (багов) в работе ПО и их исправления – вот главная задача такого специалиста.
Он имитирует ситуации, в которых могут оказаться конечные потребители, и выступает в роли эксперта по выявлению проблем в работе приложения, сайта, игры или другого программного продукта заказчика. Тестировщик удостоверяется в том, что ПО является надежным и с пользовательской, и с технической стороны.
Место в структуре компании
Специалист может быть внештатным сотрудником либо постоянным работником, входящим в проектную команду. Второй вариант предпочтительнее с точки зрения роста специалиста, так как тестировщик включается в активную деятельность по работе с продуктом на всех этапах его разработки.
Требования к тестировщикам
Чтобы начать работать в сфере тестирования, не обязательно иметь профильное техническое образование или предыдущий схожий опыт работы. Достаточно освоить основы тестирования программного обеспечения и иметь большое желание реализовать себя в этом направлении ИТ. В дальнейшем приветствуются навыки программирования на базовом уровне, знания технологий ПО, запросов, скриптовых языков.
У специалистов по тестированию есть негласный девиз: «Если вам кажется, что ПО идеально, значит, его плохо продиагностировали». На программный продукт нужно смотреть, «надев очки перфекциониста», постоянно задавать себе вопросы:
- Что не работает?
- Что работает?
- А что работает не так, как задумывалось?
Бытует мнение, что данная профессия монотонна и не требует креативности соискателя. Это не совсем так: вакансию предложат только тем кандидатам, которые смогут проявить смекалку и творчески подойдут к решению проблемы.
Обязанности тестировщика
Давайте коротко рассмотрим главные должностные обязанности тестировщика.
Контроль и поиск проблем
В первую очередь, специалист должен контролировать качество разрабатываемых продуктов и анализировать ошибки, которые могут возникнуть у конечных потребителей при их использовании.
Тестирование
Следующий этап – это разработка тестовых наборов и их регулярный прогон, подготовка тестовых данных, написание методики тестирования.
Анализ
Данные, полученные в процессе проверок, анализируются. Обнаруженные недочеты классифицируются и заносятся в базу.
Саппорт
Документирование дефектов
Чтобы провести тестирование, зафиксировать его результаты, тестировщик должен корректно внести информацию в техническую документацию. Рекомендуется проверять документы на предмет полноты и актуальности данных.
Дополнительные пункты
Мы выделили основные, но должны упомянуть дополнительные обязанности, которые могут пригодиться для успешной реализации проекта. Они также могут прописываться в должностной инструкции.
- Понимание, организация и проведение разных уровней тестирования (от модульного до приемочного).
- Знание языков программирования, на которых ведется разработка продукта (JavaScript, Java, Python, PHP, C#, C++ и т.д.).
- Умение работать с системами отслеживания ошибок (bug tracking systems).
- Иметь навыки работы со средствами автоматического тестирования (каким, например, является Selenium для Java).
- Коммуникация с клиентами, разработчиками, аналитиками, другими тестировщиками.
- Знание иностранного языка (обычно английского) на уровне, позволяющем читать и заполнять техническую документацию.
Как мы видим, должность тестировщика требует высоких аналитических компетенций. Приветствуются также навыки технического писателя, системного аналитика.
Ответственность за результат
Оценка результата работы происходит по количеству найденных дефектов и степени их критичности. Для руководителя будет важно, сколько времени сотрудник затратил на проведение тестов. Нужно помнить, что некачественное и/или несвоевременное выполнение обязанностей может повлечь ответственность, предусмотренную трудовым законодательством.
Чтобы выполнять задачи успешно, нужны знания тестовых сред и понимание, как переменные окружающей среды влияют на тестирование конкретного ПО. Опираясь на эти навыки, анализ требований потребителей будет даваться легко, а эффективный план тестирования будет намечаться сам собой.
Выводы
Если вы ответственный, терпеливый работник, к тому же обладающий критическим складом ума, то присмотритесь к профессии тестировщика ПО. Эта специальность может оказаться по душе именно вам!
Должностная инструкция младшего тестировщика — katalog-rus.ru
Каталог компаний
- Главная
- О каталоге
- Как работает каталог
- Категории
- Акции, скидки, бонусы
- База поставщиков 2019 БЕСПЛАТНО
- Бизнес, финансы, юридические услуги
- Гостиницы, отели
- Жилье
- Искусство & Развлечения
- Интернет, Связь, Информационные технологии
- Интернет — магазины
- Досуг&Питание
- Отдых
- Мебель, Материалы, Фурнитура
- Медицина
- Металлопрокат, металлы, металлоизделия
- Предприятия торговли и питания
- Аптеки, оптики, товары для здоровья
- Все для бани
- Вязаная одежда и сувениры
- Производство и продажа удобрений
- Производство и продажа алкогольных напитков
- Производство и продажа шлагбаумов
- Производство и продажа тротуарной плитки
- Производство и продажа бетона
- Производство и продажа постельного белья
- Продажа сценической, студийной и музыкальной аппаратуры
- Продажа комплектующих для пластиковых окон
- Продажа женских толстовок оптом
- Магазины для рыболовов
- Магазины сигар
- Магазины табака и курительных принадлежностей
- Магазины товаров легкой промышленности
- Магазины мелко-оптовой торговли
- Магазины промышленного оборудования и транспорта, сырья, материалов, изделий
- Магазины мебели и предметов интерьера
- Магазин нижнего белья
- Магазины электроники, компьютерной, бытовой и оргтехники
- Магазины шин и дисков
- Магазины цветов, растений, животных, товаров для них
- Поставщики фермерской продукции
- Предприятия питания
- Базы торговые, склады
- Обои
- Оптовая продажа рыбы и рыбной продукции
- Магазины продовольственных товаров
- Магазины бытовых и хозяйственных товаров
- Товары для инвалидов и пожилых людей
- Магазин здорового питания
- Сантехника
- Тепличное хозяйство
- Торгово-закупочные предприятия
- Художественное оружие
- Электронная торговля
- Реклама, полиграфия, СМИ
- Оборудование
- Банковское оборудование
- Буровое оборудование
- Гаражное и авторемонтное оборудование
- Деревообрабатывающее оборудование
- Оборудование для парикмахерских и салонов красоты
- Оборудование для шиномонтажных мастерских, автосервисов и владельцев автомобилей
- Отопление
- Редукторы, механические приводы
- Пожарное оборудование
- Строительное оборудование
- Спортивное оборудование
- Вентиляция
- Горное, нефтяное, газовое, химическое оборудование
- Лабораторное оборудование и измерительные приборы
- Электрооборудование
- Камнеобрабатывающее оборудование
- Климатическое оборудование
- Гидравлические и пневматические узлы и агрегаты
- Насосы
- Запасные части и инструменты для установок гидроабразивной резки
- Оборудование для обработки стекла
- Оборудование для сварки, пайки и резки
- Оборудование для легкой промышленности
- Оборудование для упаковки, фасовки, сортировки
- Оборудование для кафе, баров, ресторанов
- Оборудование для склада
- Оборудование для пищевой промышленности
- Оборудование и комплектующие для клининга, химчисток и прачечных
- Оборудование для тех. обслуживания авиационных аккумуляторных батарей
- Очистное и утилизационное оборудование
- Подъемно-транспортное оборудование
- Образование, работа
- Промышленные изделия, инструмент, приборы
- Санатории, Профилактории
- Строительство, недвижимость
- Автодорожное и ж/д строительство, ремонт
- Автоматические ворота и ограждения
- Автоматизация инженерных систем
- Автоматизация производственных процессов
- Аренда помещений
- Архитектурное проектирование
- Быстровозводимые полнокомплектные здания
- Геодезические, геофизические, гидрогеологические работы
- Дизайн интерьеров
- Высотные и верхолазные работы
- Ландшафтная архитектура, дизайн
- Инжиниринговые услуги
- Загородное строительство
- Кадастровые работы, техинвентаризация
- Климатические системы, установка, монтаж
- Кровельные работы
- Недвижимость
- Новостройки
- Остекление лоджий, балконов
- Производство рольставней и жалюзи
- Проектирование и строительство бань & саун & хамаммов & комплексов СПА
- Ремонт окон
- Продажа земельных участков, малоэтажных домов
- Промышленное строительство
- Сварка
- Строительство
- Строительство, обслуживание систем отопления, водоснабжения, канализации
- Системы отопления, водоснабжения, канализации
- Ремонт и отделка помещений
- Проектирование инженерных коммуникаций
- Строительство и ремонт инженерных коммуникаций
- Фасадные работы
- Фасадное освещение
- Экспертиза зданий, коммуникаций
- Электромонтаж
- Укладка напольных покрытий
- Сырье и материалы
- Транспорт
- Услуги для населения, бизнеса
- Политика конфиденциальности
- Пользовательское соглашение
- Правила обработки персональных данных
- Компании
- Полезная информация
- Гость
- Добавить компанию
- Главная
- О каталоге
- Как работает каталог
- Категории
- Акции, скидки, бонусы
- База поставщиков 2019 БЕСПЛАТНО
- Бизнес, финансы, юридические услуги
- Гостиницы, отели
- Жилье
- Искусство & Развлечения
- Интернет, Связь, Информационные технологии
- Интернет — магазины
- Досуг&Питание
- Отдых
- Мебель, Материалы, Фурнитура
- Медицина
- Металлопрокат, металлы, металлоизделия
- Предприятия торговли и питания
- Аптеки, оптики, товары для здоровья
- Все для бани
- Вязаная одежда и сувениры
- Производство и продажа удобрений
- Производство и продажа алкогольных напитков
- Производство и продажа шлагбаумов
- Производство и продажа тротуарной плитки
- Производство и продажа бетона
- Производство и продажа постельного белья
- Продажа сценической, студийной и музыкальной аппаратуры
- Продажа комплектующих для пластиковых окон
- Продажа женских толстовок оптом
- Магазины для рыболовов
- Магазины сигар
- Магазины табака и курительных принадлежностей
- Магазины товаров легкой промышленности
- Магазины мелко-оптовой торговли
- Магазины промышленного оборудования и транспорта, сырья, материалов, изделий
- Магазины мебели и предметов интерьера
- Магазин нижнего белья
- Магазины электроники, компьютерной, бытовой и оргтехники
- Магазины шин и дисков
- Магазины цветов, растений, животных, товаров для них
- Поставщики фермерской продукции
- Предприятия питания
- Базы торговые, склады
- Обои
- Оптовая продажа рыбы и рыбной продукции
- Магазины продовольственных товаров
- Магазины бытовых и хозяйственных товаров
- Товары для инвалидов и пожилых людей
- Магазин здорового питания
- Сантехника
- Тепличное хозяйство
- Торгово-закупочные предприятия
- Художественное оружие
- Электронная торговля
- Реклама, полиграфия, СМИ
- Оборудование
- Банковское оборудование
- Буровое оборудование
- Гаражное и авторемонтное оборудование
- Деревообрабатывающее оборудование
- Оборудование для парикмахерских и салонов красоты
- Оборудование для шиномонтажных мастерских, автосервисов и владельцев автомобилей
- Отопление
- Редукторы, механические приводы
- Пожарное оборудование
- Строительное оборудование
- Спортивное оборудование
- Вентиляция
- Горное, нефтяное, газовое, химическое оборудование
- Лабораторное оборудование и измерительные приборы
- Электрооборудование
- Камнеобрабатывающее оборудование
- Климатическое оборудование
- Гидравлические и пневматические узлы и агрегаты
- Насосы
- Запасные части и инструменты для установок гидроабразивной резки
- Оборудование для обработки стекла
- Оборудование для сварки, пайки и резки
- Оборудование для легкой промышленности
- Оборудование для упаковки, фасовки, сортировки
- Оборудование для кафе, баров, ресторанов
- Оборудование для склада
- Оборудование для пищевой промышленности
- Оборудование и комплектующие для клининга, химчисток и прачечных
- Оборудование для тех. обслуживания авиационных аккумуляторных батарей
- Очистное и утилизационное оборудование
- Подъемно-транспортное оборудование
- Образование, работа
- Промышленные изделия, инструмент, приборы
Должностная инструкция тестировщика программного обеспечения
[организационно-правовая форма, | Утверждаю [должность, подпись, Ф. И. О. руководителя или иного [число, месяц, год] М. П. |
Должностная инструкция тестировщика программного обеспечения [наименование организации, предприятия]
Настоящая должностная инструкция разработана и утверждена в соответствии с положениями Трудового кодекса Российской Федерации и иных нормативно-правовых актов, регулирующих трудовые правоотношения.
1. Общие положения
1.1. Тестировщик программного обеспечения (далее — тестировщик ПО) принимается и увольняется с работы приказом [наименование должности руководителя] и подчиняется непосредственно ему.
1.2. На должность тестировщика ПО назначается лицо, имеющие высшее образование по специальности, связанной с программированием и разработкой программного обеспечения: «Автоматизированные системы обработки информации и управления», «Вычислительные машины, комплексы, системы и сети», «Информатика и вычислительная техника», «Информационные системы и технологии», без предъявления требований к стажу работы.
1.3. Тестировщик ПО должен иметь:
— навыки работы в ОС семейства Windows;
— базовые навыки программирования, работы с базами данных и администрирования операционных систем;
— знания основных технологий построения ПО и структуры программных комплексов;
— знание языка запросов SQL, скриптовых языков.
2. Должностные обязанности
К должностным обязанностям тестировщика ПО относятся:
2.1. Поиск вероятных ошибок и сбоев в функционировании ПО.
2.2. Моделирование различных ситуаций, которые могут возникнуть в процессе использования программы.
2.3. Создание и использование разнообразных входных данных.
2.4. Нахождение несоответствия интерфейса программы существующим стереотипам.
2.5. Тестирование в строгом соответствии с планом тестирования.
2.6. Поиск ошибок как в логике работы программы, так и в документации на программу.
2.7. Разработка модулей тестирования.
2.8. Проведение анализа работоспособности системы.
3. Права
Тестировщик ПО имеет право:
3.1. На все предусмотренные законодательством социальные гарантии.
3.2. Знакомиться с проектами решений руководства предприятия, касающимися его деятельности.
3.3. Вносить на рассмотрение руководства предложения по совершенствованию работы, связанной с обязанностями, предусмотренными настоящей инструкцией.
3.4. В пределах своей компетенции сообщать непосредственному руководителю о всех выявленных в процессе деятельности недостатках и вносить предложения по их устранению.
3.5. Требовать от руководства предприятия оказания содействия в исполнении своих должностных обязанностей и прав.
3.6. Повышать свою профессиональную квалификацию.
3.7. [Указать другие права работника].
4. Ответственность
Тестировщик ПО несет ответственность:
4.1. За неисполнение или ненадлежащее исполнение своих должностных обязанностей, предусмотренных настоящей должностной инструкцией, — в пределах, определенных действующим трудовым законодательством РФ.
4.2. За причинение материального ущерба работодателю — в пределах, определенных действующим трудовым и гражданским законодательством РФ.
4.3. За правонарушения, совершенные в процессе осуществления своей деятельности, — в пределах, определенных действующим административным, уголовным, гражданским законодательством РФ.
Должностная инструкция разработана в соответствии с [наименование, номер и дата документа]
Руководитель кадровой службы
[инициалы, фамилия, подпись]
[число, месяц, год]
Согласовано:
[должность, инициалы, фамилия, подпись]
[число, месяц, год]
С инструкцией ознакомлен:
[инициалы, фамилия, подпись]
[число, месяц, год]
Карьера тестировщика: развитие и перспективы
Если вы любите докапываться до сути проблем и решать непростые задачи, попробуйте примерить на себя профессию QA-инженера, или тестировщика программного обеспечения. Традиционно считается, что порог вхождения в эту профессию низкий. Однако за низким порогом может скрываться глубокая яма. Разберемся, что входит в обязанности тестировщиков всех уровней и как построить карьеру в данной сфере.
Обязанности
Специалист по тестированию выявляет ошибки и дефекты в работе программного продукта. Чем раньше будет обнаружен и устранен дефект, тем быстрее решение выйдет на рынок без дополнительных дорогостоящих доработок.
В задачи специалиста по тестированию входит:
- Разработка плана тестирования;
- Написание тест-кейсов;
- Поиск дефектов и их описание в баг-трекинговой системе;
- Коммуникация с разработчиками в связи с выявленными багами;
- Контроль устранения ошибок;
- Отслеживание жизненного цикла дефектов;
- Анализ и оптимизация процессов тестирования;
- Составление отчетности и ведение тестовой документации.
Хорошего тестировщика отличают развитые коммуникативные навыки, широкий кругозор, внимание к мелочам, усидчивость, аналитические навыки и увлеченность выполняемой работой.
Преимущества и сложности работы
Как признаются сами QA-инженеры, их привлекает возможность вникать в детали и доводить продукт до совершенства. Кроме того, тестирование ПО – отличная возможность проявить внутренний перфекционизм и изучить новые технологии.
Важно понимать, что подход к работе инженеров по качеству должен отличаться от подхода программистов. Последние часто стремятся найти быстрое и легкое решение проблемы и закрыть дефект. Тестировщик же должен все подвергать сомнению и внимательно разбираться в допущенных недочетах.
Именно поэтому среди сложностей данной работы можно назвать рутинность и монотонность.
С другой стороны, поиск нетривиальных проблем требует от QA-специалистов аналитического мышления, а появление новых технологий – готовности неустанно изучать новинки на рынке, повышая свою профессиональную ценность.
С чего начать
Если вы решили пробовать себя в тестировании, помимо задатков, описанных выше, у вас должна быть минимальная теоретическая база. Рекомендуем начать с азов и прочесть главные книги по QA – «Тестирование.com» Романа Савина и «Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений» С. Канера, Дж. Фолка, Е.К. Нгуен.
Следующий момент – владение английским языком не ниже уровня B1. Дело в том, что большинство тестировщиков работают на международных проектах, где без английского никак нельзя. Если вы чувствуете потребность освежить знания или подтянуть техническую лексику, запишитесь на курсы английского языка для тестировщиков.
И самый важный вопрос – практическая подготовка. В университетах тестировщика из вас не сделают, поэтому единственный реальный шанс получить необходимую теоретическую и практическую подготовку – пройти курсы по тестированию ПО. К слову, именно курсы дадут вам нужные знания и помогут с поиском первого места работы.
Джуниор
Получив первую заветную работу тестировщиком, вы будете квалифицироваться как младший специалист по тестированию (Junior QA Engineer/Tester). На эту должность попадают соискатели с минимальным опытом работы или вовсе без него.
В обязанности младшего QA-специалиста входит ручное тестирование по готовым сценариям и написание базовых тест-кейсов. Всю работу контролируют более опытные специалисты. При этом начальная средняя зарплата Junior QA Engineer в Беларуси составляет около 300 USD, а по истечении года работы стремится к 500 USD.
Миддл
После 2-3 лет работы вы скорее всего получите повышение и станете Middle QA Engineer/Tester. На этом этапе от вас будут ожидать самостоятельного составления сценариев тестирования, оформления технической документации, некоторых знаний автоматизированного тестирования. Дополнительно потребуется понимание программного кода и знание таких технологий, как ASP.NET, методологии Scrum. Средняя заработная плата миддла – 700 USD.
Синьор
Когда за вашими плечами накопилось года 3-4 работы, вы можете претендовать на должность старшего специалиста по тестированию (Senior QA Engineer/Tester). Круг задач синьора расширяется и включает в себя планирование процессов тестирования, контроль работы младших специалистов. В Беларуси средняя заработная плата старшего специалиста по тестированию достигает 1500 USD в месяц.
Лид
Имея более 5 лет профессионального опыта, вы можете перейти в разряд ведущих специалистов по тестированию (Lead Software Testing Specialist). На этом уровне от вас требуются как профессиональные компетенции, включая анализ рисков, оценку сроков и бюджета проектов, определение области автоматизации тестирования, так и навыки проектного менеджмента. Ведь лиды координируют процесс тестирования в рамках небольших рабочих групп. Лид может претендовать на 2000 USD ежемесячно.
Альтернативные пути развития
Описанный выше сценарий можно считать классической линейной моделью карьеры тестировщика, на практике в конкретной компании все может сложиться иначе.
Фото: habrahabr.ru
К примеру, при наличии глубоких технических знаний вы можете перейти от ручного к автоматизированному тестированию. Углубившись в языки программирования, можно переквалифицироваться в программисты, а если вам по душе тесное общение с заказчиком, выявление его потребностей и требований к будущего продукту – в бизнес-аналитики. Получив богатый опыт, вы также сможете развиваться как менеджер или делиться своими знаниями на специализированных курсах, совмещая преподавание с основной деятельностью.
Какую бы модель карьеры вы ни выбрали, помните, что прежде всего важно отточить навыки проведения исследовательского тестирования, составления отчетности, предоставления обратной связи, ведения коммуникации на английском языке. Они обеспечат надежный фундамент для карьерного роста.
Тестировщик ПО — БудуГуру
Тестировщик ПО — БудуГуруТестировщик ПО — это специалист, который занимается тестированием программного обеспечения (ПО) с целью выявления ошибок в его работе и их последующего исправления. Основная задача — найти в программе, приложении, игре или другом продукте все возможные ошибки и проблемы. Он разрабатывает методы тестирования, в частности, в ряде случаев он может использовать систему автоматизации тестирования для проведения одно и того же процесса с различными настройками.
Он сам придумывает сценарий тестирования и сам его осуществляет. Тестировщик моделирует различные ситуации, которые могут возникнуть в процессе использования предмета тестирования, чтобы разработчики смогли исправить обнаруженные ошибки. Таким образом он удостоверяется в надежности продукта с технической и пользовательской точки зрения.Итогом его работы является максимально подробный отчет о проведенном тестировании, в котором должен быть указан анализ и причины возникших проблем.
В России нет ВУЗов, которые обучают данной профессии, поэтому функции тестировщика с успехом могут выполнять люди с аналитическим складом ума и высшим техническим или средним специальным образованием. Тестировщик может работать самостоятельно (как фрилансер), в IT-компаниях, а также в составе независимых групп.
Другие названия профессии: Тестировщик, Инженер-тестировщик, Специалист по контролю качества программного обеспечения, Специалист по тестированию ПО, Quality Assurance специалист, QA специалист, QA тестер, QA Manager, Engineer.
Обязанности
Контроль и анализ
Тестировщик должен осуществлять контроль качества разрабатываемых продуктов, а также проводить выявление и анализ ошибок и проблем, возникающих у пользователей при работе с программными продуктами.
Тестирование
На следующем этапе тестировщик моделирует ситуации (разрабатывает автотесты), осуществляет регулярный прогон и выявляет проблемы, которые могут возникнуть при работе с ПО. Все это необходимо, чтобы выявить ошибки и улучшить качество окончательного продукта.
Анализ
Данные, которые получены в процессе исследования продукта, тестировщик анализирует, классифицирует обнаруженные ошибки и заносит их в базу данных.
Поддержка
Тестировщик сам ошибки, конечно, не исправляет: его задача найти их и сообщить специалистам (например, разработчикам), которые знают, что с этим делать. Тестировщик лишь регулирует процесс их ликвидации.
Документирование найденных дефектов
Для проведения испытания, а также фиксирования его результатов, тестировщик должен уметь составить специальные документы, отчеты, правильно занести данные в предназначенные для этого таблицы.
Что нужно знать и уметь
- Инженерный и аналитический склад ума;
- Усидчивость;
- Ответственность;
- Обучаемость;
- Системный подход к решению проблем;
- Умение работать в команде;
- Стрессоустойчивость;
- Инициативность.
Личные качества
- Опыт организации и проведения различных видов тестирования;
- Умение пользоваться языком SQL, работать с такими базами данных, как MSSQL, Oracle;
- Знание программ Silk Test или Rational Robot;
- Знание языков программирования;
- Знание инструментов и библиотек для автотестирования;
- Опыт написания автотестов;
- Знание английского языка для чтения и написания технических текстов.
Основные навыки
Карьерный путь
стажер отдела разработки младший тестировщик старший тестировщик руководитель ИТ-проектов руководитель отдела разработкиОтрасли, в которых востребована профессия
Рынок профессии
«Диапазон зарплат» (Москва)
Количество вакансий в динамике
Конкурс на место
Спрос по регионам
Половое соотношение
Возрастное соотношение
Популярные образовательные курсы
Онлайн-курс
Разработка веб-приложений на Java
ИТ-архитектор, Программист, Тестировщик ПО, Программист Java
Курс о разработке веб-приложений на языке программирования Java, включающий изучение сбора и анализа требований, разработки технической спецификации, разработки и отладки приложений.
Узнать большеОнлайн-курс
Фантастические ошибки в программах на С++
Программист, Тестировщик ПО, Программист C++
Слушатели познакомятся с разнообразными ошибками, наиболее типичными для программ на C++ (ошибки использования памяти, гонки и другие).
Узнать большеОнлайн-курс
Как найти первую работу
Email маркетолог, Менеджер по контекстной рекламе, Администратор баз данных, Контент-менеджер, Технический писатель, Программист, Тестировщик ПО, Менеджер проекта, Веб-дизайнер, ERP-консультант, Системный аналитик, Системный администратор, UX дизайнер
Узнать больше
Все возможности для обучения профессии, литература, онлайн и офлайн курсы, ВУЗовские программы…
Больше курсов Подписка
на материалы
Мы присылаем интересные материалы и ничего больше
создатель проекта
#
При реализации проекта используются средства государственной поддержки, выделенные в качестве гранта в соответствии с использованием гранта Президента Российской Федерации на развитие гражданского общества, предоставленного Фондом президентских грантов
Должностная инструкция инженера по тестированию программного обеспечения (тестировщика)
Если вы являетесь руководителем отдела тестирования, то после приёма на работу сотрудника вам необходимо рассказать ему о его должностных обязанностях, рассказать о тестируемых продуктах компании, ознакомить его с регламентом отдела, планом тестирования каждого продукта и т.д. Но это делают единицы руководителей, так как считают это лишним. Это происходит от того, что сами руководители воспринимают эти документы как «филькина грамота», которая им нужна только чтобы отчитаться перед вышестоящим руководством. Этим всё и сказано.
Мной эти документы воспринимаются как документы, которые поясняют моим сотрудникам как действовать в определённых ситуациях, что они должны делать, а что не относится к их зоне ответственности. Поэтому все регламентирующие документы составляются лично мной и постоянно дорабатываются и размещаются в открытом доступе, чтобы с ними могли ознакомиться не только сотрудники отдела тестирования, но и любой сотрудник компании. При добавлении информации в какой-либо документ высылается информационное письмо на сотрудников отдела тестирования с описанием изменений.
Теперь поговорим о должностной инструкции (далее ДИ) сотрудника отдела (любого). Зачем этот документ нужен? В ДИ озвучиваются навыки, которыми должен обладать сотрудник, должностные обязанности, права сотрудника, ответственность сотрудника и прочая информация, но не увлекайтесь — это не роман.
Если у вас нет должностной инструкции в отделе, то рано или поздно вы столкнётесь с ситуацией, когда давая задание сотруднику вы получите в ответ отказ и у вас завяжется длительный и возможно бесполезный для вас диалог:
— Необходимо выполнить {задание}.
— У меня этого нет в должностных обязанностях, поэтому этого я делать не буду, это не в моей компетенции и не мой уровень.
— А что входит в твои обязанности?
— Этот вопрос я должен задать тебе и получить документ, описывающий мои обязанности и утверждённый в нашей компании.
И тут вы практически ничего не сможете поделать, если только вы не обладаете непререкаемым авторитетом, который подкреплён уважением сотрудников. Но в эпоху беспринципности многих людей авторитет сейчас не всегда помогает.
Чтобы избежать многих проблем с сотрудниками в будущем рекомендую вам в первый же свой рабочий день на новом месте работы составить ДИ и передать её в отдел кадров на утверждение. После того как утвердят ДИ необходимо первое время контролировать, чтобы отдел кадров при устройстве на работу сотрудника давали ему знакомиться с ДИ под роспись. После этого в работе не будут возникать споры с сотрудниками что они должны делать. Это также будет вас дисциплинировать, чтобы вы на свой отдел не брали работу всех смежных отделов, разгружая других и необоснованно загружая своих сотрудников считая, что ваш отдел справиться лучше с обязанностями других отделов. Пусть все занимаются своим делом!
У меня есть готовая должностная инструкция тестировщика, которую я использую в своей работе, её и прикладываю к данной статье. Раньше она была проще, но с развитием технологий и с повышением требований к тестировщикам она была дополнена. Возможно в будущем она ещё будет дополняться. Данная ДИ не панацея, а всего лишь документ, который используется в реальной компании.
Если вы никогда не имели дело с ДИ, то алгоритм внедрения ДИ в компании следующий:
1. Написание должностной инструкции.
2. Согласование с вашим непосредственным начальником, если это не директор ИТ, то и с ним.
3. Отправка в отдел кадров на утверждение у генерального директора (возможно сами несёте).
4. Отмашка от отдела кадров, что документ включён в процесс приёма сотрудников и будет всем доноситься под роспись.
5. При приёме сотрудников по новому процессу проверяем, чтобы они ознакомились с ДИ под роспись.
Скачать Должностную инструкцию тестировщика
Данная статья является продолжением статьи «Как создать отдел тестирования программного обеспечения».
Продолжение в статье Должностная инструкция инженера по тестированию программного обеспечения (тестировщика). Дополнение
почему тестировщика нужно ценить не меньше, чем программиста / Badoo corporate blog / Habr
Здравствуйте. Меня зовут Илья Кудинов, мне 27 лет, и я тестировщик.
Все: Здравствуй, Илья!
Мы уже много писали о том, как здорово мы в Badoo тестируем наши продукты. А сегодня я (внезапно!) расскажу о том, как круто тестировать ВООБЩЕ. И когда я встречаю представителей нашей профессии, которые не разделяют эту точку зрения, я всегда стараюсь открыть им глаза на истину. Например, этой самой статьёй.
О чём она будет? Я поделюсь своим личным опытом, расскажу, как развивалась индустрия в течение шести с небольшим лет, что я за ней наблюдаю, и опишу своё видение карьерного пути тестировщика. Устраивайтесь поудобнее, настало время (неразборчиво, зачёркнуто) занимательных историй…
Дисклеймер
Всё, что я напишу в этой статье, основано на моём личном восприятии, опыте и информации, которую я почерпнул на QA-конференциях и митапах. Статья будет интересна начинающим специалистам и тем, кто мечтает работать в IT, но ещё не определился с профессией. И главным образом тем, кто считает, что тестирование — несерьёзная, скучная и рутинная работа.
Если вы со мной в чём-то не согласны — добро пожаловать в комментарии. Я всегда открыт к диалогу.
Про меня
Моя история как тестировщика началась в 2011 году. К этому времени я уже успешно бросил учёбу в МГТУ имени Н. Э. Баумана, побывал в армии и поработал
Всё начиналось очень скучно и обыденно. Я был единственным тестировщиком на семь программистов. Разработчики писали код на локальных машинах, скидывали его на тестовый сервер, просили меня его там потестировать, а потом вручную заливали код на продакшн (я наивно полагал, что все так делают). Что-то заливали на прод без моего ведома ( «Забыл сказать, извини!» ), что-то делали сразу на проде по требованию менеджмента. В общем, тихий ужас.
Спустя несколько недель я узнал про существование систем контроля версий. Мир перевернулся. Несколько людей могут работать над одним и тем же кодом, и это будет УДОБНО! Я прожужжал все уши начальнику и добился установки SVN. Всего через месяц после этого мы начали работать в ветках (!), заливать изменения на продакшн организованными протестированными пачками (!!) и даже заимели какое-то подобие расписания релизов (!!!). Когда я смотрел на это всё, у меня начало зарождаться ощущение, что разработка и тестирование — это не хаотичный процесс, у всего этого может быть какая-то организация. Почитать интернеты? Вы что, я был молод и горяч, мне было не до этого.
Итак, помимо тестировщика, я стал ещё и релиз-инженером. Работа стала более интересной и менее топорной. Из-за снижения уровня хаоса у меня появилось больше свободного времени, и я стал интересоваться, что же это за зверь такой — «Автоматизированное тестирование». Нашёл в интернете информацию о только-только вышедшем Selenium WebDriver, и мои глаза снова полезли на лоб: можно заставить программу ТЫКАТЬ КНОПОЧКИ НА САЙТЕ ЗА ТЕБЯ??? Воображение рисовало идиллическую реальность, в которой человеку не нужно заниматься регрессионным тестированием (нет, этого термина в тот момент я не знал). И я тут же начал тратить всё свободное время на разработку тестов. Честно говоря, написаны они были ужасно, но свою функцию выполняли.
К тому времени я работал в компании уже девять месяцев. И всё ещё получал свою изначальную зарплату ручного тестировщика (поверьте, она была не очень впечатляющей). Безумно гордившийся мной начальник повёл меня к руководству — выбивать повышение. Я рассказал о переходе к релизной системе и своих обязанностях в этой области, показал свои автотесты, рассказал о том, как они сокращают время на рутинную работу. И продемонстрировал, что количество ошибок, попадающих на продакшн, за последние полгода упало драматически. Я уже практически не хотел быть программистом!
Но представитель менеджмента, скучающим взглядом окинув возделанные мною поля, сказал: «Да вроде бы и безо всей этой мишуры всё нормально было, зря только время тратили».
Такого удара я не ожидал. Никакие цифры руководство не убедили, для него тестировщик был мартышкой, щёлкающей по кнопкам и за небольшую плату уменьшающей (иногда) количество фаталов на продакшне. Рассматривать что-то большее никто и не собирался. Можете считать это чрезмерной реакцией, но заявление на увольнение я написал тем же вечером.
Я начал снова искать работу. Разуверившись в тестировании, опять стал смотреть в сторону программирования. Даже успел получить оффер на позицию младшего С-разработчика в одной брокерской фирме… А потом мне позвонили из Badoo.
Про Badoo я впервые услышал буквально за несколько месяцев до этого — на мастер-классе Алексея Рыбака на DevConf 2012. Компания тогда моментально встала для меня в один ряд с Google и Facebook. Мне казалось, Badoo — это что-то невероятно крутое, куда я, простой смертный, никогда не попаду. Поэтому на собеседование я согласился исключительно ради опыта. Я ни на что не рассчитывал — просто излил Илье Агееву всю свою фрустрацию по поводу того, чего я хотел добиться и чего меня лишили. А через несколько дней я уже стал частью этой компании, которую, к слову, всем сердцем люблю по сей день.
«А как же твоё желание быть программистом?» — спросите вы. С ним всё в порядке. В Badoo я занимаюсь разработкой систем автоматизации тестирования и оптимизации рабочих процессов. А в свободное время потихоньку разрабатываю компьютерные игры. Это моё хобби, дело для души. Нет, идти работать программистом мне больше не хочется.
Про индустрию
В первые дни работы в Badoo я испытывал культурный шок. И дело вовсе не в катающихся по офису на самокатах и кричащих во всё горло разработчиках. Хорошо, не только в них. А ещё и в том, что здесь старались организовать, оптимизировать и автоматизировать каждый шаг. Я подумал: «Так вот как должно быть!» — и всеми силами старался соответствовать: участвовал в разработке процессов и средств тестирования, неустанно искал места, где можно что-то улучшить.
А потом я начал ездить и рассказывать о наших решениях на конференциях. Боялся, что для всех всё будет очевидно — ведь все вокруг тестируют так же круто, как мы в Badoo! Но на деле…
Внушительная часть российских компаний, а особенно IT-департаменты крупных неайтишных компаний, видели процесс тестирования примерно так же, как мои предыдущие работодатели. Вопросы после докладов ставили меня в тупик.
«А как вы заставляете разработчиков писать тесты?»
«Как это, вы можете отложить релиз фичи? Вот прям достаточно баг найти?»
«Автотесты вы пишете сами? Если вы умеете программировать, почему вы не программист?»
Проблема была в первую очередь в восприятии профессии тестировщика в нашей стране. Стыдно сказать, я тогда даже не любил слово «тестировщик» — считал, что оно приближает меня к тому образу низкоквалифицированного работника, который представляют себе консервативные бизнесмены. Я предпочитал претенциозное «QA-инженер».
Я и мои коллеги год за годом старались донести одну и ту же мысль: тестировщик — это не wannabe-программист, тестировщик — это полноценная специальность. Она не проще программирования. Она не сложнее. Просто это совершенно другое занятие. Оно требует других навыков. Оно требует высокой квалификации. И опытный тестировщик — не менее ценный (и редкий) кадр, чем опытный разработчик. Путь тестировщика не заканчивается на бездумном клацании кнопок и следовании инструкциям — он с него только начинается.
И, к счастью, с каждым годом всё больше людей это понимало. Предпочитаю находить в этом и свой скромный вклад. Стало появляться всё больше вакансий для профессиональных тестировщиков и автоматизаторов, всё больше крутых специалистов, к мнению которых прислушивается вся отечественная (и заодно зарубежная) индустрия. И это прекрасно. Я чувствую, что отечественное тестирование в целом идёт примерно тем же путём, что и я в свои первые годы.
Про путь тестировщика
Карьера тестировщика — история развития технических, личностных и многих других навыков. Как и в любой другой профессии, да. Сразу хочу сказать: я не считаю движение от ручного тестировщика до автоматизатора путём развития. Навыки автоматизации важны и полезны любому тестировщику, но это лишь вариации должности, а не прямая эволюция. Итак, приступим.
- Уровень 0. Не тестировщик. На этом уровне находится любой пользователь программного обеспечения. Казалось бы, если это не тестировщик, то зачем я его сюда добавил? А затем, что все эти люди могут выполнять часть работы тестировщика. Они могут находить баги. Не специально, они не старались, просто так вышло. Именно такого человека, на самом деле, и ожидали увидеть в должности тестировщика на моём первом месте работы. И любой специалист с этого начинает. Вот только у некоторых баги вызывают раздражение и злость на разработчиков, а у некоторых — праведный гнев и желание сделать так, чтобы в нашем мире багов больше не было. Из последних и рождаются начинающие тестеры.
- Уровень 1. Почти тестировщик. Человек, которому доверили работу тестировщика и который пытается её выполнять. Не просто пользуется приложением, а настырно им пользуется. Иногда даже нажимает на одну и ту же кнопку несколько раз. Он всё ещё не обладает никакими навыками, в его действиях нет никакой системы — есть только желание найти баг. Либо чтобы не уволили с работы, либо из врождённой ненависти к несовершенствам — так сразу и не скажешь.
- Уровень 2. Тестировщик. Понимает, что он делает. Может быть, прочитал пару книжек об основах тестирования. Берясь за каждую новую задачу, может построить план своих действий (либо прочитать документацию и следовать ей). Цель постепенно смещается от «найти какой-нибудь баг» к «контролировать качество продукта». Примерно на этом уровне я находился в свои лучшие дни на предыдущем месте работы.
- Уровень 3. Продвинутый тестировщик. Действительно понимает, что он делает. Прекрасно знает проект и может проанализировать влияние на него тех или иных изменений. Может оценить, насколько тестируемый функционал соответствует остальному проекту не только в плане качества, но и в плане UX и прочих важных вещей. Может не только найти баги, но и предупредить возникновение ошибок в планировании и дизайне того или иного функционала.
- Уровень 4. Инициативный тестировщик. Он не просто работает в организованной среде и процессах — он старается их улучшить. Цель из «контроля качества» превращается в «обеспечение качества». Развитие и разработка средств оптимизации и автоматизации, бесконечные идеи об улучшении рабочего процесса — вся эта прелесть начинается где-то здесь.
- Уровень 5. Профессиональный тестировщик. Бессовестно и беззастенчиво располагаю себя на этом уровне. Понимание используемых на проекте технологий позволяет принимать решения и разрабатывать план тестирования не только по описанию задачи, но и по её решению. Иногда для обнаружения ошибок прочтения кода и списка изменений бывает более чем достаточно. Тестировщик начинает видеть опутывающие проект связи, о которых он ранее и не подозревал.
- Уровень 6. Гуру-тестировщик. Как вы можете заметить, квалификация предыдущих уровней сильно завязана на проект. Переходя в другую компанию, а тем более на другой стек технологий, обычный тестировщик теряет часть своего профессионализма. Её придётся восстанавливать. Гуру-тестировщики же смотрят на вещи с более высокой точки. Они могут в кратчайшие сроки разобраться с любой системой, найти как явные, так и скрытые связи между компонентами за счёт своего опыта и понимания работы IT-систем (и IT-специалистов). Волшебные люди. Вот бы мне так.
Но постойте же, это всё про самостоятельное тестирование! Разве тестировщик не имеет возможности за счёт своего развития стать руководителем? Конечно, имеет. Но это требует целого набора других качеств и навыков, которых у него может и не быть. Не каждый хороший тестировщик может стать хорошим тест-менеджером. Однако, я твёрдо уверен в том, что каждый хороший тест-менеджер обязан быть хорошим тестировщиком.
Про навыки хорошего тестировщика
«Наверное, достаточно прочитать десяток известных книг от именитых тестировщиков!» Не-а, вообще ни разу не согласен.
Профессиональная литература может помочь быстрее усвоить те уроки, которые тестировщик получает в первые месяцы своей карьеры. Но без настоящего опыта тестирования книжные знания практически бесполезны. Реальный мир сильно отличается от того идеального, который описывают в большинстве книг.
А вот те определяющие качества, которые вижу я:
- Любовь к тестированию. Да, к тестированию вообще. Не нужно считать тестирование побочным занятием в IT, не надо мечтать сбежать в разработку или руководство — надо в первую очередь получать удовольствие от работы. «Это относится вообще к любой специальности, спасибо, кэп!» — скажете вы и будете правы. Однако это не делает данный пункт менее значимым.
- Любовь к проекту. Вы не будете радеть за качество проекта, на который вам наплевать. Даже если вы будете исправно делать свою работу (деньги же надо как-то зарабатывать), вы будете закрывать глаза на замеченные вне своего компонента недостатки («Не моё дело, да и вообще проблема на вашей стороне»). Вы не будете предлагать улучшения и проявлять инициативу («Если полить г**но одеколоном, оно будет пахнуть как г**но под одеколоном!»).
- Знание проекта. Очень красивая кнопка! Прям как в ТЗ написано! И делает она всё, что от неё требуется, замечательная кнопка! Очень жаль, что она выглядит совсем не так, как все остальные кнопки на сайте, ломает шесть критических фич и вызывает Сатану в профиле пользователя. Но откуда мне было про это знать?!
- Понимание технологий проекта. Нет, не обязательно иметь возможность самостоятельно переписать весь проект с нуля, только лучше. Но хотя бы в общих чертах понимать, КАК работает то, что ты тестируешь, просто необходимо. Это позволяет находить неочевидные баги, делать подмены кода для воспроизведения тех или иных кейсов и видеть дополнительные зависимости внутри проекта.
- Соблюдение баланса между качеством и скоростью. Качество не бывает абсолютным. Каждая единица времени, которую тестировщик проводит за задачей, теоретически приближает её качество к асимптоте в 100%. В какой момент нужно остановиться? Всё зависит от проекта. Если на вашем софте будут летать самолёты с сотнями пассажиров, не стоит жалеть на тестирование ещё час-другой. А если вы разрабатываете проект с несколькими релизами в неделю и возможностью доставлять патчи пользователям за секунды, можно остановиться и раньше. Нет, я не поощряю выпуск багов на продакшн — просто скорость развития проекта иногда бывает важнее. Можно прочитать это качество как «Умение ориентироваться в приоритетах бизнеса».
Совсем же не необходимыми я вижу следующие часто приписываемые тестировщикам качества:
- Перфекционизм. Ненавидеть баги и несоответствия — это хорошо. Зацикливаться на этом — плохо. Будет страдать скорость тестирования, а требования менеджера выпустить недотестированный функционал будут вгонять в депрессию. Тестировщики софта для самолётов, не слушайте меня, будьте перфекционистами! Пожалуйста.
- Любовь к бюрократии. Ах, тестовая документация. О ней уже столько рассказано и написано, я и сам рано или поздно доберусь до этой темы. Сейчас же ограничусь тем, что скажу, что эффективное тестирование бывает и без подробной всеобъемлющей тестовой документации при условии наличия толковой технической документации. Честное слово!
- Радость от нахождения бага. Нет, хвалить себя за хитровыдуманный кейс, который сломал систему, — это нормально. Любить себя тоже надо. Но это не самоцель — не нужно надеяться на ошибку в каждой попавшейся задаче, не нужно глумиться над разработчиками, которые пропустили баг, и чувствовать своё превосходство, когда вы нашли неточность в компоненте, уже проверенном вашим коллегой. Гораздо лучше радоваться тому, что задача уехала на продакшн без ошибок и в срок. Вот это — ваше настоящее достижение, даже если вы ни разу не переоткрывали задачу.
И в заключение…
Я люблю свою работу. Это включает в себя всё — и мои собственные обязанности, и проект, и моих дражайших коллег. Я знаю множество тестировщиков, которые испытывают те же чувства. Но знаю и много других, которые на своей позиции несчастны, по своей ли вине, или по вине руководства — неважно. А ещё знаю людей, которые хотят работать в IT, но не хотят идти в тестирование, потому что считают эту работу недостойной и неинтересной. Если хотя бы один из этих людей благодаря моей статье сможет стать счастливее и успешнее в собственных глазах, я всё это писал не зря.