По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Техническое собеседование – это один из важнейших этапов в процессе поиска работы. Это не просто шанс продемонстрировать, насколько ваши навыки и опыт соответствуют должности, на которую вы претендуете, но и возможность узнать больше о вашем потенциальном работодателе и команде, с которой вы будете работать. В процессе технического собеседования на должность специалиста по обеспечению качества (QA-специалиста) вам могут задавать вопросы, связанные с разработкой программного обеспечения, чтобы проверить ваши знания. Вопросы, связанные с тестированием программного обеспечения, различными инструментами, которые используются для контроля качества, и тем, как выявлять проблемы в жизненном цикле разработки - все это может быть. Для того, чтобы помочь вам подготовиться, ниже представлен список из 15 наиболее распространенных вопросов, которые задают на собеседовании на должность QA-специалиста, а также советы о том, как на них лучше отвечать. 1. QA – это то же самое, что и тестирование программного обеспечение? Ваш ответ на вопрос такого типа должен включать тот факт, что QA больше фокусируется на анализе процесса разработки программного обеспечения, в то время как тестирование программного обеспечения больше связано с изучением того, как функционируют отдельные элементы приложения. 2. Объясните разницу между терминами «сборка» и «релиз». В контексте тестирования качества эти два термина, как правило, относятся к числам, которые используются для обозначения программного обеспечения. Номер сборки предоставляется группой разработчиков группе тестировщиков для маркировки программного обеспечения. Номер релиза предоставляется заказчику либо командой разработчиков, либо командой тестировщиков. 3. Что означает термин «тестовое обеспечение» или testware? Этот термин используется многими отделами тестирования программного обеспечения, поэтому таких вопросов стоит ожидать. Ваш ответ должен содержать тот факт, что тестовое обеспечение – это артефакты, которые люди используют для создания и запуска тестов, такие как тестовые случаи, планы тестирования и тестовые данные. 4. Что означают термины «утечка багов» (bug leakage) и «релиз багов» (bug release)? Релиз багов – это преднамеренное действие, а утечка багов – случайное. Релиз багов подразумевает, что при отправке приложения команде тестировщиков разработчики знали, что оно содержит ошибки. Но они могут быть не критичными, поэтому можно проводить релиз. Утечка багов подразумевает, что группа тестировщиков не выявила ошибку, и конечный пользователь получает приложение с ошибкой. 5. Что означает «тестирование на основе данных»? Это не самый простой вопрос, так как тестирование на основе данных в контексте контроля качества означает нечто иное. Тестирование на основе данных относится к среде автоматического тестирования, которая проверяет результаты на основе различных входных значений. Эти значения считываются непосредственно из файлов с данными – Excel, файлов CSV, баз данных и других. 6. Что входит в стратегию тестирования? Правильный ответ на данный вопрос продемонстрирует ваше знание концепций высокоуровневого тестирования. При ответе на этот вопрос убедитесь, что вы не забыли упомянуть, что стратегия тестирования включает в себя формирования обзора, составление набора ресурсов, определение области применения и составление графика вашего тестирования и задействованных инструментов. 7. Какие существуют типы тестирования программного обеспечения? При ответе на этот вопрос вы можете упомянуть несколько из следующих классов тестирований, чтобы продемонстрировать, что вы всесторонне понимаете, что такое тестирование программного обеспечение: Интеграционное тестирование. Понимание того, как различные компоненты приложения работают вместе. Регрессионное тестирование. Оценка того, как новые функции влияют на функциональность приложения. Функциональное тестирование. Использование реальных сценариев для того, чтобы проверить, насколько хорошо приложение выполняет то, для чего оно предназначено. Стресс-тестирование. Цель стресс-теста – выяснить, сколько может выдержать приложение, прежде чем сломается, независимо от того, реалистичен сценарий или нет. Тестирование производительности. То же, что и стресс-тест, но отличие в том, что мы пытаемся выяснить, с чем приложение может справиться в реальной ситуации. Юнит-тестирование. Тестирование наименьшей единицы приложения, которую вы можете протестировать. Тестирование белого ящик.а Изучение того, как функционируют внутренние структуры приложения. Тестирование черного ящика. Тестирование без изучения внутренних функций приложения. Smoke-тестирование. Набор предварительных тестов для оценки базовой функциональности, часто проводится перед выпуском или более всесторонним тестированием. 8. Что включают в себя термины «тестирование ветвей» (branch testing) и «граничные испытания» (boundary testing)? Хоть тестирование ветвей и граничные испытания могут показаться чем-то одинаковым, они все же затрагивают разные аспекты тестирования приложений. При тестировании ветвей вы тестируете разные ветви кода. А граничные испытания подразумевают тестирование предельных условий приложения. 9. Что входит в формирование тестовых случаев (тест-кейсов) и планов тестирований? Это важная тема, на которой следует сосредоточится при подготовке к собеседованию на должность QA-специалиста, поскольку то, как вы понимаете эту тему, показывает, насколько вы понимаете принципы, лежащие в основе этой работы. В своем ответе вы должны упомянуть следующее: Цели Сфера применения Контекст Тестирование фрейма Причины проведения тестирования Факторы риска Ожидаемые результаты Критерии для начала/завершения 10. Что подразумевается под Agile-тестированием? Agile – один из недавних терминов, которые стали использовать разработчики по всему миру. Agile-тестирование – это тестирование, в котором используются методологии Agile. Одно из главных отличий – вы не ждете, пока ваша команда разработчиков закончит писать код. Здесь процессы написания программного кода и тестирования проходят одновременно, что предполагает, что тестировщики должны взаимодействовать с несколькими разными членами команды и клиентами. 11. Что означает термин «тест-кейс»? Тест-кейс – это один из основных строительных блоков процесса обеспечения качества. Это касается шагов, сред применения, результатов и предварительных условий, связанных со средой тестирования. 12. Что означает термин «аудит качества»? Аудит качества – это систематическая оценка эффективности системы контроля качества. Иными словами, аудит качества – это проверка того, насколько хорошо качество поддерживается на протяжении всего процесса разработки. 13. Какие инструменты обычно используют тестировщики? Инструменты, которые использует тестировщик для своей работы, могут различаться в зависимости от типа проекта, над которым он работает. Но вот некоторые инструменты, которые вы можете упомянуть в своем ответе: Firebug, OpenSGTA, панель инструментов веб-разработчика для Firefox, Selenium, Postman, WinSCP и YSlow для Firebug. 14. Что такое сценарий использования (use case)? Сценарий использования или юзкейс – это еще один центральный элемент процесса контроля качества, поэтому важно быть готовым к ответу на этот вопрос. Сценарий использования – это документ, в котором описываются действия, которые должен предпринять пользователь, и реакции системы. Он используется для изучения того, как работает конкретный элемент приложения. 15. Что означает термин «свободное тестирование»? Свободное тестирование – это популярный метод тестирования, который используют многие команды контроля качества, даже несмотря на то, что они используют его не всегда. При таком методе тестировщик пытается сломать систему, случайным образом выполняя различные функции.
img
Друзья, сегодня речь пойдет о синтезе речи в Asterisk. Этот простой способ позволит вам озвучивать требуемое голосовое сообщение в структурах IVR или обычных приветствиях. Да где угодно. Профит этого решения: Единый голос для всех аудио – файлов; Кэширование и сохранение озвученных текстов, фраз в виде медиа - файлов, для последующего использования на Asterisk; Получаем токен Приступим. Прежде всего нужно получить API - токен на использование сервиса от Яндекс. Этот процесс расписан в статье по ссылке ниже (раздел Получение API - токена Yandex.SpeechKit): Получение токена Возвращайтесь с токеном и будем приступать к коду :) Кодим! Для начала создадим директорию /var/lib/asterisk/tts/ и дадим права. Там мы будем хранить текстовый файл, благодаря которому, сможем идентифицировать аудио – файлы по совпадению MD5 названия. Внутри файла будет фраза: mkdir /var/lib/asterisk/tts/ chown asterisk:asterisk /var/lib/asterisk/tts/ chmod 775 /var/lib/asterisk/tts/ В зависимости от дистрибутива и вариантов установки IP – АТС Asterisk, звуковые файлы могут располагаться в другой директории. Вы можете самостоятельно поправить это в скрипте. Использовать будем AGI приложение. Традиционно, комментарии к коду прикладываются: #!/usr/bin/php -q <?php error_reporting(0); // выключаем ошибки, необязательно, нужно в процесcе дебага скрипта require('phpagi.php'); $agi = new AGI(); $str = $agi->request['agi_arg_1']; //записываем в переменную текст, который необходимо озвучить $str = iconv('cp1251', 'utf-8', $str); // конвертируем в кириллическую кодировку $md5 = md5($str); //вычисляем md5 - хэш от переменной $str $prefix = '/var/lib/asterisk/sounds/ru/custom/'; //устанавливаем директорию для файлов. Мы ее создавали по ходу движения $filename = $prefix.$md5; //устанавливаем название файла(оно будет равно md5 текста) $format = 'wav'; //устанавливаем формат получаемого файла от Яндекс $quality = 'hi'; //устанавливаем качество $speaker = 'oksana'; //выбираем голос. На момент написания статьи доступны женские голоса: jane, oksana, alyss и omazh и мужские голоса: zahar и ermil. $emotion = 'evil'; // выбираем интонацию голоса, good — радостный, доброжелательный, evil — раздраженный, neutral — нейтральный (используется по умолчанию). Будем злее :) $speed = '0.9'; // данный параметр отвечает за скорость (темп) речи, подбирается опытным путем на слух, в данном случае оптимальный $key = 'Ваш_токен'; //ваш токен, который вы получили ранее. if (!file_exists($filename.'.wav')) { $qs = http_build_query(array("format" => $format,"quality" => $quality,"lang" => "ru-RU","speaker" => $speaker,"speed" => $speed,"key" => $key,"emotion" => $emotion, "text" => $str)); //формируем строку запроса $ctx = stream_context_create(array("http"=>array("method"=>"GET","header"=>"Referer: "))); $soundfile = file_get_contents("https://tts.voicetech.yandex.net/generate?".$qs, false, $ctx); //запрашиваем файл $file = fopen("file1.wav", "w"); //открываем файл для записи fwrite($file, $soundfile); // пишем в файл данные fclose($file); //закрываем файл shell_exec('sox -t raw -r 48k -e signed-integer -b 16 -c 1 file1.wav -t wav -r 8k -c 1 '.$filename.'.wav'); //конвертируем файл под требования Asterisk и закидываем в директорию для аудио shell_exec('chown asterisk:asterisk '.$filename.'.wav'); shell_exec('chmod 775 '.$filename.'.wav'); // даем файлу нужные пермишны; shell_exec('rm -f file1.wav'); // удаляем файл, который создали в процессе обращения к API; shell_exec('echo '.$str.' > /var/lib/asterisk/tts/'.$md5.'.txt'); // добавляем магии ;-) о ней ниже в тексте статьи. } $agi->exec('Playback',"custom/$md5"); //проигрываем файл звонящему. Скачать скрипт синтеза речи После загрузки файла, сохраните его с расширением .php Сохраняем скрипт как texttospeech.php и закидываем его в директорию /var/lib/asterisk/agi-bin. После, даем последовательность следующих команд: dos2unix /var/lib/asterisk/agi-bin/texttospeech.php chown asterisk:asterisk /var/lib/asterisk/agi-bin/texttospeech.php chmod 775 /var/lib/asterisk/agi-bin/texttospeech.php Как вы могли заметить, скрипт настраивается. Голос, интонация, скорость речи, качество получаемого файла – подлежат корректировке для вашей задачи. Схема работы всего процесса следующая: Скрипт получает из диалплана текст по AGI и сохраняет в переменной; Если у нас уже существует аудио – файл для заранее записанной фразы, мы отдаем в диалплан команду на воспроизведение. Если нет – обращаемся к API; Скрипт отправляет запрос в сторону API Яндекса; Происходит конвертация полученного аудио – файла в нужный формат; Даем права файлу для воспроизведения на Asterisk и удаляем временный файл; Делаем отметку о создании файла в служебный текстовый файл; Воспроизводим файл; А как заставить скрипт работать? Очень просто. Открываем файл /etc/asterisk/extensions_custom.conf для редактирования и добавляем в него следующую запись: [text_to_speech] exten => s,1,Answer() exten => s,2,AGI(texttospeech.php,"Привет! Это Мерион Нетворкс. Если ты слышишь это сообщение, значит все сделал правильно!") Сохраняем изменения и прыгаем в FreePBX. Будем вызывать кастомный контекста из FreePBX. Для этого воспользуемся модулем Custom Destinations. Переходим по пути Admin → Custom Destinations и нажимаем Add Destination: Настроили и сохранили. Наша задумка такова – человек звонит на наш номер, набирает 13 и попадает на синтезированное сообщение. Переходим в главный IVR и в секции IVR Entries добавляем следующее: Звоним, проверяем. Работает :) Если хотите заменить фразу, которую нужно озвучить, просто поправьте ее в файле /etc/asterisk/extensions_custom.conf.
img
Все мы знаем, что время – самый ценный ресурс. Сегодня мы рассмотрим 5 способов, которые помогут сэкономить немного времени, при работе в командной строке Cisco IOS. Не будем терять время и рассмотрим их! exec-timeout 0 0 Эта команда позволяет не терять соединение с вашим роутером или коммутатором при достижении времени таймаута, выставив его на ноль минут и ноль секунд. Если ее применить на консольных линиях и VTY, то IOS интерпретирует это, как никогда не истекающий таймаут. Конечно, ни в коем случае нельзя использовать эту команду в продакшне из соображений безопасности, но она прекрасно подойдет, чтобы сэкономить ваше время в лаборатории, избавив от необходимости повторного входа на несколько устройств в течение дня. logging synchronous Наверняка вы были в ситуации, когда посреди набора вашей команды Cisco IOS чувствовала сильную необходимость отправить сообщение Syslog в консоль? :) Это может сильно отвлекать. Способ предотвращения такого вторжения заключается в применении команды logging synchronous. После ввода этой команды, если IOS понадобится отправить Syslog сообщение, то после его отправки, консоль вернет в сеанс терминала то, что вы уже набрали, чтобы продолжить там, где вы остановились. no ip domain-lookup Эта команда позволяет отключить интерпретацию команды как DNS имя, если в ней была сделана ошибка. Еще два менее радикальных метода как обойти это можно найти в этой статье. alias exec В качестве еще одного способа экономии времени можно создать несколько команд псевдонимов (alias). Это относительно короткие команды, которые транслируются в IOS в длинные команды. Например, если вам часто приходится смотреть конфигурацию протоколов маршрутизации при помощи команды show run | s router, то можно создать ее короткую версию используя команду alias exec src show run | s router. Теперь вместо всей длинной команды нам нужно будет набрать просто ее псевдоним – src. Сохраненная начальная конфигурация И в качестве окончательного способа по экономии времени можно рассмотреть сохранения начальной конфигурации в текстовый файл и вставить текст при запуске оборудования «из коробки» или после сброса. Например, можно завести документ со всеми командами из этой статьи и вставлять его в начале работы. conf t line con 0 exec-timeout 0 0 logging synchronous exit line vty 0 15 exec-timeout 0 0 logging synchronous exit no ip domain-lookup alias exec src show run | s router alias exec sib show ip interface brief end Надеемся, что это поможет сохранить вам пару драгоценных минут!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59