понедельник, 24 декабря 2007 г.

О наболевшем..

Большая проблема с которой приходится бороться в компании - это то, что новые люди в тестировании очень быстро устают быть тестерами. Перефразируя, большинство IT-ков по просту теряют мотивацию тестить после некоторого промежутка времени. При этом я бы не стал проводить аналогию с таким понятием, что любому человеку когда то просто не нравится то, что он делает. Проблема в другом.. У большинства сотрудников многих фирм есть какое то неправильное видение целей и обязанностей QA команды. Из чего и сами члены QA команды сами себя терзают таким же мнением.. Мнение примерно такое, что тестер это ничего не понимающий, не разбирающийся в работе софта мудила, который только и делает что тыкает программу как дурная обезьянка... Печальное мнение надо сказать, но более обидным является то, что в некоторых фирмах это реальность... На практике встречалось такое, что QA просто тупо тыкает софт, потом находит не захендленную ошибку и тупо радуется из сие факта. При любой поставленной задаче для QA должно быть первостепенным проверить валидно ли была выполнена та или иная бизнес логика, которая может быть какой угодно. В этом ракурсе я бы подчеркнул что в идеале QA должен понимать логику заказчика лучше самого девелопера. Этого можно добиться либо присутствием самого QA на обсуждении софта, либо (если таковой возможности нет) просто вытряхиванием всей информации по софту от любого носителя этой логики.
Так к чему же все это? Хотел провесьти некую систему приоритетов при тестировании любого продукта. Начнемс:
1) Проверка на валидность выполнения поставленной задачи;
2) Проверка юзабельности(на гуи стандарты);
3) Валидность работы софта при правильных значениях;
4) Валидность работы софта при не допустимых значениях;
5) Проведение нагрузочных, регрессионных и т.д. тестов(в зависимости от самой задачи)
6) Ну и наконец если все хорошо запись автотестов.
Все пункты не обязательные, они будут зависеть от самого выданного ТЗ.
Для меня лично идельным QA является тестер, который кроме вышеперечисленных пунктов может видеть проблемные части еще в самом коде и может подсказать те или иные решения еще при написании.
Все эти обязанности могут показаться муторными, вот это и есть та причина того, что люди теряют мотивацию работать именно в этом направлении. Огромнейшие виды тестирования раскрываются при тестировании веб приложений. Поскольку при их тестировании большой акцент выставляется безопасности. Те же самые SQL-иньекции, XSS атаки, подверженность dos-атакам и т.д. Все это ложится на плечи именно QA-отдела.
В примере работы именно нашего QA-отдела, то общение с заказчиком тоже лежит на нашем отделе. В этом смысле задач и работы у отдела всегда хватало.
Но самая главная проблема в нашем направлении наверно все таки в том, что нигде не учат на тестеров ПО, т.е. на эту должность приходят люди которые имеют образование именно девелоперов и сие факт постоянно терзает многих. В том смысле, что многие просто не довольны тем, что как бы учились скажем 5 лет на программиста а потом становятся тестерами и опять же сами не понимают собственной значимости. Главное все таки в любом деле это получать кайф от собственной работы, если этого нет, то сколько себя не мучай, но в конце концов все равно это выйдет боком и человек так или иначе уволится. Бывает и такое что у человека хорошо получается тестить, но нет никакого желания этим заниматься) Это самые огорчительные случаи.
Самый обидный ответ на вопрос как мотивировать тестера - практически никак, кроме того как заинтересовать его в собственной работе. Наверное на сегодня все.