16.05.2008

Баг в контакте

Наткнулся на любопытный баг "В Контакте". Судя по всему, там можно создать группу с пустым названием. Например, вот такую: http://vkontakte.ru/club717740 . Но само по себе это не является ошибкой. А вот если такая группа встречается в результатах поиска -- происходит смещение полей, выглядит это вот так:

2008-05-16_1038

(можно поискать по ключевому слову "Тестирование", указав дополнительно тип группы "Клуб" и тему "Разное" -- тогда указанная группа окажется первой в результатах поиска)

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

12.05.2008

В википедии открылся Software Testing Portal

В википедии открылся Software Testing Portal. Я обрадовался, побежал посмотреть - и был разочарован. Оказалось, что информации про тестирование в википедии крайне мало.

Мы тоже в рамках проекта software-testing.ru предпринимали попытки сделать базу знаний, но не преуспели. Оказывается, и для буржуев это пока не по зубам.

Имеется ещё одна попытка создания базы знаний про тестирование - http://www.testingperspective.com/tpwiki/ , но пока что ещё менее наполненная информацией, увы...

Ну почему тестировщики так не любят писать тексты на профессиональные темы?

11.04.2008

Конференция SQADays 2008 - открыта регистрация

27 мая 2008 года в Москве пройдёт третья международная конференция SQA Days 2008, на которую приглашаются специалисты по тестированию и обеспечению качества программных систем, а также другие заинтересованные лица. Конференция посвящается вопросам, связанным с тестированием и обеспечением качества веб-приложений.


Для тестировщиков
Сейчас количество людей в России и ближнем зарубежье, занятых в области тестирования и обеспечения качества программных систем, быстро растёт. В условиях быстрого роста отрасли именно конференции дают возможность организовать наиболее динамичное распространение информации и эффективный обмен опытом. Конференция SQA Days 2008 является преемником конференции SQA-2, получившей большой отклик в среде тестировщиков. Мы надеемся, что в новом формате конференция станет ещё интереснее и информативнее.


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


Для их начальников
Хотите организовать отдел тестирования? Хотите узнать, какие инструменты стоит покупать, а какие нет? Хотите узнать, какие методы тестирования сейчас наиболее популярны? Хотите повысить профессионализм ваших тестировщиков? Хотите найти подрядчика для выполнения независимого тестирования или, наоборот, заказчика на свои сервисы по тестированию?


Добро пожаловать на конференцию SQA Days 2008!

09.04.2008

Конференция SQADays 2008 - Call for Papers

27 мая 2008 года в Москве пройдёт третья международная конференция SQA Days 2008, на которую приглашаются специалисты по тестированию и обеспечению качества программных систем, а также другие заинтересованные лица. Конференция посвящается вопросам, связанным с тестированием и обеспечением качества веб-приложений:

  • функциональное тестирование;
  • тестирование производительности;
  • автоматизация тестирования и инструментальные средства;
  • конфигурационное тестирование;
  • тестирование удобства использования (usability);
  • тестирование защищенности (security);
  • статические методы обеспечения качества;
  • измерения и мониторинг;
  • тестирование и обеспечение качества как часть процесса разработки;
  • аутсорсинг тестирования.

Формы участия

Доклад - оригинальная работа, непосредственно связанная с тематикой конференции, представленная в форме выступления продолжительностью 20-30 минут, сопровождаемого показом слайдов.

Флип - короткое (5-10 минут) выступление на тему, связанную с тематикой конференции или близкую ей, с использованием доски или флип-чарта и фломастеров, либо устно, без использования специальных технических средств.

Форма и сроки подачи и рассмотрения заявок

20 апреля - крайний срок подачи заявок на участие в форме доклада;

27 апреля - срок рассмотрения заявок и формирования программы конференции;

11 мая - срок предоставления докладчиками готовых к показу слайдов.

Желающие выступить с докладом на конференции должны не позднее 20 апреля представить на рассмотрение программного комитета тезисы своего доклада: 1-2 страницы печатного текста.

Все материалы необходимо отправлять на адрес программного комитета: 2008@sqadays.ru

Заявки на участие в форме флипа будут приниматься без ограничений, в том числе непосредственно в день проведения конференции. Отбор флипов будет производиться непосредственно участниками конференции, для чего будет организована некоторая форма голосования.

Дополнительную информацию о конференции можно получить на официальном сайте http://www.sqadays.ru/

17.01.2008

Software Testing – Cost or Investment? Часть 2.

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

Как весьма справедливо заметил в комментариях Евгений Пророк, значительную часть моих сентенций можно суммировать одним предложением -- обоим сторонам выгоднее заключить Service Level Agreement (SLA), чем заниматься "работорговлей". Да, это верно, но этого недостаточно. Заключение SLA вместо продажи FTE не превращает автоматически расходы в инвестиции. Потому что, по определению, инвестиции -- это долгосрочные вложения, целью которых является получение прибыли или увеличение активов в будущем. Заключение SLA в долгосрочном проекте можно интерпретировать как одну из форм инвестиций. Но ведь и в краткосрочном проекте тоже можно заключить SLA. Однако это было бы неправильно считать инвестированием, потому что никаких долгосрочных вложений в этом случае не делается.

Так что же, краткосрочные проекты -- это всегда чистый расход? Нет, нет, и ещё раз нет! Так может показаться только в том случае, если принимать в расчёт только финансовые активы. Однако современная экономическая наука трактует активы более широко. Например, в соответствии с концепцией сбалансированной системы показателей (balances score-card) следует рассматривать компанию с четырёх перспектив (групп показателей):

  1. "традиционная" финансовая,
  2. клиентская (лояльность клиентов, "популярность" и т.п.),
  3. внутренние процессы (зрелость, гибкость, инновационность и т.п.),
  4. персонал (развитие и рост).

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

