PofoliaPofolia ile paylaşıldı

· 2014

Sürekli entegrasyon geliştirme ortamlarında regresyon testini iyileştirme teknikleri

Techniques for improving regression testing in continuous integration development environments

Sebastian Elbaum, Gregg Rothermel, John Penix

Kısa özet

Regresyon testi seçimi ve önceliklendirme için geliştirilen yeni algoritmalar, kod kapsamına dayanmadan test süresini azaltarak sürekli entegrasyon (CI) süreçlerini daha uygun maliyetli hale getirebilir.

Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.

Ana noktalar

  • Regresyon testi seçimi, CI'nin gönderim öncesi aşamasında çalıştırılan test sayısını azaltır.
  • Test durumu önceliklendirme, gönderim sonrası aşamada hata tespitini hızlandırır.
  • Her iki teknik de hesaplama açısından ucuzdur ve kod kapsamı bilgisine dayanmaz.
  • Google veri kümesi üzerinde yapılan ampirik bir çalışma, bu tekniklerin maliyet etkinliği iyileştirmelerini doğrulamıştır.

Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.

Özet (abstract)

In continuous integration development environments, software engineers frequently integrate new or changed code with the mainline codebase. This can reduce the amount of code rework that is needed as systems evolve and speed up development time. While continuous integration processes traditionally require that extensive testing be performed following the actual submission of code to the codebase, it is also important to ensure that enough testing is performed prior to code submission to avoid breaking builds and delaying the fast feedback that makes continuous integration desirable. In this work, we present algorithms that make continuous integration processes more cost-effective. In an initial pre-submit phase of testing, developers specify modules to be tested, and we use regression test selection techniques to select a subset of the test suites for those modules that render that phase more cost-effective. In a subsequent post-submit phase of testing, where dependent modules as well as changed modules are tested, we use test case prioritization techniques to ensure that failures are reported more quickly. In both cases, the techniques we utilize are novel, involving algorithms that are relatively inexpensive and do not rely on code coverage information -- two requirements for conducting testing cost-effectively in this context. To evaluate our approach, we conducted an empirical study on a large data set from Google that we make publicly available. The results of our study show that our selection and prioritization techniques can each lead to cost-effectiveness improvements in the continuous integration process.

Yazarların özeti; kaynağından alınmıştır., 2014 · DOI ↗

ÇıkarımlarPremium
Makaleye SorÜcretsiz hesapla

Ücretsiz hesapla devam et

Makaleye Sor ile bu makaleye günde 3 soru ücretsiz; makaleyi kaydet, kaynakçasını al, ilgi alanına göre her gün yeni özetler. Çıkarımlar Premium.

Web'de ücretsiz devam et

Google ya da Apple hesabınla giriş; kart istemez. Bu makaleye geri dönersin.

Telefonda:

Alan: Yazılım

SoftwareComputer Science