Зачем нужен linux тестировщику

Русские Блоги

Почему для тестирования программного обеспечения необходимо изучать Linux? Насколько многому научился Linux? -log5

Почему для тестирования программного обеспечения необходимо изучать Linux? Что вы узнали? -log5

— Dotest Software Testing and Testing School-Dong Hao —

В настоящее время 90% серверной операционной системы компании — это не Windows, а Linux (redhat, debin, centos); поэтому, если вы хотите найти проблему или повторить обновления среды, вам необходимо войти на фоновый сервер для устранения неполадок и работать. Вы не знаете Linux в настоящее время, как вы можете?

Кроме того, даже если вы не используете его в компании (поскольку внутренний сервер может быть ограничен), вы обнаружите, что большая часть тестирования программного обеспечения для набора персонала 2019 года требует создания тестовой среды, основы команд Linux и возможности сценариев оболочки.

Поэтому, если говорить о том, чтобы сделать шаг назад на 10000 шагов, нужно вам это или нет, вас спросят во время ключевого собеседования. Так что еще нужно учиться!

Тестовая среда также должна быть построена на Linux.

Дополнительно: в какой степени?

Во-первых, знаний не так уж много. Кроме того, я думаю, что целевое обучение будет лучше. Тест должен использовать Linux для решения проблемы, а именно:

1) Как построить тестовую среду?

2) Как использовать сценарии оболочки для автоматизации развертывания?

3) Как бороться с фоновой средой во время итерации?

Решите три вышеуказанные проблемы, вот и все. Конечно, вы можете узнать больше.

Источник

Bash команды для тестировщика

Введение

Большинству тестировщиков в своей карьере рано или поздно придётся столкнуться с терминалом Linux

Скорее всего это начнётся как необходимость зайти на сервер и посмотреть логи.

Инженер в серверной. Фото: freepik.com

Сервера делают на разных операционных системах:

Из семейства Linux популярны:

Также часто применяют UNIX подобные ОС:

Они немного отличаются друг от друга но есть и общее свойство:

На сервере обычно нет графического интерфейса

Но зато есть командная оболочка вроде bash

Именно поэтому тестировщику нужно освоить основы работы с терминалом Linux.

В этой статье Вы увидите команды нужные именно тестировщику. Больше полезных команд можно найти в статьях:

Работа с директориями

Тестировщику приходится постоянно работать с логами. Каждый найденный баг обычно нужно описать как функционально: что не работает, что при этом делали, что показал UI. Так и подтвердить документально: timestamp + логи клиента/сервера/партнёрского бэкенда.

Даже если в каком-то конкретном случае логи не нужны, разработчики скорее всего их попросят — просто по привычке.

Для того, чтобы найти логи, нужно уметь перемащаться между директориям и смотреть из содержимое.

Просмотр директорий

Чтобы перейти в директорию с логами достаточно ввести команду cd и её абсолютный адрес.

Если абсолютный адрес директории неизвестен, нужно перемещаться куда-то из текущей директории.

Узнать содержимое текущей директории можно с помощью команды ls

где опция l требует вывода в так называемом длинном формате.

Вывод будет содержать права доступа, количество жёстких ссылок на файл , владельца, группу, размер, время последнего изменения и называние файла.

a — это опция которая требует показать скрытые файлы — те, называние которых начинается с .

Переместиться в директорию на уровень ниже можно с помощью команды cd название директории

Подняться на уровень выше

Создание директории

Для того, чтобы создать директорию выполните команду:

где название_директории — это та директорию, который вы хотите создать.

К примеру, создадим директорию test_Project2:

Копирование директории

Для того, чтобы скопировать директорию из одного места в другое, выполните команду:

cp -a project01 project02

где project01 — источник (директорию, которую вы хотите скопировать) а project02 — получатель (тот директорию, в которую вы хотите скопировать) ключ -a означает то, что мы выполняем нерекурсивное копирование.

Например, скопируем директорию /usr/local/project01 в своу домашнюю директорию и назовем её project01arj:

cp -a /usr/local/project01

Перемещение / Переименование директории

За перемещение и переименование директорий, в Linux отвечает команда mv.

перемещение директории /usr/local/projects в уже существующую, в домашней директории, директорию project01arj:

