Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

  • 700+ страниц (без учета картинок!) - один из самых полных источников по тестированию

  • Интерактивный - более 40 наборов встроенных тестов (если не прошел тест, то к следующей теме не перейти) и 40 ДЗ

  • Теперь и на русском

  • Полностью бесплатный

100-Year QA-Textbook включает 42 модуля (130 занятий), 42 набора онлайн-тестов, 700+ страниц базовых знаний (да, 700 страниц — это только начало), посвященных тест-дизайну, работе с требованиями, тестовой документации, тестированию на всех уровнях и локализации дефектов в трехзвенной архитектуре, базам данных, Linux, сетям, методологиям разработки и другим полезным для новичков темам.
Опытные специалисты могут просто "прогнать тесты" учебника и при обнаружении провалов/забытого быстро освежить знания.

Постоянная мутация 

Работы над учебником начались в первой половине 2022 года, первый англоязычный релиз состоялся в январе 2023 года.
Первый русскоязычный релиз с первыми 8-ю модулями вышел в апреле.
Второй русскоязычный релиз с 14-ю модулями появился в июне.

Полный сентябрьский релиз, про который мы сейчас и говорим, содержит все 700+ страниц интерактивных знаний о тестировании на русском языке. В него вошло 20 новых модулей.

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

Ведь изначально 100-Year QA-Textbook появился, потому что все существующие форматы обучения тестированию показались нам очень неэффективными.

Есть классические учебники - это замечательно. Но профессия QA-практическая и учить его только по учебнику - это как готовить пилота Боинга, не подпуская его к авиатренажеру. Взлететь, может быть, и сможет, но потом..

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

Есть массовое “современное” онлайн-образование, но оно на самом деле представляет из себя тот же формат, что и пару столетий назад - просто говорящая голова лектора из аудитории перешла в Zoom, и конспекты больше не нужно писать ручкой.

Нам хотелось это исправить, и поэтому изначально мы использовали совершенно другой подход с трехуровневой моделью обучения “базовое + самотестирование, продвинутое, сложное ДЗ”, про которую подробно писали здесь

Позже эта модель между англоязычными версиями учебника 0.0.5 и 0.0.9 сильно эволюционировала, про это мы писали здесь. Если коротко, то изначально мы хотели снабдить учебник только базовой теорией, а продвинутые знания давать в других форматах. Потом поняли, что хотим убрать говорящую голову совсем и поэтому в учебнике стало еще больше теории. На курсах, где используется этот учебник, теперь все занятия с преподавателем - только практические воркшопы для отработки навыков, а не для “записи конспектов”.

Мы активно собираем обратную связь, поэтому на ее основе постоянно рефакторятся старые модули, что и произошло в полном релизе 1.0.0.

Отличия от аналогов (среди которых есть очень достойные)

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

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

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

Трёхуровневый метод обучения. Все материалы были разделены на три уровня:

  1. Теоретический материал.

  2. Один или два набора тестов для самопроверки в конце каждой темы. Студент, прошедший тест, может быть уверен в понимании теоретических концепций.

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

Как результат, информация подается помодульно, и знания растут постепенно.

Наконец, он создан нами - группой международных менторов с суммарным опытом в ИТ более 100 лет. Поэтому мы и назвали его «100-Year QA-textbook» (а не потому, что для прохождения курса нужен целый век). Каждый из авторов является профессионалом в одной из областей информационных технологий, но не во всех сразу. И знает, как преподнести материал наилучшим образом.

Содержание 40 модулей (130 занятий)

Осторожно, длинный список!

Hidden text

#

название занятия

содержание

#01.1

Обзор учебника

#02.1

Реляционные базы данных: Теория

- Как хранить данные
- Базы данных приложений
- Отношения и типы данных
- ER-диаграмма

#02.2

Реляционные базы данных: Тест

Интерактивный тест

#02.3

Реляционные базы данных: Практика и ДЗ

Задачи на ER-диаграммы

#03.1

SQL запросы: Теория

- Как извлекать информацию из хранилищ данных
- Зачем и для каких задач нужен язык SQL?
- SELECT и часто используемые операторы SQL
- IS NULL/IS NOT NULL
- INSERT, UPDATE, DELETE

#03.2

SQL запросы: Тест

Интерактивный тест

#03.3

SQL запросы: Практика и ДЗ

Задача на запросы в эмуляторе

#04.1

Функции SQL и операторы SQL JOIN: Теория

- Функции SQL
- Самые популярные виды JOIN
- Операторы HAVING и GROUP BY

#04.2

Функции SQL и операторы SQL JOIN: Тест

Интерактивный тест

#04.3

Функции SQL и операторы SQL JOIN: Практика и ДЗ

Задача на JOIN-запросы, функции, HAVING и GROUP BY в эмуляторе

#05.1

Вложенные запросы SQL: Теория

- Использование вложенных запросов- Использование HAVING и GROUP BY во вложенных запросах
- Операторы ALL, ANY

#05.2

Вложенные запросы SQL: Тест

Интерактивный тест

#05.3

Вложенные запросы SQL: Практика и ДЗ

Задача на подзапросы в эмуляторе

#06.1

Команды ОС Linux и файловая система: Теория

- Место Linux в жизни тестировщика
- Что представляют собой команды Linux и какова их структура
- Как устроена файловая система и объекты Linux

#06.2.1

Команды ОС Linux и файловая система: Базовый тест

Интерактивный тест

#06.2.2

Команды ОС Linux и файловая система: Продвинутый тест

Интерактивный тест

#06.3

Команды ОС Linux и файловая система: Практика и ДЗ

Задачи в эмуляторе на работу с файловой системой

#07.1

Обработка текста в Linux: Теория

- Введение: Типы файлов Linux
- Обработка текста в Linux
- Перенаправления вывода
- Пайпы и stdin

#07.2.1

Обработка текста в Linux: Базовый тест

Интерактивный тест

#07.2.2

Обработка текста в Linux: Продвинутый тест

Интерактивный тест

#07.3

Обработка текста в Linux: Практика и ДЗ

Задача в эмуляторе на обработку текста

#08.1

Linux - пользователи, группы и права доступа к файлам в Linux: Теория

- Понятия пользователей и групп Linux
- Права доступа к файлам
- Повышение привилегий с помощью "su" и "sudo"
- Особые случаи: символические ссылки (symbolic links), липкий бит (sticky bit), SUID, SGID

#08.2.1

Linux - пользователи, группы и права доступа к файлам: Базовый тест

Интерактивный тест

#08.3

Linux - пользователи, группы и права доступа к файлам: Практика и ДЗ

Интерактивный тест

#09.1

Linux — исполняемые файлы, процессы и службы: Теория

- Исполняемые файлы в Linux
- Процессы и сигналы
- Службы Linux

#09.2.1

Linux - исполняемые файлы, процессы и службы: Базовый тест

Интерактивный тест

#09.2.2

Linux - исполняемые файлы, процессы и службы: Продвинутый тест

Интерактивный тест

#09.3

Linux - исполняемые файлы, процессы и службы: Практика и ДЗ

Задача в эмуляторе на работу с процессами

#10.1

Linux - окружение, архивы, файловые системы: Теория

- Сбор информации о системе
- Архивы и сжатие
- Файловые системы
- Передача файлов между компьютерами с помощью SCP

#10.2.1

Linux - окружение, архивы, файловые системы: Базовый тест

Интерактивный тест

#10.2.2

Linux - окружение, архивы, файловые системы: Продвинутый тест

Интерактивный тест

#10.3

Linux - окружение, архивы, файловые системы: Практика и ДЗ

