используйте пкс для точного размещения графических элементов. используйте их для измерений, имеющих необходимость сделать расположение и интервал вокруг текстовых элементов как высота строки и т.д., пкс является точным пикселем, их может измениться динамично со шрифтом, используемым
Взгляните на превосходный фонд MVVM Джоша Смита на Codeplex . В частности, взгляните на класс Messenger, легкий способ передачи сообщений между различными объектами ViewModel, которым не нужно знать друг друга.
Кроме того, я не верю, что существует жесткое правило на «Нет кода в представлении», хотя по возможности лучше избегать ... помните, что ваш XAML - это просто код .net, написанный с декларативным синтаксисом; код программной части - это просто C # или VB.net в дополнение к этому (в случае крайней необходимости!)
Я считаю, что это обычно больше проблема, когда разработчики занимают оборонительную позицию по поводу «своего» кода.Я считаю, что лучший подход на собеседовании - представить сценарии и спросить кандидата, что он думает, например:
Только по ответу на этот вопрос вы можете оценить, является ли кандидат:
и т. Д.
Я не могу также подчеркнуть, насколько важны коммуникативные навыки для отношений разработчик / тестировщик. Попросите тестировщика создать приблизительный отчет об ошибке (любую ошибку, которую он хочет) и обсудить его адекватность (точные шаги, ожидаемое поведение, фактическое поведение, ...).
Помимо более подробных ответов в этой беседе, есть простой вопрос, который часто упускается из виду:
Можете ли вы вести себя как обычный или неопытный пользователь?
Теперь, это кажется глупым, но дает очень хорошее понимание. Если кандидат откровенно говорит «да», они не те, кем кажутся. Ни один человек, который работает в области информационных технологий в роли разработки (в частности), анализа или тестирования, не может этого сделать; просто потому, что мы уже прошли уровень неопытного пользователя. Тогда ответ, который вам следует искать:
Нет, однако я могу создать тестовые примеры, которые могут точно соответствовать «так называемому» поведению обычного пользователя.
Или производным от этого. Это показывает некоторую важную информацию.
Я предлагаю рассмотреть несколько открытые вопросы вроде этого:
Если бы я подошел к вам и сказал: «Могли бы Вы тестируете эту обновку, которую я сделал? "Что были бы ваши первые несколько вопросов?
Вот несколько мыслей, которые я хотел бы задать, задав этот вопрос:
При записи ошибки, что минимум информации, которую вы считаете разработчик должен иметь перед исправлением это?
Это тип вопроса, на который в зависимости от того, какой у них опыт, вероятно, будет определяться их ответ, поскольку следует отметить следующие моменты:
Я упоминаю большинство из них, потому что это то, что я Я бы подумал, спросив, какие параметры у них изначально есть, когда задают расплывчатый вопрос или запрос, который должен содержать больше деталей, но какие детали имеют значение, это загвоздка. Я также хотел бы отметить, сколько времени была сделана пауза, чтобы дать ответ, где я бы сказал, что 15-30 секунд - это нормально, что-то меньшее, и я бы подумал, что это ожидаемый вопрос, и если необходимо больше, тогда следует попросите пару минут подумать над этим, поскольку все дело в том, что, когда возникает такая ситуация, чего ожидают с каждой стороны?
Еще одна идея - упомянуть, какую методологию разработки программного обеспечения вы используете, а затем спросить, какие проблемы связано ли QA с использованием этого подхода? Например, если разработчики используют TDD, как это повлияет на QA? Что, если это будет более водопадный подход? Здесь вы хотите увидеть, насколько хорошо они могут мыслить на ходу, а также какие дополнительные вопросы о том, что используется, задаются, как на самом деле, если я говорю, что мы используем Scrum, насколько хорошо это определяет реализацию общего концепции Scrum, действительно.
Разработчик может проверить, предложив ему сценарий, который должен проверить следующее
Отношение
Обладает ли тестировщик познавательным отношением? Предложите ему сценарий и проверьте, сколько правильных вопросов он задает?
Навыки
В каждом проекте, над которым вы работаете, требуется несколько навыков, связанных с тестированием. Он включает изучение требований, разработку тестов, выполнение тестов и т. Д. на. Проверьте, насколько хорошо тестировщик понимает требования.
Знания
Проверьте широту и глубину тестировщика в той области, в которой вы собираетесь нанять тестировщика. Даже если тестировщик не работает с текущим полем, проверьте, что тестировщик знает об этом поле.
Доступность
Дайте тестеру сценарий, как если бы возникла проблема с клиентом, а разработчик был в отпуске на все неделю. Необходимо срочно решить проблему, и вы, как тестировщик, должны найти первопричину проблемы. Как вы подойдете в такой ситуации
Некоторые из ключевых моментов, которые мы ищем в людях, занимающихся качеством программного обеспечения:
Я думаю, это действительно зависит от типа тестера, который вы ищете. Вы ищете кого-то, кто нажимает на кнопки и говорит вам, что это выглядит неправильно, или вы ищете кого-то, кто сможет понять технологию или даже код и найти более глубокие ошибки? Как разработчик, проходящий собеседование, я могу предположить, что существуют также традиционные типы QA. Если да, они зададут типичные вопросы теста. Вам нужно понять, насколько они технически сложны и как они будут взаимодействовать. С этим в мыслях, попробуйте некоторые из этих вопросов: