вторник, 1 марта 2011 г.

Overmeetinging

Зачем делать митинги ради митингов? Митинги - инструмент. И его надо правильно использовать. Микроскопом не забиваем гвозди, не рубим деревья бензопилой. Если в случае наших аутсорсовых айтишных проектов цель митинга для менеджера (проекта или тимлида) получить статус, то не всегда для этого надо собирать всю команду.

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

Следите за своими сроками

Подсмотрел у cartmendum'a тут. И не смог не перепостить :)

Многие дедлайны можно отложить или объем пересмотреть, но делать это надо заранее, и следить за этим постоянно. Иначе кто как умеет плавть :)



четверг, 10 февраля 2011 г.

Нет элемента? Давайте посмотрим

Если просто вызвать нажатие на любой контрол, а его нет, то Selenium просто вернет соответствующую ошибку как то: null com.thoughtworks.selenium.SeleniumException: ERROR: Element Control not found


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

В текущем тестовом фрэймворке реализован механизм, когда почти все методы селениума перегружены или расширены и расширеные методы используются намного чаще. Я всегда обрабатываю ситуацию присутствует ли элемент на странице перед тем как сделать с ним какое-либо действие. Поэтому эта проверка была включена в реализацию функции click. Точнее clickIfPresent. Есть два варианта реализации:

1) public void clickIfPresent(String elementLocator) {
        if (super.isElementPresent(elementLocator)){
            click(elementLocator);
        }
        else
            logHtmlSource("Element " + elementLocator + " doesn't exist");
    }
2) public void clickIfPresent(String elementLocator) {
        try {
            click(elementLocator);
        }
        catch (SeleniumException e){
            logHtmlSource("Element " + elementLocator + " doesn't exist");
        }
    }

Как тест инженер я разницы не вижу, но наши Java-разработчики говорят, что второй правильнее :)

пятница, 21 января 2011 г.

Тест лидер и проектный менеджер?

На самом деле я тест лид. И младший product owner и иногда не младший тоже. И менеджер команды (проекта). И просто automated QA Engineer. И в то же время все эти люди не я, и я не все эти люди, уж тем более одновременно.

Да бывает так. И не важно как кто к этому относится. Я понимаю почему так получается. И принимаю это.
Главное, что нужно научится все это разделять во времени. Но еще важнее не растерять все полезные качества каждого при этом: умение смотреть на картину в целом и видеть детали; думать о том как успеть в сроки и сделать все с достойным качеством; критиковать  все что делают и не критиковать работу людей; оптимистично смотреть на то, что перед самым релизом, и писсимистично в процессе.

Вспомню еще что - допишу :)

Как бороться с ленью


Подсмотрел подход вот в статье Виктора Вертипрахова "Как перестать лениться и начать жить" (прошу прощения, если фамилию написал неправильно).

Суть проста. Если что-то лень делать -- начните делать ничего.
Не надо лениться и начинать играть или серфить в интернете. Просто перестаньте делать что-либо. Сесть и ждать пока не захочется работать. Если захочется начать что-либо делать, то надо продолжать ничего не делать. И так пока не захочется сделать что-то полезное.

Попробую!