DevOps Test Süreç Geliştirmede Yeni Bir Model Önerisi

Yazılım dünyasında ürünün hızlı bir şekilde pazara ulaşması için her geçen gün yeni yaklaşımlar belirlenmekte ve yeni metodolojiler benimsenmektedir. Son yıllarda bu konuda oldukça popüler olan DevOps metodolojisi, yazılım geliştirme yaşam döngüsünün diğer safhalarında olduğu gibi yazılım test aktivitelerinde ve test süreçlerinde köklü değişikliklerin oluşmasına ortam hazırlamıştır. Yazılım test aktivitelerinin yapısı büyük ölçüde değişime uğradığı için test süreç değerlendirmelerinde yeni modellere ihtiyaç duyulmaktadır. Gerçekleştirilen bu çalışmada, DevOps metodolojisinin test pratiklerini değerlendiren bir test süreç iyileştirme modeli sunularak bu ihtiyacı gidermek amaçlanmıştır. Model tasarımında akademi ve iş hayatındaki bilgilerden ortak olarak beslenmek adına literatürden ve deneyimli DevOps uzmanlarından yararlanılmıştır. Uzmanların katkısıyla DevOps test pratiklerinin değerlendirilmesi için önemli kriterler belirlenmiş ve bu kriterleri kapsayan yeni bir test süreç iyileştirme modeli oluşturulmuştur. Geliştirilen bu model DevOps pratiklerini gerçekleştiren bir firma üzerinde uygulanmıştır. Bu sayede hem modelin işlerliği hem de firmanın test olgunluğu değerlendirilmiştir. Değerlendirme süreci detaylı olarak gözlemlenmiş olup değerlendirme sonucu ve modelin uygulanabilirliği uzmanlar tarafından teyit edilmiştir.

A New Model Approach for DevOps Testing Process Improvement

A new approach is designated and adopted for fast delivery of software products to market each passing day. DevOps methodology, the most popular approach in recent times, has the same great effect on testing about replacing the activities and processes as the other phases in SDLC. The new test process needs a new test process improvement model. Hence, it is intended to design a new test process improvement model which is convenient with DevOps test practices. In the design process, literature review and experienced DevOps experts were benefitted to combine the academic and business information. After the key elements of DevOps test practices were determined, the new test process improvement model was designated with the help of the experts. This new model was evaluated in terms of operability and maintability by being applied in an IT company. The evaluation process was observed in detail, the outcomes and applicability of the model were verified by the experts.

