Какие основы кто-то должен знать для тестирования и отладки на OS X или Linux? - PullRequest
1 голос
/ 21 апреля 2009

У меня есть несколько наших старших инженеров QA в городе в течение нескольких дней, и я готовлю их к тестированию приложения, которое мы переносим на Linux и OS X. Эти ребята умны. Хотя они не программисты, они понимают такие вещи, как открытие дампов памяти, чтобы найти указатель на функцию, и написание простого python для автоматизации их работы. Но они всегда использовали окна и знакомы только с инструментами там.

Итак, мой вопрос: что бы вы научили их помогать тестировать нативное приложение, работающее в OS X или Linux?

Несколько идей, которые у меня были:

  • Основы файловой системы, где файлы конфигурации (/ etc), где файлы журналов (/ var / log)
  • Как использовать locate, find, grep и co.
  • Использование gdb для проверки coredumps

Ответы [ 4 ]

1 голос
/ 21 апреля 2009

Если они не боятся GDB и анализируют дампы ядра , тогда им определенно следует знать о valgrind .

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

Если им нужно убить http://en.wikipedia.org/wiki/Kill_(command), помогает процесс изменника, зная о сигналах http://en.wikipedia.org/wiki/Signal_(computing).

Если им нужно преобразовать текстовые файлы между Windows и Linux, команда tr http://en.wikipedia.org/wiki/Tr_(Unix) является их другом.

Если им нужно загрузить файлы wget - это простой в использовании инструмент командной строки.

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

Существует (очень базовая) Windows to Linux: руководство для начинающих , которое может помочь преодолеть начальные препятствия. Еще несколько статей: здесь .

Вот Введение новичка в командную строку GNU / Linux

1 голос
/ 21 апреля 2009

Первые две вещи, которые приходят на ум

  1. Изучите оболочку (sh, ksh, bash или все, что они собираются использовать)
  2. Узнайте, как использовать редактор (vi / m, emacs, pico даже?)
0 голосов
/ 21 апреля 2009

Я бы научил их использовать простые инструменты Unix, такие как time / sed / grep / возможно даже perl. Сценарии оболочки и философия «много простых команд».

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

  • Valgrind
  • GDB
  • Трассирование
  • etrace

РЕДАКТИРОВАТЬ: Конечно, требуется некоторый текстовый редактор (vim / emacs / mcedit / etc).

0 голосов
/ 21 апреля 2009

Я бы научил их, как настроить ulimit, чтобы можно было создавать файлы ядра. Я мог бы также включить информацию об основных номерах сигналов и их значении. Кроме того, вы можете дать им обзор ftp, чтобы переместить файлы туда, где они более удобны, а также основы проблем CR LF. Я бы объяснил им основные различия между UNIX и Windows (слэши разные). Я также хотел бы рассмотреть возможность установки общего ресурса samba, чтобы они могли использовать инструменты по своему выбору для редактирования файлов.

Обучение их тому, как перенаправить вывод и как использовать tee, возможно, это то, что они могут извлечь пользу. Основы прав доступа к файлам является обязательным. Объяснение того, что ssh и telnet доступны для доступа к этим удаленным блокам, может помочь, если порт telnet отключен. Наконец, я бы научил их, что удаление файла не имеет функции отмены, как в Windows.

Вы могли бы рассмотреть объяснение ps -ef, а также простые каналы и grep. Я показал бы им, как фоновые процессы и, возможно, убить процесс с помощью kill -9. Такие инструменты, как top, xload и pstree, могут помочь им.

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