Explorar el Código

Merge branch 'master' of u22kolesnyak/ISRPO_Kolesnyak into master

ypv hace 3 meses
padre
commit
8b0d432145

+ 31 - 0
Лекции/Баг-репорт/Баг-репорт вопросы.md

@@ -0,0 +1,31 @@
+# **Баг-репорт**
+
+Какое из следующих утверждений верно описывает серьёзность бага?
+1. **Серьёзность указывает на степень влияния на систему (например, критический, серьёзный, незначительный).**
+2. Серьёзность указывает на важность команды разработки.
+3. Серьёзность определяет время, необходимое для исправления бага.
+4. Серьёзность зависит от количества пользователей, которые столкнулись с ошибкой.
+
+Что должно содержать хорошо составленный баг-репорт?
+1. Краткое название и ожидаемый результат.
+2. **Документирование найденного бага, включая название, описание, шаги воспроизведения и окружение.**
+3. Только описание проблемы и фактический результат.
+4. Лишь ссылки на требования и изображения.
+
+Какое из следующих утверждений о написании шагов воспроизведения является верным?
+1. **Шаги должны быть четкими и структурированными, чтобы обеспечить воспроизведение проблемы любому человеку.**
+2. Шаги можно упоминать только в общем виде.
+3. Шаги не важны, если баг очевиден.
+4. Шаги следует описывать только в случае сложных ошибок.
+
+Какой аспект баг-репорта часто упускается авторами, хотя является важным?
+1. Наличие короткого названия.
+2. **Указание предусловий для воспроизведения проблемы.**
+3. Ссылки на документацию.
+4. Описание окружения.
+
+Что рекомендуется сделать перед написанием нового баг-репорта?
+1. Написать его как можно быстрее.
+2. **Проверить ранее заведенные баг-репорты, чтобы избежать дублирования информации.**
+3. Составить только краткое описание проблемы.
+4. Обсудить баг с командой перед его фиксированием.

+ 103 - 0
Лекции/Баг-репорт/Баг-репорт.md