переименование директории /usr/local/projects в /usr/local/testedProjects:

mv /usr/local/statistics /usr/local/newstatistics

Удаление директории

Удаление директории и её содержимого, можно произвести при помощи команд rmdir или rm:

удаляем директорию /usr/local/testedProjects/temp:

или рекурсивно директорию /usr/local/testedProjects/temp, со всеми директориями внутри него:

rm -rf /usr/local/testedProjects/temp

Работа с логами

Подробнее о том, что такое логи и какими они бывают читайте в параграфе «Изучение логов»

Источник

Как развиваться тестировщику. Разбираемся с Linux.

Заметка, которая будет продолжением серии «Как развиваться начинающим тестировщикам». Ранее я писал про Groovy, теперь хочу поделиться опытом изучения Linux.

Читайте также:  Windows 10 upgrading process

Давайте разберемся, нужно ли вообще тестировщикам знать Linux? Конечно же ответ зависит от многих факторов. Первый из них: есть ли у вас на проекте машины или сервера с *nix на борту ? Если нет, то можете закрывать страницу и наслаждаться жизнью, унывая за рабочим столом Windows 10 😉 Но, если у вас есть все-таки поддержка *nix платформ и вы не унылый овощ, то вам следует разобраться с Linux.

Лично мое знакомство c Linux началось с того, что у нас на проекте было 4 машинки и на всех стоял разный дистрибутив IBM AIX, Solaris, Red Hat Linux.

Дабы не быть полным профаном, я решил себе дома установить тогда еще Ubuntu 12.04 LTS, чтобы начать разбираться с системой и учить команды. Это была кардинальная перемена, меня затянуло и до сих пор у меня дома стоит Ubuntu, и на все возгласы по поводу выхода новых версий Windows я даже не парюсь.

Чисто в образовательных целях можете установить себе Ubuntu на виртуальную машину. Сделать это максимально быстро можно с помощью Vagrant.

Далее стоит задача в изучении команд, которые поддерживаются командной оболочкой. Конечно же всегда можно посмотреть в гугл, но все же самые основные нужно выучить. На собеседованиях гугл не поможет=).

Я бы рекомендовал почитать книгу — Скотта Граннеманна:

Отличнейшая книга, которую я прочел на одном дыхании. Идеально подходит для изучения всех самых известных команд Linux.

Вторая книга, которую я бы посоветовал тем, кто уже немного знаком с системой и хочет понять все ее внутренности, — How Linux Works: What Every Superuser Should Know

Под конец, для тех, кто уже хочет научиться писать Bash скрипты:

Последнюю книгу полностью не читал, но могу сказать, что издательство apress всегда издает стОящие книги.

Ну и напоследок на обучающей платформе edx есть полезный курс — Introduction to Linux. Этот курс дает практические знания графической оболочки и командной строки для всех самых распространенных дистрибутивов Linux. Лично я его прошел и получил сертификат;)

Источник

Жизнь — это движение! А тестирование — это жизнь 🙂

понедельник, 7 мая 2018 г.

Тут можно потыкать Linux

Знание Linux хотя бы на базовом уровне сейчас часто требуют в вакансиях — как перемещаться между директориями, как создавать или редактировать файлы, grep, просмотр.

Чтобы хорошо понять линукс, стоит установить его себе на ноутбук, быстро во всем разберетесь (придется). Можно также скачать и установить виртуалку. А можно пощупать систему на нашей тестовой площадке!

Тестовая площадка (неактуальная)

Данные для входа:

  • Логин — test
  • Пароль — 123

Система: CentOS 7

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

В итоге мне заблокировали виртуалку за спам с нее. Другой хостинг вообще отказался давать общедоступную машину, вернули деньги и «нефиг тут разводить, от всего не защитишься». Так что скажите спасибо наглым товарищам, которым лишь бы сломать то, что дали бесплатно. Тестовой площадки больше не будет.

Можете сами поднять у себя виртуалку или как я, использовать облачную. Я брала на SimpleCloud за 150р в месяц — https://simplecloud.ru.

Инструменты

Я рекоменду Putty и WinSCP. Разбор инструментов:

