Как команда Ubuntu проводит автоматическое тестирование?

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

Я видел это несколько раз.

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

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

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

https://bugs.launchpad.net/ubuntu/+source/vsftpd/+bug/1219857 https://bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1290847

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

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

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

ОК, но «тестирование» в приведенной выше цитате - это ручное тестирование.

Для обеспечения качества требуется ручное тестирование.

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

Здесь снова возникает вопрос:

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

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

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

1
задан 21 October 2015 в 10:28

2 ответа

Несколько способов.

Много глаз. Ubuntu - это Open Source, что означает, что любой может посмотреть на код и посмотреть, в чем проблема. Люди, которые заинтересованы в просмотре кода, будут часто находить ошибки в нем или, как они его используют, и сообщают об этом на панели запуска, и публика может даже исправить их. Когда вы протестировали его и предложили исправить, вы запросите слияние с основным пакетом Ubuntu. Другие разработчики рассматривают это изменение, и если одобрение добавит его. Поскольку кто-то может их исправить, они быстро обнаруживаются, и они проверяются, они менее склонны к тому, чтобы время от времени зависать. Это приводит к следующему пункту. Эти глаза также включают в себя компьютерные глаза: процесс контроля качества вверх должен быть документирован / продемонстрирован и связан с ошибкой отслеживания SRU. В других случаях, когда такое автоматическое тестирование выше по течению недоступно ... Что показывает, что обычно выполняется автоматическое тестирование. Бета-релизы Перед выпуском Ubuntu публикуются бета-версии. В настоящее время это бета-версия 15.10, которая будет выпущена 22 октября 2015 года. Многие, и многие люди будут использовать, просматривать и исправлять ошибки до ее выпуска (в течение 5 месяцев 22 дня в этом случае). Это означает, что любые ошибки удаляются быстро (из-за Many Eyes), и типичные пользователи не затронуты, потому что они исправлены до того, как они официально выпущены. Авторы кода экспертов Люди, которые умеют писать высококачественный код, - это люди, которые пишут код. Не только один человек сидит, пишущий Ubuntu следующим образом: Есть люди со всего мира, и люди, нанятые Canonical, компанией за Ubuntu. Все эти люди вносят немного нового кода. Если я напишу 2000 строк кода, будет много ошибок. Если 200 человек пишут всего 10, их будет намного меньше. Стабильные основания Насколько я знаю, Ubuntu не переписывается с нуля каждый раз, когда появляется новая версия. Вместо этого, следующая версия начинается с текущей версии (т. Е. На 2015/04/30 как 15.10, так и 15.04 были одинаковыми), и новые функции добавляются оттуда. Если у вас есть хорошая база для работы, тогда у вас меньше кода для написания и можно доверять тому, что уже существует. Если вы можете положиться на то, что там, вы получите меньше ошибок. Программное обеспечение для управления версиями и записью Если ошибка повторяется несколько раз (в разных версиях или исправление не работает, или ошибка вернулась из-за другого патча) то у них есть документация, чтобы объяснить, как она была исправлена ​​- и они могут исправить ее снова.

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

5
ответ дан 23 May 2018 в 16:58
  • 1
    все ваши пункты (1..5) не упоминают автоматические тесты. Я просто не могу поверить, что автоматизированного тестирования на самом деле нет. – guettli 20 October 2015 в 12:28
  • 2
    @guettli, почему вы так застряли на этом. Мой ответ не упоминает об этом, потому что я не могу найти никаких доказательств. Почему это так странно? А что такое автоматизированный тест? Если он компилируется, это автоматический тест? Что вы ожидаете от них? – Tim 20 October 2015 в 13:44
  • 3
    @ Возможно, он не знает Алан Тьюринг : одна машина не может анализировать другую машину (или что-то близкое к ней) – LittleByBlue 20 October 2015 в 20:25
  • 4
    Этот программист действительно должен сидеть прямо - я думаю, ему нужны очки тоже ... – DevRobot 21 October 2015 в 23:42

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

и вот хорошая книга о создании https: //www.iiitd .edu.in / ~ jalote / papers / CommonBugs.pdf

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

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

-2
ответ дан 23 May 2018 в 16:58
  • 1
    Очень легко написать код, который не содержит ошибок: не пишите никакого кода. Результат: никаких ошибок. Как только вы напишете более двадцати строк, будут ошибки. Современное состояние - это разработка, основанная на тестах, с автоматизированными блоками и интеграционными тестами: красный, зеленый, рефакторинг. Мне не хватает того, как ubuntu применяет автоматические тесты. И если вы потеряли желание написать ответ: не делайте этого. Зачем вам, если вы этого не хотите? Мой намек: не любите детали (iostream.h) посмотреть на всю картину :-) – guettli 11 October 2015 в 11:18
  • 2
    Я всегда думал, что предел составляет семь строк кода? – Wirewrap 12 October 2015 в 21:51
  • 3
    @guettli. Кажется, вы задали вопрос, где бы кто-то не стал спорить. Помимо этого вы добавили щедрость (возможно, чтобы предотвратить закрытие), а также добавили ubuntu в комментарии. – Tim 19 October 2015 в 22:27
  • 4
    @ Тит, я не понимаю, что ты пытаешься мне сказать. Что я делаю не так? – guettli 20 October 2015 в 12:25
  • 5
    @guettli Что вы сделали не так? Вопрос плохо сформулирован, и каждый ответ, который вы опровергли или был саркастичен в комментариях. Вопрос имеет -6 в данный момент, и единственная причина, по которой он не закрыт, состоит в том, что у него есть щедрость. Кажется, вы хотите получить ответ, чтобы рассказать вам, что вы хотите здесь, но, может быть, вы не хотите услышать, что вы хотите услышать? – Tim 20 October 2015 в 13:47

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

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