05.01.2008

Жизненный цикл разработки программного обеспечения -- что бы это значило?

Каждый год я рассказываю студентам, что такое ЖЦПС (жизненный цикл программной системы), что такое ЦРПС (цикл разработки программной системы), и в чём разница между ними. И всё было хорошо, пока в этом году один из студентов не пришёл ко мне и не сказал, что он дескать прочитал сделанное Сергеем Орликом переложение SWEBOK на русский язык, и там вводится другой термин (со ссылкой на Скотта Амблера) -- жизненный цикл разработки программного обеспечения. Пытливый студент хотел понять, как этот самый "ЖЦРПО" соотносится с теми двумя понятиями, про которые я рассказывал на лекциях.

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

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

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

Таким образом, противоречие в термине ЖЦРПО возникает из-за того, что неясно, какой процесс имеется в виду -- процесс существования (жизни) программной системы или процесс её разработки.

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

Говоря о жизненном цикле некоторого объекта или явления, мы можем иметь в виду один из двух смысловых вариантов.

Первый вариант -- мы рассматриваем процесс существования (жизни) единичного объекта или постоянного явления и можем выявить в этом процессе некоторую цикличность, то есть объект или явление раз за разом проходит некоторую повторяющуюся последовательность состояний. Например, обращение Земли вокруг Солнца (объект) или смена времен года (явление).

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

Бывают ситуации, когда применимы оба варианта одновременно, то есть и процессы существования различных однотипных объектов схожи, и в процессе существования единичного объекта можно выделить некоторые циклы. Например, процесс жизни многолетнего растения можно интерпретировать как по второму варианту (зарождение, рост, размножение, гибель), так и по первому варианту, рассматривая циклические сезонные изменения.

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

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

Напоследок хочется отметить, что поиск в русскоязычном Интернете показывает достаточно широкое распространение термина ЖЦРПО, причём в большинстве случаев подразумевается как раз второй вариант уточнения (ЦРПС), а слово "жизненный" просто выступает в роли слова-паразита.

Но в англоязычном Интернете ситуация гораздо хуже -- я вообще не понимаю, как они сами разбираются, что означает термин Software Development Life Cycle (SDLC). Скажем, Википедия при открытии страницы http://en.wikipedia.org/wiki/Software_development_life_cycle перебрасывает на страницу "Software development process", то есть эти понятия трактуются как полностью идентичные, а кроме того, указывается, что синонимом являются также термины "software lifecycle" и "software process", всё смешано в одну кучу. Имеется также страничка "Systems Development Life Cycle", на которой опять таки объявляется, что синонимом этого термина является "Systems Life Cycle". А наряду с этим существуют (видимо, специально для индусов) разъяснения, согласно которым SDLC вообще является синонимом линейной (водопадной) модели процесса разработки ПО. Такие дела.

15.11.2007

Аккредитация ИТ-компаний -- бесплатно??!

Примерно неделю назад Правительство РФ приняло Постановление № 758 "О государственной аккредитации организаций, осуществляющих деятельность в области информационных технологий".

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

4. Государственную аккредитацию вправе получить российская организация, осуществляющая деятельность в области информационных технологий, независимо от организационно-правовой формы и формы собственности при условии, что данная организация осуществляет разработку и реализацию программ для ЭВМ и баз данных на материальном носителе или в электронном виде по каналам связи независимо от вида договора и (или) оказывает услуги (выполняет работы) по адаптации и модификации программ для ЭВМ и баз данных (программных средств и информационных продуктов вычислительной техники), установке, тестированию и сопровождению программ для ЭВМ и баз данных (далее - организация).

Приносишь в ФАИТ документы согласно установленному перечню, они определяют, действительно ли деятельность организации соответствует п.4 Постановления, если всё в порядке -- заносят организацию в реестр, и можно идти пользоваться налоговыми льготами. Пока, конечно, непонятно, как они будут выявлять "несоответствия деятельности организации, указанной в справке, деятельности, указанной в пункте 4 настоящего Положения", и даже не написано, кто должен разработать критерии, согласно которым будет определяться это соответствие. Ладно, постепенно выяснится, скорее всего ФАИТ и будет это делать -- ему аккредитовывать, вот пусть само и готовит критерии.

Но гораздо больше меня поразил п.9, вторая его половина:

"Плата за аккредитацию, в том числе за выдачу выписки из реестра, не взимается".

Это же ФАИТ может попасть на немалые деньги! ИТ-компаний и так немало, а если этот механизм предоставления льгот реально будет работать, не-ИТ-компании вполне могут задуматься о том, не вычленить ли ИТ-подразделение в отдельную компанию, которая будет оказывать ИТ-услуги своей "маме", пользуясь при этом льготами. И тогда ИТ-компаний станет ещё больше. А если ещё учесть, что надо бы проводить время от времени проверки, чтобы отбирать аккредитацию у тех, кто сначала прошёл проверку на соответствие и получил льготы, а потом занялся неподобающей деятельностью. Это тоже кто-то должен оплатить.

Где тут секрет? На какие деньги будет вестись этот реестр? Загадка...

(А может быть они будут брать деньги за аннулирование аккредитации? Ведь про аннулирование не написано, что оно бесплатное. Ха-ха :) )