@@ -0,0 +1,103 @@
+# **Баг-репорт**
+
+Работа тестировщика состоит из множества различных задач, но самые важные — это обнаружение и описание багов. Однако сам процесс выявления ошибки — лишь половина дела. Настоящая ценность для команды разработки заключается в грамотном документировании найденного бага, а именно — в создании баг-репорта.
+
+Написание баг-репорта может показаться простой задачей, однако чтобы он действительно был полезным и помогал разработчикам быстро разобраться в проблеме, важно учесть множество нюансов. Хорошо составленный баг-репорт не только описывает саму ошибку, но и содержит всю необходимую информацию для её воспроизведения, анализа и последующего исправления. Этот навык требует определённых знаний, внимания к деталям и опыта.
+
+Рассмотрим основные составляющие качественного баг-репорта.
+
+* Название бага - это первое, что видит команда, поэтому название должно быть кратким и ёмким. Пример: "Кнопка «Отправить» не работает на странице регистрации".
+
+* Краткое описание - в нескольких предложениях нужно объяснить суть проблемы. Например: «При нажатии на кнопку «Отправить» на странице регистрации форма не отправляется, хотя все обязательные поля заполнены». Это помогает получить общее представление о баге, не тратя время на чтение подробных шагов воспроизведения.
+
+* Ссылка на требования (если есть) - эта информация помогает понять, какой ожидаемый функционал был нарушен. Важно ссылаться на документацию, чтобы разработчики знали, от чего отталкиваться при исправлении бага.
+
+* Предусловия - перед тем, как приступить к воспроизведению бага, важно указать, что должно быть подготовлено. Например: «Пользователь должен быть не авторизован на сайте». Это позволит избежать дополнительных вопросов и ошибок при проверке.
+
+* Шаги воспроизведения - один из важнейших пунктов — пошаговая инструкция для воспроизведения проблемы. Четкие и структурированные шаги должны обеспечить воспроизведение проблемы любому человеку, даже тому, кто недавно присоединился к проекту. Пример:
+
+    * Откройте страницу регистрации (в идеале здесь еще нужно приложить прямую ссылку).
+
+    * Заполните все обязательные поля.
+
+    * Нажмите кнопку «Отправить».
+
+* Ожидаемый результат - здесь указываем, что должно было произойти. Пример: «Форма регистрации должна быть успешно отправлена, и пользователь должен получить сообщение о подтверждении».
+
+* Фактический результат - описание того, что произошло на самом деле. Пример: «Ничего не происходит, форма остаётся на той же странице, без сообщения об ошибке».
+
+* Вложения - если проблема имеет визуальные проявления или сложна для описания, стоит приложить скриншоты, видео или логи. Это ускоряет понимание бага.
+
+* Окружение воспроизведения бага - Очень важно указывать окружение, в котором был выявлен баг: версия ОС, браузер, устройство и т.д. Пример: «Windows 10, Microsoft Edge версия 130.0.2849.80». Иногда баги проявляются только на определённых конфигурациях.
+
+* Автор бага - да, многие заводят баги в системах управления задачами вроде Jira, где автоматически указывается автор, однако лучше указать это дополнительно.
+
+* Исполнитель - здесь необходимо указать разработчика, аналитика или другого специалиста, который будет ответственным за исправление данного недочета.
+
+## **Серьёзность и приоритет**
+
+Это два параметра, которые помогают установить важность бага.
+*Серьёзность указывает на степень влияния на систему (например, критический, серьёзный, незначительный).
+*Приоритет помогает определить, насколько быстро нужно исправить баг (например, высокий, средний, низкий).
+
+Бывает так, что на оформление полноценного баг-репорта не хватает времени. Если тестировщик понимает, что ответственный за устранение ошибки уже знает, где и что необходимо править, и уверен в том, что исправлением займутся в ближайшее время, можно составить сокращенный баг-репорт. Он может быть не таким подробным, но при этом включать в себя достаточно информации для понимания и воспроизведения ошибки:
+* Краткое название.
+
+* Предусловие, в котором предельно кратко описана суть выявленной ошибки.
+
+* Ожидаемый и фактический результаты.
+
+* Скриншоты, видео, архивы запросов из devtools или логи ошибки. Может показаться, что вышеуказанной информации вполне достаточно для оформления баг-репорта, который поможет всей команде, однако не всё так просто.
+
+Рассмотрим подробнее сложности, с которыми встречаются тестировщики повсеместно.
+
+* Пропуск шагов воспроизведения
+Имеется ввиду не тот случай, когда специалист просто забыл написать какой-либо шаг (иногда такое тоже периодически случается). Здесь речь о том, что авторы баг-репортов порой намеренно не пишут о каком-либо действии для воспроизведения бага. Это происходит из-за того, что тестировщик, будучи хорошо погруженным в проект, не думает о том, что получатель репорта может быть новичком или по каким-то другим причинам не знать подробностей и нюансов возникновения подобных ошибок. Конечно, описывать излишне подробно тоже не стоит (например: сначала как отдельный шаг написать «Наведите курсор мыши на кнопку «Добавить», а уже следующим шагом «Нажмите на кнопку «Добавить»), главное – сообщить достаточное количество информации.
+
+* Неконкретное написание шагов воспроизведения
+Иногда бывает так, что автор баг-репорта описывает шаг, но не включает в него разного рода важные нюансы. Так, например, во фразе «Введите необходимое значение» из контекста сразу непонятно – а какое значение в данном случае является необходимым. Тут может быть два варианта решения проблемы. В первом случае нужно вместо слова «необходимое» использовать слово «валидное». Во втором – писать числовое значение, которое пользователь должен ввести (к примеру, «введите 10000»). Можно сказать, что некорректное написание шагов является следствием сложности, о которой говорилось в п.1 – когда автор не думает о том, что получатель отчета может не знать всей информации о проекте.
+
+* Сложные формулировки
+Иногда авторы при написании баг-репорта используют очень длинные предложения, которые часто бывают логически не связаны между собой. Оборванные фразы, неуточненные предложения, отсутствие конкретики и сложносоставные конструкции в тексте репорта сильно усложняют его прочтение и, как следствие, увеличивают сроки для воспроизведения бага и устранения ошибки.
+
+* Непонятный заголовок.
+Предположим, что мы участвуем в разработке корпоративного портала, где можно создавать различные заявки (отпуск, командировки, работа в выходные дни и т.д.), и у нас проблема в том, что не получается завести какую-то из них. В этом случае, если в заголовке просто написать «Не создается заявка», будет непонятно, какая именно заявка не создается и что конкретно нужно поправить\проверить.
+* Идеальное название баг-репорта должно отвечать на 3 главных вопроса: Что случилось? Где? И когда? (Например: «В личном кабинете сотрудника после нажатия на номер заявки не открывается карточка данной заявки»). Важно избегать абстрактных фраз, чтобы название сходу давало представление о проблеме.
+
+## **Советы для составления качественного баг-репорта**
+
+Эти рекомендации могут помочь при написании баг-репортов как начинающим тестировщикам, так и опытным специалистам, которым нужно написать данный текстовый артефакт.
+
+1. Проверьте ранее заведенные баг-репорты
+Перед тем, как начать заводить новый дефект, нужно убедиться, что его ранее никто не описывал. Это позволит не дублировать информацию и не создать путаницу в отчетах. Если обнаружилось, что этой ошибке уже посвящен какой-то из предыдущих отчетов, оставьте в найденном баг-репорте комментарий об актуальности данной ошибки или впишите в него другую информацию, которая может быть полезна для команды.
+
+2. Напишите отчет сразу после обнаружения ошибки
+С момента обнаружения бага до написания соответствующего отчета должно пройти как можно меньше времени: по «свежим следам» можно наиболее информативно описать ошибку и не допустить при этом неточности. При задержке вы рискуете упустить контекст, забыть ключевые детали или воспроизвести баг в другом окружении, что может исказить его поведение. Если приступить к написанию баг-репорта сразу нет возможности, то в таком случае зафиксируйте себе где-то общие тезисы или важные нюансы, чтобы при написании дефекта не забыть о них.
+
+3. Подробно задокументируйте ошибку
+Успешное исправление ошибки напрямую зависит от того, как её задокументировать. Поэтому уделите этому внимание, и всё распишите как можно детальнее. Ведь чем подробнее и точнее описана ошибка, тем меньше времени разработчик тратит на её воспроизведение, а значит – увеличивает вероятность исправления в срок.
+
+4. Напишите отчет как можно грамотнее и понятнее
+Как уже было обговорено ранее, нужно писать баг-репорт так, чтобы читающему было всё понятно при прочтении и не приходилось дополнительно обращаться к кому-либо за пояснениями. Причем это относится не только к условному разработчику или аналитику, которые будут работать над исправлением данного дефекта: баг-репорт должен быть понятен любому участнику команды. Всегда есть вероятность того, что, например, исправление данного бага будет отложено в связи с низким приоритетом или же из-за того, что в данный момент исправить эту ошибку не представляется возможным. Потом проверкой исправления данного бага может заниматься другой тестировщик, который в случае скудного и неграмотного описания не будет понимать, что вообще нужно смотреть и как должен выглядеть ожидаемый результат и т.д. Поэтому при составлении баг-репорта попробуйте абстрагироваться от объема своих знаний по проекту и постарайтесь включить в отчет как можно больше достоверной структурированной информации.
+
+5. Укажите предусловия
+Указание предусловий иногда упускается авторами дефектов, хотя это очень важный аспект, который может помочь не только воспроизвести найденный баг, но и найти саму проблему. Например, в личном кабинете пользователя не работает определенный функционал. Написать с каким именно пользователем возникает данная проблема не займет много времени, а в результате именно этот аспект может стать главным: вдруг на него или на его роль лежат какие-либо ограничения, о которых автор баг-репорта забыл или просто не знал.
+
+6. Правильно назначьте задачу
+Правильный выбор исполнителя задачи может сильно повлиять на решение выявленной проблемы. Ведь можно не просто выбрать не того исполнителя из нужного отдела (может оказаться, что выбранный сотрудник вообще не ответственен за данный функционал), а неправильно для себя определить источник проблемы и назначить баг-репорт не на то подразделение (например, не на front-end, а на back-end). Хорошо, если конечный адресат обратит на это внимание и перенаправит на нужное подразделение, но так бывает не всегда. Вероятнее всего в таком случае, что задача окажется проигнорированной и останется висеть в системе (особенно, если у нее низкий приоритет). Поэтому, если у вас есть какие-то сомнения в конечном адресате, то обязательности уточните этот момент у тимлида или у других коллег.
+
+7. Правильно выберите приоритет
+Этот пункт особенно важен, если отсутствует возможность связаться напрямую с тестировщиком или разработчиком\аналитиком, который будет заниматься устранением выявленной проблемы. Из-за неправильно установленного приоритета исправление очень важной ошибки может быть оставлено в последнюю очередь и, наоборот: дефект, который мало, на что влияет, и который можно было бы оставить напоследок, будет исправлен раньше наиболее важных. Если считаете необходимым, то можете также в описании или в комментарии к баг-репорту объяснить, почему вы в данном случае проставили именно такое приоритет.
+
+8. Добавьте фото и видео
+Если есть подтверждающие баг доказательства, то стоит приложить их к баг-репорту. Во-первых, это поможет исполнителю задачи убедиться в существовании проблемы, если по каким-то причинам у него баг не будет воспроизводиться. А во-вторых, даст возможность разработчику\аналитику обратить внимание еще и на другие дефекты, на которые мог не обратить внимания сам автор тестового артефакта.
+Старайтесь сделать так, чтобы на фото\видео было понятно, на каком окружении воспроизводится ошибка (например, ссылка в браузере). Также очень важно, чтобы качество файлов было приемлемого уровня: на фото должно быть всё было четко видно, а видео, как минимум, не должно не содержать никаких посторонних звуков.
+
+9. Используйте дополнительные инструменты
+Если вы нашли баг – не останавливайтесь на этом, по возможности старайтесь пользоваться инструментами разработчика (DevTools), API (например, Postman) и др. для получения дополнительной информации. Например, у вас есть таблица, в которой после введения новых данных нужно нажать кнопку «Обновить», однако она не работает. Благодаря DevTools можно попытаться разобраться в чем же дело: это dev не реагирует на нажатие или же back не обрабатывает полученную информацию как надо. А если вы создаете какую-либо заявку, нажимаете кнопку «Отправить», а у вас появляется ошибка, попробуйте по возможности сделать такой же запрос по созданию заявки, но только через Postman. Это даст много дополнительной информации и для вас, и для ответственного за исправление выявленной ошибки.
+
+10. Закрывайте задачи вовремя
+После того, как вы провели ретест ранее выявленной ошибки и убедились в том, что дефект устранен, сразу её закройте. Так она не будет висеть в системе и никого смущать: ни автора баг-репорта, ни остальных членов команды, которые учитывают при составлении плана работ все задачи с открытым статусом. В идеале также перед закрытием баг-репорта оставить в данной задаче соответствующий комментарий о том, что дефект устранен или другую полезную для команды информацию.
+
+11. Обращайтесь за советами к коллегам
+Как бы это банально ни звучало, но не стесняйтесь просить помощи у своих коллег для написания баг-репортов – в любой адекватной команде на первом месте стоит улучшение качества продукта, а не критика коллег. К тому что, понимание того, что и как работает, помогает не только вам, но и всему проекту целом.

BIN
Лекции/Разработка_дизайн-концепции_IT-системы/Img1.png


+ 24 - 0
Лекции/Разработка_дизайн-концепции_IT-системы/Вопросы.md

@@ -0,0 +1,24 @@
+# **Разработка дизайн-концепции IT-системы: этапы аналитики и дизайна**
+
+Дизайн-концепция – это ...
+* **то, как будет выглядеть интерфейс будущей IT-системы.**
+* набор готовых компонентов для пользовательского интерфейса. 
+* фрагмент кода внутри строки с каким-то текстом.
+* файл, обычно в формате txt или md
+
+Первым этапом разработки дизайн-концепции является ...
+* **Персона**
+* «Боли» персоны
+* Анализ конкурентов
+
+CJM – это ...
+* **карта пути пользователя.** 
+* Настольный токарно-винторезный станок.
+* Анимированный прототип для UI/UX-исследований.
+* Описание порядка прохождения экранов пользователем для достижения своей цели.
+
+user flow - это ...
+* **маршрут пользователя через экраны для достижения своей цели.**
+* карта пути пользователя. 
+* составление списка отзывов о конкуренте в мобильном приложении.
+* набор готовых компонентов для пользовательского интерфейса. 

+ 45 - 0
Лекции/Разработка_дизайн-концепции_IT-системы/Разработка_дизайн-концепции_IT-системы.md