PS: на linux-машине мы работаем в курсе «Логи как инструмент тестировщика», так что все инструкции мне нужны под курс. А заодно почему бы не выложить хорошее-доброе-вечное в открытый доступ? Пользуйтесь! Или заходите на курс, там тоже будем рады ツ

PPS: ссылка добавлена на Testbase в раздел «Test it — бесплатные тестовые площадки». Теперь не потеряется!

Источник

Linux/*nix знания для тестировщика

#1 deasturies

  • Members
  • 4 сообщений
    • ФИО: Андрей

    Здравствуйте, уважаемые форумчане!

    Хочу узнать, что входит в понятие «знание Linux/*nix». Например, знание bash-a, уметь написать простой скрипт, знание базовых комманд, умение работать без графической оболочки (только с консолью), умение собрать программу и так далее.
    Если можно, поделитесь мыслями с указанием «уровня» знания (знание простейших комманд — beginner level, написать скрипт — intermediate, пересобрать ядро — advanced).

    Так же интересно какие таски в этой ОС чаще всего приходилось делать, расскажите о вашем опыте.

    В конце хочу составить для себя эдакий список-чеклист того, что надо выучить.

    Также посоветуйте дистрибутив годный для учебы — я ставил убунту, но не знаю насколько она «близка» к боевым машинам, с которыми приходится работать тестировщикам.

    #2 checo

  • Members
  • 400 сообщений
    • Город: Н.Новгород

    Наверное, люди, более близкие к подбору персонала, расскажут Вам подробнее. Но не могу удержаться от пары замечаний.

    1) Линукс очень разный. Много дистрибутивов, разные оконные среды, много инструментов для работы и горы документации. Поэтому путь у каждого индивидуальный. Конечно, надо уметь работать с командной оболочкой и консольными редакторами, так как *nix в своей основе — командная строка, и именно в ней доступны все возможности. Ограничения графических оболочек почувствуете довольно быстро.

    Читайте также:  Перехват сетевого трафика windows

    2) Научиться работать в консоли можно и в убунте. Просто забудьте, что есть графические конфигураторы, файловые менеджеры и центр установки приложений. Открывайте терминал и пытайтесь делать всё там. Убунта обладает тем преимуществом, что на начальном этапе помогает сберечь нервы и не способствует возникновению антипатии к ОСи. Хочется более острых ощущений — заведите виртуалку и поставьте на нее более «жесткий» дистрибутив. Или даже попытайтесь создать свой Линукс «с нуля» (www.linuxfromscratch.org).

    3) Имхо, знание базовых команд не сильно отличается от умения написать скрипт для bash. Скрипт тоже может быть на «базовом» уровне. А вот поднабрать арсенал полезных утилит и опций можно только на практике: почитайте man даже по самым простым командам и убедитесь, что без опыта всё это множество опций освоить нереально.

    Так же интересно какие таски в этой ОС чаще всего приходилось делать, расскажите о вашем опыте.

    #3 nosensus

  • Members
  • 6 сообщений
    • ФИО: Ким Александр Тихонович

    Здравствуйте, уважаемые форумчане!

    Хочу узнать, что входит в понятие «знание Linux/*nix». .
    Также посоветуйте дистрибутив годный для учебы — я ставил убунту, но не знаю насколько она «близка» к боевым машинам, с которыми приходится работать тестировщикам.

    И вам день добрый!
    Мне только не понятно, так вы хотите научиться производить тестирование продукта или же узнать что такое линукс?! Если первое то лучше учиться на продукте майкрософт ибо я сейчас на нем только начал познавать азы тестирования(ручное, автоматизированное). Если второе, то простейших команд это понятие очень растяжимо (смотря для чего именно).
    Оба сразу это навряд ли осуществимо. Я в курсе, что существует такой продукт для тестирования это Selenium и кажется он и в майкрософте работает и в линукс средах.

    написать скрипт —- скрипт для чего?
    пересобрать ядро —- простейших команд будет совсем мало.

    Я же по своему опыту начинал с Ubuntu ибо она самая добрая в плане познания линукса «Checo» правильно сказал.
    После я перешел на Debian так как он мне больше понравился, но он тяжелее в познании. Если в Ubuntu все находиться автоматом и просто нужно нажать установить, то в Debian все по другому.
    Консоль— (умение работать без GUI), а линукс без консоли это не линукс! все равно все делается через консольку, вы сначала научитесь работать с граф. оболочкой это во первых, а лишь потом задумывайтесь о консоли. «Простейшие команды»-тогда сами будут всплывать, как говорится гугл в помощь. Я изучал линукс на администрировании (установка и настройка различных серверов). На своем блоге я причем отписывал, что и как надо было сделать (но саморекламой не буду заниматься). Вы сначала поставьте вопрос, а что именно вам нужно и где приоритет выше. Если тестирование, то учитесь пока на майкрософте, инструменты для этого есть куча (Warp PRO, LoadRunner, Visual Studio, TestComplite и тонна других) я сам использую их на майкрософте. Если же линукс то пока забудьте о тестинге и познавайте его, потому что линукс это очень большая тема и в понятие «ЗНАТЬ» входит знать его!

    #4 owasp

  • Members
  • 87 сообщений
  • Задачи:

    • Пересобрать ядро, модуль ядра, чтобы включить дополнения виртуализации (Hyper-V)
    • Поднять почтовый сервер (сейчас стал чаще использовать Exchange — 120 дней работает бесплатно, а так под Windows есть только один нормальный бесплатный почтовый сервер: hMailServer, но всё-же и он кривой, а в Linux всё ставится удобно и работает неограниченно долго).
    • Поднять Novell e-Directory (сам не делал — но это реальная задача для целей тестирования).
    • Запустить какой-нибудь специфичный софт для тестирования (тестирования безопасности в основном — особых навыков не требует, ни кто-то и этого не сможет сделать).
    • Проверить работу программы в Wine (также удобно, когда надо быстро сэмулировать Windows 98, например, которой нет под рукой), но wine — это редко. Так чтобы прямо по работе нужно было — два раза в жизни, остальное — собственные исследования.
    • Обойти пароль в Windows (забыт пароль на виртуальной машине, а зайти как-то надо, не ломая машину).

    Если вы тестировщик и хотите тестировать в Linux. То тестировал Altlinux (дефекты там исправляются медленно, а обнаруживаются быстро — тем не менее, вот тут можно ощутить, что используется повседневно, что не используется).
    Нормальная разработка, ей пророчили большое будующее в госорганах, но это вилами на воде (предыдущий министр связи хоть и на словах говорил про Linux, на деле чаще обсуждал облачные решения c Windows, Azure, . Но в то же время, начинка ноутов на голосовании, которые обеспечивали видеонаблюдение на участках, была с Linux).

    На работе Linux можно использовать очень широко. Главное написать хорошие инструкции. Как мне говорят — мол на Linux это делать не будем, потому, что как там всё устроено, будешь знать только ты. Но если написать хорошую документацию (рассказать как там всё устроено, как поднять то, как настроить это, как подключиться к этому и где логи лежат). И это действительно будет работать. То разрешат. Но в основном не разрешают. И если какой-то нужный для работы сайт работает на связке IIS+FastCGI+PHP нестабильно (кеширование в такой связке глючное), а на LAMP — вполне хорошо, то как вариант рассмотрят LAMP, но примут решение делать всё на nginx+PHP под Windows, например.

    Читайте также:  Downloading windows games on mac

    #5 owasp

  • Members
  • 87 сообщений
  • Если не получится составить чек-лист, то есть такой совет. Поставье любой дистрибутив (Altlinux, OpenSuse, Ubuntu). Разверните на нём нужные для работы службы. И обновитесь (ядро обновите, драйвер видеокарты, или ещё-чего). Вот тут нежданчики появятся.

    А далее — весь арсенал навыков сам обозначится. Тут и работа с загрузчиком, и поиск информации, и исследование логов, и назначение прав, и всякие тонкости работы с командной строкой, strace, службы, конфиги, структура каталогов, символические ссылки, структура инсталляционных пакетов, исходники, .

    Тут, конечно, не хватает инструментов от Марка Русиновича. Но тут есть свои инструменты.

    А когда освоитесь (в Windows бы пришлось переустанавливать), то почувствуете — границы мира расширились, мир стал больше; и пришло понимание основ, понимание того, как он функционирует и должен функционировать.

    #6 nosensus

  • Members
  • 6 сообщений
    • ФИО: Ким Александр Тихонович

    Поставье любой дистрибутив (Altlinux, OpenSuse, Ubuntu). Разверните на нём нужные для работы службы. И обновитесь (ядро обновите, драйвер видеокарты, или ещё-чего). Вот тут нежданчики появятся.

    #7 owasp

  • Members
  • 87 сообщений
  • очень интересно как он будет все это поднимать.

    Он почувствует силу, на шаг приблизившись к тому, чтобы стать джедаем. Ведь как известно: «Ядрёная консоль делает меня сильней!». И поднимет.

    Или найдёт TFM, и выполнит по отношению к нему действие Read.

    #8 LeshaL

  • Members
  • 1 094 сообщений
    • ФИО: Алексей Лянгузов
    • Город: Saint-Petersburg

    Наверное, люди, более близкие к подбору персонала, расскажут Вам подробнее. Но не могу удержаться от пары замечаний.

    Сомневаюсь 🙂 Люди занимающиеся подбором персонала обычно, в лучшем случае, знают что линукс существует и как-то используется в компании.

    2) Научиться работать в консоли можно и в убунте. Просто забудьте, что есть графические конфигураторы, файловые менеджеры и центр установки приложений. Открывайте терминал и пытайтесь делать всё там. Убунта обладает тем преимуществом, что на начальном этапе помогает сберечь нервы и не способствует возникновению антипатии к ОСи.

    Вот с этим могу поспорить. Убунта — УГ и вообще бажное УГ. И нервы попортить она как раз может больше чем другие дистры. Я предпочитаю openSuse.

    3) Имхо, знание базовых команд не сильно отличается от умения написать скрипт для bash. Скрипт тоже может быть на «базовом» уровне. А вот поднабрать арсенал полезных утилит и опций можно только на практике: почитайте man даже по самым простым командам и убедитесь, что без опыта всё это множество опций освоить нереально.

    #9 LeshaL

  • Members
  • 1 094 сообщений
    • ФИО: Алексей Лянгузов
    • Город: Saint-Petersburg

    Здравствуйте, уважаемые форумчане!

    Хочу узнать, что входит в понятие «знание Linux/*nix». Например, знание bash-a, уметь написать простой скрипт, знание базовых комманд, умение работать без графической оболочки (только с консолью), умение собрать программу и так далее.
    Если можно, поделитесь мыслями с указанием «уровня» знания (знание простейших комманд — beginner level, написать скрипт — intermediate, пересобрать ядро — advanced).

    Так же интересно какие таски в этой ОС чаще всего приходилось делать, расскажите о вашем опыте.

    В конце хочу составить для себя эдакий список-чеклист того, что надо выучить.

    Также посоветуйте дистрибутив годный для учебы — я ставил убунту, но не знаю насколько она «близка» к боевым машинам, с которыми приходится работать тестировщикам.

    Начну с конца — тестировщикам «приходится» работать на разных операционках с разными настройками — ведь все зависит от того, как надо тестировать приложение. У нас, например, нет жестких требований по окружению, но корпоративный стандарт — убунта (хотя у меня openSuse).

    Теперь о том, что делать — работать приходилось чаще всего. Собственно для этого и нужна операционка.
    Поэтому, для начального уровня вам надо научиться устанавливать систему (с обычными «дружелюбными» дистрибутивами это не сложнее чем установка виндов). Научиться работать в системе (с консолью или без — решать только вам). Считайте это начальным уровнем.
    Если вы захотите работать быстрее и удобнее (а если линукс это ваша единственная операционка — то это желание придет достаточно быстро), то вы волей-неволей начнете писать скрипты, использовать консоль, научитесь компилировать программы, которых нет в пакетах (обычно они компилируются достаточно легко и все это выглядит страшно только на первый взгляд). Считайте это уже более продвинутым уровнем.
    Еще более продвинутым уровнем можно считать, когда вы научитесь настраивать свою машину таким образом, что сможете зайти на нее с любого другого компа по ssh и сделать в консоли все то, что могли бы сделать сидя за ней.

    А ядро вам не придется пересобирать (если вы конечно не выберете какой-нибудь gentoo). Людям которым нужно «ехать» это ни к чему, ну а тем кому «шашешчки».

    Источник

    Оцените статью