Задача в эмуляторе на окружение и архивы

#11.1

Как устроены сети: Теория

- Место сетей в процессе обеспечения качества и связанные с ними задачи
- Основные понятия сетей
- Обзор процессов, участвующих в передаче данных

#11.2

Как устроены сети: Тест

Интерактивный тест

#11.3

Как устроены сети: Практика и ДЗ

Задачи на сети

#12.1

Сетевые уровни и протокол IP: Теория

- Введение в стек TCP/IP
- Протокол IP: адреса, маски подсети, протокол DHCP, маршрутизация
- Коротко о системе доменных имён DNS (Domain Name System)

#12.2

Сетевые уровни и протокол IP: Тест

Интерактивный тест

#12.3

Сетевые уровни и протокол IP: Практика и ДЗ

Задачи на подсети и маршруты

#13.1

Транспортный уровень и анализаторы трафика: Теория

- Транспортный уровень модели TCP/IP
- Анализаторы сетей
- Продвинутый материал

#13.2

Транспортный уровень и анализаторы трафика: Тест

Интерактивный тест

#13.3

Транспортный уровень и анализаторы трафика: Практика и ДЗ

Задачи в эмуляторе на порты и соединение

#14.1

Поиск сетевых неисправностей: Теория

- Проблемы, возможные на сетевом уровне
- Проблемы, возможные на транспортном уровне
- Проблемы, возможные на прикладном уровне
- Продвинутый материал

#14.2

Поиск сетевых неисправностей: Тест

Интерактивный тест

#14.3

Поиск сетевых неисправностей: Практика и ДЗ

Задачи на локализацию сетевых неисправностей

#15.1

HTTP, REST, API: Теория

- HTTP и HTTPS
- REST- API

#15.2

HTTP, REST, API: Тест

Интерактивный тест

#15.3

HTTP, REST, API: Практика и ДЗ

Задачи на работу с API через cURL

#16.1

HTTP, REST, API — инструменты и тестирование: Теория

- Инструменты для тестирования
- Тестирование REST API

#16.2

HTTP, REST, API — инструменты и тестирование: Тест

Интерактивный тест

#16.3

HTTP, REST, API — инструменты и тестирование: Практика и ДЗ

Задачи на тестирование API

#17.1

Веб-интерфейс пользователя: Теория

- Что такое веб-интерфейс?
- Из чего состоит веб-интерфейс: HTML, JS, CSS
- Тестирование веб-интерфейса

#17.2

Веб-интерфейс пользователя: Тест

Интерактивный тест

#17.3

Веб-интерфейс пользователя: Практика и ДЗ

Задача на сценарии исследования WebUI

#18.1

Веб-интерфейс пользователя — инструменты и тестирование: Теория

- Инструменты DevTools
- Инструменты для создания снимков экрана
- Прокси-серверы

#18.2

Веб-интерфейс пользователя — инструменты и тестирование: Тест

Интерактивный тест

#18.3

Веб-интерфейс пользователя — инструменты и тестирование: Практика и ДЗ

Задача на использование инструментов тестирования UI

#19.1

Архитектура серверного ПО: Теория

- Обособленные серверные приложения- Двузвенные приложения
- Трёхзвенные приложения

#19.2

Архитектура серверного ПО: Тест

Интерактивный тест

#19.3

Архитектура серверного ПО: Практика и ДЗ

Задача на анализ архитектуры приложений

#20.1

Принципы локализации дефектов: Теория

- Основы поиска неисправностей в серверных приложениях
- Алгоритм локализации дефектов
- Поиск неисправностей на практике

#20.2

Принципы локализации дефектов: Тест

Интерактивный тест

#20.3

Принципы локализации дефектов: Практика и ДЗ

Задачи по декомпозиции проблем

#21.1

Локализация дефектов в трёхзвенных приложениях: Теория

- Распространённые проблемы, свойственные трёхзвенным приложениям
- Локализация дефектов в трёхзвенном приложении
- Реальные примеры

#21.2

Локализация дефектов в трёхзвенных приложениях: Тест

Интерактивный тест

#21.3

Локализация дефектов в трёхзвенных приложениях: Практика и ДЗ

Задача на локализации в трехзвенных приложениях

#22.1

Исследовательское тестирование: Теория

- Что такое исследовательское тестирование?
- Типы и подходы к исследовательскому тестированию
- Сессии исследовательского тестирования

#22.2

Исследовательское тестирование: Тест

Интерактивный тест

#22.3

Исследовательское тестирование: Практика и ДЗ

Задача на сессию исследовательского тестирования

#23.1

UML: Теория

- Что это такое UML?
- Типы диаграмм UML
- Диаграммы UML, наиболее используемые специалистами по обеспечению качества

#23.2

UML: Тест

Интерактивный тест

#23.3

UML: Практика и ДЗ

Задача на анализ диаграмм UML

#24.1

Источники и типы требований: Теория

- Интервью с пользователями- Исследование реальных процессов
- Опрос целевой группы пользователей
- Анализ предложений конкурентов
- Анализ законов, норм и документации

#24.2

Источники и типы требований: Тест

Интерактивный тест

#24.3

Источники и типы требований: Практика и ДЗ

Задача на анализ требований

#25.1

Гибкая методология или каскадная модель: Теория

- Сравнение гибкой методологии и каскадной модели процесса разработки ПО
- Ключевые принципы и идеи гибкой разработки

#25.2

Гибкая методология или каскадная модель: Тест

Интерактивный тест

#25.3

Гибкая методология или каскадная модель: Практика и ДЗ

Задача на анализ пользовательской истории

#26.1

Scrum: Теория

- Применение принципов гибкой разработки и их воплощение в методах (Канбан, Lean)
- Методология SCRUM
- Программное обеспечение для управления проектами

#26.2

Scrum: Тест

Интерактивный тест

#26.3

Scrum: Практика и ДЗ

Задачи на работу по SCRUM

#27.1

Тестовая документация: Теория

- Что такое тестовая документация
- Виды тестовой документации
- Как создать ХОРОШИЙ тест-кейс
- Программное обеспечение для управления тестированием

#27.2

Тестовая документация: Тест

Интерактивный тест

#27.3

Тестовая документация: Практика и ДЗ

Задача на написание тест-кейсов

#28.1

Дефекты: Теория

- Что такое дефект и почему нужны отчёты о дефектах?
- Жизненный цикл дефекта
- Как составить ХОРОШИЙ отчёт о дефекте
- Система управления дефектами

#28.2

Дефекты: Тест

Интерактивный тест

#28.3

Дефекты: Практика и ДЗ

Задача на выявление и написание дефектов

#29.1

Статическое тестирование: Теория

- Что такое статическое тестирование и для чего оно нужно?
- Подходы к статическому тестированию

#29.2

Статическое тестирование: Тест

Интерактивный тест

#29.3

Статическое тестирование: Практика и ДЗ

Задача на кросс-ревью тест-кейсов и дефектов

#30.1

Статическое тестирование требований: Теория

- Статическое тестирование требований: как выполнять оценку
- Методология статического тестирования требований на примере бизнес-требований

#30.2

Статическое тестирование требований: Тест

Интерактивный тест

#30.3

Статическое тестирование требований: Практика и ДЗ

Задача на оценку требований

#31.1

Классификация тестирования: Уровни тестирования: Теория

- Пирамида уровней тестирования
- Юнит-тестирование
- Интеграционное тестирование
- Системное тестирование
- Приемочное тестирование

#31.2

Классификация тестирования: Уровни тестирования: Тест

