среда, 28 сентября 2011 г.

Lesson 29

А у нас в офис привезли тестовые амазонкиндлы.

Альбом: office


Я уже себе хочу такой, он замечательный. Только я пока не понимаю, зачем он мне нужен, у меня есть с чего читать.

К сегодняшнему переводу — слово «абдукция» - реально существует.

Слово Канеру:

Используй абдуктивное мышление, чтоб найти гипотезы.

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

1. Ты собрал некую информацию и хочешь найти ее смысл.
2. Ты строишь различные предположения, которые могут объяснить эту информацию.
3. Ты нашел больше информации, которая поможет тебе подтвердить или опровергнуть некоторые предположения.
4. Ты выбрал из всех вариантов самое понятное предположение, которое объясняет всю важную информацию, или, если всего этого не хватает, чтоб подтвердить выводы, продолжаешь поиск.

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

Абдукция это системный метод для поиска хороших гипотез. Хотя абдуктивное мышление не предоставляет полную определенность, это лучшая техника, которую мы можем себе позволить в данной ситуации.

Перечитывая сэра Терри

Осада трои длилась 10 лет. Елена все это время была самой прекрасной? Если да, то почему после взятия Трои Менелай еще 8 лет зависал на Кипре?

Lesson 28

Ну и я не пройду мимо тренда блогосферы.
Путин, Медведев, Кудрин, ужас пыщ, пыщ!

О интересном. Недавно купленый asus tf101 я последний раз полностью зарядил в субботу, в 15:30. По вечерам на нем пару часов смотрю фильмы, читаю книжки. Сегодня вечер вторника, осталось примерно четверть заряда. Убермашина!

Ну да, еще скоро допишу хороший годный тест. Кстати, нас - автоматических тестировщиков - хотят отселить в кабинет с большим окном.

В целом ОК.

Слово Канеру:

Исследование включает в себя много способов мышления.

Исследование — детективная работа. Это бесконечный поиск. Думайте исследовании как о движении в космосе. Оно включает в себя прямое, обратное и нестандартное мышление.
Прямое мышление. Работайте от того, что вы знаете к тому, что вы не знаете. Двигайтесь от того, что вы видели к тому, что вы еще не видели. Ищите последствия и побочные эффекты. Пример: Я вижу пункт меню «Печать». Я кликаю по нему, чтоб узнать, что случится.
Обратное мышление. Двигайтесь от того, что вы ожидаете или представляете к тому, что что вы знаете, пытаясь подтвердить или опровергнуть ваши гипотезы. Пример: Интересно, есть ли возможность напечатать этот документ? Я посмотрю в меню и узнаю, есть ли там пункт печати документа.
Нестандартное мышление: Позвольте себе отвлекаться на идеи, которые приходят в голову. Изучите, как они касаются основного направления движения. Пример: это интересный график. Эй, я напечатаю несколько сложных графиков и посмотрю, что случится.

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

вторник, 27 сентября 2011 г.

Lesson 27

Сегодня перестал болеть простудой, и, внезапно, сменил адрес проживания. На пару километров южнее, о как.

Слово Канеру:

Чтоб тестировать ты должен исследовать.

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

Доказательство важности исследований выходит за рамки этой книги. Один из способов получения подобного опыта — попробовать собрать пазл, не заглядывая в картинку на коробке, или сыграть в игру «12 вопросов». Заметьте, как сложно было добиться успеха и насколько менее полезным было бы следовать в этих случаях заранее составленному шаблону.

Чтоб узнать, как обучение исследованию используется в других областях, подобных тестированию, посмотрите The Discovery of Grounded Theory: Strategies for Qualitative Research (Glaser and Strauss 1999), и Basics of Qualitative Research, 2nd Edition (Strauss, Anselm, and Corbin 1998). Если вам нравится статистика, то попробуйте Exploratory Data Analysis (Tukey 1977).

четверг, 22 сентября 2011 г.

Lesson 26

Слово Канеру:

Интуиция хороша для начала, но паршива в финале.

Вы можете быть искушены в использовании отдельных тестовых данных или судить конкретные тестовые случаи, основываясь на вашей интуиции - «чуять нутром», даже если вы не можете ясно объяснить причины вашего знания. Мы считаем, что это полезное чувство, но оно полезно скорее в качестве точки старта, чем в качестве точки отдыха.

