ISTQB_CTFL_Syllabus_2018-RU_3 — копия. Программа обучения Базового уровня Версия 2018 International Software Testing Qualifications Board
Скачать 1.3 Mb.
|
0 Предисловие к программе обучения 0.1 Цель этого документа Программа обучения представляет собой основу международной сертификации на квалификацию Базового уровня в области тестирования программного обеспечения. ISTQB® распространяет эту программу: 1. Коллегиям для перевода ее на национальный язык и аккредитации организаторов обучения. Национальные коллегии могут приспособить программу обучения к особенностям конкретных языков и определить ссылки для адаптации к местным публикациям. 2. Сертификационным комиссиям для формирования экзаменационных вопросов на национальном языке адаптированные к целям обучения для каждой программы. 3. Организаторам обучения для разработки учебной программы и определения подходящих методов обучения. 4. Кандидатам на получение сертификатов для подготовки к экзамену (либо в рамках учебного курса, либо самостоятельно). 5. Международному сообществу разработки ПО и систем для повышения уровня профессионализма при тестировании ПО и систем, и использования как основы для книг и статей. ISTQB ® может разрешить другим лицам использовать эту программу обучения в своих целях при условии, что они обратятся и получат письменное разрешением от ISTQB. 0.2 Сертифицированный тестировщик ПО Базового уровня Квалификация Базового уровня предназначена для всех, связанных с тестированием ПО, включая такие роли как тестировщики, тест аналитики, инженеры тестировщики, консультанты тестирования, руководители тестирования, тестировщики пользовательского приемочного тестирования и разработчики ПО. Эта квалификация также подходит для тех, кто желает получить понимание основ тестирования ПО, например, руководителей проектов, руководителей по качеству, руководителей разработки ПО, бизнес-аналитиков, ИТ-директоров и менеджеров-консультантов. Обладатели сертификата Базового уровня могут готовиться к более высокой квалификации в тестировании ПО. ISTQB «Обзор базового уровня 2018» – это отдельный документ, который содержит следующую информацию: Бизнес-результаты для программы обучения Матрица, показывающая связь между бизнес-результатами и целями обучения Обзор программы обучения 0.3 Проверяемые цели обучения и необходимый уровень знаний Цели обучения согласуются с бизнес-результатами и используются при сдаче экзамена для сертификации тестировщиков Базового уровня. В основном все содержание этой программы обучения доступно проверке на уровне K1, за исключением введения и приложений. Это значит, что кандидату может быть предложено Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 10 of 94 24 февраля 2019 © International Software Testing Qualifications Board узнать, запомнить и вспомнить термин или понятие, упомянутые в любой из шести глав. Уровни знаний конкретных целей обучения показаны в начале каждой главы и имеют классификацию: K1: запомнить K2: понять K3: применить Детали и примеры для целей обучения приведены в Приложении B. Определения всех терминов, перечисленные как ключевые слова сразу после заголовка главы, должны быть запомнены (K1), даже если явно не упоминаются в целях изучения. 0.4 Экзамен Сертификационные экзамены Базового уровня основаны на данной Программе обучения. Ответы на экзаменационные вопросы могут потребовать использования материала, основанного более чем на одной главе этой Программы обучения. Все разделы Программы обучения поддаются экзаменационной проверке, за исключением введения и приложения. Стандарты, книги и другие учебные программы ISTQB включены в качестве ссылок, но их содержание, не рассматривается за рамками того, что обобщено в этой учебной программе из таких стандартов, книг и других учебных программ ISTQB. Формат экзамена – тест с несколькими вариантами ответов. В нем 40 вопросов. Чтоб сдать экзамен, необходимо дать правильные ответы не менее, чем на 65% от всех вопросов (т.е. на 26 вопросов). Экзамены можно сдавать как часть аккредитованного курса обучения или независимо (например, в экзаменационном центре или на открытом экзамене). Прохождение аккредитованного курса обучения не является необходимым условием для сдачи экзамена. 0.5 Аккредитация Коллегии ISTQB, могут аккредитовать организаторам обучения материалы курсов, которые соответствуют этой Программе обучения. Организаторы обучения должны получить методические рекомендации по аккредитации от коллегии или организации, осуществляющей аккредитацию. Аккредитованный курс признается соответствующим этой Программе обучения и может включать в себя, как часть, сертификацию ISTQB. 0.6 Уровень детализации Уровень детализации в этой Программе обучения позволяет проводить полноценное обучение и экзамены по всему миру. Для достижения этой цели программа обучения состоит из: Общих инструкций и целей, описывающих идею Базового уровня; Списка терминов, которые обучающиеся должны быть способны вспомнить; Целей изучения для каждой области знаний, описывающих результат изучения и образ мышления, который должен быть достигнут; Описания ключевых идей для изучения, включая такие источники, как одобренная литература или стандарты. Содержание Программы обучения не является описанием всей области знаний в тестировании ПО. Оно отражает уровень детализации, который должен быть достигнут на курсах обучения Базового уровня. Она сосредотачивается на концепциях и методах тестирования, которые могут применяться ко всем проектам программного обеспечения, включая проекты с гибкими Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 11 of 94 24 февраля 2019 © International Software Testing Qualifications Board методологиями. Эта учебная программа не содержит каких-либо определенных целей обучения, связанных с каким-либо конкретным жизненным циклом или методом разработки программного обучения, но в ней обсуждается, как эти концепции применяются в проектах по гибкой методологии, других типах итеративных и инкрементных жизненных циклов и в последовательных жизненных циклах. 0.7 Как эта программа организована В программе шесть глав с содержанием для проверки. Заголовок верхнего уровня каждой главы определяет время, для более низких уровней время не указано. Для аккредитованных учебных курсов программа требует, как минимум 16,75 часов обучения, распределенных по шести главам следующим образом: Глава 1: Основы тестирования (175 мин) Глава 2: Тестирование в течение жизненного цикла ПО (100 мин) Глава 3: Статическое тестирование (135 мин) Глава 4: Методы тестирования (330 мин) Глава 5: Управление тестированием (225 мин) Глава 6: Инструменты тестирования (40 мин) Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 12 of 94 24 февраля 2019 © International Software Testing Qualifications Board 1. Основы тестирования – 175 мин Ключевые слова покрытие, отладка, дефект, ошибка, отказ, качество, обеспечение качества, первопричина, анализ тестирования, базис тестирования, тестовый сценарий, завершение тестирования, тестовое условие, контроль тестирования, тестовые данные, проектирование теста, выполнение теста, расписание выполнения тестов, реализация теста, мониторинг тестирования, объект тестирования, причина тестирования, тестовый предсказатель, планирование тестирования, процедура тестирования, набор тестов, тестирование, тестовое обеспечение, трассируемость, валидация, верификация Цели обучения для главы «Основы тестирования» 1.1 Что такое тестирование? FL-1.1.1 (K1) Определить основные цели тестирования FL-1.1.2 (K 2) Отличать тестирование от отладки. 1.2 Почему тестирование необходимо? FL-1.2.1 (K 2) Привести примеры почему тестирование необходимо. FL-1.2.2 (K 2) Описать, взаимосвязь между тестированием и обеспечением качества и привести примеры, как тестирование способствует повышению качества. FL-1.2.3 (K 2) Определить различие между ошибкой, дефектом и отказом. FL-1.2.4 (K2) Определить различие между первопричиной дефекта и его эффектом. 1.3 Семь принципов тестирования FL-1.3.1 (K 2) Объяснить семь принципов тестирования. 1.4 Процесс тестирования FL-1.4.1 (K 2) Объяснить влияние контекста на процесс тестирования. FL-1.4.2 (K 2) Описать работы в тестировании и соответствующие задачи в процессе тестирования. FL-1.4.3 (K 2) Различать рабочие продукты, поддерживающие процесс тестирования. FL-1.4.4 (K 2) Объяснить значение поддержки трассируемости между требованиями и артефактами тестирования. 1.5 Психология тестирования FL-1.5.1 (K 1) Определить психологические факторы, которые влияют на успех тестирования. FL-1.5.2 (K 2) Объяснить разницу в мышлении, необходимую при работе тестировщика и разработчика. 1.1 Что такое тестирование? Системы с программным обеспечением являются неотъемлемой частью нашей жизни, от бизнес-приложений (таких как банковское программное обеспечение) до потребительских Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 13 of 94 24 февраля 2019 © International Software Testing Qualifications Board товаров (таких как автомобили). Многие люди имели опыт использования программного обеспечения, которое не работало так, как ожидалось. Программное обеспечение, которое не работает корректно, может привести ко многим проблемам, включая потерю денег, времени или деловой репутации, и стать причиной травмы или смерти. Тестирование программного обеспечения – это способ оценить качество программного обеспечения и снизить риск отказа программного обеспечения. Распространено заблуждение о тестировании, что оно состоит только из прогона тестов, т.е. выполнения программного обеспечения и проверки результатов. Как указано в разделе 1.4, тестирование программного обеспечения – это процесс, который состоит из множества различных активностей; и выполнение тестов (включая проверку результатов) является только одной из таких активностей. Процесс тестирования содержит также такие активности, как планирование, анализ, проектирование и реализация тестов, создание отчетов о ходе и результатах тестирования, а также оценка качества объекта тестирования. Тестирование, во время которого задействуется выполнение тестируемого компонента или системы, называется динамическим тестированием. Другой вид тестирования, который не предполагает выполнение тестируемого компонента или системы, называется статическим тестированием. Таким образом, тестирование также включает рецензирование рабочих продуктов, таких как требования, пользовательские истории и исходный код. Другое распространенное заблуждение о тестировании состоит в том, что оно полностью направлено на проверку требований, пользовательских историй или других спецификаций. Наравне с проверкой соответствия системы установленным требованиям, тестирование содержит в себе проверку, будет ли система удовлетворять потребности пользователей и других заинтересованных лиц в своей рабочей среде (средах). Тестовые активности организованы и реализованы по-разному в различных жизненных циклах (см. раздел 2.1). 1.1.1 Основные цели тестирования Для любого проекта цели тестирования могут включать: Оценку рабочих продуктов, таких как требования, пользовательские истории, проектирование и код Проверку, все ли указанные требования выполнены Проверку, завершен ли объект тестирования и работает, как ожидают пользователи и заинтересованные лица Создание уверенности в уровне качества объекта тестирования Предотвращение дефектов Обнаружение отказов и дефектов Предоставление заинтересованным лицам достаточной информации, позволяющей им принять обоснованные решения, особенно в отношении уровня качества объекта тестирования Снижение уровня риска ненадлежащего качества программного обеспечения (например, пропущенные сбои в работе) Соблюдение договорных, правовых или нормативных требований, или стандартов и/или проверка соответствия объекта тестирования таким требованиям и стандартам Цели тестирования могут варьироваться в зависимости от контекста тестируемого компонента или системы, уровня тестирования и модели жизненного цикла разработки программного обеспечения. Эти различия могут включать: Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 14 of 94 24 февраля 2019 © International Software Testing Qualifications Board При компонентном тестировании одна из целей может заключаться в том, чтобы найти как можно больше сбоев, чтобы выявить и устранить основные дефекты на ранних стадиях. Другая цель может быть увеличением покрытия кода тестами компонентов. При приемочном тестировании одна из целей может заключаться в том, чтобы подтвердить, что система работает, как ожидалось, и удовлетворяет требованиям. Другая цель этого тестирования может быть предоставлением информации заинтересованным лицам о риске выпуска в установленный срок. 1.1.2 Тестирование и отладка Стоит различать отладку и тестирование. Выполнение тестов может показать сбои, вызванные дефектами в программном обеспечении. Отладка – это деятельность разработки для нахождения, анализа и исправления таких дефектов. Последующее подтверждающее тестирование проверяет, устранены ли исправленные дефекты. В некоторых случаях тестировщики отвечают только за исходный тест и финальное подтверждающее тестирование, в то время как разработчики выполняют отладку и соответствующее компонентное тестирование. Однако в разработке по гибкой методологии и в некоторых других жизненных циклах тестировщики могут участвовать в отладке и тестировании компонентов. Стандарт ИСО (ISO/IEC/IEEE 29119-1) содержит дополнительную информацию о концепциях тестирования программного обеспечения. 1.2 Почему тестирование необходимо? Тщательное тестирование компонентов и систем, а также связанной с ними документации может помочь снизить риск отказов во время работы. Когда дефекты обнаружены и исправлены, это способствует качеству компонентов или систем. Также может потребоваться тестирование программного обеспечения на соответствие договорным или правовым требованиям, а также отраслевым стандартам. 1.2.1 Вклад тестирования в успех На протяжении всей истории компьютеризации довольно часто поставка программного обеспечения и систем в эксплуатацию из-за наличия дефектов приводила к сбоям или иным образом не отвечала потребностям заинтересованных лиц. Однако, использование соответствующих методов тестирования может снизить частоту таких проблемных поставок, если эти методы применяются с соответствующим уровнем опыта тестирования, на соответствующих уровнях тестирования и соответствующих этапах жизненного цикла разработки программного обеспечения. Например: Наличие тестировщиков, участвующих в рецензировании требований или уточнении пользовательских историй, может обнаружить дефекты в этих рабочих продуктах. Выявление и устранение дефектов требований снижает риск разработки неправильной или нетестируемой функциональности. Наличие тесного сотрудничества тестировщиков с проектировщиками системы во время проектирования системы может повысить понимание архитектуры системы и способов тестирования каждой стороной. Такое более глубокое понимание снижает риск возникновения фундаментальных дефектов проектирования и даёт возможность определить тесты на ранней стадии. Наличие тесного взаимодействия тестировщиков с программистами во время разработки кода может улучшить понимание кода и способов его тестирования каждой стороной. Такое более глубокое понимание снижает риск возникновения дефектов в коде и тестах. Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 15 of 94 24 февраля 2019 © International Software Testing Qualifications Board Наличие тестировщиков для валидации и верификации программного обеспечения до релиза может обнаружить сбои, которые в противном случае могли быть пропущены, и поддержать процесс устранения дефектов, вызвавших отказы (т.е. отладку). Это повышает вероятность того, что программное обеспечение удовлетворяет потребностям заинтересованных лиц и соответствует требованиям. В дополнение к этим примерам достижение определенных целей тестирования (см. раздел 1.1.1) способствует общей успешной разработке и сопровождению программного обеспечения. 1.2.2 Обеспечение качества и тестирование Хотя люди часто используют фразу «обеспечение качества» (или просто QA) для обозначения тестирования, тем не менее, обеспечение качества и тестирование не одно и то же, но эти понятия связаны. Их объединяет более крупное понятие - управление качеством. Управление качеством включает все виды деятельности, которые направляют и контролируют организацию в отношении качества. Помимо других видов деятельности, управление качеством содержит как обеспечение качества, так и контроль качества. Обеспечение качества, как правило, сосредоточено на соблюдении соответствующих процессов для обеспечения уверенности, что будут достигнуты соответствующие уровни качества. Если процессы осуществляются должным образом, рабочие продукты, созданные этими процессами, как правило, более высокого качества, что способствует предотвращению дефектов. Кроме того, использование анализа первопричин для выявления и устранения причин дефектов вместе с надлежащим применением результатов ретроспективы для улучшения процессов имеет большое значение для эффективного обеспечения качества. Контроль качества включает различную деятельность, в том числе работы по тестированию, которые поддерживают достижение соответствующего уровня качества. Работы по тестированию являются частью общего процесса разработки и сопровождения программного обеспечения. Поскольку обеспечение качества связано с надлежащим выполнением всего процесса, обеспечение качества поддерживает надлежащее тестирование. Как указано в разделах 1.1.1 и 1.2.1, тестирование способствует достижению качества. 1.2.3 Ошибки, дефекты и отказы Человек может совершить ошибку (просчет), которая может привести к появлению дефекта (недочета, помехи) в коде программы или в каком-либо другом сопутствующем продукте. Ошибка, приводящая к появлению дефекта в одном рабочем продукте, может вызвать ошибку, приводящую к появлению дефекта в связанном рабочем продукте. Например, ошибка извлечения требований может привести к дефекту требований, который затем приводит к ошибке программирования, что приводит к дефекту в коде. Если дефект в коде выполняется, это может (но не обязательно во всех ситуациях) привести к отказу. Например, для некоторых дефектов требуются очень специфические входные данные или предварительные условия, чтобы вызвать отказ, который может произойти редко или никогда. Ошибки могут возникать по многим причинам. Например, Нехватка времени Человек может ошибаться Неопытные или недостаточно квалифицированные участники проекта Недопонимание между участниками проекта, включая недопонимание требований и проектирования Сложность кода, проектирования, архитектуры, основной проблемы, которую надо решить, и или используемых технологий Сертифицированный тестировщик Программа обучения базового уровня International Software Testing Qualifications Board Версия 2018 Страница 16 of 94 24 февраля 2019 © International Software Testing Qualifications Board Непонимание внутрисистемных и межсистемных интерфейсов, особенно когда таких внутрисистемных и межсистемных взаимодействий много Новые, незнакомые технологии Кроме отказов, вызванных дефектами в коде, отказы также могут быть вызваны условиями окружающей среды. Например, радиация, электромагнитные поля и загрязнения могут вызвать отказ в программно-аппаратных средствах или повлиять на выполнение программного обеспечения, изменяя условия работы аппаратных средств. Не все неожиданные результаты теста являются отказами. Ложные срабатывания могут возникать из-за ошибок в способе выполнения тестов, из-за дефектов в тестовых данных, тестовой среде или другом тестовом окружении, а также по другим причинам. Может возникнуть и обратная ситуация, когда подобные ошибки или дефекты приводят к ошибочным негативным тестам. Ошибочные негативные тесты – это тесты, которые должны были обнаружить, но не обнаружили дефекты. Ошибочные позитивные тесты – это тесты, которые обнаружили дефекты, не являющиеся реальными дефектами. 1.2.4 Дефект, первопричина и эффект Первопричины дефектов – это самые ранние действия или условия, которые способствовали созданию дефектов. Дефекты можно проанализировать для поиска первопричины, чтобы уменьшить возникновение подобных дефектов в будущем. Обращая внимание на наиболее существенные первопричины, анализ первопричин может привести к улучшению процессов, которые предотвратят появление значительного числа будущих дефектов. Например, предположим, что одна строка неправильного кода приводит к жалобам клиента, что процентные платежи неверны. Дефектный код был написан для пользовательской истории, которая была неоднозначна, из-за того, что владелец продукта не понимал, как рассчитать проценты. Если в расчетах процентов существует большое количество дефектов, и первопричина этих дефектов в подобных недоразумениях, то можно обучить владельца продукта расчетам процентов, чтобы уменьшить такие дефекты в будущем. В данном примере жалобы клиентов – это эффекты. Неправильные выплаты процентов являются отказами. Неправильный расчет в коде является дефектом, и он является результатом исходного дефекта - неоднозначности пользовательской истории. Первопричиной первоначального дефекта было отсутствие знаний у владельца продукта, который в свою очередь допустил ошибку при написании пользовательской истории. Процесс анализа первопричин обсуждается в программе подготовки ISTQB Экспертного уровня Тест Менеджер и в программе подготовки ISTQB Экспертного уровня Улучшение тестового процесса. 1.3 Семь принципов тестирования За последние пятьдесят лет был предложен ряд принципов тестирования, которые являются общим руководством для тестирования в целом. |