четверг, 27 января 2011 г.

Нужны советы по программе курсов по "Тестированию ПО"

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

понедельник, 9 ноября 2009 г.

Темы опроса(duplicated)

Недавно наткнулся на 2 статьи в сети, которые дубируют мои темы в опросе, выставленные на голосование, а именно:
  1. Тестирование по контексту - Context Driven Testing
  2. QA, QC, tester, тестировщик, тестер. А разница?

Не хотелось зная писать, то что уже итак отлично написано до меня, посему:
  1. Совсем недавно Алексей Лянгузов великолепно описал Context Driven Testing и дал собственные советы по приведенным практикам. Так что рекомендую к прочтению именно его статью.
  2. Вторую тему отлично описал(я бы сказал перевел ) Вячеслав Панкратов в своем посте "В чем разница между Тестированием и QA"
Поскольку в опросе остались лишь пара тем, то опишу обе, но немного позже

воскресенье, 8 ноября 2009 г.

Экстремальное тестирование

Хотелось бы уточнить название поста. Я хотел бы написать о тестировании в XP команде.
Экстремальное программирование XP базируется на 12 основных практиках:
  1. Разработка через тестирование (Test driven development)
  2. Игра в планирование (Planning game)
  3. Заказчик всегда рядом (Whole team, Onsite customer)
  4. Парное программирование (Pair programming)
  5. Непрерывная интеграция (Continuous Integration)
  6. Рефакторинг (Design Improvement, Refactor)
  7. Частые небольшие релизы (Small Releases)
  8. Простота (Simple design)
  9. Метафора системы (System metaphor)
  10. Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership)
  11. Стандарт кодирования (Coding standard or Coding conventions)
  12. 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
Теперь же попробуем проецировать практики на тестирование.

пятница, 2 октября 2009 г.

Из QAS в Dev, из Dev в QAS, реально ли?

Ну а вы как думаете дорогие читатели?

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

Вопрос на самом деле другой: Кому легче и быстрее будет переквалифицироваться? На самом деле описать такую тему меня подвигнул пост одного из популярных IT блогов в СНГ блог Виктора Ронина на тему Программист против QC . Этот пост обрел очень большую огласку в то время среди QA(QC) среды.

Кому легче в принципе опять же зависит от многих факторов: желания человека, базы как таковой, прошлой специализации и т.д. Но давайте рассмотрим по 2-м усредненным типам специалистов. Предположим у нас есть Саша – хороший разработчик ПО и Ваня – хороший QAS.

среда, 16 сентября 2009 г.

Программисты и QAS в одной комнате

В принципе ситуацию нахождения программистов и тестировщиков в одной комнате можно воспринимать в качестве практики. Естественно у данной практики есть корень. Корнем я бы назвал практику XP, в которой говорится, что команда разработчиков должна находиться в одном помещении. Что это дает разработчикам в результате?

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

Теперь поговорим о ситуации Dev+QAS. В принципе достоинства такого подхода думаю можно понять сразу же после примера с программистами. В команде, занимающейся над проектом, не должно быть людей лишних или мешающих. Все должны работать над одной большой целью:

четверг, 27 августа 2009 г.

Ты тестировщик ты должен уметь всё

Уже после создания опроса понял, что название темы дает двойственное понимание. Посему решил, что опишу оба варианта:
1. Совмещение позиции QA специалиста с какими то другими обязанностями
2. Необходимость большой базы знаний для качественного тестирования ПО

Итак, поехали по 1-му пункту:
Совмещение обязанностей, наверное, бесит абсолютно всех QA-специалистов(QAS). Если вы кроме тестирования занимаетесь программированием или администрированием сети, либо круче этого, вы - офис менеджер, то бросьте вы эту затею. Профессия тестировщика одна из тех, которым не пойдет «в плюс» совмещение позиций. Ведь вы профессионально тестируете софт, т.е. вы имеете деструктивное мышление, это вам не поможет не в обслуживании сети или офиса, а при разработке ПО будет всячески мешать, хоть и в некоторых случаях и помогать тоже.
При всем этом я вполне допускаю вариант тестировщика:

  1. Выясняющего и пишущего постановку бизнес требований
  2. Внедряющего ПО
  3. В роли похожей на «Product owner» в Scrum
  4. IT-консультанта
Почему?
  1. Я уже много раз писал, что еще в начале проекта на этапе сбора требований нужно подключать QAS. А при должном опыте работы общения с заказчиками, такая задача вполне по плечу тестировщику. Если не верите, то у меня и Ромы был личный опыт.
  2. Об этом я тоже давно пишу, что тестировщик лучше всех знает как установить и использовать софт. Не редкие случаи, когда тестировщик знает работу всего продукта лучше любого из разработчиков. Это объясняется тем, что QAS обычно работает со всем функционалом сразу. Кроме этого сборку и установку ПО каждый нормальный тестировщик обязан автоматизировать и в этом случае у него при внедрении все карты на руках :)
  3. Этот пункт, что-то вытекающее из 1-го пункта, в довесок просто плотное общение с заказчиком
  4. В принципе этот пункт я оставил напоследок, поскольку все скорее будет зависеть от самого человека, нежели от профессии, но я бы подчеркнул, что для QAS это не противоречивая должность
При этом нужно понимать, что тестирование программного обеспечения для компании является очень дорогим удовольствием. Содержать целую QA команду, не всегда является оптимальным по стоимости решением. Поэтому некую проверку продукта(релиза, проекта и т.д.) выполняют разные специалисты, еще чаще сами программисты.

Теперь по 2-му пункту:
База знаний QAS немногим уступает, а в идеале и вовсе должна быть больше базы разработчика. Кроме фундаментальных типов тестирования и инструментария к нему, тестировщик должен знать бизнес логику, архитектуру и наиболее рискованные участки софта. Знание всего вышеперечисленного уже является не малым багажом знаний.
Почему же я написал, что в идеале QAS должен знать больше самого разработчика? Я уже писал здесь, о том, какие знания разработчика должен иметь тестировщик и чем он должен владеть для меня в идеале.
Я понимаю, что в больших командах тестирования специалисты в большей мере узко специализированы и мое видение может показаться неправильным и не фундаментальным. Но я пока не имел опыта работы в действительно огромной команде тестирования и являюсь приверженцем, того что QAS должен быть универсально подкован во всех видах и типах тестирования.
Наверное, хватит! Извините за небольшой сумбур в описании. Получился 1 из примеров когда хотелось рассказать многое но не клеилось. Комментарии опять же приветствуются.

P.S. Обратно создал опрос на следующую интересующую тему. Выбирайте, срок почти тот же - 10 дней.