Кроме того факта, что интуиция часто глубоко субъективна, реальные проблемы появляются, когда вы пытаетесь передать ваш баг репорт и оценки качества другим людям — программисту, менеджеру. За исключением случаев, когда предположение разделяют и остальные — оно должно быть отклонено.

Поэтому мы рекомендуем использовать интуицию как ориентир, но не как обоснование. Если вы склонны думать «это баг потому что это очевидно баг», замените это суждение на «это баг, так как я наблюдал поведение продукта, нарушающее требования X, Y и Z, а эти требования важны для моих клиентов».

Lesson 25

Слово Канеру:

Все тесты основаны на моделях.

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

Изучай моделирование. Ты будешь тестировать все лучше по мере получения новых навыков моделирования. Учебники и тренинги по анализу требований и архитектуре ПО могут помочь тебе. Прекрасный путь улучшения навыков всех видов моделирования — изучение систем мышления. Смотри An Introduction to General Systems Thinking: Silver Anniversary Edition. (Weinberg 2001).

среда, 21 сентября 2011 г.

Опроса пост

Lesson 24

А сегодня как-то так.
Раз:
Альбом: 20 сентября 2011 г.

и два:
Альбом: 20 сентября 2011 г.


Разница во времени между фото — пара часов.

Слово Канеру:

Все тесты являются попытками ответить на какой-либо вопрос.

Все тесты — это эксперименты, выполняемые для ответа на вопрос о зависимости между тем, чем продукт является и тем, чем продукт должен быть. Иногда вы не полностью понимаете вопросы, которые задаете. Это может быть хорошо, если вы видите очевидную проблему. Однако, во многих случаях, баги не прыгают на вас с мигающей неоновой табличкой «Зарепорть меня». Продукт может плохо себя вести в ситуациях, которые пользователь сочтет очевидными, а ты (тестировщик), можешь и не заметить. Тестируя, спросите себя, какой вопрос должен управлять вашей стратегией тестирования. В противном случае, вы скорее турист, чем тестировщик.

Так

Альбом: randompics4lj

вторник, 20 сентября 2011 г.

Lesson 23

Слово Канеру:

Тестировщик это больше чем турист.

Многое, из того, что вы делаете с продуктов, кроме тестирования, может помочь вам изучить его. Вы могли бы пройти экскурсию по продукту, посмотреть, как он изготовлен и как он работает. Это неоценимо, но это не совсем тестирование. Разница между тестировщиков и туристом в том, что усилия тестировщика направлены на оценку продукта. А не только на его осмотр. Хотя и нет необходимости в том, чтоб предсказывать, как ПО будет себя вести, выполнение с продуктом каких-либо действий не станет тестированием до тех пор, пока вы не примените принципы и процессы, позволяющие диагностировать проблемы, если таковые существуют.

суббота, 17 сентября 2011 г.

Lesson 22

Купил сумку для ноута. Вот:
Альбом: home

Ну и еще скоро наудевелкамп же! Хорошо.

Слово Канеру:

Тестирование черного ящика не является тестированием, основанным на невежестве


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

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

пятница, 16 сентября 2011 г.

В шоке же.

Superjob.ru изучил зарплаты тестировщиков ПО в России

Цитаты касательно Екатеринбурга:

- Средняя зарплата 35 тыс. руб
- Зп новичка: от 18 тыс. до 22 тыс. руб
- Опыт от полугода: до 28 тыс. руб.
- ВО + стаж год: 44 тыс. руб.
- Стаж от 3 лет: 75 тыс. руб.

Либо я что-то делаю не так, либо живу не в том Екатеринбурге.

Екб, урал, вы верите в эти цифры?
Тестеры РФии, цифры по статье не врут?

Lesson 21

Слово Канеру:

Хорошие тестировщики думают технически, творчески, критически и практически.



Все виды мышления фигурируют в практике тестирования. Но мы верим, что на четыре основных категории стоит обратить внимание:

- Техническое мышление. Способность технического моделирования и понимания причин, воздействий. Это включает такие вещи как знание относящихся к делу технических фактов, способность использовать инструменты, предсказывать поведение системы.

- Творческое мышление. Способность генерировать идеи и видеть возможности. Вы тестируете только теми способами, которые в состоянии представить. Вы сможете увидеть только те проблемы, существование которых сможете представить.

- Критическое мышление. Способность оценивать идеи и делать выводы. Это включает способность находить и ликвидировать ошибки собственного мышления, связывающие наблюдения за продуктом с критериями качества, создавать убедительные сценарии и паны действий.

- Практическое мышление. Способность воплощать идеи в жизнь. Эта способность включает такие навыки, как применение инструментов тестирования и тестовых техник, вписывающихся в рамки проекта.

В целом, мысля как тест лид, вы поверите, что вещи могут быть не такими, какими кажутся. Однако, вещи могут быть разными. Мы считаем, что когда процесс тестирования ломается по самому разрушительному пути, причины скорее всего в "туннельном" зрении. Другими словами, это не значит, что мы запустили 10 000 тестов и должны запустить 10 001-й тест. Это значит, что у нас сломалось представление о целой категории тестирования; мы могли бы не выполнить задачу, даже если бы имели в два раза больше времени и ресурсов.

четверг, 15 сентября 2011 г.

Lesson 20

Сегодня закончил группу тестов. А еще внезапно оказался руководителем практики, которая проходила в июле у нас в отделе.

Кстати, несправедливость, почему аналитикам на практику дали большеглазых девочек, а у нас гик да очкарик (Алексей и Сергей, без обид =) )?

Кстати, к качестве рекламы нашей конторы, три из шести практикантов уже работают у нас.

Слово Канеру:

Тестирование требует делать выводы, а не только сравнивать ожидаемый и полученный результат.


Популярное мнение, что тестировщики просто выполняют тестовые сценарии и сравнивают то, что случилось с ожидаемыми результатами. Из за этого мнения тестирование кажется простым сравнением и игнорирует тот факт, что есть некие умные люди, которые создают дизайн тестов и определяют ожидаемый результат. Угадайте кто? Тест-дизайнер почти никогда не имеет доступа к авторитетным руководствам по тому, что должно быть протестировано, не говоря уже о том, что ожидать. А руководства еще нужно правильно понять. В реальной жизни большая часть тест-дизайна основана на выводах или взято из опыта, который тестировщик считает применимым. Больше того, эти выводы меняются со временем. Чтоб думать как тестировщик нужно быть адептом искусства исследовательских предположений.

Исследовательские предположения могут звучать как странные идеи. Это означает, что одна идея ведет другую, и нельзя предсказать, к чему приведет следующая. Хорошим вступлением к исследовательским заключениям может быть "Proofs and Refutations: The Logic of Mathematical Discovery" (Lakatos 1976). Больше всего об этой книге скажет то, что Lakatos показал процесс математического и научного рассуждения основанного на исследовании, а не сценарии. Даже математические рассуждения активны, а не скучное применение формул. Они думали как тестировщики.

среда, 14 сентября 2011 г.

Доброты пост

Все еще отдаю в добрые руки "Кожаный чехол с вставкой из вишни для iPhone 3G/3Gs".

У предыдущего потенциального владельца оказался 4й айфон, к нему не подходит. Вот так.

Альбом: 14 сентября 2011 г.

Lesson 19

Взлабал почти столько же тестов, сколко и вчера. Подгоны из мск не приехали, хотя очень, очень надеялся.

А еще сегодня день программистов, с чем я их и поздраваляю. И немного поздравляю себя, меня тут недавно назвали личинкой программиста.

Альбом: randompics4lj


Слово Канеру:

Тестирование в твоей голове.


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

- Многие люди считают тестирование простым, так как они могут просто скопировать видимую часть работы хорошего тестировщика, и они не имеют никакого другого стандарта или представления о хорошем тестировании.

- Если ты хочешь стать хорошим тестировщиком изучай то, как он думает, а не то, как он выглядит.

вторник, 13 сентября 2011 г.

Lesson 18

Взлабал много тестов. Купил сумку для ноута. Погладил кота. А еще две вещи едут ко мне из москвы, буду делать ставки - какая прибудет первой.

Наступил какой-то деньрожденческий переполох. Много, очень много людей. Эта статистика как бы говорит нам из прошлого, что на новый год есть все шансы, да.


