Evreleme ve UAT ortamları arasındaki fark nedir?


10

Bir çözüm geliştirirken en az 3 farklı ortama sahip olmamız gerektiğini biliyorum:

  • Geliştirme : Programcılar, kodlarını hızlı bir şekilde test etmek ve herhangi bir şeyi kırma korkusu olmadan diğer değişikliklerle entegre etmek için değişiklikleri istedikleri zaman değiştirebilir ve itebilirler - bu TEST veritabanlarına ve hizmetlerine bağlıdır;
  • UAT : Donanım ile ilgili üretim ortamının "olabildiğince iyi" bir kopyasını içermesi gerektiğinden, geliştiriciler tarafından saygıyla muamele görmeli, bu ortamın üretim verilerinin düzenlenebilir bir kopyasıyla UAT veritabanlarına bağlanmış olması - hem soru-cevap ekibi hem de kullanıcılar tarafından üretime gidecek değişiklikleri doğrulamak için kullanılır
  • Üretim : Gerçek anlaşma.

SoftwareEngineering ile ilgili bu soruyu ve ServerFault ile ilgili bu soruyu inceledim ve Hazırlama Ortamı'nın anlamı konusunda farklı görünüyorlar. Ayrıca, konuyla ilgili Wikipedia sayfası şunları belirtir:

Bir hazırlama ortamının birincil kullanımı, tüm yükleme / yapılandırma / geçiş komut dosyalarını ve yordamlarını üretim ortamına uygulanmadan önce sınamaktır. Bu, üretim ortamındaki tüm büyük ve küçük yükseltmelerin en kısa sürede hatasız bir şekilde tamamlanmasını sağlar.

Benim için Staging, gerçek dünyaya itmeden önce uygulama ve dağıtım prosedürlerini test etmeniz gereken UAT'ye eşittir. Bu yüzden, paketi UAT'taki değişikliklerle, üretime ittiğimiz şekilde, tam otomatik olarak ve üretim ortamıyla gerçekleştirmemiz gereken tüm törenle itiyoruz.

Bununla birlikte, bir UAT ortamı ve bir Hazırlama ortamı arasındaki uygun fark nedir?

-

EDIT: Sadece açık olmak gerekirse, ben bir Web sitesi, bir internet sitesi veya intranet web sitesi açısından düşünüyorum. "Formlar" uygulaması veya mobil uygulaması yok.


4
Daha fazla insanın tartılmasını istiyorum, ancak bu öncelikle görüşe dayalı görünüyor. Mevcut ortamımda, Staging ve UAT farklı. UAT, üretim dağıtımlarıyla senkronize edilmiş, ancak kullanıcıların yazılımla oynamasına izin vermek için farklı bir veri yükü ile senkronize edilmiş canlı, halka açık bir ortamdır. Bunu, kullanıcılar için bir Korumalı Alan ortamı olarak adlandırıyoruz. Evreleme, üretim ve UAT'de çalıştırmadan önce dağıtım ve altyapı değişikliklerini test etmek için özel bir yerdir. Müşterilerin UAT'ın kullanılabilirliği ve kullanımı konusunda yükümlülükleri vardır, ancak Evreleme yoktur. Diğer şirketlerin farklı olması muhtemeldir.
Thomas Owens

Asıl önemli olan şu: Her iki ortam da farklı ve bazı insanlar için bir şey gibi görünüyor ve diğer insanlar için başka şeyler anlamına geliyor. Sunucu Hatası ile ilgili soru, çevrimiçi üretim verilerine işaret eden evrelemeyi kullandığınızı ve sadece "anahtarı çevirin", ki bunun ilginç bir yaklaşım olduğunu düşünüyorum, ancak söylediklerinizden farklı bir görünüm.
Machado

2
Bazı insanlar için bir şey ve diğer insanlar için başka bir şey olması, bunu öncelikle fikir temelli kılan şeydir - bir cevap yoktur. Yanılıyorum diye tetiği henüz kapatmadım. Bu iyi yazılmış bir soru ve orada standart bir tanım olabilir. Şimdi, insanlar bu standart tanımı görmezden gelmeyi ve kendi tanımlarını kullanmayı seçerse başka bir hikaye.
Thomas Owens

@ThomasOwens, adil açıklama. Sakıncası yoksa, birkaç gün boyunca açık tutalım ve sadece fikir tabanlı cevapları ortaya çıkarırsa, sizinle kapatmak için memnuniyetle oy veririm. :)
Machado

@ThomasOwens, bu sorunun insanların evreleme olarak adlandırdığı şeyde biraz öznel olduğunu hissediyorum. UAT ve evreleme ortamımız "aynı şey" dir, ancak bunun nedeni çok sayıda sürümümüz olmasıdır, bu yüzden serbest bırakılmaya hazır olduğumuzda, evreleme ortamını devralır ve UAT'nin serbest bırakması için hazırlarız. Kendi işleri üzerinde çalışan geliştiricilerin sahne ortamımızda özellik dallarını kullanmanın bir yolu var, bu yüzden onları engellemiyor.
ağustos

Yanıtlar:


10

Aradaki fark veridir.

Yeni işlevselliğin "kullanıcı kabulü" için bir UAT ortamı kurulmuştur. Bu işlevselliği test etmek için KG veya paydaşlar, belirli özellikleri kullanmak için kullanıcı profillerini belirli bir şekilde ayarlayabilir veya tümünü kontrol etmek için sahte ürünler veya yapılandırmalar ayarlayabilir.