Интерактивный тест

#31.3

Классификация тестирования: Уровни тестирования: Практика и ДЗ

Задачи на тестирование объекта на всех уровнях пирамиды

#32.1

Обзор нефункционального тестирования: Теория

- Разница между функциональным и нефункциональным тестированием
- Полный список типов нефункционального тестирования
- Некоторые наиболее популярные типы нефункционального тестирования

#32.2

Обзор нефункционального тестирования: Тест

Интерактивный тест

#32.3

Обзор нефункционального тестирования: Практика и ДЗ

Задача на нефункциональное тестирование

#33.1

Техники тест дизайна: Черный, серый, белый ящик: Теория

- Подходы к тестированию
- Ящики и пирамида
- Подходы к регрессионному тестированию

#33.2

Техники тест дизайна: Черный, серый, белый ящик: Тест

Интерактивный тест

#33.3

Техники тест дизайна: Черный, серый и белый ящик: Практика и ДЗ

Задача на тестирование черного ящика

#34.1

Методы проектирования тестов — классы эквивалентности и анализ граничных значений: Теория

- Почему нам нужны методы проектирования тестов, а также немного математики
- Классы эквивалентности
- Использование разбиения на классы эквивалентности для покрытия требований при тестировании
- Анализ граничных значений
- Анализ граничных значений и их применение для покрытия требований при тестировании
- Комбинирование классов эквивалентности и граничных значений для тестов. Позитивные и негативные тесты

#34.2

Методы проектирования тестов — классы эквивалентности и анализ граничных значений: Тест

Интерактивный тест

#34.3

Методы проектирования тестов: классы эквивалентности, анализ граничных значений: Практика и ДЗ

Задача на использование эквивалентного разбиения и граничных значений

#35.1

Методы проектирования тестов — попарное тестирование: Теория

- Идея попарного тестирования
- Использование попарного тестирования для покрытия требований
- Инструменты попарного тестирования
- Как сочетать попарное тестирование с разделением на классы эквивалентности

#35.2

Методы проектирования тестов — попарное тестирование: Тест

Интерактивный тест

#35.3

Методы проектирования тестов — попарное тестирование: Практика и ДЗ

Задача на использование метода попарного тестирования

#36.1

Методы проектирования тестов — таблицы решений: Теория

- Идея таблиц решений
- Как создавать таблицы решений
- Анализ требований и сочетание таблиц решений с другими методами проектирования тестов

#36.2

Методы проектирования тестов — таблицы решений: Тест

Интерактивный тест

#36.3

Методы проектирования тестов — таблицы решений: Практика и ДЗ

Задача на создание таблицы решений

#37.1

Методы проектирования тестов — диаграммы состояний и переходов: Теория

- Идея диаграмм состояний и переходов
- Как создавать диаграммы состояний и переходов
- Как сочетать диаграммы состояний и переходов с разделением на классы эквивалентности и анализом граничных значений

#37.2

Методы проектирования тестов — диаграммы состояний: Тест

Интерактивный тест

#37.3

Методы проектирования тестов — диаграммы состояний: Практика и ДЗ

Задача на создание диаграммы состояний

#38.1

Что такое автоматизация тестирования: Теория

- Автоматизация тестирования - что это такое?
- Что именно нужно делать?
- Начала автоматизации: Postman

#38.2

Что такое автоматизация тестирования: Тест

Интерактивный тест

#38.3

Что такое автоматизация тестирования: Практика и ДЗ

Задача на написание тестов в Postman

#39.1

Автоматизация тестирования: Gherkin: Теория

- Поддержка автоматизации функционального тестирования
- Gherkin синтаксис и инструменты
- Gherkin подводные камни

#39.2

Автоматизация тестирования: Gherkin: Тест

Интерактивный тест

#39.3

Автоматизация тестирования: Gherkin: Практика и ДЗ

Задача на анализ кода Gherkin

#40.1

Релизы: Теория

- Жизненный цикл выпуска программного обеспечения (SRLC) с использованием эпизодов из фильма " Кремниевая долина"
- Заморозка функциональности (Feature freeze) и заморозка кода (Code freeze)

#40.2

Релизы: Тест

Интерактивный тест

#40.3

Релизы: Практика и ДЗ

Задачи на нестандартные ситуации с релизами

#41.1

Docker: Теория

- О контейнеризации
- Как работает Docker- Расширенные операции

#41.2

Docker: Тест

Интерактивный тест

#41.3

Docker: Практика и ДЗ

Задачи на использование и создание образа

#42.1

Git: Теория

- Введение в системы контроля версий
- Начало работы с Git
- Основы работы с Git
- Отличительные особенности Git

#42.2

Git: Тест

Интерактивный тест

#42.3

Git: Практика и ДЗ

Задачи на работу с Git

Ты - QA-герой!

Это же содержание в не менее длинном pdf.

Сам учебник «100-Year QA-Textbook - русская версия» (полностью бесплатный, без рекламы, а для просмотра не требуется даже регистрация):

https://mentorpiece.ru/textbook/

Что дальше

«100-Year QA-Textbook»: полный релиз учебника - это не окончательный релиз, мы будем продолжать добавлять новые модули и рефакторить старые (и в англоязычной и в русскоязычной версиях).

«AT QA-Textbook»: в среднесрочных планах появление аналогичного бесплатного учебника по автоматизации.

«Orange QA-Textbook»: в отличие от предыдущих учебников, этот - про мало раскрываемую тему Soft skills начинающего тестировщика. Он позволяет учиться тестированию осознанно и получить первую QA-работу, используя только эффективные способы. Сейчас в нем более 20 глав, его публикация планируется в ближайшие 30 дней.

Уведомления о выходе учебников появятся в телеграм-канале Становимся тестировщиком.

