вторник, 17 апреля 2007 г.

«Баги» в программах и «ошибки» в текстах

Source: http://www.itblogs.ru/blogs/borkus/archive/2007/04/17/15380.aspx
«Баги» в программах и «ошибки» в текстах

Когда я работал в прессе (обозреватель/редактор раздела/зам. главного PCWeek/RE), то ошибки в текстах всегда и всеми сотрудниками переживались тяжело. А случаев было предостаточно -- каждую неделю приходило десяток рекламаций. То ошиблись в названии фирмы, то мы кого-то мимоходом «приложили» (да так, что сами этого не поняли), то опечатки в тексте, то запятую пропустили, иногда и смысловые ошибки. Серьезных ошибок (за которые было реально стыдно) было в среднем 1-3 на номер.

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

Вместе с тем посмотрим на факты. Номер от 40 до 116 полос с заполнением 12 000 знаков на каждой полосе (в среднем где-то 450 000 знаков, 100 000 слов, порядка 7-10 тыс. строк, 10 000 предложений) делался за неделю силами примерно 30 человек. Итого -- ориентировочно мы допускали 0,3 серьезные ошибки на 1000 строк. Умножить-поделить на фактор 2.

Теперь рассмотрим на итоги работы сектора ИТ, со стороны которого и были претензии. Программы создаются годами, по некоторым оценкам (см. примеры в http://www.osp.ru/os/2005/04/185558/) число ошибок в коммерческих продуктах (конечный релиз) составляет до 0,5 на 1000 строк. Насколько я понимаю -- это даже не «фичи», а именно «баги», т.е. статистика включает только важные ошибки. «Фич», вероятно, больше.

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

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

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

Правда, теперь у меня есть отмазка: я же не пресса, имею право ошибаться! Хотя вот какой вопрос меня мучит:  имею ли я право ошибаться, будучи консультантом/аналитиком?

P.S. Все приведенные выше цифры по газете -- очень приблизительные. Приведены для иллюстрации.

Влад Боркус

Published 17 апреля 2007 г. 14:55 by Vlad Borkus Edit
Filed under:

Comments




begebot said:Довольно любопытное сравнение. Но, как мне кажется, оно прихрамывает на обе ноги. Ведь для того, чтобы не было опечаток достаточно просмотреть весь материал свежим взглядом (что, конечно, не так уж и просто, кто спорит). Для того, чтобы не было фактических ошибок опять же достаточно потратить уже гораздо больше времени, но один раз. Т.е. если вы проверили, что Microsoft пишется именно так, а Вася Иванов действительно был главой компании "Сибирские валенки", то можно быть уверенным, что с этими фактами ничего не произойдет и ваша статья ошибок содержать не будет.
Проблема же программных продуктов в том, что "миров" в которых они работают очень много. И нельзя все до копеечки проверить на одной конкретной машине и сказать что продукт готов. Поэтому и тысячи тестерочасов, и годовые циклы разработки...апреля 17, 2007 17:54

Bari Murtazin said:
Есть класный пост на эту тему у Эльдара Мусаева.
http://blogs.technet.com/eldar/archive/2007/03/27/712866.asp…
Цитирую:
Баг - это запись в базе данных багов. Точка. Баг - это не реальный дефект, это запись об инциденте. Те из вас, кто участвует в Бете и имеют доступ через коннект, могут зафайлить свою проблему - это будет отдельным багом в нашей базе данных. Баги создаются и внутри команды, в первую очередь тестерами, но в равной мере и всеми остальными. Кнопочка смотрится плохо на нестандартном разрешении? Баг! В спеке неправильно поставлена запятая? Баг! Сообщение трудно понять? Баг! После плотного ужина мне почудились красные круги на фоне экрана. Баг! Есть, конечно, и серьезные типа сервис сломался. Далее приходит этот баг к вам (для этого у него есть специальное поле AssignedTo:). Вы на него смотрите и говорите себе: "Ба! Да у меня же уже пять на эту самую одну и ту же проблему!" Значит четыре разрешаются (resolved) как дупликаты, связанные с оригиналом, а один как исправленный, когда вы его исправите.
апреля 17, 2007 18:53

Vlad Borkus said:
2 begebot
>Но, как мне кажется, оно прихрамывает на обе ноги.
И да, и нет. Те возражения, что вы привели относятся и к програмному коду тоже. Можно больше времени и средств потратить на обдумывание архитектуры или тестирование.... Но это время, деньги. Приходится идти на компромис -- делать продукт вечно нельзя... Я занимался и программированием и прессой, и вижу, что все похоже. В  прессе тоже есть куча внешних ограничений -- финансовых, временных, кадровый вопрос в конце концов. Бизнес и есть бизнес.
апреля 17, 2007 20:22

Vlad Borkus said:
2Bari Murtazin
>Есть класный пост на эту тему у Эльдара Мусаева.
Да, хороший постМне пока непонятно, именно считает аналитическое агенство Reasoning... Оно может считать по своей методике, отличной от подхода MS.  Отличие одно видно -- они оценивали "окончательные" версии, т.е. "багов" или "фич", было уже меньше.
Мне, скорее, было интересно сравнение цифр по порядку величины.
апреля 17, 2007 20:33

EldarM said:
Мне кажется, что неправомерно сравнивать ошибки в печатных материалах и программах.
Опечатки, о которых вы говорите, в программировании... они уже не то, что просто не встречаются, за них даже уже и не бьют, поскольку практически все они ловятся на фазе компиляции.
Следующий этап - компенсаторные механизмы человеческого мозга, который автоматически конвертирует очипятки при чтении в исходные понятия, часто не информируя об этом сознание.
Затем включается то, что любую статью человек воспринмает в среднем на 5-10 процентов, ну 50, если внимательно читает. Так что даже семантические ошибки как правило проходят мимо внимания и ни на что не влияют.
Ну, и наконец, главное, представьте себе, что любой человек прочитав статью в газете или журнале начинает как бездумный автомат жестко по букве следовать тому, что прочитал. Представляете, какой кошмар был бы? Голубая мечта Гебельса, если, конечно, человечество пережило бы такое.
Человеческий язык используется по определению для зашумленных каналов с мягко говоря подозрительнымм источниками информации. Компьютерные языки используются для защищенных и надежных каналов с источниками сигнала, которым вы верите как себе. Согласитесь, огромнейшая разница. Подозреваю, что если бы человеческий язык использовался так же, то даже самая вылизанная статья в авторитетнйших журналах все равно содержала бы "синих экранов" больше чем вся Windows.
Ну, и наконец, естественный вопрос: а нельзя ли сделать программы столь же "терпимыми" к шумным каналам, как и люди? Можно. Наверное. Когда-нибудь. Но тогда использовать программы будет так же сложно как и управлять людьми. Кто управлял - знает.
Уф-ф-ф, расписался! Пожалуй, опубликую это у себя на блоге - тема-то интересная. :-)
апреля 18, 2007 22:39

От редактора said:
Я пишу передовицу раз в две недели и раз в две недели я ретроспективно просматриваю все посты за это
мая 2, 2007 11:17

makar_007 said:
Вспоминая тестирование продукта под 95-ми всех версий, 98, NT и 2000 с различным набором Sevice Packов и умноженное на два языка (тестирование под Английскими и отдельно под Немецкими виндами) и ошибки, которые не мы нашли в ходе тестирования, а нам прислали клиенты, за которые нам должно быть стыдно, и как-то тяжело это сравнивать с  орфографическими ошибками, которые решаются, обычно, спелчекерами, и банальными описками, которые, обычно, находятся через стандартную процедуру ревизии, которыми попадаются, к сожалению, во многих изданиях.
мая 3, 2007 20:10

Комментариев нет:

Отправить комментарий