27 февр. 2009 г.

хронограф: вторая половина февраля

1. H.G.Wells. The invisible man.
2. Айзек Азимов. Выбор катастроф.
3. Ди Браун. Схороните мое сердце у Вундед-Ни: История американского Запада, рассказанная индейцами.
4. Stacy Joines, Ruth Willenborg, Ken Hygh. Performance Analysis for Java Web Sites
5. Raj Jain. Art of Computer Systems Performance Analysis Techniques For Experimental Design Measurements Simulation And Modeling.
6. Олесь Гончар. Берег любовi.

20 февр. 2009 г.

Тестирование и баги

Основной профессиональный миф: тестер везде видит баги. Развитие сюжета: хороший, годный тестер находит баги в любом предмете или явлении, с которым сталкивается на своем жизненном пути. По интернету гуляет вот такой баян об идеальном тестере.
Восьмой час колупаясь с воспроизведением бага на performance тесте, хочу сказать, что я против.
Первое время я искренне наслаждалась тем, что могу разными способами уронить систему. Особым шиком считается, если после этого для корректного запуска нужно редеплоить приложение. А если сумеешь ещё и базу корраптнуть, вообще придётся писать скрипт, чтобы данные исправить.
Всё это фигня.

Искусство тестера состоит в том, чтобы проверить, как работает конкретное место. Тестировать систему целиком — это тоже очень нужно и важно, но, как всегда, весь дьявол в деталях. Если система не работает -- приходится искать конкретное место, раскапывать подробности, выявлять необходимые и достаточные условия для возникновения проблемы.
Бывает и так, что багрепорт содержит только скриншотик окошка с надписью "server error". С багами, пришедшими от кастомера, так случается очень часто. Без дополнительной информации воспроизвести проблему невозможно, но искусство в том и состоит, чтобы использовать минимум информации. Тут-то и начинаются соревнования между тестерами "кто быстрее воспроизведёт".

А вот когда ты уже понял, в чём дело, и локализовал место, где кроется проблема, начинается самое геморройное.
Нужно сделать так, чтобы неправильно отработало именно это место. Именно этот кусок кода, именно этот запрос, именно этот ресурсный файлик неправильно подсосался. И вот тестер сидит и молится, чтобы всё остальное сработало идеально. Человек, обладающий хорошей памятью, наизусть знает, где можно вляпаться и как такие моменты обойти. Я, естественно, вляпываюсь во всё по очереди и по нескольку раз, прежде чем дойти до нужного. Слава Богу, девелоперы постепенно фиксают самые неудобные дефекты. Но сажают при этом кучу новых :)

Много ли толку в умении уронить приложение при запросе, если тебе нужно получить некорректно сформированный ответ? Много ли смысла в людях, знающих как, но не знающих зачем?
Умный тестер должен всегда знать, зачем он тестирует. Профессиональный тестер должен уметь просчитать и построить модель, как именно тестировать. Талантливый тестер должен чувствовать, что нужно тестировать.

Картинка для привлечения внимания:

12 февр. 2009 г.

смотрят спящие земляне пьесы вечной новизны

1. Будто я участвую в репетиции какой-то оперы Стравинского, исполняю партию царя. Партия чертовски сложная, я не подготовилась, режиссёр злится. После нескольких попыток пропеть очередную фразу встаю, аккуратно снимаю и складываю зелёную мантию и говорю, что петь не буду. Спалось под передачу Агамирова о Стравинском.

2. Запутанное пересечение границы. Будто едем мы в поезде, на границе нужно оставить вещи и заполненные таможенные декларации в вагоне, а самим выйти. Таможенная декларация представляет собой сложенный листок формата А4, наверху написана фамилия. На улице зима. Зайдя в вагон, обнаруживаю на своём месте декларацию с оторванной половинкой, сверху вместо моей фамилии написаны две фамилии: Ганчиков и Швейцмахер.
Долгие разборки, в результате в моём загранпаспорте под штампиком пересечения границы стоит аккуратный штампик таможни с текстом "В связи с пересечением границы в холодное время года возможны незначительные девиации в количестве пересекающих границу". Ниже запись шариковой ручкой: "Свидетельствую, что данный пассажир пересекал границу в количестве одной штуки. Начальник станции (неразборчиво)". Ниже запись от руки: "Будучи спутниками вышеозначенного пассажира, имеем показать, что декларация была разорвана и неправильно надписана в отсутствие вышеозначенного пассажира", и так записей на несколько листов.