Ещё в самом начале предыдущего онлайн-тренинга "Практикум по тест-дизайну" я обещал ученикам написать о том, как выполнять разбиение входных данных на подобласти (классы эквивалетности) в ситуациях, когда в поле ввода можно указать произвольную строку, а по смыслу туда должно быть введено число. Увы, им пришлось выполнять домашние задания без моих подсказок (впрочем, может быть это совсем не плохо). Но я всё таки решил перед тем, как начнутся занятия следующей группы, написать небольшую “шпаргалку”.
Подавляющее большинство книг и статей, где описывается эта техника, в качестве примера рассматривают разбиение на классы множества чисел. При этом совершенно не учитывается тот факт, что в реальных приложениях с пользовательским интерфейсом все поля ввода строковые, и даже если есть ограничения на вводимые символы – это тоже предмет тестирования.
А что рекомендуется делать с “нечислами”? Они все объединяются в один большой класс “невалидных” данных, из него наугад берётся одно-два значения и всё.
И всё? А вот и нет!
Представление о том, что из себя представляет “число” сильно зависит от конкретной реализации, и я покажу вам распространённые примеры строк, которые с точки зрения программы являются числом, хотя не всякий об этом догадается. А также опишу общую схему рассуждений, позволяющую выполнить разбиение на классы эквивалетности для строковых полей ввода, предназначенных для ввода числовых значений.
Как я уже говорил, тестировать игры трудно, и я также упоминал, что создал игру для собеседования тестировщиков. Думаете, я много внимания уделяю умению мыслить как игрок? Именно так. Это связано с тем, что, исходя из моего опыта, люди, мыслящие как игроки – это самые лучшие тестировщики. Об этом я и хочу поговорить.
Начну с того, что я не имею в виду игроков как таковых – я говорю о тех, кто, играя в игры, размышляет о них не только на уровне базовой механики.
Выступление Николая Юденко, Днепропетровск (Украина) на онлайн-конференции для тестировщиков ConfeT&QA, 2011 год.
Какое покрытие требований считается хорошим? 80%, 90%, 100%? От чего это зависит? А как добиться того, чтобы покрытие было 110% или 120%? Как научиться «читать между строк» и находить скрытые требования, которые являются потенциальными источниками ошибок. Как неявные требования могут повлиять на развитие проекта или даже его архитектуру?На примерах я попытаюсь показать, как повысить эффективность тестирования анализируя «явные требования» и находя в них «неявные».
Нефтепереработка все сильнее адаптируется к цифровому веку, и это приводит к большей зависимости от ПО, автоматизированных трудовых процессов и облачных технологий. Парное тестирование становится обычной практикой с целью убедиться в качестве ПО, поддерживающего нефтепереработку – например, цифровой симулятор резервуаров, геологические инструментв, и так далее. Также оно помогает комбинировать знания, использовать различные перспективы, и улучшает коммуникацию, делая процесс тестирования более эффективным. Эта статья описывает некоторые преимущества, которых можно достичь при помощи парного тестирования ПО нефтеперерабатывающей индустрии, и в большинстве случаев это применимо к другим областям и приложениям.
2. Преимущества, связанные с дележкой знаниями.
Одна из основных областей, в которых парное тестирование приносит большую пользу – это дележка знаниями. Ниже перечислены достоинства парного тестирования для нефтеперерабатывающей отрасли:
В одну команду были объединены тестировщики с разным техническим опытом (технические эксперты по нефти, математики, компьютерные инженеры, и т. д.), которые, следовательно, смогли предоставить спектр перспектив и подходов к тестированию.
В одну команду были объединены тестировщики с разным уровнем опыта. Сочетание новых инновационных взглядов со зрелыми опытными умами может дать отличные результаты в плане качества поддержки новой функциональности.
Более тесное взаимодействие с разработчиками и командами портфолио и менеджмента. Два тестировщика создают больше каналов коммуникации, чем один, позволяя знаниям эффективнее распространяться между командами и повышая эффективность разработки.
Сочетание различных практик тестирования. Процесс тестирования может быть разделен между двумя тестировщиками различными способами: одновременное тестирование одной и той же фичи, одновременное тестирование разных фич, тестирование частей одной и той же фичи и ее зависимостей, и т. д. Парное тестирование – это отличная возможность комбинировать различные практики и подходы к тестированию.
Выступление Надежды Дегтяревой (Самара, Mercury Development) на онлайн-конференции Mobile ConfeT&QA.
Системы сбора статистики помогают отслеживать действия пользователей при работе с приложением, чтобы сделать его ещё более функциональным и эффективным, а также значительно облегчают жизнь команде тестирования и разработки.
В своем докладе я хочу помочь вам узнать этих скрытых помощников «в лицо» и рассказать: 1. О том, что умеют популярные системы сбора статистики, и на какой лучше остановить свой выбор. 2. Как облегчить себе жизнь и сделать настройку системы статистики более гибкой с помощью Segment.io 3. Об основных тонкостях интеграции систем сбора статистики и выбора логируемых событий, почему лучше семь раз отмерить 4. Как использовать собранную статистику себе и другим во благо, чтобы создавать действительно качественные и удобные приложения