___

  • [1] S. Kiv, S. Heng, M. Kolp, and Y. Watelet, “Agile manifesto and practices selection for tailoring software development: A systematic literature review,” International Conference on Product-Focused Software Process Improvement, 2018, pp. 12-30.
  • [2] K. Back, M. Beedle, and A.V. Bennekum. (2021, August 31). Manifesto for Agile Software Development [Online]. Available: https://agilemanifesto.org/
  • [3] O. Kalıpsız, A.B. Olcaysoy, ve G. Biricik, Bilgisayar Bilimlerinde Sistem Analizi ve Tasarımı, 4. baskı, İstanbul, Türkiye: Papatya Yayıncılık, 2018, böl. 4, ss. 45-47.
  • [4] E.B. Swanson, and C.M. Beath, “Departmentalization in Software Development and Maintenance,” Communications of the ACM, vol. 33, pp. 658–667, 1990.
  • [5] B. Tessem, and J. Iden, “Cooperation between developers and operations in software engineering projects,” Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering, Leipzig, Germany, 2008, pp. 105–108.
  • [6] P.A. Nielsen, T.J. Winkler, and J. Nørbjerg, “Closing the IT Development-Operations Gap: The DevOps Knowledge Sharing Framework,” 16th International Conference on Prospectives in Business Informatics Research. BIR 2017 – Aalborg University, Cophenagen, Denmark, 2017, pp. 1-16.
  • [7] I. Ozkaya, “The Deployment View,” IEEE Software, vol. 37, no. 3, pp. 3-5, 2020.
  • [8] G.B. Ghantous, and A.Gill, “DevOps: Concepts, Practices, Tools, Benefits and Challenges,” Pacific Asia Conference on Information Systems, Langkawi, Malaysia, 2017, pp. 96.
  • [9] J. Smeds, K. Nybom, and I. Porres, “DevOps: A Definition and Perceived Adoption Impediments,” International Conference on Agile Software Development, 2015, pp. 166-177.
  • [10] M. Virmani, “Understanding DevOps & Bridging the gap from Continuous Integration to Continuous Delivery,” Fifth International Conference on the Innovative Computing Technology (INTECH 2015), Galcia, Spain, 2015, pp. 78-82.
  • [11] J. Angara, S. Gutta, and S. Prasad, “DevOps with Continuous Testing Architecture and Its Metrics Model,” Recent Findings in Intelligent Computing Techniques, Singapore, 2018, pp. 271-281.
  • [12] F. Erich, C. Amrit, and M. Daneva, “A Qualitative Study of DevOps Usage in Practice,” Journal of Software: Evolution and Process, vol.29, no. 6, 2017.
  • [13] B.B.N. França, H. Jeronimo, and G.H. Travassos, “Characterizing DevOps by Hearing Multiple Voices,” 30th Brazilian Symposium on Software Engineering (SBES’16), Maringa, Brazil, 2016, pp. 53–62.
  • [14] L.E. Lwakatare, T. Kilamo, T. Karvonen, T. Sauvola, V. Heikkila, J. Itkonen, P. Kujava, T. Mikkonen, M. Oivo, and C. Lassenius, “DevOps in Practice: A Multiple Case Study of Five Companies,” Information and Software Technology, vol. 114, pp. 217-230, 2019.
  • [15] I. Bucena, and M. Kirikova, “Simplifying the DevOps Adoption Process,” Workshops and Doctoral Consortium co-located with 16th International Conference on Perspectives in Business Informatics Research (BIR 2017), Copenhagen, Denmark, 2017, pp. 1-15.
  • [16] W. Luz, E. Agilar, M.C. Oliviera, C.E.R. Melo, G. Pinto, and R. Bonifacio “An Experience Report on the Adoption of Microservices in Three Brazilian Government Institutions,” XXXII Brazilian Symposium on Software Engineering, Sao Carlos, Brazil, 2018, pp. 32-41.
  • [17] A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture,” IEEE Software, vol. 33, no. 3, pp. 42-52, 2016.
  • [18] M.I. Zarour, M. Alenezi, and N. Alhammad “A Research on DevOps Maturity Models,” International Journal of Recent Technology and Engineering, vol. 8, no. 3, pp. 4854-4862, 2019.
  • [19] P. Bahrs. (2021, August 31). Adopting the IBM DevOps Approach for Continuous Software Delivery [Online]. Available: https://developer.ibm.com/articles/d-adoption-paths/
  • [20] S. Mohamed, “DevOps Shifting Software Engineering Strategy-Value Based Perspective,” International Journal of Computer Engineering, vol. 17, no. 2, pp. 51–57, 2015.
  • [21] G. Menzel, and A. Macaulay. (2021, August 31). DevOps - The Future of Application Lifecycle Automation [Online]. Available: https://www.capgemini.com/2014/12/devops-the-future-of-application-lifecycle-automation/
  • [22] M. Gasparaite, S. Ragaisis, “Comparison of devops maturity models,” IVUS 2019. Proceedings of the International Conference on Information Technologies, Kaunas, Lithuania, 2019, pp. 65-69.
  • [23] P. Laihonen, “Adoption of DevOps Practices in the Finnish Software Industry: an Empirical Study,” M.S. thesis, School of Electrical Engineering, Aalto University, Espoo, Finland, 2018.
  • [24] R. Feijter, S. Overbeek, R. Vliet, E. Jagroep, and S. Brinkkemper, “DevOps Competences and Maturity for Software Producing Organizations,” International Conference on Evaluation and Modeling Methods for System Analysis and Development, Tallinn, Estonia, 2018, pp. 244–259.
  • [25] V. Garousi, M. Felderer, and T. Hacaloğlu, “Software Test maturity assessment and test process improvement: A multivocal literature review,” Information and Software Technology, vol. 85, pp. 16-42, 2017.
  • [26] T. Foundation. (2021, June 20). Test Maturity Model Integration [Online]. Available: https://www.tmmi.org/tmmi-model/
  • [27] G. Hongying, and Y. Cheng, “A Customizable Agile Software Quality Assurance Model,” The 5th International Conference in New Trends in Information Science and Service Science, Macao, China, 2011, pp. 382-387.
  • [28] ATMM. (2021, June 20). Agile Testing Maturity Model [Onine]. Available: http://www.agile-testing-maturity-model.com/startseite.html
  • [29] J. Andersin, “TPI – a model for Test Process Improvement,” Seminar on Quality Models for Software Engineering, Helsinki, Finland, 2004, pp. 1-13.
  • [30] Ö.F. Arifoğlu, “Büyük Ölçekli Uygulamaların DevOps Süreçlerine Uyarlanması ve Uygulanması,” Yüksek Lisans tezi, Bilgisayar ve Bilişim Mühendisliği, Sakarya Üniversitesi, Sakarya, Türkiye, 2020.
  • [31] D. Kutluay, “Importance and Effects of Continuous Delivery on Agile Software Development Lifecycle,” M.S. thesis, Mangement and Information Systems, Yeditepe University, Istanbul, Turkey, 2018.
  • [32] S. Arkan, “Assesing the Maturity of Software Testing Services: A Model and Its Industrial Evaluation,” M.S. thesis, Computer Engineering, Cankaya University, Ankara, Turkey, 2016.
  • [33] M. Haues, A. Sellami, H.B. Abdallah, and L. Cheikhi, “A Guideline for Software Architecture Selection Based on ISO 25010 Quality Related Characteristics,” International Journal of System Assurance Engineering and Management, vol. 8, pp. 886–909, 2017.
  • [34] K. Beck, Test-Driven Development by Example, 1st ed, London, England: Pearson Education, 2003, pp. 123-133.
  • [35] S. Rose, M. Wynne, and A. Hellesoy, The Cucumber Book: Behaviour Driven Development for Testers and Developers, 1st ed., North Carolina, USA: The Pragmatic Bookshelf, 2015, ch.3, pp. 31-45.
  • [36] D. Marijan, M. Liaaen, and S. Sen, “DevOps Improvements for Reduced Cycle Times with Integrated Test Optimizations for Continuous Integration,” 2018 IEEE 42nd Annual Computer Software and Applications Conference, Tokyo, Japan, 2018, pp. 22-27.
  • [37] H.G. Gross, and N. Mayer, “Built-In Contract Testing in Component Integration Testing,” Electronic Notes in Theoretical Computer Science, vol. 82, no. 6, pp. 22-32, 2003.
  • [38] G. Schermann, D. Schöni, P. Leitner, and H.C. Gall, “Bifrost: Supporting Continuous Deployment with Automated Enactment of Multi-Phase Live Testing Strategies,” 17th International Middleware Conference, Trento, Italy, 2016, pp. 1-14.
  • [39] S.P. Ma, C.Y. Fan, Y. Chuang, I.H. Liu, and C.W. Lan, “Graph-Based and Scenario-Driven Microservice Analysis, Retrieval, and Testing,” Future Generation Computer Systems, vol. 100, pp. 724-735, 2019.
  • [40] R.B. Jain, M. Puri, and U. Jain, “A Data Masking Utility to Secure Sensitive Production Data in Non-Production Environment,” International Journal of Knowledge Engineering and Data Mining, vol. 6, no. 2, pp. 168-186, 2019.
  • [41] A. Hammouri, M. Hammad, M. Alnabhan, and F. Alsarayrah, “Software Bug Prediction using Machine Learning Approach,” International Journal of Advanced Computer Science and Applications, vol. 9, no. 2, pp. 78-83, 2018.
Düzce Üniversitesi Bilim ve Teknoloji Dergisi-Cover
  • Yayın Aralığı: Yılda 4 Sayı
  • Başlangıç: 2013
  • Yayıncı: Düzce Üniversitesi Fen Bilimleri Enstitüsü