Disclaimer This presentation is for educational purpose only It does not constitute the opinion of Microsoft Corporation
CООБРАЖЕНИЯ О ТЕСТИРОВАНИИ И ГОТОВНОСТИ ПО Григорий Мельник Microsoft patterns & practices
Качество
Качество относительно
5 Роль тестирования
Влияние экономики
Уровень качества Прибыль Минимум Качества с Максимумом Прибыли Закон убывающей предельной полезности
Процесс приёмки Решение о готовности Оценка готовности Производство Решение о приёмке Приёмочное тестирование Недостаточно данных по качеству Недостаточно функциональности и качества Недостаточно данных по качеству Недостаточно функциональности и качества
Выход в свет
Функции/Возможности/Features MMF = Minimum Marketable Functionality Готовность Выход в свет MQR = Minimum Quality Requirement RAT = Ready for Acceptance Testing
Прогресс «выхода в свет» Время «Водопад»/ Тейлорический процесс Экстремальное Программирование (ЭП) Инкрементный процесс с циклами дольше, чем ЭП
Done-Done (Feature Level) – The acceptance criteria are specified and agreed upon – The team has a test/set of tests (preferably automated) that prove the acceptance criteria are met – The code to make the acceptance tests pass is written – The unit tests and code are checked in – The CI server can successfully build the code base – The acceptance tests pass on the bits the CI server creates – No other acceptance tests or unit tests are broken – User documentation is updated – The product owner signs off on the story readiness = готовность
Done-Done (Release Level) – All MMF features are included in the RC build. – A security review has been conducted. – Test team is confident that none of the included features has a significant risk of causing problems in the production environment, i.e. MQR is met, incl: – no Sev 1 or 2 known bugs unsolved – config testing, side-by-side – min localizability – min globalization testing – accessibility (Level 0) – user experience – performance – Business compliance achieved – Policheck completed – There are clear, concise deployment and rollback instructions for the operations team. – There are clear trouble-shooting scripts and knowledge base articles for use by the help desk representatives. – All included features have been demoed to and accepted by the product owner. acceptance = приёмка
КОМПОНЕНТНЫЕ ТЕСТЫ СИСТЕМНЫЕ ТЕСТЫ БЛОЧНЫЕ ТЕСТЫ Традиционная стратегия
КОМПОНЕНТНЫЕ ТЕСТЫ СИСТЕМНЫЕ ТЕСТЫ БЛОЧНЫЕ ТЕСТЫ Альтернативная стратегия
Дизайн для тестирования
Подкожное Тестирование
Гипотеза Эквивалентности Мартина-Мельника IEEE Software, 25(1): 54-59, 2008
Автоматизация тестирования
Record & Playback != Качественная автоматизация тестирования
Record & Refactor спешит на помощь [TestMethod] public void CanEnableNotificationsAndSetUp Rule() { Login("csrTestUser01", "pa$$w0rd"); SearchForCustomer("Cook"); EnsureThatSelectedCustomerIs("Cook;Kevin;123 Elm;City;WA;12457"); RetrieveSelectedCustomerInformation(); SelectManageNotifications(); EnableNotificationsVia (); EnsureThatItpsIsEnabled(); EnsureThatNotificationsWillBeSentVia(" "); CreateNewRuleForThousandDollarTransactionsInTheUnitedStates(); EnsureThatOneNotificationRuleExists(); }
Ботиночное Тестирование
Целостность команды
КАЧЕСТВО ОТНОСИТЕЛЬНО GOOD ENOUGH КУЛЬТУРА ИНФОРМАЦИОННОГО СЕРВИСА ПИРАМИДА РАСПРЕДЕЛЕНИЯ ТЕСТОВЫХ УСИЛИЙ ДИЗАЙН ДЛЯ ТЕСТИРОВАНИЯ АВТОМАТИЗАЦИ Я RECORD & REFACTOR ПОДКОЖНОЕ ТЕСТИРОВАНИЕ НАБОР ИНСТРЕМЕНТАРИЕВ ВЫХОД В СВЕТ ВНУТРЕННЯЯ ГОТОВНОСТЬ ПРИЁМКА ПОКУПКА/ИСПОЛЬЗОВАНИЕ ОБРАТНАЯ СВЯЗЬ БЫСТРАЯ ОТ ВСЕХ СТОРОН ВКЛЮЧАЯ КОД ЗДОРОВАЯ КОМАНДА ЦЕЛОСТНОСТЬ МАЛЫЙ BUG DEBT ИТОГ И УРОКИ
СПАСИБО ЗА ВНИМАНИЕ! ОБРАТНАЯ СВЯЗЬ: gmelnik.com TestingGuidance.codeplex.com