Слово Канеру:

Тестирование основано на когнитивной психологии.


Теория познания говорит нам о том, как мы должны думать, когнитивная психология говорит о том, как мы думаем. Некоторые ее темы, релевантные тестированию:

- Надежность твоих чувств и памяти.
- Откуда исходит вера.
- Как вера влияет на поведение.
- Предубеждения и короткие пути, которые ты используешь для принятия решений.
- Как ты учишься и делишься тем, что знаешь.
- Что ты думаешь о комплексном мышлении.
- Как ты мыслишь под давлением.
- Как ты признаешь шаблоны.
- Как ты сортируешь идеи и мыслишь категориями.
- Как ты замечаешь разницу между вещами.
- Искажения событий в памяти.
- Как ты частично восстанавливаешь события из памяти(например невоспроизводимые баги).

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

Чтоб начать изучать, смотрите не далее, чем Cognition in the Wild (Hutchins 1995). Hutchins изучал команды военно-морской навигации и то, как они работают сейчас. Многое в этой книге применимо и к проектам программного обеспечения и командам тестирования. Полезная книга о психологии мышления "Теория доказательств: Научные исследования" (Koslowski 1996). В этой книге Koslowski исследует, как люди применяют теорию причин к рассуждениям о системах. Это объясняет, как тестировать больше, чем просто наблюдая внешнее поведение и проверяя не только простые ожидаемые результаты.

воскресенье, 11 сентября 2011 г.

Был дома

Фотки.
Раз:




Плакатик, подарили на др, давненько уже.

И два:




Стена, чо.

суббота, 10 сентября 2011 г.

Lesson 17

С днем тестировщика.
Весь день писал тесты.


Слово Канеру:

Изучение теории познания поможет тебе тестировать лучше.


Темы теории познания, затрагивающие тестирование ПО:
- Как собирать и оценивать доказательства.
- Как делать обоснованные выводы.
- Как использовать различные формы логики.
- Что значит иметь оправданную веру.
- Различия между формальными и неформальными рассуждениями.
- Общие заблуждения о неформальных рассуждениях.
- Смысл и двусмысленность родного языка.
- Как принять правильное решение.

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

Вот три самые читаемые книги, с которых стоит начать:

- "Инструменты критического мышления"(Levy 1997). Эта книга нацелена на психотерапевтов, но отлично подойдет и тестировщикам. В каждой части содержаться отличные идеи о том, как мыслить лучше. Сразу не читайте ее полностью, выберите одну главу и игнорируйте остальные.
- "Мышление и принятие решений" (Baron 1994). Это главная книга, охватывающая мир мышления в удобочитаемом виде. Это отличное введение в предмет.
- "ремесло исследований" (Booth, Colomb, and Williams 1995). Предназначена для студентов колледжа, это замечательная маленькая книга о критическом чтении и письме, включающая способы создания убедительных аргументов.

пятница, 9 сентября 2011 г.

Lesson 16

Йес, я добрался до чаптера два книжки! Больше, чем ребята из бложика, что я упоминал ранее.

Сегодня, по большей части чинил и отдавал долги. Технические.


Слово Канеру:

Тестирование это прикладная теория познания.


Эй, вернись! Мы не говорим о культе новой кинозвезды. Поверь нам в этом. Теория познания это ветвь философии, которая помогает нам тестировать лучше. Теория познания изучает то, как ты узнаешь то, что ты знаешь. Она изучает доказательства и причины. Она устанавливает основания для научной практики. Теория познания изучается учеными, учителями. философами - и элитой тестировщиков ПО. Студенты теории познания изучают науку, философию, психологию с целью узнать, как мы все можем улучшить наш разум. Мы используем термин шире, чем он классически определяется, так что мы можем получить преимущество перед большей частью работ по критическому мышлению. Применительно к тестированию ПО, теория познания отвечает на такие вопросы как:

- Как мы узнаем. что софт достаточно хорош?
- Как мы узнаем, что софт недостаточно хорош?
- Как мы узнаем, что мы протестировали хорошо?

Сократ выступал с критическим исследованием веры 2400-лет назад. Мы видим его как раннего гносеолога. Ученые, философы и психологи продолжают изучать теорию познания до наших дней. Это твое наследие, как тестировщика.