Как команда Ubuntu делает автоматизированное тестирование?

То, как делает команду Ubuntu, гарантирует, что ошибки не появятся снова?

Я несколько раз видел его. Пакет неприменим после установки.

Да, иногда ошибки исправлены очень быстро.

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

Вот два примера, которые влияли на меня в течение прошлых двух недель:

Существует больше примеров, но список их не является частью вопроса.

Один комментарий от vsftp страница ошибки:

Помогите нам путем тестирования этого нового пакета. См. https://wiki.ubuntu.com/Testing/EnableProposed для документации, как включить и использовать - предложенный. Ваша обратная связь поможет нам выводящий это обновление других пользователей Ubuntu.

Хорошо, но "тестирование" в вышеупомянутой кавычке является ручным тестированием.

Гарантировать автоматизированное тестирование качества необходимо.

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

Здесь снова вопрос:

То, как делает команду Ubuntu, гарантирует, что ошибки не появляются снова?

История этого вопроса

Сначала заголовок был, "Как делает команду Ubuntu, гарантируют, что ошибки не появляются снова?". Теперь это, "Как команда Ubuntu делает автоматизированное тестирование?". Это было сделано, потому что я полагаю, что ручное тестирование не является решением. Не вниз-голосуйте за ответы, которые только объясняют способ, которым сделано ручное тестирование.

-3
задан 21 October 2015 в 10:28

3 ответа

У Ubuntu действительно есть автоматизированное тестирование. Например, автоматизированное тестирование используется, чтобы предотвратить Ваш первый пример ошибки, происходящий снова. Я был тем, который исправил первую vsftpd ошибку, которую Вы упомянули, и делая, таким образом, я также добавил автоматизированный тест, чтобы предотвратить то же самое снова. Вы видите это во входе журнала изменений, о котором объявили самой ошибке:

vsftpd (3.0.2-1ubuntu2.14.04.1) trusty; urgency=medium

  * d/p/ubuntu-seccomp-gettimeofday.patch: permit gettimeofday() for logging
    calls (LP: #1219857).
  * Add dep8 smoke test.
 -- Robie Basak <robie.basak@ubuntu.com> Tue, 29 Apr 2014 15:33:07 +0000

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

Помнят, что Ubuntu - распределение: это - интегрированный aggregration многих внешних проектов, что мы называем разведку и добычу нефти и газа. Ubuntu не была бы возможна без работы других в более широкой экосистеме Бесплатного программного обеспечения, и аналогично мы часто зависим от авторов по разведке и добыче нефти и газа, чтобы обеспечить тесты, так как они - эксперты в своем программном обеспечении.

Далее, поскольку мы - скопление различных проектов, единственная автоматическая инфраструктура тестирования не имеет смысла. У различных областей есть различные потребности. Таким образом, наша стратегия тестирования довольно широко распространена, чтобы соответствовать этим потребностям, касаясь и руководства и автоматизированного тестирования через многие различные инфраструктуры.

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

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

я менее знаком с автоматизированным тестированием, сделанным настольными и телефонными командами, но я знаю, что больше механизмов существует, потому что я видел ссылки на них за эти годы, и это включает автоматизированный графический интерфейс пользователя, проверяющий, который я думаю, довольно впечатляющее. Я приветствую другой ответ, который касается автоматизированного рабочего стола и телефонного тестирования.

4
ответ дан 28 July 2019 в 13:10

Много путей.

  1. Много глаз.

    Ubuntu - Открытый источник, означая, что любой может посмотреть на кодекс и видеть, какова проблема. Люди, которые интересуются рассмотрением кодекса, будут часто находить ошибки в нем, или поскольку они используют его, и сообщают о них о launchpad и , общественность может даже зафиксировать их .

    , Когда Вы проверили его и предложили фиксацию, Вы просите слияние с главным пакетом Ubuntu. Другие разработчики рассматривают это изменение и, если одобрено включат его.

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

    Эти глаза также включают компьютерные глаза:

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

    , Который показывает, что обычно автоматическое тестирование существует.

  2. Бета-версии

    Перед Ubuntu опубликована, есть бета-версии. В настоящее время 15.10 Бет, чтобы быть выпущены 22-го октября 2015 . Партии и много людей будут использовать, рассматривая и устранение ошибки это, прежде чем это будет выпуск (для 5 месяцев 22 дня в этом случае).

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

  3. Опытные программисты

    Люди, которые способны писать высококачественный код, являются людьми, которые пишут код. Нет всего одного человека, сидящего, сочиняя Ubuntu как это:

    есть люди от по всему миру и люди, нанятые Каноническим, компанией позади Ubuntu. Все эти люди вносят определенный новый кодекс. Если я напишу строки кода 2000 года, то будет много ошибок. Если 200 человек напишут всего 10, то будет намного меньше.

  4. Стабильные Фонды

    Насколько я знаю, Ubuntu не переписана с нуля каждый раз, когда есть новый выпуск. Вместо этого следующие запуски вариантов как текущая версия (т.е. 2015/04/30 и 15.10 и 15.04 было то же) и новые возможности добавлены оттуда.

    , Если у Вас есть хорошая основа, чтобы работать от, тогда Вы имеете меньше кодекса, чтобы написать и можете доверять тому, что уже существует. Если Вы можете полагаться на то, что там, меньше ошибок войдет.

  5. Управление версиями и программное обеспечение записи

    , Если та же ошибка подходит несколько раз (в различных версиях или фиксации не работал, или ошибка, возвратились из-за другого участка), тогда, у них есть документация, чтобы объяснить, как это было зафиксировано - и они могут зафиксировать его снова.

<час>

Насколько я могу сказать, нет никаких автоматизированных тестов. Но что такое автоматизированный тест? Если это собирает, то, что один? Вы не можете только сказать «автоматизированные тесты», не объясняя, что это

5
ответ дан 28 July 2019 в 13:10

Не пишите код с ошибками. lol хорошо. Я потерял желание написать подробный ответ на это. Вот достойная статья: https://www.iiitd.edu.in/~jalote/papers/CommonBugs.pdf

и вот является хорошей книгой о создании ошибки в C ++

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

что касается автоматизированного тестирования, это действительно существует, но у этого также есть ограничения. Я не знаю о единственном решении, которое работает над каждым языком. Если Вам действительно интересно, напишите нам отладчик генетического кода с некоторым AI. Насколько я знаю, все это находится все еще в его младенчестве, Вот некоторая работа от аспирантов: https://www.cs.cmu.edu/~clegoues/docs/legoues-icse09.pdf

-2
ответ дан 28 July 2019 в 13:10

Другие вопросы по тегам:

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