Процес розгортання гнучкої розробки. Де тестують власників якості та власника бізнесу?


9

Останнім часом я багато читав про різні процеси розгортання веб-додатків за допомогою SVN або GIT, щоб переробити те, як ми зараз розгортаємо там, де я працюю.

Як і у випадку з багатьма ароматами Agile, передбачається, що все, що присвячено майстру або стволу, готове до виробництва. Як GitHub, так і Etsy, http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/, кажуть, що вони працюють на цій основі (хоча Etsy насправді має постановочне середовище).

Цей процес передбачає, що всі одиничні випробування та тести CI були запущені. Ви запускаєте тести локально та на CI, а потім здійснюєте трансляцію. Так, на даний момент ваш код технічно справний.

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

Моє запитання таке. Де власники QA та Business перевіряють внесені вами зміни функцій? На вашій місцевій машині розвитку перед тим, як здійснити магістраль, або на машині QA / постановки?

Якщо у вас є постановочна машина, на якій закінчується ствол, і ви припускаєте, що весь код, присвячений стволу, готовий до виробництва ... так ... тоді, в який момент код підписується, і добре почати виробництво як з технічного, так і з бізнес-бізнесу перспектива? Якщо у вас є лише одна постановочна машина, багато розробників, і саме там код повинен бути QA'd, то як можна розгорнути з магістралі, оскільки багато змін розробника можуть чекати виходу.

Мені було б цікаво почути, як інші підходили до цього?

Відповіді:


6

Для кращого чи гіршого випадку я зазвичай вважаю це зробленим, коли тестування проводиться на базі філії, і бізнес-знак - це те, що контрольна точка повинна бути об'єднана з основним розгортанням.

Я бачив, як це робилося як при розробці на "головній" з окремою "розгорнутою" гілкою, так і при розробці "функціональної" гілки з основною як "розгорнута".

робочий процес закінчується приблизно таким чином:

  • щось кодувати
  • провести локальні тести
  • реєстрація в робочій філії
  • (необов’язково) сервер збирання будує тести на мурашки
  • QA / Тестування бізнесу
  • виправлення помилок (цикл вгорі)
  • злиття для розгортання відділення
  • розгортати

Деякі люди працюють з однієї гілки, але якщо у вас буде ручне тестування, це стає важким. Більшість людей, з якими я стикався, працюють над припущенням, що все, що може бути розгорнуто на фіксацію, яка також працює з одного стовбура, роблять щось невелике або мають ВЕЛИЧЕЗНА кількість автоматизованого тестування, АБО вони вважають "розгортанням" у цій розмові на бути збіркою до тестового сервера, і процес QA, який відбувається між тестовим сервером і виробництвом, обробляється окремо.


Дякую Білл. Ми працюємо в середовищі, де розробники постійно здійснюють і розгортають окремі фрагменти функціональності для сайту. Якщо ви працюєте над галуззю функцій, після перевірки в робочій галузі, де ви бачите тестування QA / Business? Якщо у вас є лише одна машина QA, на яку розробники зобов'язуються гілками, то реально лише одна функція може бути протестована одночасно, якщо, можливо, у вас не є сайт та окремий екземпляр сервера додатків, встановлений для кожного розробника на машині QA, тому його зміни можна перевірити поодиноко, перш ніж здійснити ствол.
Bazza

в моєму досвіді з цим зазвичай ми не створювали окремої гілки функцій для кожного розробника, більше, як по одній для кожної команди, і ми створили qa-хост для кожної з них, навіть якщо це була лише додаткова машина розробників.
Білл

Вдячні за коментарі. Дав мені кілька ідей.
Bazza

2

У нас є автоматизовані тести прийняття в одній галузі функцій. Коли ви робите кандидата у випуск, він включає автоматичні тести, які ви запускали, щоб побачити, чи проходить ця функція. Ви також протестуєте кандидата на реліз. Коли все пройде, ви просуваєте його потім, об'єднуючись у майстер.

Більше про цей процес тут:

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

Зверніться до коментарів.

Сподіваюся, це допомагає,

Адам


@Adam - Дякую за це і посилання. Дискусія там була цікава. Їжа для роздумів.
Bazza

0

Як правило, чекати введення даних до того, як код стане ідеальним, це половина часу, щоб повернути переваги системи управління версіями. (Без особливої ​​деталізації я б сказав, що, якщо дозволено багаторазовий заїзд до VCS, у мене немає способу відновити власну роботу!) Тому ми завжди просимо людей продовжувати реєстрацію (у своєму відділенні для SVN або це може бути місцевий комітет у випадку GIT) скільки завгодно. Насправді чим більше, тим краще.

Однак, коли приходить точка, де все, здається, робиться і перевіряється - ми називаємо це випуском і тоді воно зливається з магістраллю. По суті, QA може засвідчити RC, взявши свіжу перевірку на HEADгілці, і якщо він / вона Okey це, те ж саме зливається назад із багажником.

Тож по суті ми використовуємо концепцію відділень завдань чи приватних відділень, щоб люди могли вільно робити реєстрацію стільки, скільки потрібно. У той же час багажник порівняно не містить будь-яких зламаних реєстрацій.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.