Когда дело доходит до тестирования программного обеспечения, человеческий мозг - лучший инструмент для тестирования. Когда мы тестируем программное обеспечение, мы обрабатываем информацию, решаем проблемы, принимаем решения и создаем новые идеи.
Как тестировщики, мы должны знать о разных типах мышления, чтобы соотносить их с разными ситуациями. Например, когда мы смотрим на диаграмму проекта, нам нужно быть аналитичными. Когда мы думаем о сценариях, нам нужно думать абстрактно.
Для разных видов тестирования требуются разные мыслительные процессы. По этой причине важно иметь возможность «включать» различные режимы мышления для каждого вида деятельности.
Давайте рассмотрим различные типы мышления и то, как каждый из них может быть применен в контексте тестирования программного обеспечения и различных мероприятий по тестированию.
Творческое мышление означает смотреть на что-то по-новому. Это само определение «нестандартного мышления».
В творческом мышлении мы отрываемся от устоявшихся теорий, правил и процедур и делаем все по-новому и творчески.
Например, в контексте тестирования это может быть, когда мы применяем новые методы тестирования, например метод попарного тестирования для уменьшения количества перестановок и увеличения охвата.
Аналитическое мышление относится к способности разделять целое на его основные части, чтобы исследовать части и их отношения. Он включает в себя логическое, пошаговое мышление, чтобы разбить большую систему информации на части.
Например, когда мы смотрим на архитектурные схемы и пытаемся найти путь через систему и отдельные компоненты.
Хороший пример - это когда мы анализируем, что происходит, когда пользователь отправляет форму, а запрос отправляется в API, который взаимодействует с базой данных.
Критическое мышление - это способность рассуждать, тщательно анализируя что-либо, чтобы определить его достоверность или точность. Речь идет о том, чтобы быть активным учеником, а не пассивным получателем информации.
Критическое мышление, возможно, является наиболее важным типом мышления в контексте тестирования. Как тестировщики, мы всегда должны подвергать сомнению идеи и предположения, а не принимать их за чистую монету.
Например, глядя на пользовательскую историю, мы могли бы задавать вопросы о критерии приемки вместо того, чтобы принимать их в том виде, в каком они даны нам.
Конкретное мышление относится к способности понимать и применять фактические знания. Это противоположность абстрактного мышления.
Люди, которые думают конкретно, любят следовать инструкциям и иметь подробные планы. Они ненавидят все расплывчатое или двусмысленное. Таким образом, конкретные мыслители предпочитают работать со списками и электронными таблицами.
В контексте тестирования это когда тестировщики требуют, чтобы все инструкции существовали перед началом тестирования. Например. некоторые тестировщики не начнут тестирование, пока все критерии приемлемости не будут определены в пользовательской истории.
В отличие от конкретного мышления, абстрактное мышление относится к способности думать о вещах, которых на самом деле нет.
Тестировщики программного обеспечения, мыслящие абстрактно, смотрят на более широкое значение идей и информации, а не на конкретные детали.
Например, в контексте сессий тестирования и подготовки историй тестировщики, обладающие способностью мыслить абстрактно, могут придумывать интересные сценарии тестирования. Вместо того, чтобы просто читать критерии приемки, тестировщики будут изучать пользовательскую историю и пытаться выяснить, как это может иметь отношение к другим частям системы или влиять на них.
Дивергентное мышление относится к способности генерировать творческие идеи, исследуя множество возможных решений в попытке найти то, что работает. Он включает в себя объединение фактов и данных из различных источников, а затем применение логики и знаний для принятия решений.
При исследовательском тестировании мы применяем оракулы и эвристика и выносить суждения, основываясь на нашем предыдущем опыте.
Конвергентное мышление - это способность соединить несколько различных частей или точек зрения на тему вместе организованным, логическим образом, чтобы найти единый ответ.
Например, когда мы пытаемся найти основную причину неисправности, мы собираем соответствующую информацию и извлекаем необходимые данные.
Последовательное (линейное) мышление относится к способности обрабатывать информацию в установленном порядке. Он включает в себя пошаговое продвижение, когда ответ на шаг должен быть получен до того, как будет сделан следующий шаг.
В контексте тестирования программного обеспечения это соответствует тому, когда мы следуем сценарию с заранее определенными шагами и ожидаемыми результатами.
Целостное (нелинейное) мышление - это способность видеть общую картину и распознавать, как компоненты образуют большую систему. Это предполагает расширение вашего мыслительного процесса в нескольких направлениях, а не только в одном направлении.
В контексте тестирования это когда мы выполняем интеграцию или тестирование системы.
Тестирование программного обеспечения требует глубокого мышления. Это процесс постоянного задания вопросов и анализа получаемой информации. Разные тестовые задания требуют разных мыслительных процессов. Понимание различных типов мышления поможет задавать правильные вопросы.
При собеседовании с тестировщиками мы должны задавать вопросы на основе сценария, которые тренируют мыслительные способности тестировщика в терминах вышеуказанных типов мышления.