@@ -0,0 +1,45 @@
+# **Разработка дизайн-концепции IT-системы: этапы аналитики и дизайна**
+
+Дизайн-концепция – это то, как будет выглядеть интерфейс будущей IT-системы. Она отражает не только дизайн, но и конструктивные особенности (основную функциональность для достижения бизнес-целей). При этом дизайн-концепция не требует тщательной проработки макетов для всех экранов. Достаточно отобразить основную парадигму проектирования интерфейсов, которая будет однозначно понятна заказчику и команде разработки. Как это сделать – будет подробно описано в данной статье.
+
+Кто может выполнять проектирование дизайн-концепции? Любой IT-специалист, который владеет аналитическими и дизайн-инструментами, имеет опыт в проектировании IT-интерфейсов и обладает навыками для проведения UI/UX-исследований.
+
+Когда заказчику нужна дизайн-концепция
+Дизайн-концепция должна прорабатываться до начала разработки новой IT-системы или оптимизируемой IT-системы. Потому что еще до старта проекта необходимо понимание: для кого будет разрабатываться система, какие бизнес-цели она будет преследовать, какие средства для этого будут предусмотрены в решении. Кроме того, при помощи дизайн-концепции (интерактивных прототипов) можно провести UI/UX-исследования (изучение потребностей и опыта пользователей при работе с будущей системой). Уже на этом этапе могут потребоваться существенные изменения имеющихся бизнес-процессов. Если внести такие изменения еще до этапа разработки, то можно значительно сэкономить бюджет, в отличие от случая, когда нужно переделывать процессы во время реализации системы.
+
+## **Аналитические этапы разработки дизайн-концепции**
+
+### **Этап 1. Персона**
+Для того чтобы начать выполнение выше обозначенной задачи, необходимо определить персону. Персона – это группа пользователей со схожими характеристиками (интересы, возраст, доход и так далее), которая в дальнейшем будет пользоваться системой. 
+
+### **Этап 2. «Боли» персоны**
+Отдельное внимание необходимо уделить проблемам, с которыми сталкивается персона при достижении своих целей во время использования приложения. Для выявлений так называемых «болей» отлично подойдет метод «Интервью», но можно использовать и любой другой. Интервью позволяет отклониться от первоначального плана и исследовать ту или иную проблему более детально. 
+
+### **Этап 3. Анализ конкурентов**
+Следующий этап в разработке дизайн-концепции – это анализ конкурентов. Необходимо проанализировать как минимум 5 мобильных приложений. Если заказчик не смог предоставить список конкурентов для исследований, тогда при выборе приложений имеет смысл ориентироваться на топ-список отраслевых рейтингов, на мобильные приложения в Google Play и App Store, которые имеют наибольшее количество подписчиков и самые высокие рейтинги. Здесь в первую очередь нас интересуют best practice (лучшие практики в рыночной нише). 
+
+При проработке анализа конкурентов можно ориентироваться на следующий план действий:
+
+* Составление списка отзывов о конкуренте в мобильном приложении 
+
+* Описание порядка прохождения экранов пользователем для достижения своей цели 
+
+* Скрины экранов с подробным описанием того, что понравилось в работе с данным экраном приложения, а что не понравилось. При описании плюсов и минусов не стоит придерживаться обобщенных формулировок, например, «Понравился дизайн». Необходимо описывать конкретные элементы интерфейса и их влияние на пользователя. Например: «Понравилось, что вверху страницы зафиксирован адрес доставки, это позволяет пользователю убедиться в том, что его заказ не будет отправлен по неверному адресу».
+
+### **Этап 4. Customer journey map (CJM)**
+CJM – это карта пути пользователя. В ходе данного этапа прописывается каждый шаг взаимодействия пользователя с приложением. В разрезе каждого шага рассматриваются: цели и ожидания, последовательные действия пользователя, точки касания, эмоции, барьеры, решения.
+
+### **Этап 5. Решения**
+Здесь важно проанализировать все барьеры и боли, с которыми сталкивается пользователь и предложить возможные решения. Именно они лягут в основу при проектировании будущих прототипов.
+
+### **Этап 6. User flow**
+На этапе анализа конкурентов был составлен список необходимой функциональности для исследуемого приложения. Теперь предстоит распределить функции по экранам и показать прямые и обратные переходы в рамках основного пользовательского сценария. Пришло время составлять user flow – маршрут пользователя через экраны для достижения своей цели.
+
+### **Этап 7. Mood board и references**
+Каркас приложения сформирован, экраны и переходы между ними спроектированы. Пришло время наполнить проект смыслами, формами, цветами и шрифтами. Переходим к дизайнерским этапам разработки концепции. Первое, что нужно сделать, это составить «доску настроения» и подобрать вдохновляющие референсы. При взгляде на получившийся коллаж любой пользователь должен легко понять посыл данного набора изображений.
+
+### **Этап 8. UI Kit**
+После того как с заказчиком была согласована «доска настроения», пришло время создать User Interface Kit. UI Kit – набор готовых компонентов для пользовательского интерфейса. Он содержит самую разную информацию: стили текстов, стили цветов, стили эффектов и др.
+
+![Image](Img1.png "Рисунок 1 – Часть UI Kit-а ")
+### **Этап 9. Анимированный прототип для UI/UX-исследований**