Меню

Что такое баг в игре и как его найти



Что такое баги и откуда они берутся?

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

Но давайте разберемся, что такое баги, почему они возникают и какими бывают.

Слово «баг», как и подавляющее большинство терминов программирования, заимствовано из английского языка, в котором «bug» означает насекомое – клопа, жука и т.д. Считается, что впервые его использовали разработчики одного из первых компьютеров – американского Mark II во второй половине 40-х годов двадцатого столетия. Однако слово «баг» в значении «ошибка, неполадка, сбой» встречается задолго до этого – например, в рабочих дневниках знаменитого изобретателя Т.Эдисона.

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

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

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

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

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

Документ, описывающий баг, называется баг репортом. По сути, каждый геймер, обнаружив баг, может составить баг репорт и отправить его в адрес разработчиков игры.

Для описания багов существует специальная формализованная таблица, которую заполняет тестировщик. Из сообщенных сведений программист должен узнать суть проблемы, найти место, которое нуждается в корректировке, и внести нужные исправления. Разумеется, для обычных пользователей это вряд ли возможно – им достаточно будет просто описать баг своими словами.

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

Так, известно, что редактировать свои записи можно только в течение суток после их опубликования. Некий пользователь под ником «Мгновения Грядущего» опубликовал точные «предсказания» событий 2014 года, датированные первым декабря 2013 и снабженные картинками произошедших событий – Олимпиады в Сочи, Крымской Весны и т.д.

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

Английское слово «feature», означающее характерную черту, особенность явления или объекта, достаточно широко используется геймерами. Нередко фичами называют баги, полезные для игрока и обеспечивающие его преимущество. В таких случаях игрок, отвечая на обвинение, что он пользуется багом, возражает, что у него не баг, а фича.

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

Источник статьи: http://www.mnogo-otvetov.ru/computery/chto-takoe-bagi-i-otkuda-oni-berutsya/

Что такое баг и как с ним бороться?

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

Термин «баг»

Естественно, начать следует с рассмотрения самого термина, его этимологии и значения. Что такое баг? Почему он называется именно так? История эта довольно интересна, потому что данный термин произошел от английского слова bug, которое переводится как «жук». Но означает-то он ошибку — каким же образом сочетаются между собой насекомое и проблемы в компьютерном коде? Прямой связи, естественно, нет — просто это жаргонизм, который появился в среде программистов уже довольно давно и прочно закрепился за ошибками, которым удавалось пробраться в код даже с учетом полной проверки. Таким образом, баги проползают в финальную версию кода и выявляются только после запуска самой программы. Касательно этого термина есть еще достаточно много полезной информации, но теперь вы по крайней мере знаете, что такое баг. Идем дальше!

Классификация

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

Исправление ошибок

Процесс разработки программ, в том числе и компьютерных игр, состоит не только из написания кода. Значение слова «баг» намекает на то, что данная ошибка умудрилась пробраться не через один слой защиты. Так что же позволяет отловить 99% всех багов? Ответ прост — это этап тестирования. Когда программный код написан, он отправляется на проверку специальным профессиональным тестировщикам, которые запускают его и проверяют на наличие ошибок. Роль тестировщика не менее важна, чем роль программиста, и если баг пройдет в релизную версию продукта, то вина одинаково будет лежать как на человеке, который совершил эту ошибку, так и на том, кто ее не заметил при проверке. К счастью, 99% багов фильтруются в процессе такой проверки. Но что же происходит, если какому-то из них все же удается ускользнуть?

Баги в релизах

99% — это очень много, но все же 1% также является существенным, особенно если речь идет об ошибках. И если они попадают в релизный продукт, который продается и попадает в руки к клиенту, то здесь уже компании-производителю приходится брать на себя ответственность. Чаще всего проблема решается очень оперативно — как только игроки выражают свое недовольство, специалисты тут же занимаются делом. И через некоторое время выходит патч (от английского patch — «заплатка»), после установки которого проблема решается автоматически.

Отчеты о багах

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

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

Источник статьи: http://fb.ru/article/168824/chto-takoe-bag-i-kak-s-nim-borotsya

Путь обеспечения качества

тестирование как путь к совершенству

пятница, 27 апреля 2018 г.

Как искать и находить баги

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

Советы эти очень простые и проверены многолетней практикой многими QA инженерами, с которыми я обсуждал как они ищут и находят баги:



Фокусируйтесь на поиске багов
Все время держите в голове мысль «так, где-то здесь баги и я должен их найти сейчас«. Баги там точно есть, и вы их обнаружите.

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

Устраивайте короткие сессии поиска багов
Выделяйте по 30-120 минут один раз в день или один раз в неделю — когда вы берете кофе/какао/чаек, одеваете наушники и ищете баги, ни на что не отвлекаясь (никакой почты, разговоров с коллегами, чатиков, социальных сетей — все выключаем и закрываем вкладки — и открываем приложение, которое тестируем).

Делайте такие сессии регулярно, это тоже важно. И при этом не забываем про первые два правила.

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

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

Лет десять назад, если вы начинали работать QA инженером, вы могли себе позволить первые пару месяцев не знать о теории тестирования. Сегодня это то, что вас спросят на любом собеседовании, еще до того как вы начнете что-то тестировать )).

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

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

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

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

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

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

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

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

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

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

Рассказы пользователей о том, как они используют систему — тоже отличный повод пересмотреть свой тест план / чек листы и убедиться, что вы проверяете основные сценарии реальных пользователей. Ведь тут самое важное! А баги могут найтись везде 🙂

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

Источник статьи: http://xwizard-test.blogspot.com/2018/04/blog-post_27.html


Adblock
detector