Стратегии модельного тестирования

Мне было интересно, есть ли способ замедлить «push segue & amp; назад ", как Tinder & amp; Snapchat делает. Это как обычный segue, но это как-то медленно проходит.

Как вам сказали, вы просто пишете настраиваемую анимацию перехода. Дайте контроллеру навигации делегат и реализуйте navigationController:animationControllerForOperation:fromViewController:toViewController:. В основном вы просто поставляете объект, который реализует протокол UIViewControllerAnimatedTransitioning. В качестве части этого параметра вы указываете продолжительность анимации.

позволяют замедлить segue глобально для всего приложения?

Если все ваши контроллеры навигации имеют этот же делегат, или если все делегаты поставляют этот же объект UIViewControllerAnimatedTransitioning, все переходы push / pop будут использовать один и тот же код и будут работать одинаково.

12
задан ɢʀᴜɴᴛ 19 July 2017 в 17:17
поделиться

4 ответа

Мы не сделали никакого/очень I&T и используем поблочное тестирование почти исключительно, закаленный небольшим количеством тестирования системы. Но наш фокус находится ясно на поблочном тестировании. Я довольно строг на API, которые мы создаем/обеспечиваем, таким образом, предположение, если оно будет работать отдельно, то оно будет работать в соединении, и там еще не было много неправильным в нем.

Наши модели фокусируются на единственной цели/модуле с как можно меньшими зависимостями.

Фокус должен всегда запускаться как можно раньше (TDD - своего рода), но к сожалению мы не всегда добираемся до него. Проблема, всегда необходимо продавать ее управлению, и затем это твердо, потому что, в то время как тестирование улучшает устойчивость (полный QA), люди с внешней стороны (за пределами технологии) не могут действительно коснуться того, что это означает, пока чего-то плохо не произошло.

Так как мы используем PHP, мы используем PHPUnit для модульных тестов. В целом, мы делаем CI со всевозможными инструментами.:)

1
ответ дан 2 December 2019 в 20:20
поделиться

[Есть несколько эссе, которые стоит прочитать по этому поводу. Stack Overflow не позволит мне опубликовать более одного, поэтому я собрал их в блоге, ссылка на который есть в конце этого ответа.]

Во-первых, небольшое примечание по условиям. Я обычно использую определение тестирования Джеймсом Бахом как «вопрос о продукте с целью его оценки». Все тесты основаны на / mental / моделях тестируемого приложения. Термин модельно-ориентированное тестирование обычно используется для описания программирования модели, которую можно исследовать с помощью автоматизации. Например, можно указать количество состояний, в которых может находиться приложение, различные пути между этими состояниями и определенные утверждения о том, что должно происходить при переходе между этими состояниями. Затем можно заставить скрипты выполнять полуслучайные перестановки переходов в модели состояния, регистрация потенциально интересных результатов.

Здесь есть реальные затраты: построение полезной модели, создание алгоритмов для ее изучения, системы регистрации, которые позволяют отсеивать интересные неудачи и т. д. Независимо от того, разумны ли затраты, есть много чего сделать с , на какие вопросы вы хотите ответить? В общем, начните с «Что я хочу знать? И как мне лучше узнать об этом? » вместо того, чтобы искать применение интересной технике.

С учетом всего сказанного, некоторые отличные тестировщики извлекли немало пользы из автоматизированных тестов на основе моделей. Иногда у нас возникают важные вопросы о тестируемом приложении, которые лучше всего исследовать с помощью автоматизированных полурандомизированных тестов большого объема. Гарри Робинсон (один из ведущих теоретиков и сторонников тестирования на основе моделей) описывает один очень красочный пример, в котором он обнаружил много интересных ошибок в направлениях движения Google с помощью теста на основе моделей (написанного с использованием библиотеки Watir Ruby). 1

Робинсон успешно использовал MBT в таких компаниях, как Bell Labs, Microsoft и Google, и написал ряд полезных эссе. [2]

Бен Симо (еще один великий мыслитель и писатель по тестированию) также написал о тестировании на основе моделей, которое стоит прочитать. [3]

Наконец, несколько предостережений: чтобы эффективно использовать стратегию, нужно исследовать как ее сильные, так и слабые стороны. С этой целью Джеймс Бах отлично рассказал об ограничениях и проблемах модельно-ориентированного тестирования. В этом сообщении в блоге Баха есть ссылки на его часовую беседу (и связанные с ней слайды). [4]

Я закончу замечанием о том, что Борис Бейзер называет парадоксом пестицидов: «Каждый метод, который вы используете для предотвращения или обнаружения ошибок, оставляет остаток более тонких ошибок, против которых эти методы неэффективны». Скриптовые тесты (выполняемые компьютером или человеком) особенно уязвимы для парадокса пестицидов, стремясь находить все менее и менее полезную информацию каждый раз, когда выполняется один и тот же сценарий. Люди иногда обращаются к тестированию на основе моделей, думая, что оно решает проблему пестицидов. В некоторых контекстах тестирование на основе моделей может обнаружить гораздо больший набор ошибок, чем заданный набор тестов по сценариям… но следует помнить, что он все еще фундаментально ограничен Парадоксом пестицидов. Помня о его ограничениях - и начиная с вопросов, на которые MBT хорошо отвечает - он может стать очень мощной стратегией тестирования.

Ссылки на все упомянутые выше эссе можно найти здесь: http://testingjeff.wordpress.com/2009/06/03/question-about-model-based-testing/

14
ответ дан 2 December 2019 в 20:20
поделиться

Лучший способ - попробовать самостоятельно инструмент тестирования на основе модели. Это лучший способ узнать, адаптировано ли тестирование на основе модели в вашем контексте.

Я советую вам инструмент «MaTeLo» от All4Tec (www.all4tec.net)

«MaTeLo - это генератор тестовых примеров для функционального и системного тестирования черного ящика. Соответствует Подход к тестированию на основе моделей, MaTeLo использует цепи Маркова для моделирования теста.Это статистическое дополнение позволяет систематически проверять продукты. Эффективность достигается за счет сокращения необходимых человеческих ресурсов, увеличения повторного использования модели и повышения релевантности стратегии тестирования (из-за цели надежности). MaTeLo является независимым и удобным для пользователя, предлагает действия по валидации, чтобы перейти от написания сценариев тестирования к реальной разработке тестирования и сосредоточиться на реальной добавленной стоимости тестирования: планах тестирования »

Вы можете запросить лицензию на оценку и попробовать себя .

Вы можете найти несколько примеров здесь: http://www.all4tec.net/wiki/index.php?title=Tutorials

0
ответ дан 2 December 2019 в 20:20
поделиться

Гарри Робинсон, автор книг по MBT и много работавший с ним, например, в Google и Microsoft, имеет этот сайт с отличной информацией и документами.

http://www.geocities.com/model_based_testing/

1
ответ дан 2 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: