Upload
sqalab
View
58
Download
1
Embed Size (px)
Citation preview
Тестирование требованийили пользовательские требования в жизни тестировщика
Пользовательские требования в жизни тестировщикаТаисия Толстунова2
Кто я?
Таисия Толстунова
В тестировании/ТМ – 10/7 летЛюблю требования :)
в явном виде работаю:
с требованиями > 5 лет,с пользовательскими требованиями 1,5 года
Пользовательские требования в жизни тестировщикаТаисия Толстунова3
Признаки и предпосылки
Пользовательские требования в жизни тестировщикаТаисия Толстунова4
Признаки
• График сходимости дефектов не сходится
Пользовательские требования в жизни тестировщикаТаисия Толстунова5
Признаки
• График сходимости дефектов не сходится
• Ранее разработанный функционал меняется от релиза к релизу
Пользовательские требования в жизни тестировщикаТаисия Толстунова6
Признаки
• График сходимости дефектов не сходится
• Ранее разработанный функционал меняется от релиза к релизу
• Сроки релизов срываются, постоянно
Пользовательские требования в жизни тестировщикаТаисия Толстунова7
Признаки
• График сходимости дефектов не сходится
• Ранее разработанный функционал меняется от релиза к релизу
• Сроки релизов срываются, постоянно
• Пользователи отказываются от продукта
Пользовательские требования в жизни тестировщикаТаисия Толстунова8
Признаки
• График сходимости дефектов не сходится
• Ранее разработанный функционал меняется от релиза к релизу
• Сроки релизов срываются, постоянно
• Пользователи отказываются от продукта
• Требования «в данный момент» и «глобально нужно» не совпадают
Пользовательские требования в жизни тестировщикаТаисия Толстунова9
Признаки
• График сходимости дефектов не сходится
• Ранее разработанный функционал меняется от релиза к релизу
• Сроки релизов срываются, постоянно
• Пользователи отказываются от продукта
• Требования «в данный момент» и «глобально нужно» не совпадают
• При этом… возникает мысль «А если бы мы всё обсудили заранее,
не нужно было бы переделывать и сроки бы не сорвали»
Пользовательские требования в жизни тестировщикаТаисия Толстунова10
Пример
• Сколько родителей у одного ребенка?
Пользовательские требования в жизни тестировщикаТаисия Толстунова11
Пример
• Сколько родителей у одного ребенка?
• Скольким нужен доступ к электронному дневнику?
Пользовательские требования в жизни тестировщикаТаисия Толстунова12
Пример
• Сколько родителей у одного ребенка?
• Скольким нужен доступ к электронному дневнику?
• А если родители в разводе и повторно женаты/замужем?
Пользовательские требования в жизни тестировщикаТаисия Толстунова13
Пример
• Сколько родителей у одного ребенка?
• Скольким нужен доступ к электронному дневнику?
• А если родители в разводе и повторно женаты/замужем?
• А если опекунами ребенка являются не родители?
Пользовательские требования в жизни тестировщикаТаисия Толстунова14
Пример
• Сколько родителей у одного ребенка?
• Скольким нужен доступ к электронному дневнику?
• А если родители в разводе и повторно женаты/замужем?
• А если опекунами ребенка являются не родители?
• Сколько раз по вашему менялась цифра в ПО?
Пользовательские требования в жизни тестировщикаТаисия Толстунова15
Пример
• Сколько родителей у одного ребенка?
• Скольким нужен доступ к электронному дневнику?
• А если родители в разводе и повторно женаты/замужем?
• А если опекунами ребенка являются не родители?
• Сколько раз по вашему менялась цифра в ПО?
И представьте, что в какой-то момент в результате данного кейса в ПО
были задублированы и сами дети =)
Пользовательские требования в жизни тестировщикаТаисия Толстунова16
ТребованияЧто это? Что может сопутствовать?
Пользовательские требования в жизни тестировщикаТаисия Толстунова17
Требования - определение
Пользовательское требование – задача, которую определенные классы
пользователей должны иметь возможность выполнять в системе, или
требуемый атрибут продукта (К. Вигерс)
Пользовательские требования в жизни тестировщикаТаисия Толстунова18
Документирование требований
Пользовательские требования в жизни тестировщикаТаисия Толстунова19
Документирование требований
• Стикерами на ватмане
• Маркером на доске
• Просто текстом
• Use case (вариант использования)
• User story (пользовательская история)
• Любой другой вариант (стандарты предприятия)
Пользовательские требования в жизни тестировщикаТаисия Толстунова20
Артефакты вместе с требованиями
• CRUDL матрицы объектов
• RACI матрицы объектов
• Прототипы интерфейсов
• Списки требований
• Словарь терминов
• Списки заинтересованных лиц и их интересов
Пользовательские требования в жизни тестировщикаТаисия Толстунова21
Примерыи немного о свойствах требований
Пользовательские требования в жизни тестировщикаТаисия Толстунова22
Свойство ясность – вопросы аббревиатур и терминологии
Пользовательские требования в жизни тестировщикаТаисия Толстунова23
Свойство ясность – вопросы аббревиатур и терминологии
CRUDL (действий):C – createR – readU – updateD – deleteL – list
RACI (ответственности):R – responsible A – accountableC – consumedI – informed
Пользовательские требования в жизни тестировщикаТаисия Толстунова24
Свойство ясность – вопросы аббревиатур и терминологии
Роль vs Должность
Пользовательские требования в жизни тестировщикаТаисия Толстунова25
Свойство ясность – определение
Требование должно быть недвусмысленным, определенным,
однозначным с определенными терминами. Используемая лексика
должна быть понятна.
В том числе и в рамках использования одних и тех же терминов в
наборе требований.
Пользовательские требования в жизни тестировщикаТаисия Толстунова26
Свойство трассируемость
Требование к системе: сквозная авторизация в системе
Для программных комплексов необходимо данное требование учесть,
несмотря на то, что это функциональное требование.
Пользовательские требования в жизни тестировщикаТаисия Толстунова27
Свойство трассируемость – определение
Возможность отследить связь между разными уровнями требований:
• вверх
• к требованиям системы
• к ТЗ
• вниз
• к функциональным требованиям (постановкам)
• к ПО
Пользовательские требования в жизни тестировщикаТаисия Толстунова28
Свойство полнота
В системе есть объект
справочника, который можно
просматривать и изменять.
Пользовательские требования в жизни тестировщикаТаисия Толстунова29
Свойство полнота
В системе есть объект
справочника, который можно
просматривать и изменять.
Вопросы:
• Кто?
• Что именно делает?
• Есть ли какие-то условия?
• Есть ли какие-то ограничения?
• CRUDL?
Пользовательские требования в жизни тестировщикаТаисия Толстунова30
Свойство полнота – определение
Полнота отдельного требования – текст требования не требует
дополнительной детализации, то есть в нем предусмотрены все
необходимые нюансы, особенности и детали данного требования
Полнота системы требований – совокупность артефактов,
описывающих требования, исчерпывающим образом описывает все то,
что требуется от разрабатываемой системы
Пользовательские требования в жизни тестировщикаТаисия Толстунова31
Еще примеры
Пользовательские требования в жизни тестировщикаТаисия Толстунова32
Нормативная информация и аббревиатуры
4.3.4. Техническая поддержка и обновление сайта ВУЗ
4.3.4.1. В ОИ поступает заявка на создание нового ЭУК. В заявке
указывается название курса, фамилия куратора и сроки обучения.
4.3.4.2. Специалист по УМР ОИ принимает и подписывает поступившие
заявки.
Пользовательские требования в жизни тестировщикаТаисия Толстунова33
Нормативная информация и аббревиатуры
4.3.4. Техническая поддержка и обновление сайта ВУЗ
4.3.4.1. В ОИ поступает заявка на создание нового ЭУК. В заявке
указывается название курса, фамилия куратора и сроки обучения.
4.3.4.2. Специалист по УМР ОИ принимает и подписывает поступившие
заявки.
Какими документами необходимо руководствоваться специалисту?
Каким нормам, законам и ГОСТ-ам должна соответствовать система?
Пользовательские требования в жизни тестировщикаТаисия Толстунова34
Тестируемость и полнота
Система управления контентом сайта должна обеспечить
администратору сайта возможность авторизации и разграничения прав
для неограниченного количества операторов сайта.
Пользовательские требования в жизни тестировщикаТаисия Толстунова35
Тестируемость и полнота
Система управления контентом сайта должна обеспечить
администратору сайта возможность авторизации и разграничения прав
для неограниченного количества операторов сайта.
• Существует ли роль «Пользователь»?
• Может ли администратор редактировать свой аккаунт?
• Могут создаваться дополнительные разграничения прав?
• Как можно назначить администратора?
Пользовательские требования в жизни тестировщикаТаисия Толстунова36
Требования не к ПО
Пользовательские требования в жизни тестировщикаТаисия Толстунова37
Требования не к ПО
Пользовательские требования в жизни тестировщикаТаисия Толстунова38
Требования не к ПО
На которой вы стороне сейчас?
• Что происходит с монстрами?
• А даётся ли манчкинам уровень?
• Что происходит, если карту играет
отбивающийся манчкин?
Пользовательские требования в жизни тестировщикаТаисия Толстунова39
Зачем тестировать требования?и кому это нужно
Пользовательские требования в жизни тестировщикаТаисия Толстунова40
Кому нужно тестирование требований?
• Клиенту
• Конечным пользователям
• Команде и продукту в целом
• Проекту
Пользовательские требования в жизни тестировщикаТаисия Толстунова41
Почему важно клиенту и пользователям?
• Проще согласовывать требования (и уменьшается количество
итераций)
• У клиента есть понимание, что именно будет реализовано и для чего
• Заранее известно, что реализовать невозможно
• Не нужно привыкать к новым реализациям привычного функционала
• Кейсы для пользователей учитываются при разработке и становятся
возможны к использованию
Пользовательские требования в жизни тестировщикаТаисия Толстунова42
Почему важно команде и продукту в целом?
• Общее понимание требований у всей команды
• Видны противоречия с ранними требованиями в пожеланиях
• Не планируется реализовать невозможное
• Не забываются «мелочи»
• …
• Экономятся средства за счет исправления ошибок не в стадии
готового продукта
Пользовательские требования в жизни тестировщикаТаисия Толстунова43
Почему важно проекту?
• Функционал реализуется 1 раз, отсутствует постоянная переработка
• Можно более точно планировать сроки и объем выполнения работ
Пользовательские требования в жизни тестировщикаТаисия Толстунова44
Формализация процесса
Пользовательские требования в жизни тестировщикаТаисия Толстунова45
Формализация – что нужно сделать сначала?
• Определить, в каком виде есть требования в вашей команде
• Попробовать тестировать требования, подобрать комфортный для
команды вариант
• Формализовать процесс на бумаге или в голове
Пользовательские требования в жизни тестировщикаТаисия Толстунова46
Формализация – что важно помнить?
• Когда и зачем нужна формализация?
• Кто должен тестировать требования?
• Важен ли порядок тестирования?
• Что брать в основу процесса?
• Формализовать можно не всё
Пользовательские требования в жизни тестировщикаТаисия Толстунова47
Формализация – что важно помнить?
Пользовательские требования в жизни тестировщикаТаисия Толстунова48
Success-story
Пользовательские требования в жизни тестировщикаТаисия Толстунова49
Пример
Заявления подаются в «черную дыру»
Пользовательские требования в жизни тестировщикаТаисия Толстунова50
Пример
Пользовательские требования в жизни тестировщикаТаисия Толстунова51
Пример
1. Сформировали вопросы
2. Через выполняющего роль аналитика задали вопросы заказчику
3. Согласовали итоговый вариант после нескольких итераций
4. Стали реализовывать логику внутри ПО
К моменту ввода системы в эксплуатацию – ошибки не было
Пользовательские требования в жизни тестировщикаТаисия Толстунова52
Материалы по тестированию требований
Пользовательские требования в жизни тестировщикаТаисия Толстунова53
Материалы
1. К.Вигерс и Дж.Битти. Разработка требований к ПО
2. Анна Абрамова. Что такое Use Case и зачем они нужны?
3. Алексей Федоров. Шагнуть на встречу тестированию требований
4. Сергей Мартыненко.
Написание тестов, как вид тестирования требований
5. Niels Malotaux. Inspection used in various ways
Пользовательские требования в жизни тестировщикаТаисия Толстунова54
Материалы
1. Юлия Нечаева. Тестирование требований: КАК?
2. Андрей Курьян. Метод VCM+
для выявления противоречий в требованиях заинтересованных лиц
3. Сергей Мартыненко. Приоритизация
методов верификации требований
4. Еще несколько презентаций: 1, 2, 3