Тест-сертификация
Тест-сертификация
В начале книги Патрик Коупленд замечает, как сложно было привлечь разработчиков к тестированию. Первым делом мы создали им отличную компанию и наняли технически подкованных тестировщиков. А чтобы втянуть разработчиков в процесс, мы придумали «Тест-сертификацию». Оглядываясь назад, можно сказать, эта программа сыграла важную роль в становлении культуры тестирования разработчиками в Google.
Тест-сертификация начиналась как соревнование. Будут ли разработчики серьезно относиться к тестированию, если мы сделаем эту работу престижной? Что, если награждать разработчиков, которые следуют тестовым практикам? А что, если мы скажем, что они теперь сертифицированные инженеры? А может, еще ввести систему наградных бейджей (рис. 2.12), которыми можно пощеголять перед коллегами?
Рис. 2.12. Бейджи тест-сертификации показываются на вики-страницах проектов
Мы изобрели тест-сертификацию — это система заданий по тестированию, которые должна выполнить команда, чтобы стать сертифицированной. Все команды начинают с нулевого уровня. Если команда показывает мастерство базовой гигиены кода, ей дается первый уровень. Уровень команды постепенно растет с тем, как она учится писать все более чистый код. В игре в сертификацию всего пять уровней, как и во многих серьезных моделях зрелости разработки ПО.
Краткое описание уровней Тест-сертификации
Уровень 1
— Создать пакеты тестового покрытия.
— Установить систему непрерывной сборки.
— Ранжировать тесты на малые, средние и большие.
— Определить недетерминированные тесты.
— Создать набор смоук-тестов.
Уровень 2
— Не выпускать, пока не пройдут все тесты.
— Обязательно выполнять смоук-тесты до отправки кода.
— Инкрементальное покрытие всеми тестами не меньше 50%.
— Инкрементальное покрытие малыми тестами не меньше 10%.
— Хотя бы одна фича покрыта интеграционным тестом.
Уровень 3
— Создавать тесты для всех нетривиальных изменений
— Общее покрытие малыми тестами не меньше 50%.
— Важные новые фичи покрыты интеграционными тестами.
Уровень 4
— Смоук-тесты запускаются автоматически перед отправкой нового кода.
— Смоук-тесты проходят за время меньше 30 минут.
— Нет недетерминированных тестов.
— Общее тестовое покрытие не меньше 40%.
— Тестовое покрытие только малыми тестами не меньше 25%.
— Все важные фичи покрыты интеграционными тестами.
Уровень 5
— Добавить тест к исправлению всех нетривиальных багов.
— Активно использовать доступные средства анализа.
— Общее тестовое покрытие не меньше 60%.
— Тестовое покрытие только малыми тестами не меньше 40%.
Сначала мы обкатали программу на нескольких командах разработчиков, которые и так были позитивно настроены по отношению к тестированию. Они хотели улучшить свои навыки. Когда мы сбалансировали механизм наград, мы объявили открытым большое соревнование за бейджи по всей компании. Наша программа была принята на ура.
Продать нашу идею оказалось не так сложно, как казалось. Команды разработки только выигрывали от этого:
— Они получали поддержку от опытных тестировщиков, которые согласились стать наставниками тест-сертификации. Ресурсы тестирования всегда в дефиците, а присоединившись к программе, команда получала больше тестировщиков, чем ей было положено официально.
— Они получали помощь экспертов и учились лучше писать малые тесты.
— Они видели, какие команды лучше проводят тестирование, и понимали, у кого стоило учиться.
— Они могли похвастаться перед другими командами своим уровнем тест-сертификации.
Вся компания могла следить, как команды разработки зарабатывают уровни.
Руководители разработки успешных команд получали хорошие отзывы от руководителей направления продуктивности разработки. Команды, которые выражали скептицизм и подтрунивали над участвующими, на самом деле рисковали. Если ресурсы тестирования так сложно получить, зачем лишний раз разочаровывать ребят из направления продуктивности? Конечно, не все шло гладко. Дадим слово людям, которые руководили этой программой.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Тест 1
Тест 1 Вопрос 1Платформа Андроид основывается на операционной системе:LinuxMACUnixWindows CEWindows XPВопрос 2Архитектура платформы Андроид состоит из:Приложений, фреймворка приложений, библиотек, среды выполнения Андроид, ядра Linux.Приложений, библиотек, фреймворка библиотек, среды
Тест 3
Тест 3 Вопрос 1Что выполняет следующий код:Intent intent = new Intent (FirstActivity. this, SecondActivity. class);Создает скрытое намерение.Создает неявное намерение.Создает явное намерение.Запускает активность.Вопрос 2Что из следующего не верно для Intents?Активирует Activity.Активирует Service.Активирует
Тест 5
Тест 5 Вопрос 1Стили, строки и массивы размещаются в:/res/layout/res/strings/res/arrays/res/styles/res/valuesВопрос 2Dalvik VM является частью:Core LibrariesLibrariesApplicationKernelAndroid RuntimeВопрос 3Content Provider являются частью:ApplicationCore librariesApplication FrameworkKernelLibrariesВопрос 4Чем является R. java?Авто-сгенерированный файл
Тест 6
Тест 6 Вопрос 1Какой максимальный поддерживаемый размер файла для одного файла APK (исключая пакеты расширения) в Google Play Store?50 MB2GB30MBНеограниченноВопрос 2Какой максимальный поддерживаемый размер одного файла расширения в Google Play Store?50 MB2GB30MBНеограниченноВопрос 3Какое
9 Стандартизация, сертификация и госзаказ
9 Стандартизация, сертификация и госзаказ Своевременная и разумная стандартизация форматов данных и протоколов обмена ими, как один из базовых процессов в сфере программного обеспечения, способна эффективно поддерживать конкуренцию на рынке разработки и поставки
Что станет с тест-директором и тест-менеджером
Что станет с тест-директором и тест-менеджером Как все эти ролевые изменения отразятся на менеджерах, директорах и вице-президентах по тестированию? Их станет меньше. Те из них, у кого есть технические знания, перейдут на другие роли, более подходящие их инженерной
Тест на IQ
Тест на IQ В данном разделе мы познакомимся с небольшой программой, предназначенной для проведения теста на уровень интеллекта, которая так и называется – «IQ Тест». Эта программа проста в обращении и не требует установки.После запуска исполняемого файла на экране
Тест № 1
Тест № 1 Для проведения первого теста были использованы случайным образом отобранные из коллекции (579 штук) четыре экземпляра вредоносного кода:? TrojanDownloader.13547;? Backdoor. Win32Optix.b;? Trojan-Win32PSW.QQRob.16;? Trojan-Win32PSW.QQShou.EH.Каждый экземпляр был пропущен через PeStubOEP (программа предназначена
Тест № 2
Тест № 2 Тест включает в себя упаковку одного вируса несколькими упаковщиками. В качестве «зло-кода» был использован известный Virus.Win32.Neshta.b. Итак, результаты.Пропускаем нашего "нечто" через WinUpack:? Nod32 2.7 "-";? "Антивирус Касперского 6.0" "+";? Vba32 "+" (рис. 5.13). Рис. 5.13. Neshta – не уйдет!
Тест № 3
Тест № 3 В данном тесте был использован генератор вирусов APOKALIPSES. Из десяти сгенерированных экземпляров Vba32 обнаружил 8, Nod32 2.7 – 9, «Антивирус Касперского 6.0» обнаружил все.Для проведения четвертого теста был использован свеженаписанный вирус, форматирующий диски. Данный
Тест № 4
Тест № 4 Рис. 5.16. «В порядке!»"Антивирус Касперского 6.0" также ничего не обнаружил (рис. 5.17). Рис. 5.17. «Опасных объектов не обнаружено!»Лишь Nod32 обнаружил самописный вирус, классифицировав его как модификацию (рис. 5.18). Рис. 5.18. Здесь NOD32 показал себя с самой лучшей
Тест № 5
Тест № 5 Тест на противодействие обфускации. Подправим наш экземпляр (Trojan. Downloader.Win32.Zlob) вручную. Для этого внедрим пару неизвестных инструкций в оригинальный код. Зачем? Чтобы усложнить задачу по эмулированию новых инструкций эвристическим анализатором тестируемого
Тест № 6
Тест № 6 Eicar Test. Именно этот тест используется для проверки работоспособности антивирусных программ. Обоснованность проведения подобного теста при анализе эвристики особенно очевидна: стандартизованность EICAR позволяет получать результаты с минимальными погрешностями
Тест № 7
Тест № 7 Тест на обнаружение полиморфных вариантов. Напомню нашим читателям, что в основе полиморфизма стоит способность вируса к изменению своего кода, так называемой «мутации» – образованию неузнаваемых антивирусом форм, что, к слову будет сказано, является идеальным
Кросс-сертификация
Кросс-сертификация Кросс-сертификация - это механизм связывания вместе удостоверяющих центров, ранее не имевших связей друг с другом, таким образом, что становятся возможными защищенные коммуникации между соответствующими сообществами субъектов. Фактически