Комментарии (131)


  1. VVitaly
    21.09.2023 10:19
    +2

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


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +8

      И в этом его главное преимущество:

      Стать тестировщиком не так сложно - сейчас есть множество QA-учебников и QA-курсов. Сложно стать конкурентоспособным тестировщиком. Исходя из этого, в учебник добавили не только всю необходимую базу, но и такие важнейшие темы, как углубленный тест-дизайн, Linux и глубокое понимание трехзвенной архитектуры. Ведь именно это отличает по-настоящему крутого QA-профессионала от простого «нажимателя кнопок».


      1. VVitaly
        21.09.2023 10:19
        -7

        :-) Преимущество будет... Но только тогда, когда QA специалист не просто пройдет один (два или пять) курсов и узнает что такое БД и Linux (по курсам/учебникам типа вашим), а будет разбираться чем работа запросов в Oracle отличается от "аналогичных" в PostgeSQL (или MS SQL), и почему работа одного и того же (к примеру Java) приложения (на одном и том же сервере) в Windows вызывает другую нагрузку на ресурсы сервера чем в Linux, и по какой причине использование 2 серверов с 16 ядрами CPU может быть менее (или более) эффективно чем использование одного сервера с такими же 32 ядрами CPU....
        Вот только попытки "впихнуть не впихуемое" в один курс (или учебник) "пробежав по верхам", а после этого заявлять "мы сделали крутую штуку и после ее вы станете крутым профессионалом!", не очень хорошо характеризует уровень знаний его составителей, скорее характеризует их амбиции... :-)


        1. lilia_urmazova Автор
          21.09.2023 10:19
          +8

          "Крутой профессионал" - это задание правильной планки и ориентиров, потому что у большинства новичков подход "тестирование - это просто". Полностью прошедший учебник + несколько месяцев интернатуры на реальном проекте будет на уровне "крепкий junior - pre-middle". То что Вы пишите - это "middle+" и пытаться такого специалиста с нуля подготавливать несколько бессмысленно.


          1. VVitaly
            21.09.2023 10:19
            -7

            А по вашему "middle+" уже такими рождаются? :-)
            Скорее "Полностью прошедший учебник + несколько месяцев интернатуры на реальном проекте будет" = "умею работать по шаблону и инструкции, а чему там нас учили уже не помню..."
            Примерно как учебники и курсы из серии - "Как заработать миллион за 3 месяца." :-)


            1. lilia_urmazova Автор
              21.09.2023 10:19
              +7

              Если интересует именно наш опыт проведения интернатур в российских и американских компаних (и их результатов), то могу рассказать.

              Если же Вы хотите что-то предложить в плане еще более качественного обучения, то я пока не могу уловить что именно. :)


              1. VVitaly
                21.09.2023 10:19
                -9

                "Опыт интернатур" - мало кого интересует (исключая тех кто за это получает себе доход)... Работодателей интересуют готовые специалисты требуемой квалификации... :-) Продавать "золотоискателям" "лопаты" рассказывая "сказки о возможностях скорого заработка"- всегда было выгодно.... :-)


                1. lilia_urmazova Автор
                  21.09.2023 10:19
                  +8

                  Тогда непонятен смысл этой ветки обсуждения.


              1. Ingulf
                21.09.2023 10:19

                а почему бы и да, расскажите, может даже отдельной статьей


        1. YDR
          21.09.2023 10:19
          +6

          такие тонкости не обязательно знать всем тестировщикам подряд. Даже разработчики не все это все знают.


          1. VVitaly
            21.09.2023 10:19
            -5

            Современные "разработчики" много чего не знают и не умеют... Именно это их заставляет использовать монстрообразные фреймворки которые "еле ползают" на современных многоядерных CPU... Это же проще чем изучать основы и принципы функционирования компьютеров и OS.... :-)
            Именно такие "разработчики" пихают в базу "сырые" XML объекты...


            1. iburanguloff
              21.09.2023 10:19
              +4

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


        1. Rusrst
          21.09.2023 10:19
          +2

          А при чем тут qa? Это даже не все программисты на мой взгляд знают - б/д это вообще свой отдельный мир.


      1. Ivanii
        21.09.2023 10:19

        В главе про базы данных в тесте про экзамены ошибка.


        1. lilia_urmazova Автор
          21.09.2023 10:19

          Крайне маловероятно, этот модуль был опубликован на английском еще в январе и с тех пор более 4000 студентов его прошли.
          Перепроверьте себя, пожалуйста. Если все равно будут сомнения - напишите свою версию в https://t.me/MentorPiece_consult


          1. miksoft
            21.09.2023 10:19
            +3

            Английский вариант похож на русский, но не идентичен.

            Что такое "Информация о конкретном объекте базы данных" и Информация об атрибуте объекта (например, номер телефонов)" ? И как их сопоставить с понятиями "Строка" и "Поле"?

            Я уж не говорю о многозначности понятия "строка" - это поле строкового типа, содержимое поля строкового типа или строковый литерал?


            1. miksoft
              21.09.2023 10:19
              +2

              "строка" - это поле строкового типа, содержимое поля строкового типа или строковый литерал?

              А, да, а еще некоторые называют строкой запись (record).


      1. xmel89
        21.09.2023 10:19

        В тестировании сейчас софт скилы правят. Я прошел тех собес в Райффайзен банк на синьора, со 100% результатом, но офер не получил, т.к не хватило проактивности на встрече с командой.


  1. artdeco
    21.09.2023 10:19
    -4

    Минусуйте сколько влезет, но боже мой, как вы надоели со своим тестированием. Создали целую мини-индустрию вокруг стандартного процесса разработки ПО, чтобы наживаться на людях, не имеющих образования, с баннерами вроде "освой карьеру в ИТ! Получай 200к в месяц!", раздаете титулы вроде "QA-профессионалов", как будто это вообще что-то значит. Сходи в институт, получи диплом, вот это будет что-то значит. Я может и далек от реального положения дел, но последний раз я проверял, это программист должен тестировать свой код. Это называется "твоя работа". Более тесные интеграции ему может помочь тестировать дев-оп. Какие учебники, какие 40 модулей, включая о Линуксе ????‍♀️ Ну если есть предложение наверное есть спрос. Полное вырождение индустрии. Когда раньше один профессионал мог в фотошопе нарисовать компонент, сверстать его, написать код и протестировать, теперь это -- дизайнер, верстальщик, дев, тестировщик.


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +20

      Сходи в институт, получи диплом, вот это будет что-то значит.

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

      Более тесные интеграции ему может помочь тестировать дев-оп.

      Я может и далек от реального положения дел.

      Это именно так.


      1. dididididi
        21.09.2023 10:19
        -4

        Универ для тестировщиков?))))

        А чо нет универа для доставщиков пиццы, дворников и разнорабочих. Пипец.


        1. spc
          21.09.2023 10:19
          +3

          Товарищ, подождите. Не все сразу.


    1. Sequoza
      21.09.2023 10:19
      +34

      Когда раньше один профессионал мог в фотошопе нарисовать компонент, сверстать его, написать код и протестировать, теперь это -- дизайнер, верстальщик, дев, тестировщик.

      Ооо, вы еще живете в те времена, когда страничка - html код и пару css'ок, а профессионал - человек, прочитавший "Java за 12 часов" во время перелета к заказчику? Эх, славные были деньки...


      1. dididididi
        21.09.2023 10:19
        +6

        Самое смешное, что функционал у html кола и пары css будет одинаковым))) но во втором случае будет нода, реакт, девопсер, бандл, мемоизация и куча других странных слов.

        У нас был курьез, один из бекеров-старперов, сделал на jquery фронт чтоб тестить бэк за день, а потом выяснилось, что всё разработчики юзают его фронт, а не модный с реактом и дизайнером.

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


        1. Sequoza
          21.09.2023 10:19
          +1

          История забавная да. Но куда впихнуть рекламу, аналитику и т.п.? Как-то давно видел, что в браузере в контру 1.6 играют. Впечатляет...


        1. Safort
          21.09.2023 10:19
          +2

          Самое смешное, что функционал у html кола и пары css будет одинаковым)))

          Не очень понятно, что значит "одинаковым"? За последние 10-20 лет добавилась куча семантики в html, функциональность css расширилась и переменными и функциями и анимациями и т.д.


          1. dididididi
            21.09.2023 10:19

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

            Если сайт на html генерит её больше, значит он лучше, даже без семантики и функций в с as.


            1. Antra
              21.09.2023 10:19
              +8

              Очень хочется увидеть пример такого супер-эффективного интернет-магазина на простом html



            1. iburanguloff
              21.09.2023 10:19

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


              1. rsmike
                21.09.2023 10:19

                да там как минимум обязательное наличие мобильных версий уже повышает сложность на порядок, а мобильных аппов + апи - на два. Раньше конечно влепил баннер "best viewed with Netscape 3.0 at 800x600" вот и вся разработка с тестированием


          1. unreal_undead2
            21.09.2023 10:19
            +3

            И что это даёт пользователю? Лет двадцать периодически покупаю билеты на сайтах авиакомпаний. Раньше нужную функциональность прекрасно обеспечивал статический html с формочками и cgi на сервере. Сейчас у всех "веб приложения" со скриптами на клиенте и микросервисами, я от этого вижу только тормоза при отрисовке и запросах к разным серверам, функциональность абсолютно та же.


      1. aPiks
        21.09.2023 10:19
        +16

        90% сайтов по функционалу сильно далеко не ушли от того, что было 20 лет назад, а поменялся только дизайн да анимации. Консалтинговая компания, в которой я работаю, попросила своих же консультантов разработать им внутренний портал. Из функционала - календарь, база с данными о сотрудниках, возможность заполнять timesheet и отправлять маркетинговые письма время от времени. Пока там работает 180 человек и рост в 60-70 новых консультантов в год. Вот под это выделили команду из фронтэнда, бекэнда, UI, UX дизайнера и архитекта. Они год делали React+микросервисы в докере+обернули всё в CI/CD на Дженкинсе. И спустя год нихрена не готово. Решили добавить еще разраба - человеку 45 лет, из них 25 лет в отрасли. Он за 4 недели сделал весь тот-же функционал, с тем-же дизайном на чистом JS+CSS+HTML плюс Spring на бэке с Hibernate и Постгресом, добавил Liquibase и всё. Проект билдится и деплоится на GitHub actions за 1.5 минуты в один монолит на VDS, который держит 2900 одновременных пользователей без просадки по времени ответа сервера. При этом покрытие тестами - 88%. И всё это один человек сделал за 4 недели. И код открыл и сразу понял как работает и что где.
        Но как я понимаю, выпускникам современных курсов по программированию, не объясняли, что каждая технология имеет своё место применения, и готовый рецепт для высоко-нагруженного онлайн магазина не подходит для внутреннего портала микро-компании. И по-моему опыту, такая фигня происходит повсеместно.


        1. SWATOPLUS
          21.09.2023 10:19
          +1

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

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


          1. aPiks
            21.09.2023 10:19
            +4

            А до микросервисов это было невозможно, по-вашему? А как же SWIFT работал? Они в день такой вал транзакций переваривают, что никаким онлайн магазинам и не снилось.

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

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

            Supabase - что только фронтендеры не сделают, лишь бы архитектуру приложений не учить.


          1. dididididi
            21.09.2023 10:19
            +8

            миллиарды запросов это внезапно база данных, а не микросервисы. Нагруженность редко в бэке провисает, обычно всё в БД упирается. А там абсолютно пофиг сколько в неё один монолит стучится в 200 потоков, или 200 микро сервисов.


        1. SaM1808
          21.09.2023 10:19
          +5

          Для таких требования - купили бы какую нить "Джиру" за один день и ещё б сэкономили и время и деньги.


        1. dididididi
          21.09.2023 10:19
          +7

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

          Согласуй ДТО между фронтом и бэком, "мне кажется правильно писать commentException, а не exceptionComment", передвинь левее кнопку, а давай в рамках предположения вот так попробуем)))


    1. Safort
      21.09.2023 10:19
      +22

      Когда раньше один профессионал мог в фотошопе нарисовать компонент,
      сверстать его, написать код и протестировать, теперь это -- дизайнер,
      верстальщик, дев, тестировщик.

      Типичная речь деда-гейткипера оторвавшегося от реальности. Или реально сможете сделать какой-нибудь VK/FB/Youtube в одиночку? Или, может, Хабр? Или спутали с сайтами 20-летней давности, где была одна статика, а из "интерактива" – падающий снег и мигающий текст через <blink>?


      1. dididididi
        21.09.2023 10:19
        -1

        А ты на реакте сможешь фейсбук/vk/youtube сделать в одиночку чтоль?


        1. Safort
          21.09.2023 10:19
          +8

          Ты, кажется, не понял про что я. Я как раз говорю о том, что сегодняшние сайты/приложения по своей сложности разрослись настолько, что один человек в разумные сроки такое не вытянет.


          1. dididididi
            21.09.2023 10:19
            +1

            Я прочитал, то что написано. Он не говорил, что в одиночку может написать YouTube. Но говорил, что способен заменить пару команду из хипстеров в одиночку, которые год пилят кнопку и колонку в БД.


      1. astenix
        21.09.2023 10:19

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

        Это нарочно?


    1. iburanguloff
      21.09.2023 10:19
      +3

      Можно писать идеальный код, но баги все равно будут. Просто на другом уровне абстракции, повыше. Любая система, в которой присутствует человек, будет содержать ошибки. И речь не только про тебя. ОС писали люди, библиотеки и зависимости писали люди, компиляторы, браузеры и кучу всего прочего, и везде есть баги


    1. SaM1808
      21.09.2023 10:19
      +7

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

      Разраб написал тест - все работает.

      Слили в предпрод - не работает.

      Проверили с дево-опсом, нашли причину, поправили, заработало.

      Слили в прод, а оно не работает.

      Вообще, тестировать силами разраба, по мне так - очень дорогое удовольствие, при условии что стоимость часа работы разраба часто в пять раз выше стоимости часа тестировщика. Писать unit тесты - да, хотя есть и противники этой философии. Но тестирование отдайте человеку, который в этом больше шарит и стоит дешевле.

      Когда раньше один профессионал мог в фотошопе нарисовать компонент, сверстать его, написать код и протестировать, теперь это -- дизайнер, верстальщик, дев, тестировщик.

      А ещё раньше все в FIDO сидели и Интернета не было..., и вообще в ворде можно было html страничку сделать и выложить и даже "профессионал" не нужен. Время идет, меняется сложность задач, требования к качеству и самое главное - объемы и сроки. Один "профессионал" рисовал, верстал и тестировал один компонент - неделю; сейчас дизайнер, верстальщик, дев и тестировщик - делают это максимум за 2 дня.


      1. rsmike
        21.09.2023 10:19
        -1

        А ещё раньше все в FIDO сидели и Интернета не было...

        и 90% функционала с тех пор не изменилось (с)


    1. MiraclePtr
      21.09.2023 10:19
      +4

      но последний раз я проверял, это программист должен тестировать свой код

      Как самое первичное и базовое тестирование - да.

      Как более полное тестирование - уже лучше иметь тестировщиков. Просто потому что а) время программистов обычно стоит дороже, чем время тестировщиков, чтобы тратить его на это б) тестровщики сделают это лучше - вот тут разбирается, почему: https://www.geeksforgeeks.org/developers-are-not-good-testers-really/


      1. astenix
        21.09.2023 10:19

        Про «время разработчиков дороже» уже немодно. Время манагеров может быть еще дороже, но если они не тестируют свои же проекты, то что им поможет?!


    1. nik_savchenko
      21.09.2023 10:19
      +6

      Я может и далек от реального положения дел, но последний раз я проверял, это программист должен тестировать свой код.

      Программист должен протестировать:
      1) какую нагрузку и объем данных сможет выдержать его код и на каком сломается
      2) сможет ли какой-нибудь хитромудрый Вася залесть в данные с помощью его кода или нет
      3) правильно ли работает его код с базой, брокерами, другими системами и модулями системы, в которой живет его код

      Правильно я понимаю?
      А unit-тесты, которые проверяют сам "код", разрабы и так пишут сами в общем случае.

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

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


  1. avkorotkikh
    21.09.2023 10:19
    +1

    Порадовало: "Мы намеренно даем ссылки на англоязычные ресурсы, поскольку русскоязычные не всегда соответствуют стандартам качества и актуальности. Для автоматического перевода рекомендуем использовать сервис DeepL(opens in a new tab), использующий нейросети."

    Т.е. перевод через сервис DeepL соответствует стандартам качества?

    Может быть стоило найти русскоязычные ресурсы соответствующие стандартам качества и актуальности, раз уж взялись за русскоязычный учебник?

    В целом неплохо, молодцы.


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +4

      В 700+ страниц (без учета изображений!) учебника входит только оригинальный качественный контент на русском. И его более чем достаточно для работы QA.
      Ссылки на англоязычные материалы даны в конце глав в качестве дополнительного материала для особо инициативных. Переводить эту информацию и включать внутрь учебника не было смысла - иначе он стал бы под 2000 страниц.

      На русскоязычные ресурсы ссылки не давались по причинам а) отсутствия 50% тем б) кривому переводу QA-терминов на русский.

      В целом неплохо, молодцы.

      Спасибо, стараемся!


      1. avkorotkikh
        21.09.2023 10:19

        Это всё понятно. Сама фраза покоробила, получается вроде как DeepL переводит QA-термины на русский лучше чем в русскоязычных ресурсах


        1. lilia_urmazova Автор
          21.09.2023 10:19
          +2

          Тут определенное подталкивание студента в ту сторону, что совсем без английского ему все равно будет тяжело.

          Вариант

          англоязычный оригинал + перевод DeepL = возможность сверить криво переведенный нейросетью термин

          все-таки лучше варианта

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

          Это всё опять же дополнительный материал для инициативных студентов, а они в большинстве понимают что надо.


          1. avkorotkikh
            21.09.2023 10:19
            +2

            Тогда может быть лучше было бы написать как-то так: "Мы считаем, что в англоязычных ресурсах более актуальная и качественная информация по QA, поэтому даём ссылки на англоязычные ресурсы и рекомендуем читать статьи в оригинале. В случае плохого знания языка вы можете воспользоваться сервисом автоматического перевода, например DeepL"


            1. lilia_urmazova Автор
              21.09.2023 10:19
              +2

              Да, в следующем релизе уточним это примечание.


        1. skrikl
          21.09.2023 10:19
          +3

          Интересно что вас это зацепило. В моем прочтении это "Читайте оригиналы, там хорошо. Не умете в оригиналы - сублимируйте автопереводом. Самый не поганый автоперевод - вот тут."
          А про

          Т.е. перевод через сервис DeepL соответствует стандартам качества?

          даже не возникло мыслей :)


        1. entze
          21.09.2023 10:19

          Да, а почему ресурсы должны переводить лучше, чем DeepL? Исковерканные, сленговые переводы сплошь и рядом.


  1. avkorotkikh
    21.09.2023 10:19
    +2

    Местами не всё переведено, нужно вычитывать:

    "

    Important notes

    Чтобы эффективно использовать пайпы, пожалуйста, помните следующее:"

    для пайпов вроде обще употребимое русское слово есть каналы или конвейер?


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +2

      Important notes

      Да, это косяк. Вычитывалось каскадно в две пары глаз, но...
      Спасибо, внесем в список дефектов.

      для пайпов вроде обще употребимое русское слово есть каналы или конвейер?

      Поднимем этот вопрос на общее обсуждение, но изначально между главным ментором и Linux-ментором был консенсус по "пайпам".


  1. dididididi
    21.09.2023 10:19
    -1

    А кратко, на cheatsheet есть? А то 700 страниц читать всё равно никто не будет.


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +1

      Вы бы хотели лечь на операцию к хирургу, который учился по cheatsheet?

      До конца 700 страниц многие успешно доходят, судим по статистике англоязычного учебника.

      Большинство столько действительно читать не будет, но потом это большинство говорит "вакансий нет", "устроится нереально" и т.д.


      1. dididididi
        21.09.2023 10:19
        +1

        Я ещё хочу чтоб мне клининг дома делала девочка с ВО по клинингу? интернатуры и докторской. Ну не за 3000 конечно... Тыщ за 300, она ж не зря училась.

        Не надо путать тестирование сайтов и человеческие жизни.


        1. lilia_urmazova Автор
          21.09.2023 10:19
          +1

          Не надо путать тестирование сайтов и человеческие жизни.

          Конечно же современная медицина никаким ПО не пользуется.

          Про известный случай с багой Therac-25 на Хабре писали - но там умерло "всего лишь" два человека.

          А вот в базе данных американской FDA по инцидентам с медицинским оборудованием значится 290141 запись, из которых 52% привели к смерти пациента. Какой процент из них относится непосредственно к ПО пусть каждый предположит сам.


          1. dididididi
            21.09.2023 10:19
            +2

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


      1. izogfif
        21.09.2023 10:19
        +1

        судим по статистике англоязычного учебника

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


        1. lilia_urmazova Автор
          21.09.2023 10:19
          -1

          А где он?

          https://mentorpiece.education/textbook/

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

          Информация о прохождении тестов сохраняется в БД и поэтому, увы, локальная работа в оффлайне не поддерживается.


      1. ainoneko
        21.09.2023 10:19
        +1

        До конца 700 страниц многие успешно доходят,

        Видимо, у них есть мотивация терпеть интерфейс, где всё двигается, сверкает и вздымается, "как будто вновь оживленО" :)

        Первый баг: "Закрыв браузер, вы потеряете информацию о прохождении курса, и вам придется начинать с начала."
        (1) в русском языке "неявное тематическое подлежащее" (или как там его называл Микитко?) пока не считается правильным, хотя его употребляют многие (это про "шляпу, смотрящую в окно").
        (И да, некоторые лингвисты уже ставят под сомнение разумность строгих правил.)
        (2) Так как обе части зависят от "Закрыв браузер", запятая перед "и" не нужна.


  1. ritorichesky_echpochmak
    21.09.2023 10:19
    +2

    Как это читать на электронной книге? Или хотя бы оранжевый учебник "Как учиться"? Может есть где-то гитбук, в который, чуть что, можно и замечания/фиксики пулять?


    1. lilia_urmazova Автор
      21.09.2023 10:19

      Увы, только старый добрый браузер.

      Тут специальный стандарт, который обычный софт не поддерживает - SCORM. Он содержит разнообразные инструменты проверки знаний. А еще, так как учебник используется и на нескольких профессиональных курсах, позволяет оценки за прохождение тестов из учебника автоматически проставлять в "дневник студента" в LMS.


  1. a1mir
    21.09.2023 10:19

    А вот это большое ничем не занятое пространство внизу - так задумано?


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +1

      Это был быстрый баг-фикс того, что при открытии с мобильного все наоборот вниз уезжало. Сделаем по-нормальному.

      Есть еще вариант полного экрана (кнопка в верхней панели).


  1. Volkodlak
    21.09.2023 10:19
    +4

    Сайт конечно хорошо, но книга в pdf лучше


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +2

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


    1. iburanguloff
      21.09.2023 10:19
      +1

      Лучше чем?


      1. Newbilius
        21.09.2023 10:19
        +3

        Чем сайт!

        (Простите, сложно удержаться)


  1. Sergey-Titkov
    21.09.2023 10:19
    +1

    Только про QA в этом учебнике ни слова. Даже до QC не добрались. Что мешает просто написать: 100-Year Testing-Textbook


  1. MountainGoat
    21.09.2023 10:19

    Подожду, пока кто-нибудь скопирует весь текст и соберёт PDF.


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +1

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

      Мы в принципе изначально думали над этой идеей, но выяснилось, что используемый SCORM-редактор под pdf изначально не расчитан и экспортирует его в страшноватом виде.


      1. Kristaller486
        21.09.2023 10:19

        Забавно, но pdf может содержать внутри себя рабочий JavaScript. Правда не уверен, что с его помощью можно сделать особую интерактивность.



  1. voted
    21.09.2023 10:19

    Выходит скачать сам бесплатный учебник нельзя? Только содержание? У меня например сайты *.ru не открываются без VPN


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +3

      Если Вы за границей, то может интересней окажется англоязычный первоисточник? https://mentorpiece.education/textbook/

      А так в принципе для нас не проблема поднять русскоязычную версию и на не .ru домене.


  1. antonkrechetov
    21.09.2023 10:19
    +14

    Я попробовал полистать учебник и хочу высказать своё мнение.


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


    Из шрифтов тоже какая-то мешанина.


    Я бы по такому учебнику учиться не стал, простите.


    Посмотрите, скажем, на https://learn.javascript.ru/ — учбник, на котором выросли поколения фронтендеров. Обычные статические страницы, ничего не летает и не всплывает и при этом он гораздо удобнее. Не разу не видел там жалоб "где же модные анимации?"


    1. lilia_urmazova Автор
      21.09.2023 10:19

      Спасибо за обратную связь, но мы сможем повлиять только на это (как и писали в другом комменте):

      Почему он открывается в маленьком фрейме? 

      Шрифты и дозагрузка - это особенности редактора. В англоязычном варианте, кстати, шрифты действительно выглядят лучше.

      Посмотрите, скажем, на https://learn.javascript.ru/

      Не увидели ничего похожего на встроенные тесты и запоминание прогресса. Интеграция с LMS, очевидно, тоже не поддерживается.

      Инструментов для "просто красиво сверстать" сейчас тысячи, включая любимые многими Notion и Obsidian. Что же касается выбора функциональных инструментов для онлайн-обучения и поддержки SCORM-пакетов, то выбор крайне невелик. Мы выбрали самый функциональный и user-friendly (другие намного хуже), но он не без недостатков, да.


      1. bel1k0v
        21.09.2023 10:19
        +1

        Дело не в прогрессе, а в простоте навигации по главам. Вы решили сделать "умный" интерфейс, а нужно простой. Это действительно очень неудобный с точки зрения пользователя инструмент. Хорошо, что есть контент, но упаковывать его тоже нужно правильно, а это целое искусство, можно на эту тему тоже книгу написать кстати. Хороший тест получился для учебника по тестированию, но я бы начал с более очевидных вещей для всех пользователей, кстати они тоже, как и QA (Тостеры), Devs, DevOps, Architects, Managers участвуют в процессе, вовлекаясь в разные части разработки ПО. В общем молодцы. TDD в действии (первый тест должен завалиться с ошибкой).


      1. bel1k0v
        21.09.2023 10:19
        -2

        P. S. По поводу содержания учебника (первых глав): Ни один нормальный разработчик или администратор не пустит тестировщика (тем более джуна) в БД или ОС. Это должно быть что-то на грани фантастики или полнейшего непонимания руководящего состава. Для общего развития такие вещи понимать, возможно полезно, но точно не входит в зону ответственности тестирования.


        1. miksoft
          21.09.2023 10:19
          +2

          не пустит тестировщика (тем более джуна) в БД

          На ДЕВ-стенде или на специальном тестовом стенде? Да почему же? Вполне себе пускают. SQL-запросы тоже надо тестить.


          1. bel1k0v
            21.09.2023 10:19
            -2

            "Что ты несёшь, чел?"

            Нужен реальный пример, с учётом того, что речь про джуниора


        1. lilia_urmazova Автор
          21.09.2023 10:19
          -1

          полнейшего непонимания руководящего состава

          Любой нормальный руководящий состав понимает, что чем точнее дефект будет локализован, тем меньше потратится времени разработчиков (проблему в БД может и админинстратор разрулить) и тем больше компания сэкономит.

          Про тестовый стенд уже написали в другом комментарии.


  1. exibite777
    21.09.2023 10:19

    В первом же практическом разделе #02.3 Реляционные базы данных: Практика и ДЗ есть ссылки для запуска внешнего приложения, например, 192.168.40.100:8000/flight/search, естественно она не открывается. В прочем в английском оригинале точно также. Вероятно задумывалось, что курс установлен в некоторой аудитории, где это внешнее приложение развернуто локально. Есть вариант как-то исправить? Может есть контейнеры с приложениями?


    1. lilia_urmazova Автор
      21.09.2023 10:19

      Учебник предназначен и для самообучающихся студентов и для студентов курсов, использующих этот учебник как основу. Поэтому каждый практический раздел содержит по два блока практики: "Самообучающимся студентам" и "Студентам курсов, использующих этот учебник". Вы сейчас смотрите во второй блок.

      Для студентов курсов, использующих этот учебник, развернута "серверная песочница" со всем что нужно для практики:

      • SSH-клиент для модулей Linux, “Сети” и “Траблшутинг”

      • СУБД-клиент для модулей “СУБД” и “Траблшутинг”

      • Веб-браузер и СУБД-клиент для модулей WEB/REST API и "Тест-дизайн и работа с требованиями"

      • Тестовые приложения Java Auth, Java FTB, Alaska Bears.

      Увы, мощностей песочницы хватит только для студентов курсов.

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


      1. exibite777
        21.09.2023 10:19

        В идеале, конечно иметь возможность установить это как контейнер Docker с набором необходимых открытых портов локально. Контейнер можно опубликовать в публичный DockerHub. Я работаю системным аналитиком и могу помочь, надо конечно сначала попробовать это сделать самостоятельно. Единственное, что Docker приложения невозможно гарантированно всегда забиндить на конкретный адрес и порт. Для этого можно попробовать в ЛК на курсе дать возможность указать адрес и порты, тогда из приложения будет правильно открываться. В общем, можно попробовать


        1. lilia_urmazova Автор
          21.09.2023 10:19

          Пожалуйста, напишите мне в ЛС, свяжу с нашим инфраструктурным человеком.


        1. VVitaly
          21.09.2023 10:19
          +3

          Зашибись... Уже учебники и курсы стали в докер оборачивать... :-)


          1. exibite777
            21.09.2023 10:19
            +1

            Речь, не о курсе, а о том, что самому курсу требуется ряд сервисов для практических заданий и подготовленные данные. Типа кому надо, развернул себе сам, не хочешь - не разворачивай, удовлетворись текстовым описанием. Конечно, если сам курс тоже модульное приложение само-в-себе, его тоже можно упаковать в контейнер и поднять все одним compose-файлом


          1. tommyangelo27
            21.09.2023 10:19

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


        1. lilia_urmazova Автор
          21.09.2023 10:19

          У Хабра интересный дефект в функционале - Вы написали мне в ЛС, но когда пытаюсь ответить, получаю:

          "Пользователь exibite777 запретил личные сообщения".

          Просьба тогда сюда написать https://t.me/MentorPiece_consult


        1. vlivyur
          21.09.2023 10:19

          Зато в Kuber'е можно забиндить на конкретный адрес и порт


          1. exibite777
            21.09.2023 10:19

            Я не планировал так жестко развлекаться )) Да и инструкций "Как развернуть Kubernetes для чайников" гораздо меньше, чем "Как развернуть Docker для чайников"


            1. vlivyur
              21.09.2023 10:19

              Да там писать особо нечего:


              curl -sfL https://get.k3s.io | sh -s -


  1. phillennium
    21.09.2023 10:19
    +18

    Поразительное преобладание негативных комментариев у поста, где бесплатно делятся результатами большого и, по-моему, полезного труда

    Наверное, по-своему логично, что к материалу по тестированию сразу лезут с указаниями на все возможные недочёты — «а чо внизу пустое пространство», «а как это в читалку запихнуть»

    Но я для разнообразия хочу просто написать «спасибо»


    1. miksoft
      21.09.2023 10:19
      +4

      С одной стороны, конечно, да. Труд, несомненно, титанический. И я присоединяюсь к "спасибо".

      С другой стороны, "материал по тестированию", похоже, плохо протестирован.


      1. lilia_urmazova Автор
        21.09.2023 10:19
        +2

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

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

        Соответственно плюс получается в том, что он постоянно актуализируется и дорабататывается. Минус - что могут выскакивать дефекты.


        1. miksoft
          21.09.2023 10:19
          +1

          Кстати, очень не хватает функционала как на Хабре - выделить фрагмент, нажать Ctrl+Enter и написать сообщение об ошибке. В тестах по SQL пригодилось бы.


          1. anzay911
            21.09.2023 10:19

            Это инструмент Orphus. Ранее можно было скачать с сайта автора. Сейчас остался лишь как orphus.js в разных местах.


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +5

      Спасибо!

      Критика частично обусловлена тем, что мы сами изначально задали планку. Та же недоработка с версткой с "восьмью айтишниками с суммарным опытом в IT 130 лет" действительно не очень хорошо сочетается.
      Так что конструктивная критика - это замечательно, а тренировка Soft skill по "пропусканию" неконструктивной тем более важна для айтишника.


      1. funca
        21.09.2023 10:19
        +2

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


    1. Didimus
      21.09.2023 10:19

      Так это же тестировщики пишут.


  1. fpinger
    21.09.2023 10:19

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


    1. lilia_urmazova Автор
      21.09.2023 10:19

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


  1. ferrablack
    21.09.2023 10:19
    +1

    Тоже удивлена негативу. Люди делятся плодами труда, на двух языках, обновляют.

    Авторы, вам большое спасибо! Покидала ссылку на статью знакомым тестерам.


    1. lilia_urmazova Автор
      21.09.2023 10:19

      Спасибо за добрые слова и шаринг!


  1. teka_d
    21.09.2023 10:19
    +3

    Не смотрел пока сам учебник, но в восторге от содержания. Спасибо за проделанную работу!

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


    1. lilia_urmazova Автор
      21.09.2023 10:19

      Спасибо! Всегда будем рады обратной связи!


  1. chnav
    21.09.2023 10:19

    (del)


  1. Sergey-Titkov
    21.09.2023 10:19
    +3

    Посмотрел тест по БД.
    Вопрос: 01/04 Сколько внешних ключей содержится в таблице Exams?
    Правильный ответ, нет информации, потому в вопросе нет информации о фк. А название полей это просто название полей.
    Дальше смотреть не стал, подозреваю, что все остальное так же безграмотно


    1. lilia_urmazova Автор
      21.09.2023 10:19

      А название полей это просто название полей.

      Базы данных, которые спроектированы так, что поле "teacher_id" в таблице "exams" может обозначать что-то иное, чем первичный ключ таблицы "teachers", слава богу, встречаются исключительно редко и только на "приговоренных" проектах.

      При этом тестировщик должен уметь схемы базы данных "читать с листа".


      1. vlivyur
        21.09.2023 10:19
        +2

        Это может быть колонка без FK


        1. lilia_urmazova Автор
          21.09.2023 10:19
          +1

          "Может быть физически" или "может быть, но за это нужно оторвать руки"?

          У нас есть таблица teachers (в тесте она не дублируется, но она есть в предшествующей главе с теорией).
          У нас есть таблица exams.
          У нас в таблице exams есть поле teacher_id.
          В любой нормальной базе данных между exams и teacher будет связь по teacher_id.


          1. vlivyur
            21.09.2023 10:19

            Жизнь и нормальность — два параллельных понятия, но иногда они всё ж пересекаются.
            Допустим exams и teachers таблицы из другой системы и они у нас участвуют в интеграции. Чтоб не парить мозг разработчика с отсутствием значения в teachers при попытке добавить новые exams, можно не делать FK, а, например, слать письмо минут через 20, когда должны бы уже были всосаться все teachers, но что-то нашего так и не появилось. Если сделать FK, то такие записи с новым "несуществующим" учителем надо будет куда-то класть и обрабатывать позже.


            А если взять ваш подход, то exams внезапно становится таблицей с расписанием экзаменов: какая группа у какого препода какой предмет когда сдаёт. А оценки студентов за экзамены — это уже другая таблица, которая будет содержать exam_id, student_id, exam_points


            А в следующем задании в таблице teachers есть subject_id, хотя в лекции написано, что teachers и subjects состоят в отношении один ко многим (а на самом деле многие ко многим)


          1. miksoft
            21.09.2023 10:19

            В любой нормальной базе данных между exams и teacher будет связь по teacher_id.

            Как минимум три с половиной варианта для возражения:

            1. FK могут не поддерживаться технически. Например, Hive/Spark.

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

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

            3.5. Соглашения об именовании полей бывает разные. Например, teacher$id будет FK, а teacher_id - нет (это реальный пример из жизни).


            1. lilia_urmazova Автор
              21.09.2023 10:19
              +1

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

              1. Тест идет к главе про реляционные базы данных.

              2. Это все-таки скорее исключение, чем правило. Мы при обучении используем подход от простого к сложному и от сложного к частному. Если начинать студентов на первом же этапе грузить возможными частными случаями, то у них в голове будет тотальная каша.

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


  1. astenix
    21.09.2023 10:19

    если не прошел тест, то к следующей теме не перейти

    Очень раздражает.


  1. Rabestro
    21.09.2023 10:19

    Можете опубликовать ссылку на английскую версию, пожалуйста :)


    1. lilia_urmazova Автор
      21.09.2023 10:19
      +1

      Конечно: https://mentorpiece.education/textbook/

      Англоязычный вариант является первоисточником (и создан нами же), но по опубликованной версии (0.0.9) отстает от только что опубликованного русскоязычного релиза (1.0.0).
      Отличий, впрочем, не так много: в 0.0.9 нет только одного модуля (Git) и не внесены минорные изменения.


  1. BesheniyLeshiy
    21.09.2023 10:19
    +3

    Моё почтение!


  1. robstewich
    21.09.2023 10:19

    Спасибо за релиз, я с июня решил погрузиться в сферу тестирования, с тех пор в процессе обучения попробовал, наверное, все ресурсы, какие может попробовать студент-самоучка. И пока что этот учебник занимается уверенное первое место. Старую версию я прошёл где то на 40%, после обновления мой прогресс на 20.

    Про многие ошибки и баги уже написали, но мне, например, это всё не первостепенно, главное совсем другое. Не удивлюсь, если и остальным, кто прежде всего пришёл за знаниями, так же.

    Тем, кто пишет, что материалов непосредственно по тестированию слишком мало, тот, скорее всего, просто не знаком с тем, как обстоят дела на рынке труда начинающих QA-инженеров))


  1. webhamster
    21.09.2023 10:19

    Кнопка "Предыдущая версия" отжирает значимую нижнюю горизонтальную часть экрана, и по-сути, мало кому нужна. Зачем она там? Зачем сделано именно так?


    1. lilia_urmazova Автор
      21.09.2023 10:19

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

      При нажатии на "Полный экран" в верхней панели эта кнопка не будет видна.


  1. Celahir
    21.09.2023 10:19
    +2

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

    Я представляю себе ИИ-учебник: Тесты показывают, что вы плохо усваиваете материал. Лексическая сложность текста снижена до возрастной категории 10-12 лет. Пожалуйста, перечитайте главу "Анализ интеграла Мора" в упрощенном изложении. :)


  1. huaw
    21.09.2023 10:19
    +1

    Спасибо! Колоссальный труд