Bir hazırlama ortamı genellikle, bazen anonimleştirilmiş üretim verilerinin bir kopyasıyla kurulur. Bazı şirketler, hazırlama veritabanlarını düzenli olarak bir üretim anlık görüntüsünden "yeniler". Birincil odak noktası uygulamanın UAT'de olduğu gibi üretimde çalışmasını sağlamaktır. Test kullanıcıları verileri yeniden ayarlamak yerine, gerekli test senaryoları setiyle eşleşen profiller ve ürünler için veritabanında arama yapar. Genellikle "gerçek" veriler, UAT sırasında kaçırılan beklenmedik uç vakalara yol açan tuhaflıklar içerir. Ayrıca, herhangi bir veri taşıma testinin hazırlama ortamında yapılması gerekir.


1
| Environment | Software version  | Way of usage of software |
 ------------- ------------------- --------------------------
| UAT         | New               | Same as production       |
| Staging     | New or production | New for this version     |

Kullanım tanımı burada çok geniştir ve son kullanıcılar tarafından yapılan bazı yapılandırma değişikliklerinden UAT ortamında bulunmayan maliyetli altyapı özelliklerine kadar her türlü şeyi içerebilir. Önemli olarak, hazırlama aşamasındaki yazılım ürününün sürümü yeni veya güncel olabilir ancak her zaman zaten kabul edilmiş olan bir sürüm olabilir.

Başka bir deyişle:

  • UAT, mevcut sürümün kullanıldığı şekilde kullanıldığında yazılım ürününün yeni sürümünün çalışacağını kanıtlamak için mevcuttur .
  • Evreleme , yazılım ürününün kabul edilen bazı sürümleriyle yeni yazılım ürünü kullanımının , yazılım ürününün şu anki sürümüyle aynı şekilde çalışacağını kanıtlamak için mevcuttur .

Not: Sorunun kendisinde gösterildiği gibi, "Evreleme ortamı" ile ilgili farklı anlayışlar vardır ve şirketinizde / ortamınızda kullanılanlar farklı olabilir.


0

Bu farklı ortamların kullanımı gerçekten, gerçekten ihtiyaçlarınıza bağlıdır. "Evreleme == UAT" yorumunuzdan, hiçbir QA ekibi olmayan çok küçük bir uygulamanız ve sadece birkaç geliştiriciniz gibi görünüyor.

Daha büyük uygulama ortamları bir entegrasyon test ortamının yanı sıra geliştiricilerin entegrasyon testlerini gerçekleştirdiği bir QA ortamı ve ikincisi KG ekibinin testlerini gerçekleştirdiği bir ortam olabilir. Her egzersiz seansından önce geri yüklenen stok verilerinin bulunduğu bir eğitim ortamı olabilir. Hazırlama ortamı, kullanıma sunma işlemlerinin düzgün gerçekleşmesini sağlamak için operasyon ekibinin kontrolü altında olacaktır. Kullanıcı kabul testi (UAT) ortamı müşteri ekibi tarafından kullanılacaktır. Ayrıca, müşteri sorunlarını yeniden üretmek için bir üretim-anlık görüntü ortamı da olabilir.

Demek istediğim, ihtiyacınız olan ortamları belirlerken tek bakış açısına dikkat etmektir.


Görünüşe göre farklı amaçlarla 3 farklı test ortamınız var, ancak yine de test ortamları var: 1 soru-cevap odaklı, 1 geliştirici odaklı ve biri operasyon ekibine odaklanmış. Ancak, hepsi hala ortamları test ediyor ve örneğin veritabanlarını test etmek için bağlı. Bu doğru mu yoksa bir şey mi kaçırıyorum?
Machado

Her biri kendi veritabanlarına bağlı olurdu, evet.
BobDalgleish

-1

UAT, " Kullanıcı Kabul Testi" anlamına gelir ve kullanıcı kabul testinin yapıldığı ortamdır. Kullanıcıya yapılan vurguya dikkat edin - KG testiniz farklıdır, UAT gerçek kullanıcıların (veya en azından eğitim ekibinizin, satışlarınızın, destek personelinizin vb.) Yeni özellikleri denemek ve dağıtılmadan önce yazılımı değerlendirmek için bir şanstır üretim sistemleri.

Bunun anlamı tam olarak süreçlerinize bağlı olacaktır:

  • UAT (çevre) üretim ile "düz" olabilir ve aslında kullanıcıların yeni özellikleri denemeleri için bir korumadır.
  • UAT (çevre) üretimin "ilerisinde" olabilir, böylece yeni özellikler değerlendirilene kadar üretime dağıtılmaz. (Bu yaklaşıma meraklı değilim, çünkü daha uzun teslimat süreleriniz olduğu anlamına gelir).
  • Bir UAT ortamına bile gerek duymayabileceğiniz çok kiracılı bir sisteminiz var, bunun yerine kullanıcıların özellik bayraklarını kullanarak üretim sistemlerindeki yeni özellikleri değerlendirmelerini seçebilirsiniz.

Sürekli Dağıtım / Sürekli Teslimat açısından, hazırlama ortamı, yazılımları "üretim benzeri" bir ortamda test etmek için kullanılır, çünkü geliştiricilerin üretime önemli farklılıkları olan bir ortamda (örneğin, yük dengeleme yok, daha küçük veri kümesi vb ...)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.